一种声音驱动的三维动画角色实时表情生成方法和系统与流程

文档序号:17745019发布日期:2019-05-24 20:34阅读:304来源:国知局
一种声音驱动的三维动画角色实时表情生成方法和系统与流程

本发明涉及计算机图形领域,尤其涉及一种声音驱动的三维动画角色实时表情生成方法和装置。



背景技术:

无论是电子游戏开发还是动画制作的过程,往往由于剧情的需要,某个动画角色的面部表情将以特写镜头的方式表现,以配合剧本台词。此时,不仅动画角色的面部表情变化将被放大以向观众表现人物内心的变化,而且人物的口型需要配合其所说的台词,以避免画面出现不协调。人物的面部表情和口型变化的组合,形成一系列细微而复杂的组合。这种组合的精细程度和准确性,将决定电子游戏和动画的角色表现能力和整体质量。

然而,目前角色动画的绘制方式依然在很大程度上依赖于人手操作。具体地,美术人员首先根据角色的原画,绘制指定面部表情的关键帧;然后,依据剧本上的台词对角色动画中人物的口型变化作微调,并通过手绘的方式相应地插入包含口型变化的面部表情过渡帧。这使得软件开发商或者外包设计公司花费较大的人力成本和时间来完成上述任务,同时还需要相应的人力成本和时间来检查台词和口型的变化是否匹配,是否出现音画不一致。然而,同一语音所对应的口型是固定的,而且口型变化的方式相对于其他面部肌肉的组合变化较为简单。这使得手绘过渡帧的工作事实上包含了大量的机械重复劳动。



技术实现要素:

本申请的目的是解决现有技术的不足,提供一种声音驱动的三维动画角色实时表情生成方法和系统,能够获得自动根据输入的台词语音,实时形成准确对应的三维角色表情动画的效果。

为了实现上述目的,本申请采用以下的技术方案。

首先,本申请提出一种声音驱动的三维动画角色实时表情生成方法。该方法适用于二维电子游戏和动画的制作,并包括以下步骤:

s100)导入动画角色表情库,其中所述动画角色表情库包括动画角色已经按照表情类型和语音类型分类完毕的多张面部表情动画;

s200)接收包含表情提示词的预设语音文件或实时语音,并提取预设语音文件或实时语音中的表情提示词;

s300)根据所提取的表情提示词,匹配动画角色表情库中对应的多张面部表情动画;

s400)实时获取台词语音,并根据面部表情动画所标识的语音类型生成与所述台词语音相对应的面部表情动画。

进一步地,在本申请的上述方法中,所述步骤s100还可以包括以下子步骤:

s101)根据所导入动画角色表情库中面部表情动画的表情类型,将动画角色表情库分类面部表情动画为多个第一表情子库;

s102)在每个第一表情子库中,基于面部表情动画中角色的语音类型,编制第一表情子库中各面部表情动画的索引。

进一步地,在本申请的上述方法中,所述步骤s200还可以包括以下子步骤:

s201)检查所提取的预设语音文件或实时语音中的第一语音特征是否与表情提示词的语音模板匹配,若不匹配则提出再次输入所述预设语音文件或实时语音直到;

s202)根据语音模板所标识的表情类型,确定包含在预设语音文件或实时语音中的表情提示词所指示的表情类型。

再进一步地,在本申请的上述方法中,所述步骤s400还可以包括以下子步骤:

s401)实时提取所输入台词语音的第二语音特征;

s402)根据所提取的第二语音特征,确定所输入台词语音的语音类型;

s403)基于所输入台词语音的语音类型和第一表情子库中的索引,查找对应的面部表情动画,以生成一系列的角色面部表情动画。

又进一步地,在本申请的上述方法中,表情提示词的语音模板是通过训练预先收集的语音生成的。

可替代地,在本申请的上述方法中,表情提示词的语音模板是通过动态更新所收集的语音训练而成的。

可替代地,在本申请的上述方法中,语音模板与其所标识的表情类型之间的对应关系是自定义的。

进一步地,在本申请的上述方法中,所述对应关系存储在本地。

