动画控制信息构造方法及其装置、设备、介质、产品与流程
未命名
08-05
阅读:81
评论:0
1.本技术涉及数字人虚拟技术,尤其涉及一种动画控制信息构造方法及其装置、设备、介质、产品。
背景技术:
2.当前,通过音乐生成数字人的舞蹈是音乐信息处理、计算机图形学、机器人领域的研究热点。
3.较早的研究主要根据舞蹈运动规律进行舞蹈简单编排,需要人工参与较多;随着深度学习的兴起,出现使用完全注意力机制的transformer模型用于音乐和舞蹈的跨模态映射,实现了音乐自动生成舞蹈。但是,由于缺乏将生成姿势保存在空间约束内的明确限制,以及采用了自回归生成,该模型生成舞蹈动作存在很多奇异及穿模动作,并且会生成卡住不动的舞蹈动作,因此不能用于实际产品中。
4.后来推出的bailando模型针对上述问题,使用了vq-vae模型将舞蹈动作映射到舞蹈子空间中,并采用gpt网络生成舞蹈序列,可解决出现奇异动作和卡住不动的情况,但是还是会存在动画穿模以及动作不美观等情况。
5.因此,针对时下“元宇宙”所需的数字人的舞蹈动作的生成,寻找一种生成舞蹈动作流畅和符合音乐情感和节奏的智能编舞思路是很有必要的。
技术实现要素:
6.本技术的目的在于解决上述问题而提供一种动画控制信息构造方法及其相应的装置、设备、非易失性可读存储介质,以及计算机程序产品。
7.根据本技术的一个方面,提供一种动画控制信息构造方法,包括如下步骤:
8.获取音乐,确定所述音乐的结构单元内各个音乐小节相对应的音频节段;
9.从素材数据库中匹配出与所述各个音乐小节的音频节段相似的候选音频节段,获得与各个所述候选音频节段相对应预设的动作控制信息,所述动作控制信息包括用于控制数字人产生相应舞蹈动作的多个信息帧;
10.由所述结构单元内全部音乐小节的动作控制信息之间有序全排列而构成全量组合路径,在全量组合路径中搜索所述结构单元的最佳组合路径;
11.将所述结构单元的最佳组合路径所包含的动作控制信息构成所述结构单元相对应的控制信息单元,用于控制数字人产生相应的舞蹈动画。
12.根据本技术的另一方面,提供一种动画控制信息构造装置,包括:
13.格式处理模块,设置为获取音乐,确定所述音乐的结构单元内各个音乐小节相对应的音频节段;
14.素材匹配模块,设置为从素材数据库中匹配出与所述各个音乐小节的音频节段相似的候选音频节段,获得与各个所述候选音频节段相对应预设的动作控制信息,所述动作控制信息包括用于控制数字人产生相应舞蹈动作的多个信息帧;
15.素材优选模块,设置为由所述结构单元内全部音乐小节的动作控制信息之间有序全排列而构成全量组合路径,在全量组合路径中搜索所述结构单元的最佳组合路径;
16.单元构造模块,设置为将所述结构单元的最佳组合路径所包含的动作控制信息构成所述结构单元相对应的控制信息单元,用于控制数字人产生相应的舞蹈动画。
17.根据本技术的另一方面,提供一种动画控制信息构造设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行本技术所述的动画控制信息构造方法的步骤。
18.根据本技术的另一方面,提供一种非易失性可读存储介质,其以计算机可读指令的形式存储有依据所述的动画控制信息构造方法所实现的计算机程序,所述计算机程序被计算机调用运行时,执行该方法所包括的步骤。
19.根据本技术的另一方面,提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本技术任意一种实施例中所述方法的步骤。
20.相对于现有技术,本技术具有多方面技术优势,包括但不限于:
21.首先,本技术先对音乐的音频数据进行结构和节奏解析,按结构和节奏将音乐的音频数据分割为多个音乐小节,在音乐小节的音频数据的基础上,从事先优选了素材的素材数据库中,利用语义匹配的方式,对应每个音乐小节优选出相应的多个候选音频节段,然后利用这些候选音频节段相对应预设的动作控制信息来构造每个结构单元相对应的控制信息单元,可用于实施对数字人的控制,由于素材数据库中的素材是事先精选的,因而,可以匹配到优质的候选音频节段相对应的动作控制信息,使由此所构成的控制信息单元用于控制数字人生成相应的舞蹈动画时,相应的舞蹈动画动作流畅,且所表达的情感和实施的节奏均能与所述音乐实现优质的匹配效果,避免所得的舞蹈动画出现穿模、卡顿等异常现象。
22.其次,本技术在为每个音乐小节匹配出其多个相似的候选音频节段,从而确定各个候选音频节段之后,会以结构单元为单位,将每个结构单元中的各个音乐小节的候选音频节段进行全排列组合,从而获得多个组合路径,然后在全量组合路径的基础上再优选出最佳组合路径,实现对组合路径的最优选,确保据此所获得的舞蹈动画具有最佳质量。
23.此外,本技术对舞蹈动画所需的动作控制信息的获取,只是通过语义匹配从素材数据库中获取已有的动作控制信息来择优确定,其运算量较低,无需过分依赖神经网络模型来进行大量的运算才确定动作控制信息,由此也节省了模型训练成本和样本制备成本,较为经济,具有成本优势。
附图说明
24.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
25.图1为本技术的示例性的应用环境的网络架构示意图;
26.图2为本技术的示例性的数字人及其骨骼关键点分布的示意图;
27.图3为本技术的动画控制信息构造方法的一种实施例的流程示意图;
28.图4为本技术实施例中从音乐分割出音乐小节的音频节段的流程示意图;
29.图5为本技术实施例中从素材数据库匹配出各个音乐小节相对应的多个动作控制信息的流程示意图;
30.图6为本技术实施例中评估确定每个结构单元的最佳组合路径的流程示意图;
31.图7为本技术实施例中根据音乐的动画控制文件生成相应的舞蹈动画的流程示意图;
32.图8为本技术的动画控制文件所生成的舞蹈动画中的若干个示例性的图像帧的图像示意图;
33.图9为本技术的动画控制信息构造装置的原理框图;
34.图10为本技术所采用的一种动画控制信息构造设备的结构示意图。
具体实施方式
35.请参阅图1,本技术一种示例性的应用场景所采用的网络架构,包括终端设备80、媒体服务器81和应用服务器82,所述应用服务器82可用于部署网络直播服务,所述媒体服务器81可用于根据动作控制信息生成数字人相对应的视频流,所述终端设备80可供主播用户或观众用户登入由所述网络直播服务所支持的网络直播间,所述主播用户可以通过播放音乐来驱动所述媒体服务器生成数字人的舞蹈动画,然后以视频流的方式推送到直播间供观众用户浏览。
36.具体而言,当主播用户从其终端设备80访问所述应用服务器82提供的网络直播服务,进入相应的直播间,开始播放音乐,媒体服务器可以根据所述音乐而可以调用所述音乐相对应的动画控制文件,媒体服务器根据所述动画控制文件中对应所述音乐的各个音乐小节而提供的动作控制信息,生成数字人的舞蹈动画,在应用服务器82的协调下以视频流的方式将所述舞蹈动画推送至直播间,从而通过网络直播提供数字人直播服务。
37.其他示例性的应用场景,可能灵活运用各种网络架构来实现各种基于音乐生成数字人的舞蹈动画的服务,例如一些增强现实、虚拟现实的场景,以及3d游戏的场景,均可成为本技术的应用场景,应用本技术的技术方案来为音乐生成相应动画控制文件,在音乐被播放时,利用所述动画控制文件生成数字人的舞蹈动画,并使所述舞蹈动画与所述音乐同步播放。
38.所述动画控制文件对应所述音乐的节奏设置,具体而言,对应所述音乐中由相应两个强拍构成的音乐小节,在所述动画控制文件中提供一个对应的动作控制信息。所述动作控制信息包含需要生成的数字人舞蹈动画中的各个图像帧相对应的信息帧,每个信息帧存储描述数字人在所述舞蹈动画内相应的图像帧中的控制数据,这些控制数据通过数字人相对应预设的骨骼关键点的运动矢量或者静态位置数据加以描述,具体的数据格式可适应所述动作生成模型的输出格式进行规范或者预先任意设定。例如,一种实施例中,每个信息帧可以对应预设的各个骨骼关键点提供其在图像坐标系三个数轴相对应的旋转值及数字人所处位置的偏移量。另一实施例中,每个信息帧可以对应预设的各个骨骼关键点提供其在图像坐标系的位置坐标。无论采用哪一种形式,在一个信息帧中,可将所有骨骼关键点的控制数据表示为信息矩阵,其维度可表示为:joints*dimensions,其中,joints表示需要控制的关节点总数,在采用欧拉角表示的实施例中,其为数字人实际的关节点数之
和加上一个数字人位置偏移量,而在采用绝对坐标表示关节点的实施例中,可为数字人实际的关节点数;dimensions通常是对应坐标系的实际维数,即x,y,z三个数轴共3个维数。由此,设每一秒需要生成25个图像帧,则1秒内动作控制信息可表示为25*joints*dimensions的信息矩阵,实际计算时,对于每个音乐小节,以其时长乘以每秒帧率framerates,可以确定其具体时长time,由此,可将每个音乐小节的动作控制信息表示为:framerates*time*joints*dimensions。可见,只要事先定义好信息帧的数据内容,所述动作控制信息可以采用任意可解析的数据组织方式构造。
39.所述数字人的骨骼关键点,如图2所示例,主要包括分布在数字人的身体、肢体、手掌的各个骨骼关节部位,通过这些骨骼关键点在三维图像坐标系的位移,可以驱动数字人的相应身体部位产生相应的运动效果,通过多个信息帧中渐进地调整同一组骨骼关键点的位置信息的变化数值,便可相应控制数字人产生动作渐变的图像帧,将这些图像帧构成的视频流有序播放,便可在视觉上呈现相应骨骼关键点相对应的数字人身体部件的运动效果。
40.所述数字人可以预先建模,以便按照所述信息帧中的各个骨骼关键点的位置信息,调整各个骨骼关键点相对应的身体部件的图像所处的图像帧位置和视角,以便后续可通过渲染生成相应的数字人图像帧,由时序连续的图像帧构成舞蹈动画。对于一首音乐的音频数据相对应的动画控制信息,既可用于实时驱动数字人生成相应的舞蹈动画,也可以将其存储为所述音乐相对应的动画控制文件,在所述音乐被播放时再调用其动画控制文件来驱动数字人生成相应的舞蹈动画。此外,根据实际需要,在生成数字人的图像帧时,还可为其添加相应的背景图像或者其他前景图像等,对此,本领域技术人员可灵活实施。
41.请参阅图3,根据本技术提供的一种动画控制信息构造方法,在其一个实施例中,包括如下步骤:
42.步骤s1100、获取音乐,确定所述音乐的结构单元内各个音乐小节相对应的音频节段;
43.当需要为一首音乐生成其相应的动画控制信息时,可以先确定所述的音乐,然后,利用所述音乐的结构信息和节奏信息来对所述音乐的音频数据进行分割,将所述音频数据分割为对应所述音乐的各个结构单元中的各个音乐小节的音频节段。
44.可以理解,音乐是结构化的数据文件,通常一首音乐包含前奏、主歌、副歌、桥段、尾奏等不同类型的结构单元,其中主歌、副歌、桥段常有穿插反复,但其基本结构都是由多个不同类型的结构单元构成的,因而,可以预先获取所述音乐的结构信息来确定其结构。所述结构信息可以通过对所述音乐进行结构分析来获得,进行结合分析的方式可采用任意成熟且可行的方式来实施。对于一些本身提供了曲谱文件的音乐来说,也可以直接调用所述曲谱文件所记载的结构信息。
45.每首音乐均有其节奏信息,在曲谱中通常表示为节拍标识,例如2/4、4/4拍等,其中分子表示拍数,分母表示单位时长,因而,所述节拍标识表示在单位时长内触发多少拍,音乐正是以节拍的方式重复推进保证其韵律的。对音乐进行节奏信息的分析的方式,可使用任意成熟且可行的方式来实施。本技术中,将用于表示节拍的单位时长相对应的音频数据视为一个音乐小节。一般来说,节拍分为强拍和弱拍,有时也可包含次弱拍,强拍也称鼓点,相邻两个强拍之间,正好表示出一个音乐小节。因而,根据对音乐的节奏信息,利用其两
个鼓点的时间戳,从所述音频的音频数据中对应分割出一个音频节段,该音频节段便是该两个鼓点所限定的音乐小节的音频数据。
46.为便于组织利用,在确定所述音乐的各个音乐小节相对应的音频节段的过程中,可以结合所述音乐的结构信息,针对所述音乐的每个结构单元,单独处理其中各个音乐小节,获得其中各个音乐小节相对应的各个音频节段,并将这些音频节段与其所属的结构单元建立关联映射关系,以方便后续针对性处理。
47.步骤s1200、从素材数据库中匹配出与所述各个音乐小节的音频节段相似的候选音频节段,获得与各个所述候选音频节段相对应预设的动作控制信息,所述动作控制信息包括用于控制数字人产生相应舞蹈动作的多个信息帧;
48.本技术通过一个素材数据库来提供动作控制信息模板,具体来说,在所述素材数据库中存储有预选的一些音频节段及其相应的动作控制信息,这些音频节段可以来源于多首音乐,且这些音乐也已经具备了驱动数字人生成舞蹈动画所需的优质的动画控制信息,从而可以根据本技术步骤s1100相同的方式,获得其中每个音乐小节相对应的音频节段及其相应的动作控制信息。每个音频节段都对应一个音乐小节设置,其动作控制信息都包含多个信息帧,采用所述动作控制信息中的各个信息帧用于驱动数字人生成各个信息帧相对应的图像帧,便可由这些图像帧生成一段相应的舞蹈动画,这个舞蹈动画与所述音频节段之间,在情感和节奏上均保持协调对应,并且画质优秀,无诸如穿模、卡顿之类的异常现象。
49.由此可见,素材数据库中这些音频节段的动作控制信息,实际起到了模板的作用,可被用做基础素材,用于为其他音乐构造动作控制信息。所述音频节段的动作控制信息,可以预先人工生成或利用深度学习模型生成后由人工审核筛选获得,总之,其质量越优越好。当然,在情感、风格、节奏等方面,所述音频节段与其动作控制信息所生成的舞蹈动画之间,是统一协调的。
50.为方便后续处理,在构造所述素材数据库的过程中,对于其中的各个音频节段,可以采用预设的特征提取模型来为各个音频节段分别提取其深层语义表示,将所述深层语义表示以向量的形式,与其相应的音频节段关联存储于所述素材数据库中以备调用。
51.所述特征提取模型,可以采用一个适于处理音频特征信息的神经网络模型来实施,例如可以是卷积神经网络模型、循环神经网络模型、长短时记忆网络、transformer的编码器等,可由本领域技术人员按需优选。为使所述特征提取模型具备特征表示的能力,一个实施例中,可在所述神经网络模型的基础上,后接分类器,然后,采用预备的音频数据的音频特征信息输入所述神经网络模型,由其进行特征表示获得深层语义表示后,输入所述分类器进行情感或风格分类,然后采用相应的真实情感或风格标签来计算所述分类器的分类结果的分类损失,利用分类损失值来修正整个训练网络的权重参数,通过迭代海量的训练样本对整个训练网络实施训练,不断使所述特征提取模型逼近收敛,直到根据分类损失值将所述特征提取模型训练至收敛状态为止,便可将所述特征提取模型用于为本技术的音频节段提取其相应的深层语义表示。一般来说,所述深层语义表示会被归一个为一个维度确定的向量,例如32维的向量。
52.在将音频数据投入所述特征提取模型处理之前,通常需要基于音频数据提取其音频特征而获得相应的音频特征信息,为此,一种实施例中,采用常规的音频预处理方式,包括预加重、分帧、加窗、短时傅里叶变换、梅尔刻度滤波、取对数等,获得其相应的梅尔倒谱
系数作为音频特征信息,可表示为序列向量。其他部分实施例中,也可以将所述音频数据表示为恒q变换特征、色谱特征chroma等等,其他任意可以表示出音频数据的风格不变特征的特征表示形式,并不影响本技术的创造精神的体现。
53.在具备所述素材数据库的基础上,便可为所述音频的各个结构单元的各个音乐小节相对应的音频节段提供素材模板资源,为每个音乐小节的音频节段从所述素材数据库中获取相应的素材模板资源的方式,可以通过实施语义匹配来实现。
54.具体来说,对于需要匹配出素材模板资源的每个音乐小节来说,将该音乐小节的音频数据同理进行音频预处理,获得其相应的音频特征信息,然后输入所述特征提取模型中进行特征表示,获得其相应的深层语义表示,相应的,也是一个维度确定的向量,例如32维的向量。在获得所述音乐小节的音乐节段的深层语义表示的基础上,便可将该音乐节段的深层语义表示与所述素材数据库中各个音频节段的深层语义表示一一对应计算向量之间的数据距离,将所述数据距离表示为语义相似度的形式,用来衡量两个深层语义表示之间的语义相似程度,由此,每个音乐小节的音频节段与所述素材数据库中的各个音频节段在语义上相近的程度如何,便已通过各个语义相似度得以确定。
55.计算向量之间的数据距离的方式,可以采用余弦相似度算法、向量内积、欧氏距离算法、杰卡德系数算法、皮尔逊相关系数算法等等任意一种成熟可行的算法。例如,本实施例中,推荐使用余弦相似度算法来确定两个向量之间的数据距离,并将数据距离直接表示为语义相似度形式。
56.对于每个音乐小节的音频节段来说,所述素材数据库中的每个音频节段都有与之对应的语义相似度,由此,便可根据预设数量或者预设阈值,为每个音乐小节从所述素材数据库中筛选出多个语义相似度较高的音频节段,作为各个音乐小节相对应的候选音频节段。
57.通过语义匹配,所述音乐的每个音乐小节都有其相似的多个候选音频节段,由于每个候选音频节段均在所述素材数据库中事先对应提供了预设的动作控制信息,因而,实际也就确定了所述音乐中的每个音乐小节相适配的多个候选动作控制信息,这些候选动作控制信息可以视为其相应的音乐小节相对应的候选动作列表。
58.步骤s1300、由所述结构单元内全部音乐小节的动作控制信息之间有序全排列而构成全量组合路径,在全量组合路径中搜索所述结构单元的最佳组合路径;
59.对于所述音乐的每个结构单元来说,其中的每个音乐小节均有多具候选音频节段与之对应,也即有多个可选的动作控制信息,所以,实际上多个音乐小节的动作控制信息之间形成多对多的关系,是一种有序全排列关系,每一种排列便可形成一个组合路径,但一首音乐只需一条最佳组合路径即可满足,因而,对于每个结构单元来说,需要有相应的策略来从其全量组合路径中确定一条最佳组合路径。
60.确定最佳组合路径的示例性实施方式之一,可以是在每个结构单元内,按照音乐小节的时间顺序,进行动态规划路径,从第一个音乐小节开始选取最优的动作控制信息,然后根据前一音乐小节所确定的最佳的动作控制信息再搜索出下一音乐小节的最佳动作控制信息,以此类推,直至最后的音乐小节的最佳动作控制信息得以确定,将各个音乐小节相应的最佳动作控制信息有序拼接起来,便是整个结构单元相对应的最佳动作控制信息集,实际上也就为整个结构单元中的各个音乐小节确定了其最终匹配的动作控制信息,也就为
整个结构单元匹配出了其相应的动作控制信息。
61.确定最佳组合路径的另一示例性实施方式中,可以先将每个结构单元内的各个音乐小节所对应的多个动作控制信息作为单元,将所有音乐小节的这些单元之间在数据层面上先进行全排列组合操作,从而在数据上获得全量组合路径,再在全量组合路径上,根据每个组合路径进行评估,确定各条组合路径的总体损失代价,再根据总体损失代价最低来搜索出最佳组合路径。至于进行评估的算法,可以所评估确定的最佳组合路径能够以最佳的动作效果表现出相应结构单元的情感和节奏为追求目标,按需灵活确定。具体的,可以分解为如下两个步骤实施,即:步骤s1311、针对所述结构单元的每个组合路径,评估每个组合路径相对应的舞蹈动画的总体损失代价;步骤s1312、将具有最小总体损失代价的组合路径确定为相应结构单元的最佳组合路径。
62.步骤s1400、将所述结构单元的最佳组合路径所包含的动作控制信息构成所述结构单元相对应的控制信息单元,用于控制数字人产生相应的舞蹈动画。
63.每个结构单元都确定了其相应的最佳组合路径之后,实际上也就确定了所述结构单元中每个音乐小节的动作控制信息,这些动作控制信息可以按照其相应音乐小节的顺序进行拼接,从而构成所述结构单元相对应的控制信息单元,可以存储为该结构单元相对应的动画控制文件,用于控制数字人产生相应的舞蹈动画。
64.推而广之,对于一首音乐来说,按照其结构信息中的结构单元的时序关系,将其中的多个结构单元的控制信息单元进行有序组织,就可以获得所述音乐的全部动作控制信息,可以存储为整首音乐相对应动画控制文件,用于控制数字人产生相应的舞蹈动画。
65.为一个结构单元或一首音乐所确定的全部动作控制信息,既可以实时应用于数字人,使其随音乐的播放同步动作,并渲染生成相应的图像帧,包含于视频流中推送到终端设备显示,也可以只是存储为动画控制文件,在具体业务场景需要时再调用这些动画控制文件来驱动数字人生成相应的动作,进而获得图像帧、视频流推送到终端设备显示。
66.根据以上实施例可以知晓,本技术具有多方面技术优势,包括但不限于:
67.首先,本技术先对音乐的音频数据进行结构和节奏解析,按结构和节奏将音乐的音频数据分割为多个音乐小节,在音乐小节的音频数据的基础上,从事先优选了素材的素材数据库中,利用语义匹配的方式,对应每个音乐小节优选出相应的多个候选音频节段,然后利用这些候选音频节段相对应预设的动作控制信息来构造每个结构单元相对应的控制信息单元,可用于实施对数字人的控制,由于素材数据库中的素材是事先精选的,因而,可以匹配到优质的候选音频节段相对应的动作控制信息,使由此所构成的控制信息单元用于控制数字人生成相应的舞蹈动画时,相应的舞蹈动画动作流畅,且所表达的情感和实施的节奏均能与所述音乐实现优质的匹配效果,避免所得的舞蹈动画出现穿模、卡顿等异常现象。
68.其次,本技术在为每个音乐小节匹配出其多个相似的候选音频节段,从而确定各个候选音频节段之后,会以结构单元为单位,将每个结构单元中的各个音乐小节的候选音频节段进行全排列组合,从而获得多个组合路径,然后在全量组合路径的基础上再优选出最佳组合路径,实现对组合路径的最优选,确保据此所获得的舞蹈动画具有最佳质量。
69.此外,本技术对舞蹈动画所需的动作控制信息的获取,只是通过语义匹配从素材数据库中获取已有的动作控制信息来择优确定,其运算量较低,无需过分依赖神经网络模
型来进行大量的运算才确定动作控制信息,由此也节省了模型训练成本和样本制备成本,较为经济,具有成本优势。
70.在本技术任意实施例的基础上,请参阅图4,获取音乐,确定所述音乐的结构单元内各个音乐小节相对应的音频节段,包括:
71.步骤s1110、获取所述音乐的音频数据;
72.所述音乐可以由用户例如直播间中的主播用户指定,也可以是批量处理曲库中的音乐的过程中逐一调用的。当确定了所述的音乐之后,便可从曲库中调用其相应的音频数据,为便于标准化处理,必要时可将所述音频数据转换为特定格式,例如转换为后缀为wav的波形文件格式。
73.步骤s1120、对所述音乐的音频数据进行结构分析以获得其结构信息,所述结构信息包括所述音乐的各个结构单元的时间节点信息;
74.基于所述音乐的音频数据,可以进行结构分析以便获得所述音乐的结构信息。当然,在进行结构分析之前,通常先提取所述音乐的音频数据的音频特征进行音乐特征编码,以供进一步处理。所述音频特征可以是恒q变换特征(cqt,constant q transform)、梅尔谱特征、色谱特征等,可由本领域技术人员按需选用。
75.在进行音乐结构分析时,可以先确定所述音乐的音频数据中的各个相似片段的起点和终点,以便进行分段,确定出多个音乐片段,然后,再对各个音乐片段进行打标,标示出其属于哪一种结构单元,从而确定出一首音乐中的前奏、主歌、副歌、桥段、尾奏等具体结构单元。在此处如果已经对音乐进行分段,后续在切分音乐小节时,可直接以这些音乐片段为基础进行分割。
76.具体来说,确定音乐结构分析的一种实施方式中,可以先采用正交线性判别分析法(olda,ordinal linear discriminant analysis)来对所述音乐的音频数据进行分段,然后采用二维傅里叶幅度系数方法(fmc2d,2d-fourier magnitude coefficients)对积上音频片段打标,从而区分出所述音乐的各个结构单元,由此其相应的时间节点信息也就得以确定。
77.另一种实现音乐结构分析的实施例中,采用机器学习算法来实施,具体是采用诸如k-means之类的聚类算法来实施,通过聚类算法,对所述音频的音频数据的音频特征进行聚类,找到其中重复最多的帧或者片段,确定其相应的时间节点信息,即起始时间戳和结束时间戳,便可将其判定为副歌相对应的结构单元,确定了副歌部分之后,根据歌曲的结构化特点,也就可以推断出其之前的主歌,以及前奏、尾奏、桥段等结构单元的时间节点信息了。
78.再一实施例中,可以采用自相关算法来实现音乐结构分析,其思路是将一首歌曲中的音乐片段和整首歌曲进行匹配,匹配得最好的那一小段音乐可以被认为是这首音乐中最有代表性的一段音乐,由此可以确定为副歌部分相对应的结构单元,进而便可推断出整首歌曲的全部结构单元,获得相应的时间节点信息。
79.步骤s1130、对所述音乐的音频数据进行节奏分析以获得其节奏信息,所述节奏信息包括所述音乐的鼓点信息;
80.基于所述音乐的音频数据,同理可以进行节奏分析以获得其相应的节奏信息。如前所述,节奏信息主要是给出音乐中的各个鼓点的时间戳,也就是给出鼓点信息。为便于进行节奏分析,同理也可适应具体需要对所述音乐数据进行提取音频特征进行编码之后再基
于编码信息进行分析。
81.一种实现节奏分析的实施例中,基于rnndownbeatprocessor之类的深度学习模型对所述音乐的音频数据的音频特征编码信息进行特征表示并推理之后,便可准确检测出所述音乐中的节奏信息,由此可以端到端的方式直接快速获取所述音乐的节奏信息。
82.另一实施例中,也可采用各种传统的检测算法来确定所述音乐的节奏信息,例如基于光谱通量的节拍检测算法、音频节奏检测算法(onset detection)等均可。
83.步骤s1140、根据所述各个结构单元的时间节点信息及其相对应的鼓点信息,确定每个结构单元内的各个音乐小节,从所述音频数据中切分出各个音乐小节相对应的音频节段。
84.在确定了所述音乐的结构信息和节奏信息之后,根据结构信息中各个结构单元的时间节点信息,可以分割出各个结构单元的音频数据,进一步,对于每个结构单元来说,又可根据所述节奏信息中的鼓点信息,将相邻两个鼓点之间的音频数据独立分割出来作为一个音乐小节相对应的音频节段,由此,便为所述音乐中的每个结构单元中的每个音乐小节确定了其相应的音频节段,将整首音乐的音频数据细化到音乐小节的粒度。
85.根据以上实施例可知,通过对所述音乐进行结构分析和节奏分析,再根据相应的结构信息和节奏信息对所述音乐的音频数据进行分割,具体到音乐小节的粒度,确定出每个结构单元中的每个音乐小节相对应的音频节段,便于以音乐小节为单位去素材数据库中匹配出相似的音频片段以进一步获取预制的动作控制信息,由于每个音频小节通常对应编舞的一个基本动作,因此,实际上是将获取动作控制信息细化到基本动作的粒度,使得基于预制的基本动作进行机器编舞成为可能。
86.在本技术任意实施例的基础上,请参阅图5,从素材数据库中匹配出与所述音频节段相似的候选音频节段,获得与各个所述候选音频节段相对应预设的动作控制信息,包括:
87.步骤s1210、根据每个音乐小节的音频节段的深层语义表示与所述素材数据库中预存的音频节段的深层语义表示计算语义相似度;
88.如前所述,素材数据库中的每个音频节段也是按照音乐小节的时长确定的,且预先通过特征提取模型确定并存储了其相应的深层语义表示。同理,对于所述音乐中的每个结构单元内的每个音乐小节的音频节段来说,也可以通过所述特征提取模型来获取其相应的深层语义表示。所述深层语义表示均以向量的形式表示。因而,可以采用任意一种数据距离算法计算出所述音乐中的音乐节段的深层语义表示与所述素材数据库中的每个音乐节段的深层语义表示之间的向量间语义相似度。
89.例如,以数据距离算法采用余弦相似度算法为例,对于向量x和y,其语义相似度可按照如下公式直接计算确定:
[0090][0091]
不难理解,语义相似度越大,表示两个音频节段越相似,否则,越不相似。
[0092]
步骤s1220、针对每个音乐小节的音频节段,根据所述语义相似度筛选出所述素材数据库中的多个音频节段作为候选音频节段;
[0093]
不难理解,相对于所述音乐中的每个音乐小节的音频节段ai来说,所述素材数据库中的每个音频节段bj均可获得相应的语义相似度,但对于每个音频节段ai来说,在此处只
需优选出部分候选音频节段即可,因而,可以基于预设数量或者预设阈值来为音频节段ai从素材数据库中筛选出多个候选音频数据。
[0094]
一种实施例中,适应利用预设数量k筛选的需要,对于音频节段ai,先根据相对应的语义相似度自大到小对所述素材数据库中的各个音频节段bj进行排序,然后截取排序靠前的k个音频节段bj作为所述音频节段ai的候选音频节段,从而构成所述音频节段ai相对应的候选音频节段列表list
ik
。
[0095]
另一实施例中,适应利用预设阈值筛选的需要,对于音频节段ai,利用所述阈值与所述素材数据库中的各个音频节段bj的语义相似度进行比较,获取其中语义相似度高于所述阈值的全部音频节段bj构成所述的候选音频节段列表kist
ik
。
[0096]
步骤s1230、从素材数据库中获取与各个所述候选音频节段相对应预设的动作控制信息,构成相应音乐小节的候选动作列表。
[0097]
经过以上的处理,便获得了所述音乐各个结构单元中的每个音乐小节相对应的候选音频节段列表list
ik
,由于素材数据库中的每个音频节段bj均预先对应提供了其相应的可以用于驱动数据人生成舞蹈动画的动作控制信息,因而,实际上所述候选音频节段列表也便表示出了候选动作控制信息列表,简称候选动作列表,可记为motions
ik
以示区别。当然,候选动作列表motions
ik
也可以仅仅包括各个候选音频节段的动作控制信息的标识以便简化表示,不影响本技术的创造精神的体现。
[0098]
根据以上实施例可知,通过所述素材数据库,先为所述音乐中的每个音乐小节的音频节段匹配出候选音频节段,再根据候选音频节段确定相匹配的动作控制信息,实现了跨模态映射,由于素材数据库中的音频节段与其动作控制信息均是预制的,所述动作控制信息驱动数字人产生相应的舞蹈动画之后画质良好且不会出现穿模、卡顿等异常现象,且所述舞蹈动画与其相应的音频节段之间在情感和节奏上协调对应,因而,可确保所述音乐小节所获得的候选动作控制信息也是与该音乐小节的音频数据在情感和节奏上更能保持协调一致的优质资源,从而确保后续制作所述音乐的舞蹈动画时,能获得优质的作品。
[0099]
在本技术任意实施例的基础上,请参阅图6,由所述结构单元内全部音乐小节的动作控制信息之间有序全排列而构成全量组合路径,在全量组合路径中搜索所述结构单元的最佳组合路径,包括:
[0100]
步骤s1321、针对每个组合路径,确定其对应的属于所述音乐的音频节段的深层语义表示,与其对应的属于所述素材数据库中的音频节段的深层语义表示之间的相似损失值,作为第一损失代价;
[0101]
在为每个结构单元确定了全量组合路径之后,每个组合路径对应所述结构单元中的每个音乐小节指向一个属于所述音乐的音频节段ai,这个音频节段ai与该音乐小节在所述组合路径中相对应的属于所述素材数据库的音频节段bj之间的语义相似损失值,可以衡量两者之间的相似损失代价,因而,可以通过如下公式确定每个组合路径中的每个音乐小节相对应的相似损失值,作为第一损失代价λ
cons
,公式如下所示:
[0102]
λ
cons
=1-cos_sim(mi,mo)
[0103]
其中,mi表示所述音乐小节相对应的属于所述音乐的音频节段ai的深层语义表示,mo表示所述音乐小节相对应的属于所述素材数据库的音频节段bj的深层语义表示。
[0104]
在针对整个组合路径进行总体评估确定一个总的第一损失代价的实施例中,可以
将各个音乐小节相对应的第一损失代价进行汇总来代表。在基于动态搜索各个音乐小节的最佳动作控制信息的实施例中,则可以逐个地针对下一音乐小节计算其对应的各个候选音频节段相对应的第一损失代价,用于汇总成总体损失代价,从而利用总体损失代价来筛选出下一音乐小节相对应的最佳动作控制信息,以此类推来协助决定出一条最佳组合路径。
[0105]
步骤s1322、针对每个组合路径,确定其每前后相邻的两个动作控制信息中,在先的动作控制信息中最后一个信息帧与在后的动作控制信息中第一个信息帧之间的相似损失值,作为第二损失代价;
[0106]
如前所述,每个动作控制信息中包含有用于生成多个图像帧相对应的多个信息帧,每个信息帧决定了数字人所生成的动作状态,不难理解,在同一组合路径中时序上相邻的两个音乐小节,其中时序在先的第一个音乐小节相对应的动作控制信息中的最后一个信息帧与时序在后的第二个音乐小节相对应的动作控制信息中的第一个信息帧之间,如果语义越接近,则两个越连贯,所生成的动作效果越自然,反之效果越差,为衡量两者的效果,可以将这种效果描述为第二损失代价λ
trans
,采用如下公式来计算:
[0107]
λ
trans
=1-cos_sim(di,d
i+1
)
[0108]
其中,di表示所述时序在先的音乐小节相对应的动作控制信息中的最后一个信息帧,d
i+1
则是在时序上紧跟在di之后的,实际上是时序在后的音乐小节相对应的动作控制信息中的第一个信息帧。
[0109]
可见,通过计算两个相邻信息帧之间的语义相似度,可以获得衡量前后两个音乐小节的动作控制信息之间的连接平滑性的第二损失代价。
[0110]
在针对整个组合路径进行总体评估确定一个总的第二损失代价的实施例中,可以将各个音乐小节相对应的第二损失代价进行汇总来代表。在基于动态搜索各个音乐小节的最佳动作控制信息的实施例中,则可以逐个地针对下一音乐小节的各个候选动作控制信息计算其与其前一音乐小节之间的第二损失代价,用于汇总成总体损失代价,从而利用总体损失代价来筛选出下一音乐小节相对应的最佳动作控制信息,以此类推来协助决定出一条最佳组合路径。
[0111]
步骤s1325、融合包括每个组合路径的所述第一损失代价和第二损失代价在内的多个损失代价,得到所述组合路径的总体损失代价,确定最低总体损失代价相对应的组合路径为最佳组合路径。
[0112]
在动态搜索确定最佳组合路径的实施例中,当对应结构单元中的每个音乐小节,确定出其下一音乐小节的各个动作控制信息相对应的第一损失代价和第二损失代价后,便可为下一音乐小节的各个动作控制信息确定其总体损失代价,示例性的总体损失代价c的计算公式如下所示:
[0113]
c=α1*λ
cons
+α2*λ
trans
[0114]
其中,α1、α2为可按需灵活设定的权重参数。
[0115]
根据以上公式,对于一个结构单元中的每个音乐小节,均可确定其中各个动作控制信息与前一音乐小节相拼接情况下的总体损失代价,不难理解,其中最低总体损失代价相对应的动作控制信息,是拼接效果最佳的动作控制信息,因为其对应的音频节段与所述音乐小节所指向的属于所述音乐的音频节段在语义上最相近,而且,其第一个信息帧与前一音乐小节的动作控制信息中的最后一个信息帧之间也最相近。采用这种动态搜索的方
式,对结构单元中的各个音乐小节逐个搜索出最佳动作控制信息,由这些最佳动作控制信息拼接而成的路径,即是最佳组合路径。
[0116]
在针对每条组合路径进行综合评估其总体损失代价的实施例中,其确定各个具体损失代价的方式与上述相同,只是计算单位不同,即基于每个组合路径,将每个音乐小节相对应的具体损失代价都计算出来再行汇总为每条组合路径相对应的第一损失代价、第二损失代价等,最终再汇总所有的具体损失代价获得每条组合路径相对应的总体损失代价,再确定其中最低总体损失代价相对应的组合路径为最佳组合路径即可。
[0117]
需要注意的是,对于每个结构单元来说,第一个音乐小节并无在先的音乐小节,在套用上述公式计算各种具体损失代价时,可以采用初始值来替代。
[0118]
根据以上实施例可以看出,在对所述音乐的每个结构单元构造其整个结构单元相对应的动作控制信息时,通过对其结构单元中的每个音乐小节相对应的多个动作控制信息所能获得的各种损失代价进行计算,评估出总体损失代价最低的最佳组合路径,实现为结构单元从所述素材数据库中择优精选出其最相似的动作控制信息集合,使相应的结构单元可以据此驱动数字人生成相应的舞蹈动画。推而广之,整首音乐也可通过按照其结构信息拼接所有结构单元的动作控制信息集合来获得整首音乐相对应的动作控制信息集合。由于在确定最佳组合路径的过程中,充分考虑了相邻音乐小节的动作控制信息之间的衔接连续性以及音频语义上的相似性,所获得的动作控制信息集合用于驱动数字人产生相应的舞蹈动画之后,所述舞蹈动画动作更为连贯且情感与节奏也更能与所述音乐相协调统一。
[0119]
在本技术任意实施例的基础上,请再参阅图6,融合包括每个组合路径的所述第一损失代价和第二损失代价在内的多个损失代价,得到所述组合路径的总体损失代价,确定最低总体损失代价相对应的组合路径为最佳组合路径之前,还可以设置如下步骤s1323和/或步骤s1324,具体如下:
[0120]
一个实施例中,为了保证舞蹈的多样性,舞蹈动作的选择应该尽量的多样,因此,可以设置:步骤s1323、针对每个组合路径,统计其全部动作控制信息中的信息帧所指示的舞蹈动作的重复数量,作为融合到所述总体损失代价中的第三损失代价;
[0121]
具体来说,可以增加舞蹈动作重复的代价函数用于计算每个音乐小节中的各个动作控制信息相对应的第三损失代价λ
repe
,如下所示:
[0122]
λ
repe
=count({d
i-p+1
,d
i-p+2
,
…
,d
i-1
},di)
[0123]
其中,count函数是计算动作重复的个数,p是计算重复动作的窗口大小。
[0124]
可见,通过窗口滑动计算,可以统计出结构单元中,当前音乐小节的每个动作控制信息与在先的各个已经确定的动作控制信息相结合之后,全部已经结合的动作控制信息中,表示数字人动作出现重复的信息帧的数量,也即动作重复数量,数量越高,表示多样性越差,数量越低,则表示多样性越丰富。
[0125]
在针对整个组合路径进行总体评估确定一个总的第三损失代价的实施例中,可以将各个音乐小节相对应的第三损失代价进行汇总来代表。在基于动态搜索各个音乐小节的最佳动作控制信息的实施例中,则可以逐个地针对下一音乐小节中的各个动作控制信息与在先的所有动作控制信息进行结合再统计第三损失代价,用于汇总成总体损失代价,从而利用总体损失代价来筛选出下一音乐小节相对应的最佳动作控制信息,以此类推来协助决定出一条最佳组合路径。
[0126]
适应第三损失代价的引入,一条组合路径相对应的总体损失代价c的公式可以变换为如下所示:
[0127]
c=α1*λ
cons
+α2*λ
trans
+α3*λ
repe
[0128]
同理,α1、α2、α3均是经验参数,作为权重使用。
[0129]
可以看出,步骤s1323的设置,可以进一步丰富舞蹈动作的多样性,使所获得的舞蹈动画的效果更佳。
[0130]
另一实施例中,步骤s1324、针对每个组合路径,统计其全部动作控制信息中的信息帧所指示的舞蹈位置偏离预设中点的距离,作为融合到所述总体损失代价中的第四损失代价。
[0131]
一般来说,舞蹈是围绕着舞蹈中心进行移动的,因此,我们对舞蹈路径增加一个移动限制,将数字人的运动范围限制在某个区域,这也会鼓励系统搜索对称的舞蹈单元,以抵消整个运动范围。据此,对于下一音乐小节的各个动作控制信息,采用如下公式计算第四损失代价λ
range
:
[0132][0133]
以采用欧拉角表示数字人的动作控制信息的实施例为例,在动作控制信息的信息帧中,存在表示所述数字人偏移预设中点的偏移量,该偏移量便可作为distance(dj)使用。通过将下一音乐小节的每个动作控制信息与在先确定的各个音乐小节的动作控制信息相结合,对结合后的全部动作控制信息中的信息帧进行偏移量的统计,也即数字人的舞蹈位置偏离预设中点的距离的统计,便可获得所述下一音乐小节的每个动作控制信息相对应的第四损失代价。不难理解,第四损失代价越大,表示偏离中点的总体距离越大。
[0134]
在针对整个组合路径进行总体评估确定一个总的第四损失代价的实施例中,可以将各个音乐小节相对应的第四损失代价进行汇总来代表。在基于动态搜索各个音乐小节的最佳动作控制信息的实施例中,则可以逐个地针对下一音乐小节中的各个动作控制信息与在先的所有动作控制信息进行结合再统计第四损失代价,用于汇总成总体损失代价,从而利用总体损失代价来筛选出下一音乐小节相对应的最佳动作控制信息,以此类推来协助决定出一条最佳组合路径。
[0135]
适应第四损失代价的引入,一条组合路径相对应的总体损失代价c的公式可以变换为如下所示:
[0136]
c=α1*λ
cons
+α2*λ
trans
+α4*λ
range
[0137]
同理,α1、α2、α4均是经验参数,作为权重使用。
[0138]
可以看出,步骤s1324的设置,可以促使所优选的动作控制信息驱动下所获得的舞蹈动画具有良好的舞台对称性,使舞蹈效果更佳。
[0139]
再一实施例中,同时引入所述步骤s1323和步骤s1324,相应改变总体损失代价的计算公式如下:
[0140]
c=α1*λ
cons
+α2*λ
trans
+α3*λ
repe
+α4*λ
range
[0141]
可见,当同时引入多种具体损失代价用于评估确定组合路径相对应的总体损失代价之后,可以充分考虑舞蹈动作之间的情感相似性、动作流畅性、动作多样性、舞蹈对称性等多种与舞蹈美学相关的因素,来为每个结构单元获得最佳组合路径,从而优选出各个音
乐小节相对应的最佳动作控制信息,用于产生优质的舞蹈动画。
[0142]
在本技术任意实施例的基础上,请参阅图7,将所述结构单元的最佳组合路径所包含的动作控制信息构成所述结构单元相对应的控制信息单元之后,包括:
[0143]
步骤s1500、根据所述音乐的结构信息中结构单元的排序关系,将各个结构单元的控制信息单元构造为动画控制文件;
[0144]
如前所述,在确定了每个结构单元相对应的动作控制信息集合之后,这些动作控制信息集合便构成所述结构单元相对应的控制信息单元,通过对这些控制信息单元进行有序组织,便可以构成整首音乐相对应的动画控制文件。
[0145]
具体而言,由于所述音乐的结构信息中包含有对其各个结构单元的排序关系的时间节点信息,因而,可以利用这种关系,按照各个结构单元的顺序,将各个结构单元相应在的控制信息单元也按序拼接在一起,由此就获得一首音乐相对应的全部音乐小节相对应的全部动作控制信息,将全部动作控制信息存储为动画控制文件,可用于驱动数字人生成相应的舞蹈动画。
[0146]
步骤s1600、针对所述动画控制文件中,时序在先的结构单元的动作控制信息中的最后一个信息帧和时序紧跟在后的结构单元的动作控制信息中的第一个信息帧进行插帧处理;
[0147]
在生成所述动画控制文件时,考虑到相邻的两个结构单元中,前后连接的各一个信息帧,也即时序在先的结构单元的最后一个信息帧,和时序在后的结构单元的第一个信息帧之间,其彼此所指示的舞蹈动作未必能够完全平滑过渡,为使两者衔接更流畅,可以基于这样的两个相连接的信息帧进行插帧处理。
[0148]
以采用欧拉角表示数字人的信息帧的情况为例,考虑到欧拉角不能用于插值,因此采用四元数插值法对相邻的舞蹈单元进行拼接合成,具体可按照如下过程操作:
[0149]
1)将信息帧从欧拉角表示转为四元数(w,x,y,z)表示,公式如下:
[0150][0151][0152][0153][0154]
2)针对相邻结构单元的最后一帧di和第一帧d
i+1
进行插帧,使得过渡动画平滑流畅。插帧的方法可采用球面线性插帧法,而插帧个数取决于需要过渡的两个信息帧动作差异有多大。两帧动作差异通过计算两帧四元数(a,b)之间的距离得到,如下所示:
[0155]
c=a*b-1
[0156]
quat_distance=arccos(c.w)
[0157]
球面线性插值法的公式表示如下:
[0158]
[0159]
其中,θ是a和b之间的夹角,t为当前需要插值的百分比位置。
[0160]
3)将四元数转化为欧拉角,四元数插值后,便能得到流畅舞蹈,再转化为欧拉角方便采用un ity等工具渲染,四元数转欧拉角公式为:
[0161][0162]
θ=arcsin(2(wy-zx))
[0163][0164]
由此可见,经过插帧处理后,便可使两个相邻结构单元之间的动作过渡更为自然。
[0165]
步骤s1700、针对所述动画控制文件中,性质相同而时间不同的两个结构单元,将所述两个结构单元的动作控制信息处理成重复关系或互为镜像关系;
[0166]
为了保证舞蹈和音乐有同样的结构,针对所述音乐中的同一性质的结构单元例如主歌或副歌等,对出现在所述音乐的时序的不同位置的同一性质的结构单元,可以使用完全相同的控制信息单元,或者,将同一结构单元的控制信息单元在第一位置和第二位置出现的动作控制信息处理为镜像关系,即将第二位置出现的动作控制信息中的信息帧所表示的动作通过对信息帧中的向量做变换,使所述动作转换为第一位置出现的动作控制信息中的信息帧所表示的动作的镜像关系,使得据此所生成的舞蹈也具有一定的结构美。当然,对于同一性质而时间不同的两个结构单元,也可以使用完全相同的控制信息单元以使所生成的舞蹈动画执行完全重复的动作。
[0167]
步骤s1800、根据所述动画控制文件驱动数字人生成相应的舞蹈动画。
[0168]
在对所述音乐的各个结构单元按照所述音乐的结构信息进行拼接之后,便获得所述音乐相对应的完整的全部动作控制信息,将这些动作控制信息存储为一个动画控制文件,将其与所述音乐相关联存储,后续需要为所述音乐生成相应的数字人舞蹈动画时,只需对应调用所述动画控制文件,将其中的各个信息帧应用于相应的数字人,控制所述数字人产生相应的动作,然后渲染生成相应的图像帧,便可获得相应的动作图像。对应所述动画控制文件中的各个信息帧逐一生成相应的图像帧,这些图像帧的有序编码结果,便可形成视频流,可用于推送到诸如直播间的终端设备中播放。
[0169]
根据以上实施例可见,根据所述音乐的结构信息,将本技术为各个结构单元生成的控制信息单元进行有机拼接,按需进行插帧处理,可以编排出所述音乐的动画控制文件,该动画控制文件可以关联所述音乐而提供,用于为所述音乐生成相应的数字人舞蹈动画,且所述动画控制文件可以为多个数字人所复用,使机器编舞所述音乐的舞蹈动画时,能获得动作流畅、情感自然、节奏协调的舞蹈动画作品。图8示出根据本技术的动画控制文件驱动数字人产生的舞蹈动画中的若干个图像帧的图像内容,可供参考。
[0170]
请参阅图9,根据本技术的一个方面提供的一种动画控制信息构造装置,包括格式处理模块1100、素材匹配模块1200、素材优选模块1300,以及单元构造模块1400,其中,所述格式处理模块1100,设置为获取音乐,确定所述音乐的结构单元内各个音乐小节相对应的音频节段;所述素材匹配模块1200,设置为从素材数据库中匹配出与所述各个音乐小节的音频节段相似的候选音频节段,获得与各个所述候选音频节段相对应预设的动作控制信息,所述动作控制信息包括用于控制数字人产生相应舞蹈动作的多个信息帧;所述素材优
选模块1300,设置为由所述结构单元内全部音乐小节的动作控制信息之间有序全排列而构成全量组合路径,在全量组合路径中搜索所述结构单元的最佳组合路径;所述单元构造模块1400,设置为将所述结构单元的最佳组合路径所包含的动作控制信息构成所述结构单元相对应的控制信息单元,用于控制数字人产生相应的舞蹈动画。
[0171]
在本技术任意实施例的基础上,所述格式处理模块1100,包括:数据获取子模块,设置为获取所述音乐的音频数据;结构分析子模块,设置为对所述音乐的音频数据进行结构分析以获得其结构信息,所述结构信息包括所述音乐的各个结构单元的时间节点信息;节奏分析子模块,设置为对所述音乐的音频数据进行节奏分析以获得其节奏信息,所述节奏信息包括所述音乐的鼓点信息;节段分割子模块,设置为根据所述各个结构单元的时间节点信息及其相对应的鼓点信息,确定每个结构单元内的各个音乐小节,从所述音频数据中切分出各个音乐小节相对应的音频节段。
[0172]
在本技术任意实施例的基础上,所述素材匹配模块1200,包括:相似运算子模块,设置为根据每个音乐小节的音频节段的深层语义表示与所述素材数据库中预存的音频节段的深层语义表示计算语义相似度;节段筛选子模块,设置为针对每个音乐小节的音频节段,根据所述语义相似度筛选出所述素材数据库中的多个音频节段作为候选音频节段;节段调用子模块,设置为从素材数据库中获取与各个所述候选音频节段相对应预设的动作控制信息,构成相应音乐小节的候选动作列表。
[0173]
在本技术任意实施例的基础上,所述素材优选模块1300,包括:代价评估子模块,设置为针对所述结构单元的每个组合路径,评估每个组合路径相对应的舞蹈动画的总体损失代价;路径择优子模块,设置为将具有最小总体损失代价的组合路径确定为相应结构单元的最佳组合路径。
[0174]
在本技术任意实施例的基础上,所述素材优选模块,包括:第一评估子模块,设置为针对每个组合路径,确定其对应的属于所述音乐的音频节段的深层语义表示,与其对应的属于所述素材数据库中的音频节段的深层语义表示之间的相似损失值,作为第一损失代价;第二评估子模块,设置为针对每个组合路径,确定其每前后相邻的两个动作控制信息中,在先的动作控制信息中最后一个信息帧与在后的动作控制信息中第一个信息帧之间的相似损失值,作为第二损失代价;融合评估子模块,设置为融合包括每个组合路径的所述第一损失代价和第二损失代价在内的多个损失代价,得到所述组合路径的总体损失代价,确定最低总体损失代价相对应的组合路径为最佳组合路径。
[0175]
在本技术任意实施例的基础上,所述素材优选模块,还包括如下第三评估子模块和/或第四评估子模块,其中,第三评估子模块,设置为针对每个组合路径,统计其全部动作控制信息中的信息帧所指示的舞蹈动作的重复数量,作为融合到所述总体损失代价中的第三损失代价;第四评估子模块,设置为针对每个组合路径,统计其全部动作控制信息中的信息帧所指示的舞蹈位置偏离预设中点的距离,作为融合到所述总体损失代价中的第四损失代价。
[0176]
在本技术任意实施例的基础上,本技术的动画控制信息构造装置,包括:文件构造模块,设置为根据所述音乐的结构信息中结构单元的排序关系,将各个结构单元的控制信息单元构造为动画控制文件;平滑处理模块,设置为针对所述动画控制文件中,时序在先的结构单元的动作控制信息中的最后一个信息帧和时序紧跟在后的结构单元的动作控制信
息中的第一个信息帧进行插帧处理;对称优化模块,设置为针对所述动画控制文件中,性质相同而时间不同的两个结构单元,将所述两个结构单元的动作控制信息处理成重复关系或互为镜像关系;动画生成模块,设置为根据所述动画控制文件驱动数字人生成相应的舞蹈动画。
[0177]
本技术的另一实施例还提供一种动画控制信息构造设备。如图10所示,动画控制信息构造设备的内部结构示意图。该动画控制信息构造设备包括通过系统总线连接的处理器、计算机可读存储介质、存储器和网络接口。其中,该动画控制信息构造设备的计算机可读的非易失性可读存储介质,存储有操作系统、数据库和计算机可读指令,数据库中可存储有信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种动画控制信息构造方法。
[0178]
该动画控制信息构造设备的处理器用于提供计算和控制能力,支撑整个动画控制信息构造设备的运行。该动画控制信息构造设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行本技术的动画控制信息构造方法。该动画控制信息构造设备的网络接口用于与终端连接通信。
[0179]
本领域技术人员可以理解,图10中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的动画控制信息构造设备的限定,具体的动画控制信息构造设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0180]
本实施方式中处理器用于执行图9中的各个模块的具体功能,存储器存储有执行上述模块或子模块所需的程序代码和各类数据。网络接口用于实现用户终端或服务器之间的数据传输。本实施方式中的非易失性可读存储介质中存储有本技术的动画控制信息构造装置中执行所有模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有模块的功能。
[0181]
本技术还提供一种存储有计算机可读指令的非易失性可读存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行本技术任一实施例的动画控制信息构造方法的步骤。
[0182]
本技术还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被一个或多个处理器执行时实现本技术任一实施例所述方法的步骤。
[0183]
本领域普通技术人员可以理解,实现本技术上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)等计算机可读存储介质,或随机存储记忆体(random access memory,ram)等。
[0184]
综上所述,本技术采用低成本的实施方式为音乐生成驱动数字人产生舞蹈动画所需的动作控制信息,并使所产生的舞蹈动画中数字人的动作较为流畅,且能与所述音乐的情感和节奏协调同步。
技术特征:
1.一种动画控制信息构造方法,其特征在于,包括:获取音乐,确定所述音乐的结构单元内各个音乐小节相对应的音频节段;从素材数据库中匹配出与所述各个音乐小节的音频节段相似的候选音频节段,获得与各个所述候选音频节段相对应预设的动作控制信息,所述动作控制信息包括用于控制数字人产生相应舞蹈动作的多个信息帧;由所述结构单元内全部音乐小节的动作控制信息之间有序全排列而构成全量组合路径,在全量组合路径中搜索所述结构单元的最佳组合路径;将所述结构单元的最佳组合路径所包含的动作控制信息构成所述结构单元相对应的控制信息单元,用于控制数字人产生相应的舞蹈动画。2.根据权利要求1所述的动画控制信息构造方法,其特征在于,获取音乐,确定所述音乐的结构单元内各个音乐小节相对应的音频节段,包括:获取所述音乐的音频数据;对所述音乐的音频数据进行结构分析以获得其结构信息,所述结构信息包括所述音乐的各个结构单元的时间节点信息;对所述音乐的音频数据进行节奏分析以获得其节奏信息,所述节奏信息包括所述音乐的鼓点信息;根据所述各个结构单元的时间节点信息及其相对应的鼓点信息,确定每个结构单元内的各个音乐小节,从所述音频数据中切分出各个音乐小节相对应的音频节段。3.根据权利要求1所述的动画控制信息构造方法,其特征在于,从素材数据库中匹配出与所述音频节段相似的候选音频节段,获得与各个所述候选音频节段相对应预设的动作控制信息,包括:根据每个音乐小节的音频节段的深层语义表示与所述素材数据库中预存的音频节段的深层语义表示计算语义相似度;针对每个音乐小节的音频节段,根据所述语义相似度筛选出所述素材数据库中的多个音频节段作为候选音频节段;从素材数据库中获取与各个所述候选音频节段相对应预设的动作控制信息,构成相应音乐小节的候选动作列表。4.根据权利要求1所述的动画控制信息构造方法,其特征在于,由所述结构单元内全部音乐小节的动作控制信息之间有序全排列而构成全量组合路径,在全量组合路径中搜索所述结构单元的最佳组合路径,包括:针对所述结构单元的每个组合路径,评估每个组合路径相对应的舞蹈动画的总体损失代价;将具有最小总体损失代价的组合路径确定为相应结构单元的最佳组合路径。5.根据权利要求4所述的动画控制信息构造方法,其特征在于,针对所述结构单元的每个组合路径,评估每个组合路径相对应的舞蹈动画的损失代价,包括:针对每个组合路径,确定其对应的属于所述音乐的音频节段的深层语义表示,与其对应的属于所述素材数据库中的音频节段的深层语义表示之间的相似损失值,作为第一损失代价;针对每个组合路径,确定其每前后相邻的两个动作控制信息中,在先的动作控制信息
中最后一个信息帧与在后的动作控制信息中第一个信息帧之间的相似损失值,作为第二损失代价;融合包括每个组合路径的所述第一损失代价和第二损失代价在内的多个损失代价,得到所述组合路径的总体损失代价,确定最低总体损失代价相对应的组合路径为最佳组合路径。6.根据权利要求5所述的动画控制信息构造方法,其特征在于,融合包括每个组合路径的所述第一损失代价和第二损失代价在内的多个损失代价,得到所述组合路径的总体损失代价,确定最低总体损失代价相对应的组合路径为最佳组合路径之前,包括如下任意一个或任意多个步骤:针对每个组合路径,统计其全部动作控制信息中的信息帧所指示的舞蹈动作的重复数量,作为融合到所述总体损失代价中的第三损失代价;针对每个组合路径,统计其全部动作控制信息中的信息帧所指示的舞蹈位置偏离预设中点的距离,作为融合到所述总体损失代价中的第四损失代价。7.根据权利要求1至6中任意一项所述的动画控制信息构造方法,其特征在于,将所述结构单元的最佳组合路径所包含的动作控制信息构成所述结构单元相对应的控制信息单元之后,包括:根据所述音乐的结构信息中结构单元的排序关系,将各个结构单元的控制信息单元构造为动画控制文件;针对所述动画控制文件中,时序在先的结构单元的动作控制信息中的最后一个信息帧和时序紧跟在后的结构单元的动作控制信息中的第一个信息帧进行插帧处理;针对所述动画控制文件中,性质相同而时间不同的两个结构单元,将所述两个结构单元的动作控制信息处理成重复关系或互为镜像关系;根据所述动画控制文件驱动数字人生成相应的舞蹈动画。8.一种动画控制信息构造装置,其特征在于,包括:格式处理模块,设置为获取音乐,确定所述音乐的结构单元内各个音乐小节相对应的音频节段;素材匹配模块,设置为从素材数据库中匹配出与所述各个音乐小节的音频节段相似的候选音频节段,获得与各个所述候选音频节段相对应预设的动作控制信息,所述动作控制信息包括用于控制数字人产生相应舞蹈动作的多个信息帧;素材优选模块,设置为由所述结构单元内全部音乐小节的动作控制信息之间有序全排列而构成全量组合路径,在全量组合路径中搜索所述结构单元的最佳组合路径;单元构造模块,设置为将所述结构单元的最佳组合路径所包含的动作控制信息构成所述结构单元相对应的控制信息单元,用于控制数字人产生相应的舞蹈动画。9.一种动画控制信息构造设备,包括中央处理器和存储器,其特征在于,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行如权利要求1至7中任意一项所述的方法的步骤。10.一种非易失性可读存储介质,其特征在于,其以计算机可读指令的形式存储有依据权利要求1至7中任意一项所述的方法所实现的计算机程序,所述计算机程序被计算机调用运行时,执行相应的方法所包括的步骤。
技术总结
本申请涉及一种动画控制信息构造方法及其装置、设备、介质、产品,所述方法包括:获取音乐,确定所述音乐的结构单元内各个音乐小节相对应的音频节段;从素材数据库中匹配出与所述各个音乐小节的音频节段相似的候选音频节段,获得与各个所述候选音频节段相对应预设的动作控制信息;由所述结构单元内全部音乐小节的动作控制信息之间有序全排列而构成全量组合路径,在全量组合路径中搜索所述结构单元的最佳组合路径;将所述结构单元的最佳组合路径所包含的动作控制信息构成所述结构单元相对应的控制信息单元,用于控制数字人产生相应的舞蹈动画。本申请所产生的舞蹈动画中数字人的动作较为流畅,且能与所述音乐的情感和节奏协调同步。同步。同步。
技术研发人员:何鑫 苏嘉昌
受保护的技术使用者:广州欢聚时代信息科技有限公司
技术研发日:2022.12.13
技术公布日:2023/8/4
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
