一种口型动画生成方法、装置、计算机设备及存储介质与流程

文档序号:28266235发布日期:2021-12-31 18:32阅读:62来源:国知局
一种口型动画生成方法、装置、计算机设备及存储介质与流程

1.本公开涉及计算机技术领域,具体而言,涉及一种口型动画生成方法、装置、计算机设备及存储介质。


背景技术:

2.在动画影视、虚拟网络直播等场景存在将配音和口型动画适配的需求,语音与口型动画的精准适配能够给观众带来良好的视觉体验。
3.在生成口型动画时,可以根据语音中包含的各个音素,提取预先制作的与相应音素对应的口型动画片段,然后直接按照每个音素对应的时间顺序播放口型动画片段。由于实际发音时会存在变化性,并不会严格按照开始对音素定义的发音标准进行发音,这种方式生成的口型动画与语音的对应性较差,适配效果不好。


技术实现要素:

4.本公开实施例至少提供一种口型动画生成方法、装置、计算机设备及存储介质。
5.第一方面,本公开实施例提供了一种口型动画生成方法,包括:
6.获取待生成口型动画的目标语料内容;所述目标语料内容包括目标语音内容和/或目标文本内容;
7.根据所述目标语料内容对应的各个音素单元,从预先制作的各个动画单元中,选取与所述目标语料内容的各个音素单元匹配的各个动画单元;其中,每个音素单元对应一个口型动作;所述动画单元中包括预设数量的动画帧;
8.根据待生成的口型动画对应的目标语速,以及选取的各个动画单元,确定用于生成所述口型动画的多个动画帧;
9.基于确定的所述多个动画帧,生成所述口型动画。
10.一种可选的实施方式中,根据所述目标语料内容对应的各个音素单元,从预先制作的各个动画单元中,选取与所述目标语料内容匹配的各个动画单元,包括:
11.按照所述目标语速,确定所述目标语料内容在各个时间戳对应的音素单元;
12.根据所述目标语料内容在各个时间戳对应的音素单元,从预先制作的各个动画单元中,分别选取与各个时间戳对应的动画单元;
13.所述基于确定的所述多个动画帧,生成所述口型动画,包括:
14.将所述多个动画帧按照所对应的动画单元的时间戳顺序进行整合,生成所述口型动画。
15.一种可选的实施方式中,根据待生成的口型动画对应的目标语速,以及选取的各个动画单元,确定用于生成所述口型动画的多个动画帧,包括:
16.针对选取的每个动画单元,若所述目标语速大于标准语速,根据所述目标语速,从所述动画单元中抽取部分动画帧,作为用于生成所述口型动画的动画帧;所述标准语速与所述动画单元中包含的动画帧的预设数量相匹配;
17.针对选取的每个动画单元,若所述目标语速小于所述标准语速,根据所述目标语速,对所述动画单元进行增帧,得到大于所述预设数量的动画帧,作为用于生成所述口型动画的动画帧。
18.一种可选的实施方式中,所述对所述动画单元进行增帧,包括:
19.对所述动画单元的各个动画帧进行采样,得到新增动画帧;或者,
20.对所述动画单元中的相邻动画帧进行插值处理,得到位于所述相邻动画帧之间的新增动画帧。
21.一种可选的实施方式中,基于确定的所述多个动画帧,生成所述口型动画,包括:
22.针对所述口型动画对应的相邻动画单元,对所述相邻动画单元中前一动画单元的后n1个动画帧,与后一动画单元的前m1个动画帧进行融合处理,生成融合处理后的动画帧;n1和m1为正整数;
23.基于所述多个动画帧中未融合处理的动画帧,和所述融合处理后的动画帧,生成所述口型动画。
24.一种可选的实施方式中,基于确定的所述多个动画帧,生成所述口型动画,包括:
25.针对所述目标语料内容中的相邻语料单元,对所述相邻语料单元中前一语料单元的至少一个动画单元的后n2个动画帧,与后一语料单元的至少一个动画单元的前m2个动画帧进行融合处理,生成融合处理后的动画帧;所述语料单元包括单个字或者单词;n2和m2为正整数;
26.基于所述多个动画帧中未融合处理的动画帧,和所述融合处理后的动画帧,生成所述口型动画。
27.一种可选的实施方式中,设置n为所述n1时,m为所述m1;n为所述n2时,m为所述m2;
28.对所述后n个动画帧,与前m个动画帧进行融合处理,包括:
29.根据所述目标语速和预设的基准过渡时间,确定所述n和m的取值,以及融合曲线信息;所述融合曲线信息用于指示前后两个动画单元在进行动画帧融合时的比例系数;
30.根据所述n和m的取值,以及所述融合曲线信息,对所述相邻动画单元中前一动画单元的后n个动画帧,与后一动画单元的前m个动画帧进行融合处理。
31.一种可选的实施方式中,所述动画单元是通过以下步骤预先制作的:
32.确定各个基础音素单位之间的第一组合关系和第二组合关系;其中,具有第一组合关系的各个基础音素单位在组合后的发音所对应的口型动作,不同于所述各个基础音素单位各自的发音所对应的口型动作;具有第二组合关系的各个基础音素单位的发音所对应的口型动作相同;
33.基于各个基础音素单位,以及所述第一组合关系和第二组合关系,确定所述音素单元;
34.针对确定的各个所述音素单元,分别制作对应的动画单元。
35.第二方面,本公开实施例还提供一种口型动画生成装置,包括:
36.第一获取模块,用于获取待生成口型动画的目标语料内容;所述目标语料内容包括目标语音内容和/或目标文本内容;
37.选取模块,用于根据所述目标语料内容对应的各个音素单元,从预先制作的各个动画单元中,选取与所述目标语料内容的各个音素单元匹配的各个动画单元;其中,每个音
素单元对应一个口型动作;所述动画单元中包括预设数量的动画帧;
38.第一确定模块,用于根据待生成的口型动画对应的目标语速,以及选取的各个动画单元,确定用于生成所述口型动画的多个动画帧;
39.生成模块,用于基于确定的所述多个动画帧,生成所述口型动画。
40.第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
41.第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
42.本公开实施例提供的口型动画生成的方法,将语速作为生成口型动画的考量因素,在选取与目标语料内容的各个音素单元匹配的动画单元之后,根据待生成的口型动画对应的目标语速,以及选取的各个动画单元,确定用于生成口型动画的多个动画帧,生成的动画帧是与目标语速相对应的,进而生成的口型动画能够更好地与目标语料内容对应,适配效果更准确、自然。
43.另外,本公开实施例提供的口型动画生成的方法,能够根据目标语速与标准语速的比较结果,对动画单元进行增帧或减帧处理,根据增帧后的动画帧生成的口型动画,口型动作的动作时间更长、动作更慢,也就是语速更慢;根据减帧后的动画帧生成的口型动画,口型动作的动作时间更短、动作更快,也就是语速更快,从而使得口型动画能够与目标语料内容更好地进行对应,适配效果更加准确、自然。
44.关于上述口型动画生成系统、装置、计算机设备及计算机可读存储介质的效果描述参见上述口型动画生成方法的说明,这里不再赘述。
45.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
46.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
47.图1示出了本公开实施例所提供的一种口型动画生成方法的流程图;
48.图2示出了本公开实施例所提供的另一种口型动画生成方法的流程图;
49.图3示出了本公开实施例所提供的一种口型动画生成装置的示意图;
50.图4示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
51.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例
中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
52.在动画影视、虚拟网络直播等场景,生成口型动画时,可以根据语音中包含的各个音素,提取预先制作的与相应音素对应的口型动画片段,然后直接按照每个音素对应的时间顺序播放口型动画片段。由于实际发音时会存在变化性,并不会严格按照开始对音素定义的发音标准进行发音,这种方式生成的口型动画与语音的对应性较差,适配效果不好。
53.基于此,本公开提供了一种口型动画生成方法,将语速作为生成口型动画的考量因素,在选取与目标语料内容的各个音素单元匹配的动画单元之后,根据待生成的口型动画对应的目标语速,以及选取的各个动画单元,确定用于生成口型动画的多个动画帧,生成的动画帧是与目标语速相对应的,进而生成的口型动画能够更好地与目标语料内容对应,适配效果更准确、自然。
54.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
55.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
56.为便于对本实施例进行理解,首先对本公开实施例所公开的一种口型动画生成方法进行详细介绍,本公开实施例所提供的口型动画生成方法的执行主体一般为具有一定计算能力的计算机设备。
57.本公开实施例提供的口型动画生成方法可以应用于网络游戏、动画影视、虚拟网络直播等需要将配音和口型动画进行适配的场景中。
58.下面以执行主体为服务器为例对本公开实施例提供的口型动画生成方法加以说明。
59.参见图1所示,为本公开实施例提供的一种口型动画生成方法的流程图,所述方法包括s101~s104,其中:
60.s101:获取待生成口型动画的目标语料内容;所述目标语料内容包括目标语音内容和/或目标文本内容。
61.在本公开实施例中,目标语料内容是与待生成口型动画适配的语料内容。目标语料内容可以是任意语言的语料内容,例如中文、英文、日语等。为了便于对本公开实施例的描述和理解,本公开实施例中可以是以中文的目标语料内容为例进行详述。
62.s102:根据所述目标语料内容对应的各个音素单元,从预先制作的各个动画单元中,选取与所述目标语料内容的各个音素单元匹配的各个动画单元;其中,每个音素单元对应一个口型动作;所述动画单元中包括预设数量的动画帧。
63.在执行该步骤之前,可以获取目标语料内容对应的目标语速以及包含的各个音素单元。这里,音素单元可以指对应有一个口型动作的发音单元,音素单元可以包括基础音素
单位或者由至少两个基础音素单位组合得到的组合音素单位。其中基础音素单位可以指对应有一个口型动作的最小发音单位。
64.以汉语拼音中的基础音素单位(例如“d”、“t”、“n”、“l”、“a”、“n”、“g”等)为例,有些基础音素单位不能与其他基础音素单位组合,形成对应有一个口型动作的发音单元,例如“d”、“k”、“p”等,因此可以将这些基础音素单位分别看作是一个音素单元。有些基础音素单位可以与其他基础音素单位组合得到组合音素单位,例如基础音素单位“a”、“n”、“g”组合在一起,可以得到组合音素单位“ang”,得到的组合音素单位可以对应一个口型动作,即“ang”的口型动作,并且“ang”的口型动作与“a”、“n”、“g”的口型动作都不相同,因此可以将组合音素单位“ang”看作是一个音素单元。
65.每个音素单元在发音时都可以对应一个口型动作。有些音素单元对应的口型动作可以是不相同的,例如汉语拼音中,音素单元“b”发音时对应的口型动作是由双唇紧闭到突然放开;汉语拼音中的音素单元“a”发音时对应的口型动作是嘴唇自然张大。而有些音素单元可以对应相同的口型动作,例如汉语拼音中,音素单元“d”、“t”发音时对应的口型动作都是舌尖抵住上牙床,憋住气流后突然放开。
66.在预先制作动画单元的时候,可以根据音素单元的发音所对应的口型动作进行制作。在一种实施方式中,可以先确定各个基础音素单位之间的第一组合关系和第二组合关系;其中,具有第一组合关系的各个基础音素单位在组合后的发音所对应的口型动作,不同于各个基础音素单位各自的发音所对应的口型动作;具有第二组合关系的各个基础音素单位的发音所对应的口型动作相同。然后,基于各个基础音素单位,以及第一组合关系和第二组合关系,确定音素单元。最后,针对确定的各个音素单元,分别制作对应的动画单元。
67.用于确定音素单元的基础音素单位,不仅限于目标语料内容中包含的基础音素单位,还可以包括除目标语料内容中的基础音素单位以外的所有基础音素单位。
68.在所有的基础音素单位中,有些基础音素单位可能与其他基础音素单位具有第一组合关系,如前文举出的“a”、“n”、“g”,组合后可以得到音素单元“ang”,因此“a”、“n”、“g”之间具有第一组合关系。针对由组合音素单位确定的音素单元,可以针对组合音素单位(例如“ang”)的发音所对应的口型动作制作对应的动画单元。
69.有些基础音素单位可能与其他基础音素单位具有第二组合关系,如前文举出的“d”、“t”,可以确定为发音所对应的口型动作相同的音素单元。针对发音所对应的口型动作相同的音素单元,可以制作口型动作相同的动画单元。
70.有些基础音素单位可能与其他基础音素单位既没有第一组合关系,也没有第二组合关系,针对这样的基础音素单位,可以根据其发音所对应的口型动作分别制作对应的动画单元。
71.由于预先制作的动画单元与各个音素单元的发音所对应的口型动作是匹配的,因此在s102中,可以根据目标语料内容中对应的各个音素单元的发音所对应的口型动作,选取与目标语料内容的各个音素单元匹配的各个动画单元。
72.在本公开实施例中,目标语料内容中的各个音素单元是按照时间顺序排列的,也就是各个音素单元都有对应的时间戳,因此在一种实施方式中,在选取与目标语料内容匹配的各个动画单元的过程中,可以按照以下步骤执行:首先,按照目标语速,确定目标语料内容在各个时间戳对应的音素单元;然后,根据目标语料内容在各个时间戳对应的音素单
元,从预先制作的各个动画单元中,分别选取与各个时间戳对应的动画单元。
73.这里,由于各个音素单元是与时间戳对应的,因此选取出来的动画单元与各个动画单元所对应的音素单元的时间戳是对应的。
74.选取出的与各个时间戳对应的动画单元,用于在确定出用于生成口型动画的多个动画帧后(确定用于生成口型动画的多个动画帧的过程将在下文详述),将多个动画帧按照所对应的动画单元的时间戳顺序进行整合,生成口型动画。
75.s103:根据待生成的口型动画对应的目标语速,以及选取的各个动画单元,确定用于生成所述口型动画的多个动画帧。
76.待生成口型动画的目标语速可以是根据目标语料内容的语速确定的。其中,针对语音形式的目标语料内容,目标语速可以是根据目标语料内容中音素单元的个数以及语音的时长信息确定的。针对文本形式的目标语料内容,目标语速可以是根据单位时间内跟进的字数确定的。
77.一般情况下,针对预先制作的动画单元,各个动画单元中包含的动画帧的预设数量是相同的。如果按照各个动画单元中包含的动画帧的预设数量生成口型动画时,得到的口型动画的语速都应当是相同的,这样就会发生口型动画与目标语料内容不适配的情况(比如,目标语料内容的语速较快,但是口型动画的语速较慢)。
78.因此,在一种实施方式中,针对选取的每个动画单元,若目标语速大于标准语速,根据目标语速,从动画单元中抽取部分动画帧,作为用于生成口型动画的动画帧;标准语速与动画单元中包含的动画帧的预设数量相匹配。
79.标准语速下的各个动画单元中包含的动画帧的预设数量都是相同的,一般情况下可以设置为6帧。当目标语速大于标准语速时,即待生成的口型动画的目标语速较快时,可以通过从动画单元中抽取部分动画帧的方式,减少动画单元中包含的动画帧的数量,那么在生成口型动画时,就可以减少该动画单元对应的音素单元的发音时长,从而加快口型动画的语速。
80.这里,可以从动画单元中抽取口型动作特征明显的部分动画帧。在抽取动画帧的过程中,还可以根据目标语速与标准语速的比较结果,确定抽取的动画帧的具体数量,其过程不再详述。
81.针对选取的每个动画单元,若目标语速小于标准语速,根据目标语速,对动画单元进行增帧,得到大于预设数量的动画帧,作为用于生成口型动画的动画帧。
82.当目标语速小于标准语速时,即待生成的口型动画的目标语速较慢时,可以通过对动画单元进行增帧的方式,增加动画单元中包含的动画帧的数量,那么在生成口型动画时,就可以延长该动画单元对应的音素单元的发音时长,从而减慢口型动画的语速。
83.在具体实施中,可以采用以下方式对动画单元进行增帧:对动画单元的各个动画帧进行采样,得到新增动画帧;或者,对动画单元中的相邻动画帧进行插值处理,得到位于相邻动画帧之间的新增动画帧。
84.其中,对动画单元的各个动画帧进行采样,可以是从各个动画帧中选择若干动画帧进行复制,得到新增动画帧。在对动画单元中的相邻动画帧进行插值处理,可以是根据前后两帧动画帧的口型动作,制作新的动画帧,得到用于添加到相邻动画帧之间的新增动画帧。在具体实施中,可以选择以上任意一种方式对动画单元进行增帧,也可以采用两种方式
同时对动画单元进行增帧。
85.s104:基于确定的所述多个动画帧,生成所述口型动画。
86.如前所述,在得到多个动画帧之后,可以将多个动画帧按照所对应的动画单元的时间戳顺序进行整合,生成口型动画。
87.为了使得生成的口型动画更加自然流畅,在生成口型动画的过程中,还可以考虑同一个单词或汉字内部,相邻两个动画单元的动画帧融合处理以及相邻单词或汉字之间动画帧的融合处理,从而避免口型动画中的口型动作生硬、不连贯的情况。
88.针对同一个单词或汉字,相邻两个动画单元的动画帧融合处理的过程(这里仅考虑同一个单词或汉字中包含至少两个动画单元的情况,针对同一个单词或汉字中只包含一个动画单元的情况(例如汉字“啊”只包含“a”的动画单元)则不需要进行单词或汉字内部,相邻两个动画单元的动画帧融合处理),在一种实施方式中,可以先针对口型动画对应的相邻动画单元,对相邻动画单元中前一动画单元的后n1个动画帧,与后一动画单元的前m1个动画帧进行融合处理,生成融合处理后的动画帧;n1和m1为正整数。
89.这里,相邻动画单元可以是同一个单词或汉字内部相邻的动画单元。相邻动画单元对应的音素单元的发音所对应的口型动作应当是连贯的。例如,针对汉字拼音中的“ba”,包含音素单元“b”和“a”,为了使得两个独立的音素单元“b”和“a”的发音所对应的口型动作连贯起来,则可以将“b”对应的动画单元(前一动画单元)的后n1个动画帧,与“a”对应的动画单元(后一动画单元)的前m1个动画帧进行融合处理,生成融合处理后的动画帧,也就是过渡帧。
90.然后,基于多个动画帧中未融合处理的动画帧,和融合处理后的动画帧,生成口型动画。其中,多个动画帧中未融合处理的动画帧可以包括同一个单词或汉字对应的动画单元的多个动画帧中,未融合处理的动画帧,例如“b”的所有动画帧中除后n1个动画帧以外的剩余动画帧,或“a”的所有动画帧中除前m1个动画帧以外的剩余动画帧。融合处理后的动画帧,即过渡帧。
91.针对相邻单词或汉字之间动画帧的融合处理的过程,在一种可能的实施方式中,可以先针对目标语料内容中的相邻语料单元,对相邻语料单元中前一语料单元的至少一个动画单元的后n2个动画帧,与后一语料单元的至少一个动画单元的前m2个动画帧进行融合处理,生成融合处理后的动画帧;语料单元包括单个字或者单词;n2和m2为正整数。
92.相邻语料单元对应的音素单元的发音所对应的口型动作也应当是连贯的。在每个语料单元中包含至少一个音素单元对应的动画单元,这里,可以将每个语料单元作为一个整体,考虑相邻语料单元的动画帧之间的融合处理。例如,针对相邻语料单元“ni”和“hao”,为了使得两个独立的语料单元中“ni”和“hao”的发音所对应的口型动作连贯起来,可以将“ni”对应的动画单元(这里为前一语料单元的两个动画单元)的后n2个动画帧,与“h”对应的动画单元(这里为后一语料单元的第一个动画单元)的前m2个动画帧进行融合处理,生成融合处理后的动画帧,也就是过渡帧。
93.然后,基于多个动画帧中未融合处理的动画帧,和融合处理后的动画帧,生成口型动画。其中,多个动画帧中未融合处理的动画帧可以包括相邻语料单元对应的动画单元的多个动画帧中,未融合处理的动画帧,例如,在上述举例中,“ni”对应的所有动画帧中除后n2个动画帧以外的动画帧、“h”对应的所有动画帧中除前m2个动画帧以外的动画帧,以及