其次,本申请还提出一种声音驱动的三维动画角色实时表情生成系统。该系统适用于二维电子游戏和动画的制作,并包括以下模块:导入模块,用于导入动画角色表情库,其中所述动画角色表情库包括动画角色已经按照表情类型和语音类型分类完毕的多张面部表情动画;接收模块,用于接收包含表情提示词的预设语音文件或实时语音,并提取预设语音文件或实时语音中的表情提示词;匹配模块,用于根据所提取的表情提示词,匹配动画角色表情库中对应的多张面部表情动画;生成模块,用于实时获取台词语音,并根据面部表情动画所标识的语音类型生成与所述台词语音相对应的面部表情动画。

进一步地,在本申请的上述系统中,所述导入模块还可以包括以下子模块:分类模块,用于根据所导入动画角色表情库中面部表情动画的表情类型,将动画角色表情库分类面部表情动画为多个第一表情子库;索引模块,用于在每个第一表情子库中,基于面部表情动画中角色的语音类型,编制第一表情子库中各面部表情动画的索引。

进一步地,在本申请的上述系统中,所述接收模块还可以包括以下子模块:检查模块,用于检查所提取的预设语音文件或实时语音中的第一语音特征是否与表情提示词的语音模板匹配,若不匹配则提出再次输入所述预设语音文件或实时语音直到;确定模块,用于根据语音模板所标识的表情类型,确定包含在预设语音文件或实时语音中的表情提示词所指示的表情类型。

再进一步地,在本申请的上述系统中,所述生成模块还可以包括以下子模块:提取模块实时提取所输入台词语音的第二语音特征;判断模块,用于根据所提取的第二语音特征,确定所输入台词语音的语音类型;执行模块,用于基于所输入台词语音的语音类型和第一表情子库中的索引,查找对应的面部表情动画,以生成一系列的角色面部表情动画。

又进一步地,在本申请的上述系统中,表情提示词的语音模板是通过训练预先收集的语音生成的。

可替代地,在本申请的上述系统中,表情提示词的语音模板是通过动态更新所收集的语音训练而成的。

可替代地,在本申请的上述系统中,语音模板与其所标识的表情类型之间的对应关系是自定义的。

进一步地,在本申请的上述系统中,所述对应关系存储在本地。

最后,本申请还提出一种计算机可读存储介质,其上存储有计算机指令,适用于二维电子游戏和动画的制作。上述指令被处理器执行时,执行如下步骤:

s100)导入动画角色表情库,其中所述动画角色表情库包括动画角色已经按照表情类型和语音类型分类完毕的多张面部表情动画;

s200)接收包含表情提示词的预设语音文件或实时语音,并提取预设语音文件或实时语音中的表情提示词;

s300)根据所提取的表情提示词,匹配动画角色表情库中对应的多张面部表情动画;

s400)实时获取台词语音,并根据面部表情动画所标识的语音类型生成与所述台词语音相对应的面部表情动画。

进一步地,在处理器执行上述指令时,所述步骤s100还可以包括以下子步骤:

s101)根据所导入动画角色表情库中面部表情动画的表情类型,将动画角色表情库分类面部表情动画为多个第一表情子库;

s102)在每个第一表情子库中,基于面部表情动画中角色的语音类型,编制第一表情子库中各面部表情动画的索引。

进一步地,在处理器执行上述指令时,所述步骤s200还可以包括以下子步骤:

s201)检查所提取的预设语音文件或实时语音中的第一语音特征是否与表情提示词的语音模板匹配,若不匹配则提出再次输入所述预设语音文件或实时语音直到;

s202)根据语音模板所标识的表情类型,确定包含在预设语音文件或实时语音中的表情提示词所指示的表情类型。

再进一步地,在处理器执行上述指令时,所述步骤s400还可以包括以下子步骤:

s401)实时提取所输入台词语音的第二语音特征;

s402)根据所提取的第二语音特征,确定所输入台词语音的语音类型;

s403)基于所输入台词语音的语音类型和第一表情子库中的索引,查找对应的面部表情动画,以生成一系列的角色面部表情动画。

又进一步地,在处理器执行上述指令时,表情提示词的语音模板是通过训练预先收集的语音生成的。

可替代地,在处理器执行上述指令时,表情提示词的语音模板是通过动态更新所收集的语音训练而成的。

可替代地,在处理器执行上述指令时,语音模板与其所标识的表情类型之间的对应关系是自定义的。

进一步地,在处理器执行上述指令时,所述对应关系存储在本地。

本申请的有益效果为:通过语音输入待制作三维动画角色面部表情的表情类型,并直接基于输入的台词语音匹配相应的面部动画表情,提高了面部表情动画的制作效率和准确度。

