CN116600149A - 虚拟人驱动方法及其装置、设备、介质、产品 - Google Patents
虚拟人驱动方法及其装置、设备、介质、产品 Download PDFInfo
- Publication number
- CN116600149A CN116600149A CN202310587053.7A CN202310587053A CN116600149A CN 116600149 A CN116600149 A CN 116600149A CN 202310587053 A CN202310587053 A CN 202310587053A CN 116600149 A CN116600149 A CN 116600149A
- Authority
- CN
- China
- Prior art keywords
- action
- text
- word
- driving
- virtual person
- 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 57
- 230000009471 action Effects 0.000 claims abstract description 293
- 230000000875 corresponding effect Effects 0.000 claims abstract description 226
- 239000000463 material Substances 0.000 claims abstract description 200
- 239000012634 fragment Substances 0.000 claims abstract description 66
- 230000033001 locomotion Effects 0.000 claims abstract description 53
- 238000002864 sequence alignment Methods 0.000 claims abstract description 38
- 238000013507 mapping Methods 0.000 claims description 40
- 239000013598 vector Substances 0.000 claims description 40
- 230000011218 segmentation Effects 0.000 claims description 29
- 239000013077 target material Substances 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 12
- 238000007781 pre-processing Methods 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 230000033764 rhythmic process Effects 0.000 claims description 8
- 230000008451 emotion Effects 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 5
- 230000002194 synthesizing effect Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 12
- 230000000694 effects Effects 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000010801 machine learning Methods 0.000 abstract description 5
- 230000001276 controlling effect Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000010926 purge Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000005281 excited state Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
- H04N21/4394—Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440236—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by media transcoding, e.g. video is transformed into a slideshow of still pictures, audio is converted into text
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及一种虚拟人驱动方法及其装置、设备、介质、产品,所述方法包括:获取网络直播中主播用户提交的驱动文本;基于所述驱动文本生成所述主播用户的直播间中的虚拟人的语音数据,获得所述驱动文本与所述语音数据之间关于字词的时序对齐信息;从动作描述素材库中匹配出所述驱动文本中各个字词相对应的素材片段,所述素材片段适于驱动虚拟人实施相应的动作;按照所述时序对齐信息规定的字词之间的时序关系,将各个字词相对应的素材片段拼接为适于驱动所述主播用户的直播间中的虚拟人实施连串动作的动作描述文件。本申请能以文本驱动虚拟人运动,避免完全依赖机器学习模型习得的推理能力,有效控制技术实现成本,同时实现高效优质的处理效果。
Description
技术领域
本申请涉及虚拟人控制技术,尤其涉及一种虚拟人驱动方法及其装置、设备、介质、产品。
背景技术
随着“元宇宙”的兴起,直播场景中引入“虚拟人”的玩法也成了直播应用的标配功能,各大厂商和直播平台都陆续推出了虚拟“虚拟人”的功能。通过“虚拟人”进行直播成了很多主播的选择。在直播场景中,“虚拟人”具有很多新玩法,通过声音、动作、音乐等外部素材来驱动“虚拟人”运动成了非常新颖、热门的功能。
目前,通过外部素材驱动“虚拟人”的方案中,一般会采用机器学习的方式,通过外部素材生成控制“虚拟人”运动的动作文件。该动作文件包含“虚拟人”运动的每一帧数据,每帧数据包含人体各骨骼节点的坐标信息,通过各骨骼节点的坐标信息指示绘制“虚拟人”的姿态,连续绘制多帧图像,便可驱动“虚拟人”呈现运动效果。
由于机器学习生成的动作文件常会因语义理解不明确而出现偏差,导致由其驱动的“虚拟人”的视频图像中体现的动作常会出现穿模、不流畅、静止、节奏等等诸多不协调的动作异常现象,因而需要提出替代方案。
发明内容
本申请的目的在于解决上述问题而提供一种虚拟人驱动方法及其相应的装置、设备、非易失性可读存储介质,以及计算机程序产品。
根据本申请的一个方面,提供一种虚拟人驱动方法,包括如下步骤:
获取网络直播中主播用户提交的驱动文本;
基于所述驱动文本生成所述主播用户的直播间中的虚拟人的语音数据,获得所述驱动文本与所述语音数据之间关于字词的时序对齐信息;
从动作描述素材库中匹配出所述驱动文本中各个字词相对应的素材片段,所述素材片段适于驱动虚拟人实施相应的动作;
按照所述时序对齐信息规定的字词之间的时序关系,将各个字词相对应的素材片段拼接为适于驱动所述主播用户的直播间中的虚拟人实施连串动作的动作描述文件。
可选的,按照所述时序对齐信息规定的字词之间的时序关系,将各个字词相对应的素材片段拼接为适于驱动虚拟人实施组合动作的动作描述文件之后,包括:
应用所述动作描述文件驱动虚拟人运动,生成所述虚拟人的运动图像流;
生成所述驱动文本相对应的字幕文本;
根据所述时序对齐信息将所述运动图像流、所述语音数据以及所述字幕文本合成为视频流;
将所述视频流推送至所述直播间中播放。
可选的,生成所述驱动文本相对应的字幕文本,包括:
获取在基于所述驱动文本生成所述主播用户的直播间中的虚拟人的语音数据过程中对所述驱动文本预处理获得的净化文本;
按照标点符号分别对所述驱动文本和净化文本进行断句,统计相应的断句数量;
判断所述驱动文本和所述净化文本各自的断句数量是否一致,当一致时,将所述驱动文本按句对应所述净化文本设置为字幕文本,否则,将所述净化文本设置为字幕文本。
可选的,从动作描述素材库中匹配出所述驱动文本中各个字词相对应的素材片段,所述素材片段适于驱动虚拟人实施相应的动作,包括:
对所述驱动文本进行顺序分词,获得由所述驱动文本中的各个字词构成的分词序列;
采用预设的动作映射模型/标签映射库,确定出所述分词序列中的各个字词相对应的动作标签,获得标签序列;
基于所述标签序列内各个字词相对应的动作标签,从动作描述素材库中确定出相应动作标签下的一个素材片段。
可选的,基于所述标签序列内各个字词相对应的动作标签,从动作描述素材库中确定出相应动作标签下的一个素材片段,包括:
基于标签序列中的当前字词,确定出语音数据中的相应语音片段的风格特征向量,所述风格特征向量用于表征所述相应语音片段的风格不变特征,所述风格包括节奏风格和/或情感风格;
从动作描述素材库中获取当前字词的动作标签相对应的各个素材片段的风格特征向量;
计算所述相应语音片段的风格特征向量与各个素材片段的风格特征向量之间的相似度,确定风格特征向量具有最大相似度的素材片段为选中的目标素材片段。
可选的,确定出所述分词序列中的各个字词相对应的动作标签,获得标签序列,包括:
以当前字词作为查询词,从标签映射库中查询是否存在相对应的动作标签,当存在时,确定该相对应的动作标签为该当前字词的动作标签,添加到标签序列中;
当标签映射库中不存在当前字词相对应的动作标签,且标签映射库中存在以当前字词为前缀的字词的动作标签时,将当前字词拼接下一字词构成新的查询词,从标签映射库中查询是否存在与该新的查询词相对应的动作标签,当存在相应的动作标签时,将该新的查询词替换相拼接的各个字词,将该新的查询词的动作标签添加到标签序列中;
当不存在该新的查询词相对应的动作标签时,将当前字词的动作标签设定为指向预设的属于可变节奏动作的素材片段,添加到标签序列中。
可选的,将各个字词相对应的素材片段拼接为适于驱动所述主播用户的直播间中的虚拟人实施连串动作的动作描述文件,包括:
获取标签序列中的一个字词相对应的素材片段作为当前片段,识别出当前片段的动作类型为固定语义动作或可变节奏动作;
若当前片段的动作类型为可变节奏动作,按照当前片段相应的字词在时序对齐信息中所占的时区对应植入动作描述文件,其中,若下一字词相对应的素材片段的动作类型为固定语义动作,对当前片段进行截尾以避让下一字词相对应的素材片段;
若当前片段的动作类型为固定语义动作,将当前片段完整植入动作描述文件中,且允许其跨越后续字词相对应的时区;
循环以上过程直至完成所述标签序列中每个字词的遍历。
根据本申请的另一方面,提供一种虚拟人驱动装置,包括:
文本获取模块,设置为获取网络直播中主播用户提交的驱动文本;
语音转换模块,设置为基于所述驱动文本生成所述主播用户的直播间中的虚拟人的语音数据,获得所述驱动文本与所述语音数据之间关于字词的时序对齐信息;
素材匹配模块,设置为从动作描述素材库中匹配出所述驱动文本中各个字词相对应的素材片段,所述素材片段适于驱动虚拟人实施相应的动作;
文件构造模块,设置为按照所述时序对齐信息规定的字词之间的时序关系,将各个字词相对应的素材片段拼接为适于驱动所述主播用户的直播间中的虚拟人实施连串动作的动作描述文件。
根据本申请的另一方面,提供一种虚拟人驱动设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行本申请所述的虚拟人驱动方法的步骤。
根据本申请的另一方面,提供一种非易失性可读存储介质,其以计算机可读指令的形式存储有依据所述的虚拟人驱动方法所实现的计算机程序,所述计算机程序被计算机调用运行时,执行该方法所包括的步骤。
根据本申请的另一方面,提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本申请任意一种实施例中所述方法的步骤。
相对于现有技术,本申请根据给定的驱动文本,生成相应的语音数据和时序对齐信息,从动作描述素材库中匹配出驱动文本中的字词相适配的素材片段,再在时序对齐信息的指导下,将各个字词相对应的素材片段拼接成同一动作描述文件,可用于驱动虚拟人实施连串动作,且可与语音数据保持时序协调同步,由于这些素材片段通常是事先优选的,利用字词与素材片段之间的映射关系来确定,所以其语义对应关系较佳,可确保匹配出的素材片段与相应的字词之间紧密对应,而语音数据与素材片段之间又具有时序同步关系,因而,能够实现以文本驱动虚拟人同步运动和发声的效果,以上过程,运算量低,动作语义理解明确,较为高效。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请的示例性的应用环境的网络架构示意图;
图2为本申请的虚拟人驱动方法的一种实施例的流程示意图;
图3为本申请的实施例中根据动作描述文件生成视频流的流程示意图;
图4为本申请实施例中生成字幕文本的流程示意图;
图5为本申请实施例中为驱动文本匹配出素材片段的流程示意图;
图6为本申请实施例中基于相似匹配确定字词的目标素材片段的流程示意图;
图7为本申请实施例中构造标签序列的流程示意图;
图8为本申请实施例中构造动作描述文件的流程示意图;
图9为本申请的虚拟人驱动装置的原理框图;
图10为本申请所采用的一种虚拟人驱动设备的结构示意图。
具体实施方式
请参阅图1,本申请一种示例性的应用场景所采用的网络架构,包括终端设备80、媒体服务器81和应用服务器82,所述应用服务器82可用于部署网络直播服务,所述媒体服务器81可用于根据动作描述文件生成虚拟人相对应的视频流,当主播用户从其终端设备80访问所述应用服务器82提供的网络直播服务,开始控制输出虚拟人相对应的视频流时,可以在其终端设备80中输入驱动文本,由媒体服务器81根据驱动文本生成控制所述主播用户的直播间中的虚拟人运动的动作描述文件和语音数据,然后由媒体服务器81根据所述动作描述文件,生成虚拟人的运动图像流,再与所述语音数据合成为相应的视频流,在应用服务器82的协调下推送至直播间,从而通过网络直播提供虚拟人直播服务。当然,还可以在所述视频流中添加根据所述驱动文本生成的字幕文本。
本申请另一种示例性的应用场景中,可以由终端设备实施所述媒体服务器相对应的功能,由用户输入驱动文本后,由终端设备完成所述媒体服务器的上述全部业务逻辑,最终生成相应的视频流,推送到远端计算机设备,从而可以实现通话、直播相关的进一步应用。
请参阅图2,根据本申请提供的一种虚拟人驱动方法,在其一个实施例中,包括如下步骤:
步骤S1100、获取网络直播中主播用户提交的驱动文本;
结合本申请前文示例的应用场景,可以通过终端设备获取主播用户提供的驱动文本。所述驱动文本可以由用户录入或者从相关素材例如剧本文件中指定。主播用户给出驱动文本后,提交到媒体服务器做进一步的处理,媒体服务器便可根据驱动文本生成控制所述主播用户的直播间中的虚拟人运动的动作描述文件,根据所述动作描述文件可以生成所述虚拟人的运动图像流,以及提供所述驱动文本相对应的语音数据,甚至还可提供所述驱动文本相对应的字幕文本等,最终可以按需将运动图像流、语音数据、字幕文本等合成为所述直播间中关于所述虚拟人的视频流,通过视频流在所述直播间中的播放,呈现控制所述虚拟人运动的视听效果。所述驱动文本通常以自然语言的形式进行表达,其风格则可灵活选型,例如可以是解说词、日常对话口语、歌词、台词等等任意类型。
步骤S1200、基于所述驱动文本生成所述主播用户的直播间中的虚拟人的语音数据,获得所述驱动文本与所述语音数据之间关于字词的时序对齐信息;
基于所述驱动文本,应用文本转语音技术(TTS,Text To Speech),可以生成所述驱动文本相对应的语音数据,根据实际场景的需要,所述语音数据可以推流至所述主播用户的直播间中进行播放,以呈现所述虚拟人发声的效果。,当其播放时,呈现由人声阅读所述驱动文本得到的效果。文本转语音技术是一种较为成熟的技术,在将驱动文本转换为语音数据的过程中,通常会先对驱动文本进行文本预处理,例如去除其中的赘词、将阿拉伯数字转换为中文字符、移除多余的标点符号等等,由此得到一个净化文本。
一种实施例中,所述语音数据可以是基于对所述净化文本进行语音转换生成的,当然,也可以是基于所述驱动文本进行语音转换生成的。由于驱动文本与净化文本之间的差异一般较小,因而,可以按照实际质量要求,视驱动文本的文本质量决定是否需要进行上述的预处理。例如,当驱动文本本身具有较高的文本质量时,可以将驱动文本作为净化文本,无需额外进行文本预处理,直接在驱动文本的基础上生成其语音数据;否则,则在驱动文本的基础上先进行文本预处理获得净化文本,再在净化文本的基础上生成相应的语音数据。
在对驱动文本或其净化文本进行语音转换后,除了获得所述语音数据,还可获得时序对齐信息,所述时序对齐信息中表示出所述驱动文本或其净化文本中的每个字词在所述语音数据中的时序信息,通常包括每个字在所述语音数据中对应的起始时间戳或结束时间戳。由此可见,时序对齐信息规定了驱动文本(或其净化文本)中的每个字词的时序信息,也规定了各个字词之间的时序关系,通过这种时序信息和时序关系,也可以定位提取出相应的字词在所述语音数据中的语音片段。
对于中文来说,时序对齐信息中的字词,既可以是以单个汉字,也可以是一个词汇,为理解的便利,可以将其理解为具有独立表意单元的一个词汇,这个词汇可以是单个汉字,也可以是多个汉字组成。在实际操作中,由于时序对齐信息中针对每个字都给出了时序信息,因而,既可以以字为单位读取时序信息,也可以以词汇为单位读取时序信息,视实际需要灵活操作即可。
步骤S1300、从动作描述素材库中匹配出所述驱动文本中各个字词相对应的素材片段,所述素材片段适于驱动虚拟人实施相应的动作;
本申请预备有一个动作描述素材库,在该动作描述素材库中,存储大量的素材片段,每个素材片段都可以用来控制虚拟人实施相应的动作,因此,其按照虚拟人的动作文件的格式进行封装生成。通常,每个素材片段用来控制虚拟人实施一项相应的动作。
一种实施例中,通过控制虚拟人的骨骼关键点在三维空间中的位置变换来实施对虚拟人的姿态动作控制,这种情况下,素材片段可以按照虚拟人的骨骼关键点的控制信息来表示;或者通过控制虚拟人的面部表情的变形目标来实施对虚拟人的面部动作控制,这种情况下,素材片段可以按照虚拟人的变形目标的控制信息来表示。当应用该素材片段时,实际上便是通过所述控制信息来控制虚拟人产生姿态或面部的动作变换,从而实现控制虚拟人的运动。
为了从动作描述素材库中匹配出驱动文本或其净化文本中各个字词相对应的素材片段,一种实施例中,可以每个字词为单位,根据每个字词的语义与素材片段的对应映射关系,调用与每个字词相对应的素材片段作为每个字词相适配的目标素材片段即可。另一种实施例中,为了便于区分各种素材片段,还预定义有一个标签库,在该标签库中提供多个动作标签,通过不同动作标签实现对虚拟人的动作类型的区分,然后,将属于同一动作类型的素材片段标记为同一动作标签,使得每个动作标签可以关联映射到一个或多个素材片段,这些素材片段驱动虚拟人实施的动作之间存在某种相似性,例如同为表示“再见”的挥双手或挥单手等不同动作,或者同为表示兴奋状态的多种舞蹈动作,等等。在这种情况下,对于驱动文本或其净化文本中的字词来说,可以通过命名实体识别或者关键词映射的方式,确定每个字词相对应的动作标签,再调用该动作标签下的一个素材片段作为目标素材片段使用亦可。
需要指出的是,在对驱动文本进行文本预处理以获得其净化文本的情况下,按照净化文本中的字词来从动作描述素材库中匹配出每个字词相应的目标素材片段,与按照驱动文本中的字词来从动作描述素材库中匹配出每个字词相应的目标素材片段,由于驱动文本与净化文本同属一源,净化文本不过是驱动文本经过文本预处理后的产物,所以两种方式实际上是完全等效的,并不影响本申请的创造精神的体现。
步骤S1400、按照所述时序对齐信息规定的字词之间的时序关系,将各个字词相对应的素材片段拼接为适于驱动所述主播用户的直播间中的虚拟人实施连串动作的动作描述文件。
由于时序对齐信息中已经规定了驱动文本或其净化文本中的每个字词的时序信息,体现出各个字词之间的时序关系,按照这种时序关系,实际上也就体现了从动作描述素材库中匹配出的各个素材片段的时序关系,在这种情况下,按照各个字词之间的这种时序关系,将各个字词对应的素材片段有序拼接起来,便可以获得一个动作描述文件,这个动作描述文件便可用来驱动虚拟人实施连串动作。动作描述文件可以与语音数据一起封装并发布为动作控制模板,存储到指定位置,以供复用。
由于各个素材片段在时间长度上通常有长有短,在将各个素材片段进行拼接时,可以灵活进行处理,例如,若当前字词的素材片段的时间长度大于当前字词的时序信息所占的时区时,可以对该素材片段进行截尾处理;如果当前字词的素材片段的时间长度小于当前字词的时序信息所占的时区时,可以适当重复同一素材片段以占满该时区。
一些实施例中,当前后两个字词的语义相近时,也可以当前字词相对应的素材片段跨越下一个字词所占的时区设置,从而省略下一字词的素材片段。
一些实施例中,可以预先标识素材片段的动作类型,如果素材片段所对应的动作是用来完整表达一个语义的连贯动作,这种情况下可标示为固定语义动作;如果素材片段所对应的动作是适配循环节奏而设计的,且无需依靠整个过程的动作来表义,这种情况下可标示为可变节奏动作。由此,在进行相邻字词的素材片段的拼接时,对于固定语义动作的素材片段,可以允许其跨越下一字词所占的时区设置,而如果当前字词的素材片段属于可变节奏动作且其长度跨越至下一字符所占的时区时,则可对这个素材片段进行截尾,以避让下一字词的素材片段,避免跨越下一字词所占的时区,特别是在下一字词的素材片段属于固定语义动作时,可强制性对当前字词的素材片段进行上述的截尾,以使下一字词的素材片段完整起作用。
以上对于素材片段进行拼接的处理,在实际操作中体现为对各个素材片段的描述信息的时序指令信息的修改设置,最终将各个字词相对应的素材片段的动作描述信息存储到一个动作描述文件中,该动作描述文件便可以用于驱动虚拟人实施连串动作,这些连串动作即是由各个字词相对应的素材片段所对应实施的动作组合而成的,但各个素材片段的动作的起作用的时间,经过前述的处理过程,能够与语音数据中的各个字词发音时长相协调同步,也就是说,基于驱动文本获得的语音数据和动作描述文件之间,关于驱动文本在转换为语音数据的过程中生成的时序对齐信息实现节奏同步。当将动作描述文件应用于虚拟人,生成虚拟人的运动图像流,并将其与语音数据合成为视频流进行播放时,可以确保虚拟人在动作和发音上保持协调同步。
适应不同场景,以上所生成的视频流,既可以直接在终端设备的播放器中播放,也可以推送到所述主播用户的直播间中,由观众用户侧的终端设备进行播放。
根据以上实施例可知,本申请根据给定的驱动文本,生成相应的语音数据和时序对齐信息,从动作描述素材库中匹配出驱动文本中的字词相适配的素材片段,再在时序对齐信息的指导下,将各个字词相对应的素材片段拼接成同一动作描述文件,可用于驱动虚拟人实施连串动作,且可与语音数据保持时序协调同步,由于这些素材片段通常是事先优选的,利用字词与素材片段之间的映射关系来确定,所以其语义对应关系较佳,可确保匹配出的素材片段与相应的字词之间紧密对应,而语音数据与素材片段之间又具有时序同步关系,因而,能够实现以文本驱动虚拟人同步运动和发声的效果,以上过程,运算量低,动作语义理解明确,较为高效。
在本申请任意实施例的基础上,请参阅图3,按照所述时序对齐信息规定的字词之间的时序关系,将各个字词相对应的素材片段拼接为适于驱动虚拟人实施组合动作的动作描述文件之后,包括:
步骤S1500、应用所述动作描述文件驱动虚拟人运动,生成所述虚拟人的运动图像流;
完成所述动作描述文件的制作后,可以被用来控制指定的虚拟人运动,具体是将动作描述文件应用于预先指定的虚拟人的三维模型,通过动作描述文件中的虚拟人的控制信息的应用,使虚拟人产生按时序变换其动作的运动效果,在应用过程中对虚拟人的各个运动状态添加纹理进行渲染,获得相应的图像帧,由整个动作描述文件应用后获得的按时序展开的各个图像帧有序组织起来,便构成该动作描述文件相对应的所述虚拟人的运动图像流。
步骤S1600、生成所述驱动文本相对应的字幕文本;
进一步,可基于所述驱动文本生成其相对应的字幕文本。生成字幕文本时,考虑到驱动文本与其净化文本之间在文本内容上基本一致,因而,既可以基于驱动文本本身生成,也可以基于驱动文本的净化文本生成,视实际需要而定。
字幕文本可以是在所述驱动文本或其净化文本的基础上按照标点符号进行断句而获得,且通过时序对齐信息标注各个句子的时序信息,以方便与语音数据和运动图像流进行对齐合成。
步骤S1700、根据所述时序对齐信息将所述运动图像流、所述语音数据以及所述字幕文本合成为视频流;
由于虚拟人的运动图像流是按一定的帧率生成的,且通过其对应的运动描述文本已经关联了其中各个动作的时序信息,语音数据和字幕文本本身同样也基于所述时序对齐信息建立了时序对应关系,在这种情况下,运动图像流、语音数据、字幕文本,实际上均已根据所述时序对齐信息建立了关联,由此,可根据这种关联对应关系,将运动图像流、语音数据、字幕文本合成为同一视频流。
步骤S1800、将所述视频流推送至所述直播间中播放。
当完成所述视频流的生成后,可直接在终端设备中进行播放,也可适应网络直播场景的需要,将其推送到所述主播用户的直播间中,由直播间的观众用户侧的终端设备进行播放。当所述视频流被播放时,不仅能够播放虚拟人的连串动作,还能同步地播放语音数据并显示相应的字幕文本,其中,语音数据与字幕文本在内容上基本同步一致,而虚拟人的动作与其时的语音数据和字幕文本的内容,彼此在语音上则是高度一致的。
根据以上实施例可知,在本申请获得的动作描述文件的基础上生成虚拟人的运动图像流,再根据本申请的驱动文本转换语音数据过程中生成的时序对齐信息,将语音数据、字幕文本与运动图像流进行合成获得视频流,可以确保视频流中的图、文、声多媒体同步,获得自然协调的虚拟人活动图像效果。
在本申请任意实施例的基础上,请参阅图4,生成所述驱动文本相对应的字幕文本,包括:
步骤S1610、获取在基于所述驱动文本生成所述主播用户的直播间中的虚拟人的语音数据过程中对所述驱动文本预处理获得的净化文本;
如前所述,在利用文本转语音技术将驱动文本转换为语音数据的过程中,会自动产生时序对齐信息,其中标注了驱动文本中每个字词在所述语音数据中对应的语音片段的起始时间戳和结束时序戳。
在本实施例中,所述驱动文本在进行转换之前,被按需进行文本预处理,去除其中的赘词、多余的标点符号、修正错别字等操作之后,获得净化文本,可在净化文本的基础上,进行后续的操作。
步骤S1620、按照标点符号分别对所述驱动文本和净化文本进行断句,统计相应的断句数量;
驱动文本通常表示了用户所要表达的原义,而净化文本由于经过预处理,有可能与原义之间出现细微差异,这种情况下,既可以从驱动文本中选择语句来制作字幕文本,也可以从净化文本中选择语句来制作字幕文本。为此,可按照标点符号,分别对所述驱动文本和净化文本进行断句,获得两者各自相应的句子序列,并且,统计各个句子序列的断句数量。
步骤S1630、判断所述驱动文本和所述净化文本各自的断句数量是否一致,当一致时,将所述驱动文本按句对应所述净化文本设置为字幕文本,否则,将所述净化文本设置为字幕文本。
比较判断驱动文本的断句数量与净化文本的断句数量是否一致,当两者一致时,可视为净化文本与驱动文本之间差别不大,这种情况下,更倾向于采用驱动文本中的语句来制作字幕文本以尽可能应用原义表达,因而,可将所述驱动文本按句对应所述净化文本,将驱动文本的各个语句设置为字幕文本,以确保后续在生成视频流时,准确匹配驱动文本的各个语句的相应时序。
当驱动文本的断句数量和净化文本的断句数量不一致时,考虑到语音数据是根据净化文本生成的,为避免语音内容和字幕内容差异较大,所以使用净化文本直接设置为字幕文本,而不再使用驱动文本作为字幕文本。
根据以上实施例可见,在设置字幕文本时,综合考虑驱动文本与其在转换语音数据时预处理产生的净化文本之间的质量差异,通过比较两者的断句数量,在断句数量一致时优先应用驱动文本以应用原义表达,在两者不一致时则优先使用净化文本,从而,通过自动权衡手段,综合确保字幕文本的质量最优。
在本申请任意实施例的基础上,请参阅图5,从动作描述素材库中匹配出所述驱动文本中各个字词相对应的素材片段,所述素材片段适于驱动虚拟人实施相应的动作,包括:
步骤S1310、对所述驱动文本进行顺序分词,获得由所述驱动文本中的各个字词构成的分词序列;
对驱动文本进行顺序分词,可以基于驱动文本本身或者其净化文本实施,以驱动文本本身为例,对其进行分词时,可以基于各种任意可行的分词手段,包括但不限于诸如N-Gram分词算法,词袋分词算法等,将驱动文本顺序切分为多个字词,每个字词可以是单字也可以是多字词汇,视分词算法结果而定即可。这些字词按照其顺序构成一个分词序列,方便基于分词序列进行后续操作。
步骤S1320、采用预设的动作映射模型/标签映射库,确定出所述分词序列中的各个字词相对应的动作标签,获得标签序列;
在获得分词序列的基础上,可以进一步确定出分词序列中每个字词相对应的动作标签,具体可采用如下任意方式:
一种实施例中,预备一个标签映射库,在该标签映射库中存储有动作标签与字词之间的映射关系数据,这样,基于分词序列中的字词在映射标签库中进行检索,便可确定出该字词相对应的动作标签。通常字词与其动作标签之间可以按照语义相同或相近建立映射关系,使动作标签具有表义区分不同类型的动作的作用。
另一实施例中,可采用基于深度学习的神经网络模型作为动作映射模型,采用相应的数据样本对其进行训练,使其具备将字词映射为相应的动作标签的作用,这样,将分词序列中的字词输入该动作映射模型之后,便可获得该字词相应的动作标签。
分词序列中的各个字词均获得其相应的动作标签后,按照字词顺序组织所有的动作标签,便获得标签序列。
需要指出的是,对于个别生僻的字词,如果没有相应的动作标签与之对应,可以为其指定一个表示空值的默认动作标签来加以识别,后续可以基于这个默认动作标签来为相应的字词匹配素材片段。
步骤S1330、基于所述标签序列内各个字词相对应的动作标签,从动作描述素材库中确定出相应动作标签下的一个素材片段。
在所述动作描述素材库中,存储有大量的素材片段,且每个素材片段均被预先标注相应的一个或多个动作标签,在这种情况下,一个动作标签可能对应多个素材片段,因而,对于标签序列内的各个字词相对应的动作标签来说,当其从动作描述素材库中查询到多个素材片段时,一种实施例中,可以随机确定其中一个作为与该字词相匹配的目标素材片段进行使用。当然,其他实施例中,还可以基于相似度为字词的动作标签匹配其相应的目标素材片段。
根据以上实施例中可以理解,通过对驱动文本进行顺序分词,基于分词确定动作标签,再基于动作标签确定相应的素材片段,这个过程无需依赖机器学习模型,更为高效,而且,由于动作标签已经通过语义关联了优质的素材片段,这些素材片段由于事先预选而表义明确,所以最终可以为整个驱动文本匹配出各个字词相对应的全部目标素材片段,据此可以生成优质的动作描述文件。
在本申请任意实施例的基础上,请参阅图6,基于所述标签序列内各个字词相对应的动作标签,从动作描述素材库中确定出相应动作标签下的一个素材片段,包括:
步骤S1331、基于标签序列中的当前字词,确定出语音数据中的相应语音片段的风格特征向量,所述风格特征向量用于表征所述相应语音片段的风格不变特征,所述风格包括节奏风格和/或情感风格;
驱动文本中的每个字词,在根据驱动文本生成的语音数据中,都有其相应的语音片段,这个语音片段可以根据生成语音数据过程中得到的时序对齐信息来截取,因而,当需要对标签序列中的当前字词相对应的动作标签确定其目标素材片段时,可以先基于当前字词,根据所述时序对齐信息中与该当前字词相对应的起始时间戳和结束时间戳,从语音数据中截取出相应的语音片段。
然后,采用预先训练的适于对所述语音片段进行特征表示的语音特征表示模型,提取出该语音片段的风格特征向量,通过该风格特征向量表示出该语音片段中的风格不变特征,这里所称的风格,可以是指节奏风格、情感风格等风格中的任意一种或任意多种,具体由语音特征表示模型被训练所习得的能力确定。
可见,按照以上方式,便可获得语音数据中,当前字词相对应的语音片段的风格特征向量。
步骤S1332、从动作描述素材库中获取当前字词的动作标签相对应的各个素材片段的风格特征向量;
对于动作描述素材库中的各个素材片段,也可同理,采用相应的素材特征表示模型,预先提取出其相应的风格特征向量。这个风格特征向量可以是基于相应的素材片段控制虚拟人运动生成运动图像流后,基于运动图像流进行特征表示获得的,从而可以表示出节奏风格和/或情感风格的相对稳定的特征。
在一个示例性的训练架构中,所述语音特征表示模型和所述素材特征表示模型可以搭建成双塔模型进行联合训练,预备大量的数据样本,逐一调用输入其中实施训练。每个数据样本中,包括有一个语音片段和一个素材片段生成的运动图像流,分别经语音特征表示模型和素材特征表示模型进行特征表示获得相应的风格特征向量后,拼接两个风格特征向量成为综合特征向量,经过全连接层将其映射至分类器中,在分类器中计算出两个风格特征向量的相似度,然后,采用该数据样本预先标注的监督标签,该监督标签表征该语音片段与该素材片段的运动图像流是否语义相对应,计算所述相似度的损失值,再根据这个损失值对整个双塔模型进行反向传播修正各环节的参数,实现梯度更新,通过这样的迭代训练,将整个双塔模型训练至收敛状态为止即可投入使用,其中的语音特征表示模型可以用于为语音片段提取风格特征向量,而素材特征表示模型则可以为素材片段提取相应的风格特征向量。
步骤S1333、计算所述相应语音片段的风格特征向量与各个素材片段的风格特征向量之间的相似度,确定风格特征向量具有最大相似度的素材片段为选中的目标素材片段。
如前所述,双塔模型中的语音特征表示模型和素材特征表示模型可以分别获得语音片段的风格特征向量和素材片段的风格特征向量,因此,将当前字词的语音片段的风格特征向量与匹配出的每一个素材片段的风格特征向量在双塔模型中拼接为综合特征向量,便可由其分类器计算出相应的相似度,各个素材片段均与语音片段一起计算出相应的相似度,便可进一步比较各个素材片段的相似度高低。
一般来说,对于当前字词所确定的动作标签下的多个素材片段而言,当其中一个素材片段具有最高相似度时,这个素材片段便可以认为是在语义上与该语音片段最接近的目标素材片段,可以用于构造动作描述文件。
按照以上方式,逐一确定驱动文本中每个字词相对应的目标素材片段,为每个字词确定一个语义最关联的素材片段,然后基于这些目标素材片段构造出动作描述文件,这个动作描述文件无疑是最优质的。
根据以上实施例可知,基于语音片段和素材片段的风格特征向量之间的语义相关性优选每个字词相匹配的目标素材片段,可以确保目标素材片段的动作在语义上与字词密切相关,所生成的动作描述文件更为优质。
在本申请任意实施例的基础上,请参阅图7,确定出所述分词序列中的各个字词相对应的动作标签,获得标签序列,包括:
步骤S1321、以当前字词作为查询词,从标签映射库中查询是否存在相对应的动作标签,当存在时,确定该相对应的动作标签为该当前字词的动作标签,添加到标签序列中;
基于分词序列确定每个字词相对应的动作标签时,可以其中的每个字词作为当前字词进行匹配。具体来说,以当前字词作为查询词,先从标签映射库中查询是否存在相对应的动作标签,如果存在时,便可以直接将该动作标签确定为当前字词的动作标签,将其添加到标签序列中的相应位置处即可。
步骤S1322、当标签映射库中不存在当前字词相对应的动作标签,且标签映射库中存在以当前字词为前缀的字词的动作标签时,将当前字词拼接下一字词构成新的查询词,从标签映射库中查询是否存在与该新的查询词相对应的动作标签,当存在相应的动作标签时,将该新的查询词替换相拼接的各个字词,将该新的查询词的动作标签添加到标签序列中;
如果标签映射库中不存在当前字词相对应的动作标签,但是,标签映射库中,存在以当前字词为前缀的字词的动作标签时,这种情况下,便可对当前字词进行扩词处理,具体可以按照分词序列中的顺序,将当前字词与其下一字词顺序拼接成新的查询词,再以该新的查询词在标签映射库中查询,如果在标签映射库中存在该新的查询词相对应的动作标签,那么,这个新的查询词可以替换分词序列中的各个被拼接的字词,而该动作标签,则成为这个替换后的字词的动作标签,可以将这个动作标签添加到标签序列的相应位置处。按照这种方式,可以最大化程度地为驱动文本匹配出语义相关联的动作标签,避免个别字词的语义成为孤岛。
步骤S1323、当不存在该新的查询词相对应的动作标签时,将当前字词的动作标签设定为指向预设的属于可变节奏动作的素材片段,添加到标签序列中。
如果以该新的查询词无法从标签映射库中查询到相应的动作标签时,可以不必继续迭代扩词查询,这种情况下,可将当前字词的动作标签设定为表示空值的默认动作标签,对于这个默认动作标签来说,其表征相对应的素材片段是预先设定的属于可变节奏动作的素材片段,相应的字词所对应的素材片段是一个预设的默认素材片段,将这个默认动作标签添加到标签序列的相应位置,后续按照这个原则为其设定默认素材片段即可。
根据以上实施例可以看出,在为分词序列中的每个字词匹配其动作标签的过程中,在当前字词不存在相应的动作标签时,会将其与下一字词合并进行扩词再查询确定其动作标签,尽可能避免个别字词的语义被孤立,使所确定的动作标签尽可能对应更多的字词,以便最终确定出的各个素材片段,可与驱动文本的原义更密切地关联对应,确保动作描述文件质量更优。
在本申请任意实施例的基础上,请参阅图8,将各个字词相对应的素材片段拼接为适于驱动所述主播用户的直播间中的虚拟人实施连串动作的动作描述文件,包括:
步骤S1410、获取标签序列中的一个字词相对应的素材片段作为当前片段,识别出当前片段的动作类型为固定语义动作或可变节奏动作;
如前所述,同一动作标签相对应的不同素材片段,其动作类型既可以是表示固定语义的动作,称为固定语义动作;还可以是关联于节奏的动作,称为可变节奏动作,均可以动作类型加以表示。
标签序列中对应驱动文本的每个字词都有了相应的动作标签,且对应这个动作标签都确定了相应的目标素材片段,在这种情况下,可以基于每个目标素材片段进行拼接处理,以便获得动作描述文件。
为此,可以标签序列为顺序索引,对于每个素材片段即目标素材片段,将其作为当前片段,然后识别其动作类型是属于固定语义动作还是可变节奏动作,也即确定出当前片段的动作类型。
步骤S1420、若当前片段的动作类型为可变节奏动作,按照当前片段相应的字词在时序对齐信息中所占的时区对应植入动作描述文件,其中,若下一字词相对应的素材片段的动作类型为固定语义动作,对当前片段进行截尾以避让下一字词相对应的素材片段;
如果当前片段的动作类型是可变节奏动作,便可以将当前片段植入到动作描述文件的相应位置处,所植入的位置主要是指时序位置,具体可以是当前片段相应的字词在时序对齐信息中所占的时区位置处。
由于素材片段的时长可能会跨越其相对应的字词所占的时区,如果下一个字词相对应的素材片段的动作类型是固定语义动作时,便会破坏下一素材片段的动作语义完整性,这种情况下,考虑到当前片段是可变节奏动作,可以对其进行截尾处理,对于时长超过其字词所占的时区部分予在切除,以避让下一字词相对应的素材片段。当然,如果下一字词的素材片段的动作类型也是可变节奏类型,则可以灵活处理,例如将当前片段完整植入动作描述文件中,即使其时长超过当前字词相对应的时区也可,而对于被挤占时区的下一字词,则可适应被挤占的事实,自行避让当前片段。
步骤S1430、若当前片段的动作类型为固定语义动作,将当前片段完整植入动作描述文件中,且允许其跨越后续字词相对应的时区;
如果检测到当前片段的动作类型是固定语义动作时,为了维护当前片段在动作语义上的完整性,例如,确保表示“再见”的挥手动作的完整性,可以将当前片段完整植入动作描述文件中,即使其在时序位置上的时长已经超过当前字符所占的时区进入后续字词相对应的时区。同理,对于下一字词相对应的素材片段来说,可以对当前片段做出时序上的避让处理,以避免冲突。
步骤S1440、循环以上过程直至完成所述标签序列中每个字词的遍历。
当执行完以上步骤后,便可视当前字词是否为最后一个字词而决定是否从下一字词开始迭代步骤S1410至步骤S1430。针对驱动文本中的每个字词,将其逐个作为当前字词,进行步骤S1410至步骤S1430的处理,在本步骤中决策其遍历过程,最终便可完成对整个动作描述文件的构造。
根据以上实施例可知,区分不同动作类型,优先确保动作描述文件中属于固定语义动作的素材片段所占的时序位置,让属于可变节奏动作的素材片段为前者作出避让,可确保虚拟人动作的语义完整性,使虚拟人的动作描述文件更为优质,使所生成的视频流中,图、音、字之间的语义更为协调。
请参阅图9,根据本申请的一个方面提供的一种虚拟人驱动装置,包括文本获取模块1100、语音转换模块1200、素材匹配模块1300,以及文件构造模块1400,其中,所述文本获取模块1100,设置为获取网络直播中主播用户提交的驱动文本;所述语音转换模块1200,设置为基于所述驱动文本生成所述主播用户的直播间中的虚拟人的语音数据,获得所述驱动文本与所述语音数据之间关于字词的时序对齐信息;所述素材匹配模块1300,设置为从动作描述素材库中匹配出所述驱动文本中各个字词相对应的素材片段,所述素材片段适于驱动虚拟人实施相应的动作;所述文件构造模块1400,设置为按照所述时序对齐信息规定的字词之间的时序关系,将各个字词相对应的素材片段拼接为适于驱动所述主播用户的直播间中的虚拟人实施连串动作的动作描述文件。
在本申请任意实施例的基础上,本申请的虚拟人驱动装置,还包括:动作应用模块,设置为应用所述动作描述文件驱动虚拟人运动,生成所述虚拟人的运动图像流;字幕生成模块,设置为生成所述驱动文本相对应的字幕文本;视频合成模块,设置为根据所述时序对齐信息将所述运动图像流、所述语音数据以及所述字幕文本合成为视频流;视频播放模块,设置为将所述视频流推送至所述直播间中播放。
在本申请任意实施例的基础上,所述字幕生成模块,包括:文本净化单元,设置为获取在基于所述驱动文本生成所述主播用户的直播间中的虚拟人的语音数据过程中对所述驱动文本预处理获得的净化文本;文本断句单元,设置为按照标点符号分别对所述驱动文本和净化文本进行断句,统计相应的断句数量;字幕择优单元,设置为判断所述驱动文本和所述净化文本各自的断句数量是否一致,当一致时,将所述驱动文本按句对应所述净化文本设置为字幕文本,否则,将所述净化文本设置为字幕文本。
在本申请任意实施例的基础上,所述素材匹配模块1300,包括:分词处理单元,设置为对所述驱动文本进行顺序分词,获得由所述驱动文本中的各个字词构成的分词序列;标签确定单元,设置为采用预设的动作映射模型/标签映射库,确定出所述分词序列中的各个字词相对应的动作标签,获得标签序列;片段匹配单元,设置为基于所述标签序列内各个字词相对应的动作标签,从动作描述素材库中确定出相应动作标签下的一个素材片段。
在本申请任意实施例的基础上,所述片段匹配单元,包括:语音截取子单元,设置为基于标签序列中的当前字词,确定出语音数据中的相应语音片段的风格特征向量,所述风格特征向量用于表征所述相应语音片段的风格不变特征,所述风格包括节奏风格和/或情感风格;素材调用子单元,设置为从动作描述素材库中获取当前字词的动作标签相对应的各个素材片段的风格特征向量;相似匹配子单元,设置为计算所述相应语音片段的风格特征向量与各个素材片段的风格特征向量之间的相似度,确定风格特征向量具有最大相似度的素材片段为选中的目标素材片段。
在本申请任意实施例的基础上,所述标签确定单元,包括:原词查询子单元,设置为以当前字词作为查询词,从标签映射库中查询是否存在相对应的动作标签,当存在时,确定该相对应的动作标签为该当前字词的动作标签,添加到标签序列中;扩词查询子单元,设置为当标签映射库中不存在当前字词相对应的动作标签,且标签映射库中存在以当前字词为前缀的字词的动作标签时,将当前字词拼接下一字词构成新的查询词,从标签映射库中查询是否存在与该新的查询词相对应的动作标签,当存在相应的动作标签时,将该新的查询词替换相拼接的各个字词,将该新的查询词的动作标签添加到标签序列中;默认处理子单元,设置为当不存在该新的查询词相对应的动作标签时,将当前字词的动作标签设定为指向预设的属于可变节奏动作的素材片段,添加到标签序列中。
在本申请任意实施例的基础上,所述文件构造模块1400,包括:类型识别单元,设置为获取标签序列中的一个字词相对应的素材片段作为当前片段,识别出当前片段的动作类型为固定语义动作或可变节奏动作;可变拼接单元,设置为若当前片段的动作类型为可变节奏动作,按照当前片段相应的字词在时序对齐信息中所占的时区对应植入动作描述文件,其中,若下一字词相对应的素材片段的动作类型为固定语义动作,对当前片段进行截尾以避让下一字词相对应的素材片段;固定拼接单元,设置为若当前片段的动作类型为固定语义动作,将当前片段完整植入动作描述文件中,且允许其跨越后续字词相对应的时区;迭代决策单元,设置为循环以上过程直至完成所述标签序列中每个字词的遍历。
本申请的另一实施例还提供一种虚拟人驱动设备。如图10所示,虚拟人驱动设备的内部结构示意图。该虚拟人驱动设备包括通过系统总线连接的处理器、计算机可读存储介质、存储器和网络接口。其中,该虚拟人驱动设备的计算机可读的非易失性可读存储介质,存储有操作系统、数据库和计算机可读指令,数据库中可存储有信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种虚拟人驱动方法。
该虚拟人驱动设备的处理器用于提供计算和控制能力,支撑整个虚拟人驱动设备的运行。该虚拟人驱动设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行本申请的虚拟人驱动方法。该虚拟人驱动设备的网络接口用于与终端连接通信。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的虚拟人驱动设备的限定,具体的虚拟人驱动设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施方式中处理器用于执行图9中的各个模块的具体功能,存储器存储有执行上述模块或子模块所需的程序代码和各类数据。网络接口用于实现用户终端或服务器之间的数据传输。本实施方式中的非易失性可读存储介质中存储有本申请的虚拟人驱动装置中执行所有模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有模块的功能。
本申请还提供一种存储有计算机可读指令的非易失性可读存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行本申请任一实施例的虚拟人驱动方法的步骤。
本申请还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被一个或多个处理器执行时实现本申请任一实施例所述方法的步骤。
本领域普通技术人员可以理解,实现本申请上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等计算机可读存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
综上所述,本申请能够实现以文本驱动虚拟人运动,通过对驱动文本的字词与素材片段进行匹配,获得各个素材片段拼接成控制虚拟人运动的动作描述文件,避免完全依赖机器学习模型习得的推理能力,有效控制技术实现成本,同时实现高效优质的处理效果,在将本申请的动作描述文件用于控制虚拟人产生运动图像时,可以获得更为自然流畅的虚拟人运动效果,可以服务于虚拟人网络直播、虚拟人音乐演唱等多种应用场景,为元宇宙技术时代铺路。
Claims (10)
1.一种虚拟人驱动方法,其特征在于,包括:
获取网络直播中主播用户提交的驱动文本;
基于所述驱动文本生成所述主播用户的直播间中的虚拟人的语音数据,获得所述驱动文本与所述语音数据之间关于字词的时序对齐信息;
从动作描述素材库中匹配出所述驱动文本中各个字词相对应的素材片段,所述素材片段适于驱动虚拟人实施相应的动作;
按照所述时序对齐信息规定的字词之间的时序关系,将各个字词相对应的素材片段拼接为适于驱动所述主播用户的直播间中的虚拟人实施连串动作的动作描述文件。
2.根据权利要求1所述的虚拟人驱动方法,其特征在于,按照所述时序对齐信息规定的字词之间的时序关系,将各个字词相对应的素材片段拼接为适于驱动虚拟人实施组合动作的动作描述文件之后,包括:
应用所述动作描述文件驱动虚拟人运动,生成所述虚拟人的运动图像流;
生成所述驱动文本相对应的字幕文本;
根据所述时序对齐信息将所述运动图像流、所述语音数据以及所述字幕文本合成为视频流;
将所述视频流推送至所述直播间中播放。
3.根据权利要求2所述的虚拟人驱动方法,其特征在于,生成所述驱动文本相对应的字幕文本,包括:
获取在基于所述驱动文本生成所述主播用户的直播间中的虚拟人的语音数据过程中对所述驱动文本预处理获得的净化文本;
按照标点符号分别对所述驱动文本和净化文本进行断句,统计相应的断句数量;
判断所述驱动文本和所述净化文本各自的断句数量是否一致,当一致时,将所述驱动文本按句对应所述净化文本设置为字幕文本,否则,将所述净化文本设置为字幕文本。
4.根据权利要求1至3中任意一项所述的虚拟人驱动方法,其特征在于,从动作描述素材库中匹配出所述驱动文本中各个字词相对应的素材片段,所述素材片段适于驱动虚拟人实施相应的动作,包括:
对所述驱动文本进行顺序分词,获得由所述驱动文本中的各个字词构成的分词序列;
采用预设的动作映射模型/标签映射库,确定出所述分词序列中的各个字词相对应的动作标签,获得标签序列;
基于所述标签序列内各个字词相对应的动作标签,从动作描述素材库中确定出相应动作标签下的一个素材片段。
5.根据权利要求4所述的虚拟人驱动方法,其特征在于,基于所述标签序列内各个字词相对应的动作标签,从动作描述素材库中确定出相应动作标签下的一个素材片段,包括:
基于标签序列中的当前字词,确定出语音数据中的相应语音片段的风格特征向量,所述风格特征向量用于表征所述相应语音片段的风格不变特征,所述风格包括节奏风格和/或情感风格;
从动作描述素材库中获取当前字词的动作标签相对应的各个素材片段的风格特征向量;
计算所述相应语音片段的风格特征向量与各个素材片段的风格特征向量之间的相似度,确定风格特征向量具有最大相似度的素材片段为选中的目标素材片段。
6.根据权利要求4所述的虚拟人驱动方法,其特征在于,确定出所述分词序列中的各个字词相对应的动作标签,获得标签序列,包括:
以当前字词作为查询词,从标签映射库中查询是否存在相对应的动作标签,当存在时,确定该相对应的动作标签为该当前字词的动作标签,添加到标签序列中;
当标签映射库中不存在当前字词相对应的动作标签,且标签映射库中存在以当前字词为前缀的字词的动作标签时,将当前字词拼接下一字词构成新的查询词,从标签映射库中查询是否存在与该新的查询词相对应的动作标签,当存在相应的动作标签时,将该新的查询词替换相拼接的各个字词,将该新的查询词的动作标签添加到标签序列中;
当不存在该新的查询词相对应的动作标签时,将当前字词的动作标签设定为指向预设的属于可变节奏动作的素材片段,添加到标签序列中。
7.根据权利要求1至3中任意一项所述的虚拟人驱动方法,其特征在于,将各个字词相对应的素材片段拼接为适于驱动所述主播用户的直播间中的虚拟人实施连串动作的动作描述文件,包括:
获取标签序列中的一个字词相对应的素材片段作为当前片段,识别出当前片段的动作类型为固定语义动作或可变节奏动作;
若当前片段的动作类型为可变节奏动作,按照当前片段相应的字词在时序对齐信息中所占的时区对应植入动作描述文件,其中,若下一字词相对应的素材片段的动作类型为固定语义动作,对当前片段进行截尾以避让下一字词相对应的素材片段;
若当前片段的动作类型为固定语义动作,将当前片段完整植入动作描述文件中,且允许其跨越后续字词相对应的时区;
循环以上过程直至完成所述标签序列中每个字词的遍历。
8.一种虚拟人驱动装置,其特征在于,包括:
文本获取模块,设置为获取网络直播中主播用户提交的驱动文本;
语音转换模块,设置为基于所述驱动文本生成所述主播用户的直播间中的虚拟人的语音数据,获得所述驱动文本与所述语音数据之间关于字词的时序对齐信息;
素材匹配模块,设置为从动作描述素材库中匹配出所述驱动文本中各个字词相对应的素材片段,所述素材片段适于驱动虚拟人实施相应的动作;
文件构造模块,设置为按照所述时序对齐信息规定的字词之间的时序关系,将各个字词相对应的素材片段拼接为适于驱动所述主播用户的直播间中的虚拟人实施连串动作的动作描述文件。
9.一种虚拟人驱动设备,包括中央处理器和存储器,其特征在于,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行如权利要求1至7中任意一项所述的方法的步骤。
10.一种非易失性可读存储介质,其特征在于,其以计算机可读指令的形式存储有依据权利要求1至7中任意一项所述的方法所实现的计算机程序,所述计算机程序被计算机调用运行时,执行相应的方法所包括的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310587053.7A CN116600149A (zh) | 2023-05-23 | 2023-05-23 | 虚拟人驱动方法及其装置、设备、介质、产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310587053.7A CN116600149A (zh) | 2023-05-23 | 2023-05-23 | 虚拟人驱动方法及其装置、设备、介质、产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116600149A true CN116600149A (zh) | 2023-08-15 |
Family
ID=87605922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310587053.7A Pending CN116600149A (zh) | 2023-05-23 | 2023-05-23 | 虚拟人驱动方法及其装置、设备、介质、产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116600149A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117201706A (zh) * | 2023-09-12 | 2023-12-08 | 深圳市木愚科技有限公司 | 基于控制策略的数字人合成方法、系统、设备及介质 |
-
2023
- 2023-05-23 CN CN202310587053.7A patent/CN116600149A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117201706A (zh) * | 2023-09-12 | 2023-12-08 | 深圳市木愚科技有限公司 | 基于控制策略的数字人合成方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112562721B (zh) | 一种视频翻译方法、系统、装置及存储介质 | |
CN115082602B (zh) | 生成数字人的方法、模型的训练方法、装置、设备和介质 | |
CN114401438B (zh) | 虚拟数字人的视频生成方法及装置、存储介质、终端 | |
CN105096932A (zh) | 有声读物的语音合成方法和装置 | |
CN113538641A (zh) | 动画生成方法及装置、存储介质、电子设备 | |
CN114827752B (zh) | 视频生成方法、视频生成系统、电子设备及存储介质 | |
JP2023155209A (ja) | ビデオ翻訳プラットフォーム | |
CN112397053B (zh) | 语音识别方法、装置、电子设备及可读存储介质 | |
WO2024114389A1 (zh) | 用于交互的方法、装置、设备和存储介质 | |
CN116600149A (zh) | 虚拟人驱动方法及其装置、设备、介质、产品 | |
CN114513706B (zh) | 视频生成方法和装置、计算机设备、存储介质 | |
CN115497448A (zh) | 语音动画的合成方法、装置、电子设备及存储介质 | |
CN114842826A (zh) | 语音合成模型的训练方法、语音合成方法及相关设备 | |
Hrúz et al. | Automatic fingersign-to-speech translation system | |
CN114420125A (zh) | 音频处理方法、装置、电子设备及介质 | |
CN112800263A (zh) | 一种基于人工智能的视频合成系统、方法及介质 | |
CN116958342A (zh) | 虚拟形象的动作生成方法、动作库的构建方法及装置 | |
CN116582726B (zh) | 视频生成方法、装置、电子设备及存储介质 | |
US11176943B2 (en) | Voice recognition device, voice recognition method, and computer program product | |
CN117769739A (zh) | 用于配音的辅助翻译和嘴唇匹配的系统和方法 | |
CN113408292A (zh) | 语义识别方法、装置、电子设备及计算机可读存储介质 | |
KR102541008B1 (ko) | 화면해설 컨텐츠를 제작하는 방법 및 장치 | |
CN113312516B (zh) | 一种视频处理方法及相关装置 | |
CN114911973A (zh) | 动作生成方法、装置、电子设备及存储介质 | |
CN112907706A (zh) | 基于多模态的声音驱动动漫视频生成方法、装置及系统 |
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 |