hao”中“ao”对应的所有动画帧。
94.在一种方式中,在生成口型动画的过程中,还可以将同一个单词或汉字内部,相邻两个动画单元的动画帧融合处理过程以及相邻单词或汉字之间动画帧的融合处理过程结合起来进行考虑。具体的融合处理过程可以分别参考同一个单词或汉字内部,相邻两个动画单元的动画帧融合处理过程以及相邻单词或汉字之间动画帧的融合处理过程。但是,在这种方式中,得到的融合处理后的动画帧和未融合处理的动画帧,与上述两个过程不同。
95.例如,针对上述举例,融合处理后的动画帧可以包含“ni”对应的动画单元(前一语料单元的两个动画单元)的后n2个动画帧,与“h”对应的动画单元(后一语料单元的第一个动画单元)的前m2个动画帧进行融合处理后,得到的第一过渡帧;还包含“ni”中“n”对应的动画单元(前一动画单元)的后n3个动画帧,与“i”对应的动画单元(后一动画单元)的前m3个动画帧进行融合处理后,得到的第二过渡帧;还包含“hao”中“h”对应的动画单元(前一动画单元)的后n4个动画帧,与“ao”对应的动画单元(后一动画单元)的前m4个动画帧进行融合处理后后,得到的第三过渡帧。
96.在基于多个动画帧中未融合处理的动画帧,和融合处理后的动画帧,生成口型动画的过程中,可以基于上述第一过渡帧、第二过渡帧、第三过渡帧,以及“n”、“i”、“h”和“ao”对应的所有动画帧中进行融合以外的未融合处理的动画帧,生成口型动画。
97.在一种实施方式中,在对动画帧进行融合时,还可以基于融合曲线信息进行融合,这里的融合曲线信息用于指示前后两个动画单元在进行动画帧融合时的比例系数。在具体实施中,可以设置n为所述n1时,m为所述m1;n为所述n2时,m为所述m2。
98.对后n个动画帧,与前m个动画帧进行融合处理时,可以按照以下步骤执行:首先,根据目标语速和预设的基准过渡时间,确定n和m的取值,以及融合曲线信息;融合曲线信息用于指示前后两个动画单元在进行动画帧融合时的比例系数。
99.这里,预设的基准过渡时间可以是预设的经验值,包括过渡帧对应的过渡起始时间和过渡终止时间。根据目标语速、预设的过渡起始时间和过渡终止时间,可以确定前后两个动画单元在进行动画帧融合时的比例系数,也就是融合曲线中的各个值。当目标语速较慢时,n和m的取值可以是较小的值,也就是进行融合的帧数较少,并且以实现按照较慢的速度进行过渡;当目标语速较快时,n和m的取值可以是较大的值,也就是进行融合的帧数较多,以实现按照较快的速度进行过度。
100.然后,根据n和m的取值,以及融合曲线信息,对相邻动画单元中前一动画单元的后n个动画帧,与后一动画单元的前m个动画帧进行融合处理。
101.在一种方式中,在生成结尾处的音素单元对应的口型动画时,可以根据结尾处的音素单元对应的语速,确定结尾处的音素单元对应的动画片段。一般情况下,结尾处的音素单元对应的语速较慢,即小于标准语速,且未闭嘴的口型动作,此时可以通过前述对动画单元进行增帧的方式,得到大于预设数量的口型动作的动画帧,从而实现延长结尾处的闭嘴时长。
102.本公开实施例还提供另一种口型动画生成方法,图2为另一种口型动画生成方法的流程示意图。
103.首先,可以获取语音或文本形式的目标语料内容,其中目标语料内容用于生成口型动画。目标语料内容可以是任意语言的语料内容,例如中文、英文、日语等。
104.然后,确定目标语料内容中包含的基本音素单位以及时间戳。
105.基础音素单位可以指对应有一个口型动作的最小发音单位。以中文的目标语料内容为例,基本音素单位可以包括“d”、“t”、“n”、“l”、“a”、“n”、“g”等。
106.然后,基于基本音素单位,得到在各个时间戳对应的音素单元。
107.这里,有些基础音素单位不能与其他基础音素单位组合,形成对应有一个口型动作的发音单元,即音素单元;有些基础音素单位可以与其他基础音素单位组合得到组合音素单位,得到的组合音素单位可以对应一个口型动作,组合音素单位即音素单元。这里可以对能够组合的基本音素单位进行组合处理,得到组合音素单位。并确定各个音素单元对应的时间戳。
108.另外,可以根据所有的基础音素单位(不仅限于目标语料内容中包含的基础音素单位),生成音素单元。然后针对每个音素单元,预先制作与每个音素单元的发音所对应的口型动作相匹配的动画单元。
109.接下来,根据各个音素单元,从预先制作的各个动画单元中,选取与各个音素单元匹配的动画单元。
110.这里,可以选取与各个时间戳对应的动画单元。
111.然后,根据语速以及选取的各个动画单元,确定用于生成口型动画的多个动画帧。
112.然后,针对同一个单词或汉字对应的相邻动画单元,对前一动画单元的后n1个动画帧,与后一动画单元的前m1个动画帧进行融合处理,生成融合处理后的动画帧;n1和m1为正整数。
113.之后,针对相邻的单词或汉字,对前一单词或汉字的至少一个动画单元的后n2个动画帧,与后一单词或汉字的至少一个动画单元的前m2个动画帧进行融合处理,生成融合处理后的动画帧;n2和m2为正整数。
114.然后,针对每个动画单元,根据语速,对动画单元进行抽帧处理或增帧处理,得到符合语速的动画帧。
115.最后,将多个动画帧按照所对应的动画单元的时间戳顺序进行整合,生成口型动画。
116.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
117.基于同一发明构思,本公开实施例中还提供了与口型动画生成方法对应的口型动画生成装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述口型动画生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
118.参照图3所示,为本公开实施例提供的一种口型动画生成装置的架构示意图,所述装置包括:第一获取模块301、选取模块302、第一确定模块303、生成模块304;其中,
119.第一获取模块301,用于获取待生成口型动画的目标语料内容;所述目标语料内容包括目标语音内容和/或目标文本内容;
120.选取模块302,用于根据所述目标语料内容对应的各个音素单元,从预先制作的各个动画单元中,选取与所述目标语料内容的各个音素单元匹配的各个动画单元;其中,每个音素单元对应一个口型动作;所述动画单元中包括预设数量的动画帧;
121.第一确定模块303,用于根据待生成的口型动画对应的目标语速,以及选取的各个动画单元,确定用于生成所述口型动画的多个动画帧;
122.生成模块304,用于基于确定的所述多个动画帧,生成所述口型动画。
123.一种可选的实施方式中,选取模块302,具体用于:
124.按照所述目标语速,确定所述目标语料内容在各个时间戳对应的音素单元;
125.根据所述目标语料内容在各个时间戳对应的音素单元,从预先制作的各个动画单元中,分别选取与各个时间戳对应的动画单元;
126.生成模块304,具体用于:
127.将所述多个动画帧按照所对应的动画单元的时间戳顺序进行整合,生成所述口型动画。
128.一种可选的实施方式中,第一确定模块303,具体用于:
129.针对选取的每个动画单元,若所述目标语速大于标准语速,根据所述目标语速,从所述动画单元中抽取部分动画帧,作为用于生成所述口型动画的动画帧;所述标准语速与所述动画单元中包含的动画帧的预设数量相匹配;
130.针对选取的每个动画单元,若所述目标语速小于所述标准语速,根据所述目标语速,对所述动画单元进行增帧,得到大于所述预设数量的动画帧,作为用于生成所述口型动画的动画帧。
131.一种可选的实施方式中,第一确定模块303,具体用于:
132.对所述动画单元的各个动画帧进行采样,得到新增动画帧;或者,
133.对所述动画单元中的相邻动画帧进行插值处理,得到位于所述相邻动画帧之间的新增动画帧。
134.一种可选的实施方式中,生成模块304,具体用于:
135.针对所述口型动画对应的相邻动画单元,对所述相邻动画单元中前一动画单元的后n1个动画帧,与后一动画单元的前m1个动画帧进行融合处理,生成融合处理后的动画帧;n1和m1为正整数;
136.基于所述多个动画帧中未融合处理的动画帧,和所述融合处理后的动画帧,生成所述口型动画。
137.一种可选的实施方式中,生成模块304,具体用于:
138.针对所述目标语料内容中的相邻语料单元,对所述相邻语料单元中前一语料单元的至少一个动画单元的后n2个动画帧,与后一语料单元的至少一个动画单元的前m2个动画帧进行融合处理,生成融合处理后的动画帧;所述语料单元包括单个字或者单词;n2和m2为正整数;
139.基于所述多个动画帧中未融合处理的动画帧,和所述融合处理后的动画帧,生成所述口型动画。
140.一种可选的实施方式中,设置n为所述n1时,m为所述m1;n为所述n2时,m为所述m2;
141.生成模块304,具体用于:
142.根据所述目标语速和预设的基准过渡时间,确定所述n和m的取值,以及融合曲线信息;所述融合曲线信息用于指示前后两个动画单元在进行动画帧融合时的比例系数;
143.根据所述n和m的取值,以及所述融合曲线信息,对所述相邻动画单元中前一动画
单元的后n个动画帧,与后一动画单元的前m个动画帧进行融合处理。
144.一种可选的实施方式中,所述装置还包括:
145.第二确定模块,用于确定各个基础音素单位之间的第一组合关系和第二组合关系;其中,具有第一组合关系的各个基础音素单位在组合后的发音所对应的口型动作,不同于所述各个基础音素单位各自的发音所对应的口型动作;具有第二组合关系的各个基础音素单位的发音所对应的口型动作相同;
146.第三确定模块,用于基于各个基础音素单位,以及所述第一组合关系和第二组合关系,确定所述音素单元;
147.制作模块,用于针对确定的各个所述音素单元,分别制作对应的动画单元。
148.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
149.基于同一技术构思,本公开实施例还提供了一种计算机设备。参照图4所示,为本公开实施例提供的计算机设备400的结构示意图,包括处理器401、存储器402、和总线403。其中,存储器402用于存储执行指令,包括内存4021和外部存储器4022;这里的内存4021也称内存储器,用于暂时存放处理器401中的运算数据,以及与硬盘等外部存储器4022交换的数据,处理器401通过内存4021与外部存储器4022进行数据交换,当计算机设备400运行时,处理器401与存储器402之间通过总线403通信,使得处理器401在执行以下指令:
150.获取待生成口型动画的目标语料内容;所述目标语料内容包括目标语音内容和/或目标文本内容;
151.根据所述目标语料内容对应的各个音素单元,从预先制作的各个动画单元中,选取与所述目标语料内容的各个音素单元匹配的各个动画单元;其中,每个音素单元对应一个口型动作;所述动画单元中包括预设数量的动画帧;
152.根据待生成的口型动画对应的目标语速,以及选取的各个动画单元,确定用于生成所述口型动画的多个动画帧;
153.基于确定的所述多个动画帧,生成所述口型动画。
154.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的口型动画生成方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
155.本公开实施例还提供一种计算机程序产品,该计算机产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的方法的步骤,具体可参见上述方法实施例,在此不再赘述。
156.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
157.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功
能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
158.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
159.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
160.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
161.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1