附图说明

图1所示为本申请所公开的声音驱动的三维动画角色实时表情生成方法的方法流程图;

图2所示为在本申请的一个实施例中,导入动画角色表情库的子步骤方法流程图;

图3所示为在本申请的一个实施例中,动画角色表情库的结构示意图;

图4所示为在本申请的一个实施例中,提取预设语音文件或实时语音中的表情提示词的子步骤方法流程图;

图5所示为在本申请的一个实施例中,匹配动画角色表情库中的面部表情动画的子方法流程图;

图6所示为在本申请的一个实施例中,自定义的语音模板与表情类型的对应关系的示意图;

图7所示为本申请所公开的声音驱动的三维动画角色实时表情生成系统的结构模块图。

具体实施方式

以下将结合实施例和附图对本申请的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本申请的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本申请中所使用的上、下、左、右等描述仅仅是相对于附图中本申请各组成部分的相互位置关系来说的。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。

应当理解,尽管在本申请中可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本申请范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”。

参照图1所示的方法流程图,本申请公开了一种声音驱动的三维动画角色实时表情生成方法,适用于二维电子游戏和动画的制作。该方法包括以下步骤:

s100)导入动画角色表情库,其中所述动画角色表情库包括动画角色已经按照表情类型和语音类型分类完毕的多张面部表情动画;

s200)接收包含表情提示词的预设语音文件或实时语音,并提取预设语音文件或实时语音中的表情提示词;

s300)根据所提取的表情提示词,匹配动画角色表情库中对应的多张面部表情动画;

s400)实时获取台词语音,并根据面部表情动画所标识的语音类型生成与所述台词语音相对应的面部表情动画。

其中,所述动画角色表情库可以是针对某个具体动画角色,基于动画的原画所绘制的各种表情的动画文件。具体地,在本申请的一个或多个实施例中,可以根据相关角色原画,在三维软件中制作三维角色的模型,并在二维软件中制作相关的贴图文件;然后,为三维角色制作骨骼并进行绑定,绘制权重文件,并制作相关的面部表情动画文件。这些面部表情动画文件在制作时已经按照表情类型和语音类型对上述三维角色的模型当前状态分类。其中表情类型指示其所表示的表情(例如“微笑”、“哭泣”和“困惑”等),而语音类型指示其所表示的口型(例如口型微张和抿嘴等)。为了制作连贯的动画表情,可以按照一定的次序排列这些模型的特定状态,并通过对模型参数进行内插,使得相邻状态可以自然过渡。

参照图2所示的子方法流程图,在本申请的一个或多个实施例中,为了加快查找指定表情动画,所述步骤s100还包括以下子步骤:

s101)根据所导入动画角色表情库中面部表情动画的表情类型,将动画角色表情库分类面部表情动画为多个第一表情子库;

s102)在每个第一表情子库中,基于面部表情动画中角色的语音类型,编制第一表情子库中各面部表情动画的索引。

具体地,参照图3所示的动画角色表情库的结构示意图,表情动画按照其所属的表情类别划分为多个第一表情子库(如图中所示的“微笑”、“愤怒”和“哀愁”等表情子数据库)。每个第一表情子库还维护一张表情-状态编号索引表,该索引表记录语音类型所对应的模型状态编号,使得可以通过所识别的语音类型,快速查找到相应的模型状态编号。此外,本领域技术人员应理解到,附图中的显示元件的数量和形状仅作为示例性的参考,不作为对本发明的限制。

参照图4所示的子方法流程图,在本申请的一个或多个实施例中,所述步骤s200还包括以下子步骤:

s201)检查所提取的预设语音文件或实时语音中的第一语音特征是否与表情提示词的语音模板匹配,若不匹配则提出再次输入所述预设语音文件或实时语音直到;

s202)根据语音模板所标识的表情类型,确定包含在预设语音文件或实时语音中的表情提示词所指示的表情类型。

其中,本申请中所指的第一语音特征和第二语音特征是指基于具体的语言,对所收集的语音按照具体语言的单词、音素和音调等所形成的特征参数。上述特征参数将与表情提示词的语音模板中多组已经标记特定表情含义的语音的特征参数相匹配,以确定所接收的预设语音文件或实时语音中包含的表情提示词。语音特征可通过本技术领域内的常规算法对接收的声音进行分析而形成,本申请对此不予限定。但是,当接收到的预设语音文件或实时语音与各个表情提示词的语音模板之间差异大于预设的阈值时,上述预设语音文件或实时语音被认为掺杂了过多的环境噪音,会对表情类型的判断产生严重的影响。因此,为了保证准确性,需要再次输入预设语音文件或实时语音。

参照图5所示子方法流程图,在本申请的一个或多个实施例中,所述步骤s400还包括以下子步骤:

s401)实时提取所输入台词语音的第二语音特征;

s402)根据所提取的第二语音特征,确定所输入台词语音的语音类型;

s403)基于所输入台词语音的语音类型和第一表情子库中的索引,查找对应的面部表情动画,以生成一系列的角色面部表情动画。

其中,台词语音的第二语音特征可以是先通过对输入的实时语音按照音节或音素进行划分,并根据各个音节或音素确定其各段语音的物理特征(例如时长、音高和音强等)。这些物理特征将被用于确定每段音节或音素所对应的语音类型。由于第一表情子库已经按照语音类型编排索引,因此可以快速地查找到该段音节或音素对应的模型状态编号。不断循环执行上述操作,即可将输入的台词语音自动转换为一系列的角色面部表情动画。

在本申请的一个或多个实施例中,表情提示词的语音模板是通过训练预先收集的语音生成的。上述训练语音的语音文本可以是语法上完整的句子,或者是一个或多个关键词。一名用户多次朗读上述语音文本,或者多名用户分别朗读上述语音文本,形成上述语音文本的多段输入语音。针对每一个表情提示词训练相对应的语音模板,其中语音模板可以是基于上述多段输入语音形成的。当语音模板被训练完毕后,在接收包含表情提示词的预设语音文件或实时语音时,上述预设语音文件或实时语音将与语音识别模板进行匹配,以确认其对应多个语音模板中的哪一个。预设语音文件或实时语音和语音模板的匹配可通过本领域内的常规算法实现,本申请对此不予限定。

再进一步地,参照图6所示的语音模板与表情类型的对应关系的示意图,在本申请的一个或多个实施例中,语音模板与其所标识的表情类型之间的对应关系是自定义的。因此,当人物角色的模型被修改后,只需要调整相应的对应关系,即可马上重编相应的三维动画角色表情。同时,这种对应关系可以进一步地存储在本地,使得可以更方便地维护保存在各个第一表情子库内的表情-状态编号索引表。

参照图7所示模块结构图,本申请还公开了一种声音驱动的三维动画角色实时表情生成系统,适用于二维电子游戏和动画的制作。该系统包括以下模块:导入模块,用于导入动画角色表情库,其中所述动画角色表情库包括动画角色已经按照表情类型和语音类型分类完毕的多张面部表情动画;接收模块,用于接收包含表情提示词的预设语音文件或实时语音,并提取预设语音文件或实时语音中的表情提示词;匹配模块,用于根据所提取的表情提示词,匹配动画角色表情库中对应的多张面部表情动画;生成模块,用于实时获取台词语音,并根据面部表情动画所标识的语音类型生成与所述台词语音相对应的面部表情动画。其中,所述动画角色表情库可以是针对某个具体动画角色,基于动画的原画所绘制的各种表情的动画文件。具体地,在本申请的一个或多个实施例中,可以根据相关角色原画,在三维软件中制作三维角色的模型,并在二维软件中制作相关的贴图文件;然后,为三维角色制作骨骼并进行绑定,绘制权重文件,并制作相关的面部表情动画文件。这些面部表情动画文件在制作时已经按照表情类型和语音类型对上述三维角色的模型当前状态分类。其中表情类型指示其所表示的表情(例如“微笑”、“哭泣”和“困惑”等),而语音类型指示其所表示的口型(例如口型微张和抿嘴等)。为了制作连贯的动画表情,可以按照一定的次序排列这些模型的特定状态,并通过对模型参数进行内插,使得相邻状态可以自然过渡。

在本申请的一个或多个实施例中,为了加快查找指定表情动画,所述导入模块还可以包括以下子模块:分类模块,用于根据所导入动画角色表情库中面部表情动画的表情类型,将动画角色表情库分类面部表情动画为多个第一表情子库;索引模块,用于在每个第一表情子库中,基于面部表情动画中角色的语音类型,编制第一表情子库中各面部表情动画的索引。具体地,参照图3所示的动画角色表情库的结构示意图,表情动画按照其所属的表情类别划分为多个第一表情子库(如图中所示的“微笑”、“愤怒”和“哀愁”等表情子数据库)。每个第一表情子库还维护一张表情-状态编号索引表,该索引表记录语音类型所对应的模型状态编号,使得可以通过所识别的语音类型,快速查找到相应的模型状态编号。此外,本领域技术人员应理解到,附图中的显示元件的数量和形状仅作为示例性的参考,不作为对本发明的限制。

在本申请的一个或多个实施例中,所述接收模块还可以包括以下子模块:检查模块,用于检查所提取的预设语音文件或实时语音中的第一语音特征是否与表情提示词的语音模板匹配,若不匹配则提出再次输入所述预设语音文件或实时语音直到;确定模块,用于根据语音模板所标识的表情类型,确定包含在预设语音文件或实时语音中的表情提示词所指示的表情类型。其中,第一语音特征和第二语音特征是指基于具体的语言,对所收集的语音按照具体语言的单词、音素和音调等所形成的特征参数。上述特征参数将与表情提示词的语音模板中多组已经标记特定表情含义的语音的特征参数相匹配,以确定所接收的预设语音文件或实时语音中包含的表情提示词。语音特征可通过本技术领域内的常规算法对接收的声音进行分析而形成,本申请对此不予限定。但是,当接收到的预设语音文件或实时语音与各个表情提示词的语音模板之间差异大于预设的阈值时,上述预设语音文件或实时语音被认为掺杂了过多的环境噪音,会对表情类型的判断产生严重的影响。因此,为了保证准确性,需要再次输入预设语音文件或实时语音。

在本申请的一个或多个实施例中,所述生成模块还可以包括以下子模块:提取模块实时提取所输入台词语音的第二语音特征;判断模块,用于根据所提取的第二语音特征,确定所输入台词语音的语音类型;执行模块,用于基于所输入台词语音的语音类型和第一表情子库中的索引,查找对应的面部表情动画,以生成一系列的角色面部表情动画。其中,台词语音的第二语音特征可以是先通过对输入的实时语音按照音节或音素进行划分,并根据各个音节或音素确定其各段语音的物理特征(例如时长、音高和音强等)。这些物理特征将被用于确定每段音节或音素所对应的语音类型。由于第一表情子库已经按照语音类型编排索引,因此可以快速地查找到该段音节或音素对应的模型状态编号。不断循环执行上述操作,即可将输入的台词语音自动转换为一系列的角色面部表情动画。

在本申请的一个或多个实施例中,表情提示词的语音模板是通过训练预先收集的语音生成的。上述训练语音的语音文本可以是语法上完整的句子,或者是一个或多个关键词。一名用户多次朗读上述语音文本,或者多名用户分别朗读上述语音文本,形成上述语音文本的多段输入语音。针对每一个表情提示词训练相对应的语音模板,其中语音模板可以是基于上述多段输入语音形成的。当语音模板被训练完毕后,在接收包含表情提示词的预设语音文件或实时语音时,上述预设语音文件或实时语音将与语音识别模板进行匹配,以确认其对应多个语音模板中的哪一个。预设语音文件或实时语音和语音模板的匹配可通过本领域内的常规算法实现,本申请对此不予限定。

再进一步地,参照图6所示的语音模板与表情类型的对应关系的示意图,在本申请的一个或多个实施例中,语音模板与其所标识的表情类型之间的对应关系是自定义的。因此,当人物角色的模型被修改后,只需要调整相应的对应关系,即可马上重编相应的三维动画角色表情。同时,这种对应关系可以进一步地存储在本地,使得可以更方便地维护保存在各个第一表情子库内的表情-状态编号索引表。

应当认识到,本申请的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。该方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。

进一步地,该方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本申请的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文该步骤的指令或程序时,本文所述的申请包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本申请所述的方法和技术编程时,本申请还包括计算机本身。

计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本申请优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。

其他变型在本申请的精神内。因此,尽管所公开的技术可容许各种修改和替代构造,但在附图中已示出并且在上文中详细描述所示的其某些实施例。然而,应当理解,并不意图将本申请局限于所公开的一种或多种具体形式;相反,其意图涵盖如所附权利要求书中所限定落在本申请的精神和范围内的所有修改、替代构造和等效物。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1