CN112750184A - 数据处理、动作驱动与人机交互方法及设备 - Google Patents

数据处理、动作驱动与人机交互方法及设备 Download PDF

Info

Publication number
CN112750184A
CN112750184A CN201911045674.2A CN201911045674A CN112750184A CN 112750184 A CN112750184 A CN 112750184A CN 201911045674 A CN201911045674 A CN 201911045674A CN 112750184 A CN112750184 A CN 112750184A
Authority
CN
China
Prior art keywords
audio
sequence segment
action
state information
candidate
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.)
Granted
Application number
CN201911045674.2A
Other languages
English (en)
Other versions
CN112750184B (zh
Inventor
庄博宇
林冠芠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201911045674.2A priority Critical patent/CN112750184B/zh
Publication of CN112750184A publication Critical patent/CN112750184A/zh
Application granted granted Critical
Publication of CN112750184B publication Critical patent/CN112750184B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/2053D [Three Dimensional] animation driven by audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/012Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请实施例提供一种数据处理、动作驱动与人机交互方法及设备。其中,方法包括如下的步骤:从第一音频序列中第一音频帧处,截取第一音频序列片段;根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段;根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息。本申请实施例提供的技术方案有效避免了复杂的训练样本标注工作,降低了动作生成成本;并且,能够在生成动作品质上具有一定的可控性,进而提高动作与音频的协同性。

Description

数据处理、动作驱动与人机交互方法及设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理、动作驱动与人机交互方法及设备。
背景技术
目前,以骨骼点为基础驱动二维或三维动画(例如:虚拟主播、动画电影中的动画人物、虚拟现实中的动画人物等)是主流的动画渲染技术。一般骨骼外层会包覆一层蒙皮,蒙皮即一般动画可视的动画外表,通过骨骼点驱动以及渲染技术,蒙皮可以作出各式各样的动作,不需要对不同动画逐帧进行绘制。
现有技术中,通常会通过训练一个机器学习模型来生成脸部骨骼点序列,然后再根据动作骨骼点序列来驱动动画的脸部动作。然而,这种方式依赖于大量的人工标注样本来训练该模型,成本高昂;并且透过学习的方式,生成的脸部骨骼点序列的品质也不固定,进而导致音频与动作不协同。
发明内容
鉴于上述问题,提出了本申请以提供一种解决上述问题或至少部分地解决上述问题的数据处理、动作驱动与人机交互方法及设备。
于是,在本申请的一个实施例中,提供了一种数据处理方法。该方法包括:
从第一音频序列中第一音频帧处,截取第一音频序列片段;
根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段;其中,所述第一数据集中包括多个储备音频序列;
根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息。
在本申请的另一实施例中,提供了一种动作驱动方法。该方法,包括:
从第一音频序列中第一音频帧处,截取第一音频序列片段;
根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段;其中,所述第一数据集中包括多个储备音频序列;
根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息;
发声对象在发出所述第一音频序列中所述第一音频帧时,按照所述第一动作状态信息驱动所述发声对象的动作。
在本申请的另一实施例中,提供了一种人机交互方法。该方法,包括:
接收用户的输入信息;
根据所述输入信息,生成反馈对象需反馈的第一音频序列;
从所述第一音频序列中第一音频帧处,截取第一音频序列片段;
根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段;其中,所述第一数据集中包括多个储备音频序列;
根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息;
所述反馈对象在发出所述第一音频序列中所述第一音频帧时,按照所述第一动作状态信息驱动所述反馈对象的反馈动作。
在本申请的一实施例中,提供了一种电子设备。该电子设备,包括:存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
从第一音频序列中第一音频帧处,截取第一音频序列片段;
根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段;其中,所述第一数据集中包括多个储备音频序列;
根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息。
在本申请的另一实施例中,提供了一种电子设备。该电子设备,包括:存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
从第一音频序列中第一音频帧处,截取第一音频序列片段;
根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段;其中,所述第一数据集中包括多个储备音频序列;
根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息;
发声对象在发出所述第一音频序列中所述第一音频帧时,按照所述第一动作状态信息驱动所述发声对象的动作。
在本申请的另一实施例中,提供了一种电子设备。该电子设备,包括:存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
接收用户的输入信息;
根据所述输入信息,生成反馈对象需反馈的第一音频序列;
从所述第一音频序列中第一音频帧处,截取第一音频序列片段;
根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段;其中,所述第一数据集中包括多个储备音频序列;
根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息;
所述反馈对象在发出所述第一音频序列中所述第一音频帧时,按照所述第一动作状态信息驱动所述反馈对象的反馈动作。
在本申请的又一个实施例中,提供了一种数据处理方法。该方法包括:
确定待展示图片;
获取与所述待展示图片关联的第一音频序列;
根据所述第一音频序列,获取所述图片中动画的与所述第一音频序列匹配的第一动作序列。
在本申请的又一个实施例中,提供了一种数据处理方法。该方法包括:
获取待匹配视频;
对所述待匹配视频进行特征提取,得到视频特征;
根据所述视频特征,从音频数据集中搜索得到与之匹配的匹配音频;
在所述待匹配视频中添加所述匹配音频,得到音视频文件。
采用本申请实施例提供的技术方案,能够自动为未知的音频序列生成相匹配的动作序列。与现有技术相比,本申请实施例提供的技术方案有效避免了复杂的训练样本标注工作,降低了动作生成成本;并且,针对待匹配音频序列中的每一音频帧,在第一数据集中查找与每一音频帧所在的音频序列片段相似的至少一个候选音频序列片段;通过与至少一个候选音频序列片段相匹配的至少一个候选动作序列片段来生成与待匹配音频序列中的每一音频帧匹配的动作状态信息,能够在生成动作品质上具有一定的可控性,进而提高了动作与音频的协同性。此外,采用本申请实施例提供的方法具有较强的场景迁移性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请一实施例提供的虚拟角色动作驱动方法的示意图;
图1b为本申请一实施例提供的数据处理方法的流程示意图;
图2为本申请另一实施例提供的动作驱动方法的流程示意图;
图3为本申请另一实施例提供的人机交互方法的流程示意图;
图4为本申请一实施例提供的数据处理装置的结构框图;
图5为本申请另一实施例提供的动作驱动装置的结构框图;
图6为本申请另一实施例提供的人机交互装置的结构框图;
图7为本申请另一实施例提供的电子设备的结构框图。
具体实施方式
现有技术中,骨骼点的驱动与音频信息的结合主要用于合成说话的虚拟人脸,例如:用在虚拟主播的人脸表情驱动。采集大量的人脸说话时的视频数据,对机器学习模型进行训练,进而通过训练好的模型进行任意语音的脸部骨骼动作驱动。
发明人在研究本申请实施例提供的技术方案的过程中发现:现有的这种方式需依赖于大量的人工标注样本来训练该模型,成本高昂;透过学习的方式,生成的动作骨骼点序列的品质也不固定,进而导致音频与动作不协同;并且其场景迁移性较差,例如:其无法在两种不同曲风之间进行迁移:通过抒情类歌曲及其匹配的动作训练得到的模型只能为抒情类歌曲生成合适的动作,而无法为摇滚类歌曲生成合适的动作。
为了解决上述技术问题,本申请实施例提出一种新的数据处理方法,即通过搜索已存在的相似音频片段、并根据已存在的与相似音频片段匹配的动作序列生成各音频帧对应的动作状态信息的方式,来为未知的音频序列生成动作序列。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
此外,在本申请的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图1b示出了本申请一实施例提供的数据处理方法的流程示意图。如图1b所示,该方法包括:
101、从第一音频序列中第一音频帧处,截取第一音频序列片段。
102、根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段。
其中,所述第一数据集中包括多个储备音频序列。
103、根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息。
上述101中,第一音频序列中包括按序排列的多个音频帧。在对动作连贯性以及协调性要求高的场景中,第一音频帧指代的可以是该第一音频序列中任一音频帧,即可采用本申请实施例提供的数据处理方法,分别为所述第一音频序列中每一个音频帧生成匹配的动作状态信息。在对动作连贯性以及协调性要求不高的场景中,第一音频帧指代的可以是该第一音频序列中任一关键音频帧,即可采用本申请实施例提供的数据处理方法,分别为所述第一音频序列中每一个关键音频帧生成匹配的动作状态信息。其中,第一音频序列中的关键音频帧可事先指定,本申请对此不做具体限定。例如:将第一音频序列中排序为偶数的音频帧作为关键音频帧;或者,将第一音频序列中排序为4的倍数的音频帧作为关键音频帧。
从第一音频序列中第一音频帧处,截取第一音频序列片段。其中,第一音频序列片段中包括至少一个音频帧,所述至少一个音频帧中包括第一音频帧。
具体地,第一音频序列片段中包括N个音频帧,N大于1。N的具体数值可根据实际需要来设定,本申请实施例对此不做具体限定。例如:N为20。基于第一音频序列中位于第一音频帧处的多个音频帧来搜索,可确保搜索得到的相似的至少一个候选音频序列片段的可靠性。
在一实例中,第一音频序列片段中包括第一音频帧和第一音频序列中与第一音频帧相邻且位于第一音频帧之前的N-1个音频帧。当第一音频序列中位于第一音频帧之前的音频帧不足N-1个时,第一音频帧序列片段中包括第一音频帧和第一音频序列中位于第一音频帧之前的所有音频帧。
在另一实例中,第一音频序列片段中包括:第一音频帧、第一音频序列中与第一音频帧相邻且位于第一音频帧之前的n个音频帧以及第一音频序列中与第一音频帧相邻且位于第一音频帧之后的N-n-1个音频帧。其中,n大于或等于1。n的具体数值也可根据实际需要来设定。当第一音频序列中位于第一音频帧之前的音频帧不足n个时,第一音频帧序列片段中包括第一音频帧、第一音频序列中位于第一音频帧之前的所有音频帧以及位于第一音频帧之后的N-n-1个音频帧。当第一音频序列中位于第一音频帧之后的音频帧不足N-n-1个时,第一音频帧序列片段中包括第一音频帧、第一音频序列中位于第一音频帧之前的n个音频帧以及位于第一音频帧之后的所有音频帧。
上述102中,可在事先建立的第一数据集中,搜索得到与第一音频序列片段相似的至少一个候选音频序列片段。
在一种可实现的方案中,上述102中“根据所述第一音频序列片段,搜索得到与之相似的至少一个候选音频序列片段”,具体为:
1021、对所述第一音频序列片段进行特征抽取,得到第一序列片段特征。
1022、根据所述第一序列片段特征,在所述第一数据集中查找与之相似的至少一个候选音频序列片段。
上述1021中,对第一音频序列片段进行音量、音高、音速等音频特征的抽取。具体的抽取步骤可采用现有技术来实现,在此不再详述。例如:采用FFT(快速傅里叶变换,fastFourier transform)、MFCC(梅尔倒谱系数特征,Mel Frequency Cepstrum Coefficient)等技术来抽取音频特征。
具体地,在特征抽取之前,可对第一音频序列片段进行平滑化处理去除过多的噪声,并对第一音频序列片段的信号强度进行归一化。
其中,第一序列片段特征中可包括:第一音频序列片段中每一个音频帧的音频特征。
在一实例中,上述1022中“根据所述第一序列片段特征,在第一数据集中查找与之相似的至少一个候选音频序列片段”,具体可采用如下方式实现:
S11、从第一数据集中获取第一储备音频序列。
其中,所述第一储备音频序列中包括M个音频帧。其中,第一储备音频序列为第一数据集中的任一个储备音频序列。
S12、确定所述第一音频序列片段中音频帧的数量N。
S13、对位于所述第一储备音频序列中排序第j的音频帧到排序第(j+N-1)的音频帧之间的储备音频序列片段进行特征提取,得到第二序列片段特征。
其中,j取【1,M-N+1】这一数值范围中的所有整数。
S14、计算第一序列片段特征与第二序列片段特征之间的相似度。
S15、根据相似度,从所述多个储备音频序列中各储备音频序列中确定出的所有储备音频序列片段中,确定出与第一音频序列片段相似的至少一个候选音频序列片段。
上述S13中,对储备音频序列片段进行特征提取的方法可参见上述实施例中相应内容,在此不再赘述。
上述S15中,在一种可实现的方案中,可根据相似度,对所有的储备音频序列片段进行排序,相似度越大,排序越靠前;将排序靠前的指定数目个储备音频序列片段作为上述至少一个候选音频序列片段。其中,指定数目可根据实际需要来设定,对此不做具体限定。在本实施例中,可确保至少一个候选音频序列片段的数量不会过多或多少。
在另一种可实现的方案中,可将所有的储备音频序列片段中相似度大于预设相似度值的至少一个储备音频序列片段作为上述至少一个候选音频序列片段。
上述103中,分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段是预先设置的,故可直接获取得到。所述至少一个候选动作序列片段中包括第一候选动作序列片段;所述至少一个候选音频序列片段中包括与所述第一候选动作序列片段匹配的第一候选音频序列片段。第一候选动作序列片段中包括按序排列的多个动作状态信息。第一候选音频序列片段中的音频帧与第一候选动作序列片段中的动作状态信息一一对应。其中,第一候选音频序列片段指代的是所述至少一个候选音频序列片段中的任一个。
具体地,第一数据集中还包括分别与所述多个储备音频序列匹配的多个储备动作序列。第一数据集中的储备音频序列以及与之匹配的储备动作序列可以是人工设计得到的或者采集得到的,本申请实施例对此不做具体限定。
可事先在第一数据集中,建立与储备音频序列匹配的储备动作序列与储备音频序列之间的对应关系。储备动作序列中包括按序排列的多个动作状态信息。与储备音频序列匹配的储备动作序列中的动作状态信息与储备音频序列中的音频帧一一对应。
上述方法,还包括:从所述第一数据集中,获取分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段。
具体地,从与第一候选音频序列片段所在的第二储备音频序列匹配的第二储备动作序列中,获取与第一候选音频序列片段相对应的第一储备动作序列片段,以作为与第一候选音频序列片段匹配的第一候选动作序列片段。从第二储备动作序列中获取与第一候选音频序列片段相对应的第一储备动作序列片段,也即是从第二储备动作序列中获取与第一候选音频序列片段中每一个音频帧对应的动作状态信息。第一储备动作序列片段由第二储备动作序列中与第一候选音频序列片段中每一个音频帧对应的动作状态信息,按照第一候选音频序列片段中音频帧的排序排列组成。
举例来说:候选音频序列片段A位于储备音频序列B中排序第1的音频帧与排序第20的音频帧之间,则与候选音频序列片段A匹配的候选动作序列片段C位于与储备音频序列B匹配的储备动作序列D中排序第1的动作状态信息与排序第20的动作状态信息之间。需要补充的是,候选音频序列片段A中包括储备音频序列B中排序第1的音频帧和排序第20的音频帧。候选动作序列片段C中包括储备动作序列D中排序第1的动作状态信息和排序第20的动作状态信息。
根据至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息。所述第一动作状态信息可包括表情状态信息、肢体状态信息、口型状态信息中的一种或多种。其中,第一动作状态信息具体可以为骨骼状态信息(也即骨骼关节点状态信息),骨骼状态信息中包括各个骨骼关节点的空间坐标信息。例如:第一动作状态信息为用于表示表情状态信息的骨骼状态信息;再例如:第一动作状态信息为用于表示肢体状态信息的骨骼状态信息;又例如:第一动作状态信息为用于表示口型状态信息的骨骼状态信息。
需要补充的是,上述数据处理方法可应用于驱动发声对象(例如:驱动虚拟角色、机器人)的动作,具体实现将在下述各实施例中介绍。
采用本申请实施例提供的技术方案,能够自动为未知的音频序列生成相匹配的动作序列。与现有技术相比,本申请实施例提供的技术方案有效避免了复杂的训练样本标注工作,降低了动作生成成本;并且,针对待匹配音频序列中的每一音频帧,在第一数据集中查找与每一音频帧所在的音频序列片段相似的至少一个候选音频序列片段;通过与至少一个候选音频序列片段相匹配的至少一个候选动作序列片段来生成与待匹配音频序列中的每一音频帧匹配的动作状态信息,能够在生成动作品质上具有一定的可控性,进而提高了动作与音频的协同性。
需要补充的是,本申请实施例提供的方法不局限于面部动作,还适用于肢体动作等,适用性强。
此外,本申请实施例提供的方法具有较好的场景迁移性。以歌曲为例,歌曲分抒情类和摇滚类。从整体上来看,抒情类歌曲对应的表情或肢体动作与摇滚类歌曲对应的表情或肢体动作是完全不同的风格。抒情风格对应的动作整体上节奏比较慢、音量比较低;摇滚风格对应的动作整体上节奏比较快、音量比较高。但是,一首抒情类歌曲中也存在高潮部分,其高潮部分节奏也比较快,且音量也比较高。按照本申请实施例提供的方法,通过音频匹配,能够结合抒情类歌曲中高潮部分对应的动作来生成摇滚风格对应的动作,生成动作风格能够很好地与摇滚类歌曲相适应。可见,按照本申请实施例提供的方法能够基于已有的抒情风格对应的动作来生成摇滚风格对应的动作,场景迁移性强。
举例来说:如图1a所示,输入摇滚歌曲A,资料库(该资料库中包括上述的第一数据集)中仅包括抒情歌曲以及与其匹配的肢体动作序列。假设用户在终端歌曲选择界面选中摇滚歌曲A;则采用本申请实施例提供的数据处理方法以及该第一数据集,可生成与该摇滚歌曲A匹配的肢体动作序列B。这样,终端界面上可模拟虚拟角色演唱摇滚歌曲A,并按照肢体动作序列B同步驱动虚拟角色的肢体动作,使得音频与动作相互协同。
在实际应用时,可先确定出第一音频帧在第一音频序列片段中的排序;候选音频序列片段与第一音频序列片段在整体上相似,可认为与候选音频序列片段匹配的候选动作序列片段中所述排序处的第三动作状态信息与第一音频帧最匹配,将其作为确定出与第一音频帧匹配的第一动作状态信息的基础,可靠性较强。
具体地,上述103中“根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息”,具体可以为:
1031、获取所述第一音频帧在所述第一音频序列片段中的排序。
1032、综合各所述候选动作序列片段中所述排序处的第三动作状态信息,确定第一动作状态信息。
上述1031中,当第一音频序列片段中包括第一音频帧和第一音频序列中与第一音频帧相邻且位于第一音频帧之前的N-1个音频帧时,第一音频帧在所述第一音频序列片段中的排序为第N。当第一音频序列片段中包括:第一音频帧、第一音频序列中与第一音频帧相邻且位于第一音频帧之前的n个音频帧以及第一音频序列中与第一音频帧相邻且位于第一音频帧之后的N-n-1个音频帧时,第一音频帧在第一音频序列片段中的排序为第n+1。当第一音频序列片段中包括:第一音频帧和第一音频序列中与第一音频帧相邻且位于第一音频帧之后的N-1个音频帧时,第一音频帧在第一音频序列片段中的排序为第1。
在一种可实现的方案中,上述1032中“综合各所述候选动作序列片段中所述排序处的第三动作状态信息,确定第一动作状态信息”,具体地:可计算至少一个候选动作序列片段中各候选动作序列片段中所述排序处的第三动作状态信息的平均动作状态信息,以作为第一动作状态信息。
本申请中的动作状态信息具体可以为张量形式,即第三动作状态信息为第三动作状态张量;可将至少一个候选动作序列片段中各候选动作序列片段中所述排序处的第三动作状态张量进行相加,得到总动作状态张量;将总动作状态张量除以至少一个候选动作序列片段的数量,以得到平均动作状态张量,也即平均动作状态信息。
在另一种可实现的方案中,上述1032中“综合各所述候选动作序列片段中所述排序处的第三动作状态信息,确定第一动作状态信息”,具体地可采用如下步骤来实现:
S21、获取与所述第一音频序列中第二音频帧匹配的第二动作状态信息。
其中,所述第一音频序列中所述第二音频帧位于所述第一音频帧之前。
S22、根据各所述候选动作序列片段中所述排序处的第三动作状态信息与所述第二动作状态信息之间的第二状态差异、以及各所述候选动作序列片段对应的权重,预估待确定的所述第一动作状态信息与所述第二动作状态信息之间的第一状态差异。
S23、根据所述第二动作状态信息以及所述第一状态差异,确定所述第一动作状态信息。
上述S21中,在对动作连贯性以及协调性要求高的场景中,第二音频帧可以为第一音频帧的前一音频帧;在对动作连贯性以及协调性要求低的场景中,第二音频帧可以为第一音频帧之前的第一个关键音频帧。
第二音频帧为第一音频序列中排序第一的音频帧时,可获取初始动作状态信息,以作为与第二音频帧匹配的第二动作状态信息。初始动作状态信息可以为预先设置的,也可以是根据发声对象在发出第一音频序列之前的动作状态来确定。
第二音频帧不是第一音频序列中排序第一的音频帧时,与第二音频帧匹配的第二动作状态信息,也可采用本申请实施例提供的方式来生成。
上述S22中,在一实例中,动作状态信息均为张量形式;即第三动作状态信息为第三动作状态张量,第二动作状态信息为第二动作状态张量;可直接将第三动作状态张量减去第二动作状态张量得到的差值动作状态张量,以作为所述第三动作状态信息与所述第二动作状态信息之间的第二状态差异。
在另一实例中,可对所述第三动作状态信息进行特征抽取,得到第一特征;对所述第二动作状态信息进行特征抽取,得到第二特征;将所述第一特征减去所述第二特征,得到差值特征,以作为所述第三动作状态信息与所述第二动作状态信息之间的第二状态差异。本申请中所有特征具体也可为张量形式。
其中,对动作状态信息进行特征抽取主要抽取的是骨骼点在三维空间的特征值,具体实施时,可采用现有技术中的特征值降维方法来实现,如:PCA(主成分分析法,Principal Component Analysis)、t-SNE(t-分布领域嵌入算法,t-distributedstochastic neighbor embedding)。
在实际应用中,不同候选动作序列片段对应的权重不同。根据各所述候选动作序列片段中所述排序处的第三动作状态信息与所述第二动作状态信息之间的第二状态差异、以及各所述候选动作序列片段对应的权重,通过加权平均得到第一状态差异。
举例来说:至少一个候选动作序列片段中包括候选动作序列片段A和B;候选动作序列片段A和B各自对应的权重分别为λ和β;候选动作序列片段A中第三动作状态信息与第二动作状态信息之间的第二状态差异为差值特征a;候选动作序列片段B中第三动作状态信息与第二动作状态信息之间的第二状态差异为差值特征b;第一状态差异v为:v=(λ*a+β*b)/(a+b)。
可采用如下方式中的一种或多种来计算第一候选动作序列片段对应的权重,其中,第一候选动作序列片段可以为上述至少一个候选动作序列片段中的任一个。
方式一:根据与第一候选动作序列片段匹配的第一候选音频序列片段与第一音频序列片段之间的相似度,确定第一候选动作序列片段对应的权重。相似度越大,权重越大。
具体地,可将上述相似度直接作为第一候选动作序列片段对应的权重。
其中,第一候选音频序列片段与第一音频序列片段之间的相似度的计算方法具体可参见现有技术中相应内容,在此不再赘述。例如:可计算两者各自对应的序列片段特征之间的距离,根据距离来确定相似度。
方式二:获取所述第一候选动作序列片段中与所述第三动作状态信息相邻且位于所述第三动作状态信息之前的至少一个第四动作状态信息、以及分别与所述第一音频序列片段中至少一个第三音频帧匹配的至少一个第五动作状态信息;其中,所述第一音频序列片段中所述至少一个第三音频帧与所述第一音频帧相邻且位于所述第一音频帧之前;根据所述至少一个第四运动状态信息与所述至少一个第五运动状态信息之间的第一相似度,确定所述第一候选动作序列片段对应的权重。
其中,至少一个第四动作状态信息的数量可以为一个或多个。在一实例中,可事先设置数量阈值t,t大于1,t的具体数值可根据实际需要来设定,t小于上述N,例如:t为5。第一候选动作序列片段中位于第三动作状态信息之前的动作状态信息的数量小于或等于t时,至少一个第四动作状态信息包括第一候选动作序列片段中位于第三动作状态信息之前的所有动作状态信息。第一候选动作序列片段中位于第三动作状态信息之前的动作状态信息的数量大于t时,至少一个第四动作状态信息包括第一候选动作序列片段中与所述第三动作状态信息相邻且位于第三动作状态信息之前的t个动作状态信息。
其中,至少一个第三音频帧的数量与至少一个第四动作状态信息的数量相同。
其中,第一相似度越大,权重越大。具体地,可将上述第一相似度直接作为第一候选动作序列片段对应的权重。其中,第一相似度的计算方法具体可参见现有技术,在此不再详述。例如:可计算所述至少一个第四运动状态信息对应的序列片段特征与所述至少一个第五运动状态信息对应的序列片段特征之间的相似度。
方式三:所述至少一个候选音频序列片段中包括与所述第一候选动作序列片段匹配的第一候选音频序列片段。获取所述第一候选音频序列片段中位于所述排序处的第四音频帧之前且与所述第四音频帧相邻的至少一个第五音频帧;获取所述第一音频序列片段中上述至少一个第三音频帧;计算所述至少一个第五音频帧与所述至少一个第三音频帧之间的第二相似度;根据第二相似度,确定所述第一候选动作序列片段对应的权重。
其中,至少一个第五音频帧的数量可以为一个或多个。在一实例中,可事先设置数量阈值t,t大于1,t的具体数值可根据实际需要来设定,t小于上述N,例如:t为5。第一候选音频序列片段中位于第四音频帧之前的音频帧的数量小于或等于t时,至少一个第五音频帧包括第一候选音频序列片段中位于第四音频帧之前的所有音频帧。第一候选音频序列片段中位于第四音频帧之前的音频帧的数量大于t时,至少一个第五音频帧包括第一候选音频序列片段中与所述第四音频帧相邻且位于第四音频帧之前的t个音频帧。
至少一个第三音频帧的数量与至少一个第五音频帧的数量相同。其中,第二相似度越大,权重越大。具体地,可将上述第二相似度直接作为第一候选动作序列片段对应的权重。
其中,第二相似度的计算方法具体可参见现有技术,在此不再详述。例如:可计算所述至少一个第五音频帧对应的序列片段特征与所述至少一个第三音频帧对应的序列片段特征之间的相似度。
方式一中比较的是片段整体相似度,而方式二和三中比较的是片段中上述排序处的部分片段的相似度,相比之下,比对的粒度较细,更能表示将第三动作状态信息作为基础的可靠性。
方式四中,可综合方式二中的第一相似度和方式三中的第二相似度,确定所述第一候选动作序列片段对应的权重。
具体地,可根据第一相似度与第二相似度的乘积,来确定第一候选动作序列片段对应的权重。具体地,可将上述乘积作为第一候选动作序列片段对应的权重。
在方式四中,综合考虑了音频相似和动作相似这两个维度,可提高生成得到的动作与音频的协同性。
上述S23中,当第一状态差异为上述差值动作状态时,则将差值动作状态叠加在第二动作状态上,得到第一动作状态信息。
当第一状态差异为上述差值特征时,上述S23中“根据所述第二动作状态信息以及所述第一状态差异,确定所述第一动作状态信息”,具体可采用如下步骤来实现:将所述第一状态差异叠加在所述第二特征上,得到第三特征;对所述第三特征进行特征还原,得到所述第一动作状态信息。其中,特征还原的具体实现可参见现有技术中相应内容,在此不再详述。
通过加权融合的方式能够保证生成出来的动作既符合音频的动作表现,还不会出现过度不合理的动作。
进一步的,上述方法,还可包括:
104、确定当前所述第一音频序列中未进行动作状态匹配的至少一个未匹配音频帧。
105、从所述至少一个未匹配音频帧中,确定出所述第一音频帧。
在实际应用时,可对进行过动作状态匹配的音频帧进行标记。未标记的音频帧则为未匹配音频帧。
上述105中,可将至少一个未匹配音频帧中在第一音频序列中排序最靠前的音频帧确定为第一音频帧。或者将至少一个未匹配音频帧中在第一音频序列中排序最靠前的关键音频帧确定为第一音频帧。
通过这种方式可确保为第一音频序列中每一个音频帧或每一个关键音频帧进行动作匹配。
在一实际应用场景中,上述数据处理方法可应用到智能终端上,由智能终端在本地为第一音频序列中的每一音频帧匹配相应的动作状态信息,从而为第一音频序列匹配上相应的动作序列。当然,上述数据处理方法也可应用到服务端,由智能终端请求服务端为第一音频序列中的每一音频帧匹配相应的动作状态信息,从而为第一音频序列匹配上相应的动作序列。
目前,以骨骼点为基础,驱动二维或三维动画是目前主流的动画渲染技术。一般骨骼外层会包覆一层动画蒙皮,动画蒙皮即为一般动画可视的动画外表。通过骨骼点驱动以及渲染技术,动画蒙皮可以作出各式各样的动作,例如肢体动作、口型动作。上述动作序列具体为骨骼点动作序列。
在模拟动画唱歌的场景中,上述第一音频序列可以为歌曲,与第一音频序列匹配的动作序列为嘴部骨骼动作序列,这样在播放歌曲的同时,可根据嘴部骨骼动作序列同步驱动动画的口型,模拟动画唱歌。
在实际应用中,可为用户提供多种推荐歌曲,供用户选择。在用户选中歌曲后,还可针对该选中歌曲为用户提供多种动画蒙皮,供用户选择;按照上述数据处理方法,获取该选中歌曲对应的骨骼动作序列;通过渲染技术,根据该骨骼点动作序列驱动用户选中动画蒙皮的动作。
例如:用户在制作表情包时,为了让表情包中的动画能够模拟出说某句话时的表情或动作时,用户可利用上述数据处理方法,为该句话的语音序列匹配上相应的骨骼动作序列;用户还可从提供的多种动画蒙皮中选择一种。在录制界面,根据该骨骼动作序列驱动用户选中的动画蒙皮的表情或动作;根据录制界面录制到的视频或多张图片制作相应表情包。
若上述动画蒙皮是收费项目,则在用户选中之后,用户需完成支付才可使用选中动画蒙皮。需要补充说明的是,推荐收费的动画蒙皮,就相当于广告投放。
当然,为了满足用户的个性化需求,可为用户设置一个动画蒙皮推荐开关按钮,当该开关按钮处于开启状态时,在用户选中歌曲后,可自动针对该选中歌曲为用户提供多种动画蒙皮;当该开关按钮处于关闭状态时,在用户选中歌曲后,为用户提供默认动画蒙皮。
多个推荐歌曲可按照热度或用户喜好程度排序,多种动画蒙皮也可按照热度或价格进行排序。
需要说明的是,本申请实施例提供的数据处理方法还可应用于虚拟现实设备中,用于根据音频来驱动虚拟现实设备中的动画的动作。具体地,可将获取到的与第一音频序列匹配的骨骼动作序列的格式转换为虚拟现实设备可识别的格式,以便虚拟现实设备在播放第一音频序列时,根据其可识别格式的骨骼动作序列来同步驱动动画的动作。
在为第一音频帧序列完成动作序列匹配后,使用时,可在同一个设备上,播放第一音频序列以及根据与第一音频序列匹配的动作序列驱动动画的动作;当然,还可在两个设备上,分别同步执行上述第一音频序列的播放操作以及根据与第一音频序列匹配的动作序列驱动动画的动作的步骤。
此外,还可根据已有的第一音频,在视频库中进行匹配,得到与该第一音频匹配的第一视频。具体地,可提取第一音频的音频特征,提取视频库中每一个备选视频的视频特征,计算第一音频的音频特征与视频库中每一个备选视频的视频特征之间的相似度,将相似度最大的备选视频作为第一视频。
在另一实例中,本申请实施例还提供了一种数据处理方法。该方法包括:
3301、确定待展示图片。
3302、获取与所述待展示图片关联的第一音频序列。
3303、根据所述第一音频序列,获取所述图片中动画的与所述第一音频序列匹配的第一动作序列。
上述3301中,该待展示图片中的动画可以为一个或多个。
上述3302中,可事先建立图片与音频序列之间的关联关系,这样,后续即可获取到与待展示图片关联的第一音频序列。
在一实例中,上述3303中,可对第一音频序列进行特征提取得到音频特征;根据音频特征在动作序列数据集中搜索与之匹配的第一动作序列。
在另一实例中,所述第一动作序列中包括按序排列的与所述第一音频序列中各音频帧匹配的第一动作状态信息;所述第一音频序列中包括第一音频帧。上述3302中,具体可从所述第一音频序列中所述第一音频帧处,截取第一音频序列片段;根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段;其中,所述第一数据集中包括多个储备音频序列;根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息。本实施例中步骤的具体实现方式及有益效果可参见上述各实施例中相应内容,在此不再赘述。
在本实施例中,可为图片中的动画匹配上相应的动作序列,在播放相关联的音频时,可基于该动作序列同步驱动图片中的动画动作,有利于增加图片展示的趣味性。
在又一实例中,本申请实施例还提供了一种数据处理方法。该方法包括:
4301、获取待匹配视频。
4302、对所述待匹配视频进行特征提取,得到视频特征。
4303、根据所述视频特征,从音频数据集中搜索得到与之匹配的匹配音频。
4304、在所述待匹配视频中添加所述匹配音频,得到音视频文件。
上述待匹配视频可以为哑剧。为了增加哑剧的观赏效果,可采用上述方式为哑剧添加配乐。
在本实施例中,通过为视频添加相匹配的音频,有利于提高视频的观赏效果。
上述数据处理方法可应用于驱动发声对象的动作,例如:表情动作、口型动作或肢体动作等。图2示出了本申请实施例提供的一种动作驱动方法的流程示意图。该方法包括:
201、从第一音频序列中第一音频帧处,截取第一音频序列片段。
202、根据所述第一音频序列片段,搜索得到与之相似的至少一个候选音频序列片段。
203、根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息。
204、发声对象在发出所述第一音频序列中所述第一音频帧时,按照所述第一动作状态信息驱动所述发声对象的动作。
上述步骤201至203的具体实现可参见上述各实施例中相应内容,在此不再赘述。
目前,大部分的动作驱动是基于骨骼驱动的,故上述步骤204中,第一动作状态信息可包括骨骼状态信息(也即骨骼关节点信息)。按照第一动作状态信息中骨骼状态信息,驱动所述发声对象的相应骨骼运动,也即是按照第一动作状态信息中骨骼关节点信息,驱动发声对象的相应骨骼关节点运动。
其中,发声对象可以为机器人或虚拟角色。其中,虚拟角色具体可以为动画电影中的动画角色;还可以为虚拟现实或增强现实中的虚拟角色;还可以为虚拟主播。
其中,第一音频序列为发声对象需发出的语音。
采用本申请实施例提供的技术方案,能够自动为未知的音频序列生成相匹配的动作序列。与现有技术相比,本申请实施例提供的技术方案有效避免了复杂的训练样本标注工作,降低了动作生成成本;并且,针对待匹配音频序列中的每一音频帧,在第一数据集中查找与每一音频帧所在的音频序列片段相似的至少一个候选音频序列片段;通过与至少一个候选音频序列片段相匹配的至少一个候选动作序列片段来生成与待匹配音频序列中的每一音频帧匹配的动作状态信息,能够在生成动作品质上具有一定的可控性,进而提高了动作与音频的协同性。
这里需要说明的是:本申请实施例提供的所述方法中各步骤未尽详述的内容可参见上述实施例中的相应内容,此处不再赘述。此外,本申请实施例提供的所述方法中除了上述各步骤以外,还可包括上述各实施例中其他部分或全部步骤,具体可参见上述各实施例相应内容,在此不再赘述。
上述各实施例提供的数据处理方法还可应用在人机交互领域,例如:智能音箱、机器人等领域。图3示出了本申请实施例提供的人机交互方法的流程示意图。如图3所示,该方法包括:
301、接收用户的输入信息。
302、根据所述输入信息,生成反馈对象需反馈的第一音频序列。
303、从第一音频序列中第一音频帧处,截取第一音频序列片段。
304、根据所述第一音频序列片段,搜索得到与之相似的至少一个候选音频序列片段。
305、根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息。
306、所述反馈对象在发出所述第一音频序列中所述第一音频帧时,按照所述第一动作状态信息驱动所述反馈对象的反馈动作。
上述301中,用户的输入信息可以为用户输入的语音信息、用户输入的文字信息等。
以用户与智能音箱上的虚拟角色之间的交互为例,智能音箱开启之后,用户可向智能音箱说话,也即是输入语音信息。
上述302中,反馈对象可以为虚拟角色或机器人。可对所述输入信息进行语义识别,根据语义识别结果,生成反馈对象需反馈的第一音频序列。语义识别的具体实现可参见现有技术,在此不再赘述。
上述303、304、305的具体实现可参见上述各实施例中相应内容,在此不再赘述。
上述306中,所述反馈对象在发出所述第一音频序列中所述第一音频帧时,按照所述第一动作状态信息驱动所述反馈对象的反馈动作。
目前,大部分的动作驱动是基于骨骼驱动的,故上述步骤306中,第一动作状态信息可包括骨骼状态信息(也即骨骼关节点信息)。按照第一动作状态信息中骨骼状态信息,驱动所述反馈对象的相应骨骼运动,也即是按照第一动作状态信息中骨骼关节点信息,驱动反馈对象的相应骨骼关节点运动。
采用本申请实施例提供的技术方案,能够自动为未知的音频序列生成相匹配的动作序列。与现有技术相比,本申请实施例提供的技术方案有效避免了复杂的训练样本标注工作,降低了动作生成成本;并且,针对待匹配音频序列中的每一音频帧,在第一数据集中查找与每一音频帧所在的音频序列片段相似的至少一个候选音频序列片段;通过与至少一个候选音频序列片段相匹配的至少一个候选动作序列片段来生成与待匹配音频序列中的每一音频帧匹配的动作状态信息,能够在生成动作品质上具有一定的可控性,进而提高了动作与音频的协同性。
这里需要说明的是:本申请实施例提供的所述方法中各步骤未尽详述的内容可参见上述实施例中的相应内容,此处不再赘述。此外,本申请实施例提供的所述方法中除了上述各步骤以外,还可包括上述各实施例中其他部分或全部步骤,具体可参见上述各实施例相应内容,在此不再赘述。
综上所述,本申请实施例需要事先准备好一个包含有多个相互匹配的音频序列与动作序列对的第一数据集,但是该第一数据集并不是用来进行模型学习的,而是通过搜索第一数据集中相似片段来生成相应的动作状态信息。通过准备好的第一数据集来生成动作状态信息,无论在品质上还是在协同上具有一定的可控性。本申请实施例通过搜索第一数据集,可为任一未知音频生成与第一数据集相同品质的动作序列。
此外,本申请实施例提供的技术方案具有较强的场景迁移性,适应性强。并且基于已有的第一数据集,能够在不进行真实环境下的动作捕捉生成合理的动作序列,可大量节约了人力成本。
图4示出了本申请又一实施例提供的数据处理装置的结构框图。如图4所示,该装置,包括:第一截取模块401、第一搜索模块402和第一生成模块403。其中,
第一截取模块401,用于从第一音频序列中第一音频帧处,截取第一音频序列片段。
第一搜索模块402,用于根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段;其中,所述第一数据集中包括多个储备音频序列。
第一生成模块403,用于根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息。
采用本申请实施例提供的技术方案,能够自动为未知的音频序列生成相匹配的动作序列。与现有技术相比,本申请实施例提供的技术方案有效避免了复杂的训练样本标注工作,降低了动作生成成本;并且,针对待匹配音频序列中的每一音频帧,在第一数据集中查找与每一音频帧所在的音频序列片段相似的至少一个候选音频序列片段;通过与至少一个候选音频序列片段相匹配的至少一个候选动作序列片段来生成与待匹配音频序列中的每一音频帧匹配的动作状态信息,能够在生成动作品质上具有一定的可控性,进而提高了动作与音频的协同性。
进一步的,第一生成模块403,具体用于:
获取所述第一音频帧在所述第一音频序列片段中的排序;
综合各所述候选动作序列片段中所述排序处的第三动作状态信息,确定所述第一动作状态信息。
进一步的,第一生成模块403,具体用于:
获取与所述第一音频序列中第二音频帧匹配的第二动作状态信息;其中,所述第一音频序列中所述第二音频帧位于所述第一音频帧之前;
根据各所述候选动作序列片段中所述排序处的第三动作状态信息与所述第二动作状态信息之间的第二状态差异、以及各所述候选动作序列片段对应的权重,预估待确定的所述第一动作状态信息与所述第二动作状态信息之间的第一状态差异;
根据所述第二动作状态信息以及所述第一状态差异,确定所述第一动作状态信息。
进一步的,所述至少一个候选动作序列片段中包括第一候选动作序列片段;上述装置,还包括:
第一获取模块,用于:获取所述第一候选动作序列片段中与所述第三动作状态信息相邻且位于所述第三动作状态信息之前的至少一个第四动作状态信息、以及分别与所述第一音频序列片段中至少一个第三音频帧匹配的至少一个第五动作状态信息;其中,所述第一音频序列片段中所述至少一个第三音频帧与所述第一音频帧相邻且位于所述第一音频帧之前;
第一确定模块,用于根据所述至少一个第四运动状态信息与所述至少一个第五运动状态信息之间的第一相似度,确定所述第一候选动作序列片段对应的权重。
进一步的,所述至少一个候选音频序列片段中包括与所述第一候选动作序列片段匹配的第一候选音频序列片段;
上述装置,还包括:
第二获取模块,用于获取所述第一候选音频序列片段中位于所述排序处的第四音频帧之前且与所述第四音频帧相邻的至少一个第五音频帧;还用于获取所述第一音频序列片段中所述至少一个第三音频帧;
第一计算模块,用于计算所述至少一个第五音频帧与所述至少一个第三音频帧之间的第二相似度;
第一确定模块,具体用于:综合所述第一相似度和所述第二相似度,确定所述第一候选动作序列片段对应的权重。
进一步的,上述装置,还可包括:
第一特征抽取模块,用于对所述第三动作状态信息进行特征抽取,得到第一特征;还用于对所述第二动作状态信息进行特征抽取,得到第二特征;
第二计算模块,用于将所述第一特征减去所述第二特征,得到差值特征,以作为所述第三动作状态信息与所述第二动作状态信息之间的第二状态差异。
进一步的,第一生成模块403,具体用于:
将所述第一状态差异叠加在所述第二特征上,得到第三特征;
对所述第三特征进行特征还原,得到所述第一动作状态信息。
进一步的,所述第二音频帧为所述第一音频序列中所述第一音频帧的前一音频帧。
进一步的,上述装置,还包括:第二确定模块,用于确定当前所述第一音频序列中未进行动作状态匹配的至少一个未匹配音频帧;还用于从所述至少一个未匹配音频帧中,确定出所述第一音频帧。
进一步的,第一搜索模块402,具体用于:
对所述第一音频序列片段进行特征抽取,得到第一序列片段特征;
根据所述第一序列片段特征,在第一数据集中查找与之相似的至少一个候选音频序列片段。
进一步的,所述第一数据集中还包括分别与所述多个储备音频序列匹配的多个储备动作序列;
上述装置,还包括:
第三获取模块,用于从所述第一数据集中,获取分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段。
进一步的,所述第一动作状态信息包括表情状态信息、肢体状态信息、口型状态信息中的一种或多种。
这里需要说明的是:上述实施例提供的数据处理装置可实现上述各方法实施例中描述的技术方案,上述各模块具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。
图5示出了本申请又一实施例提供的动作驱动装置的结构框图。如图5所示,该装置,包括:第二截取模块501、第二搜索模块502、第二生成模块503和第一驱动模块504。其中,
第二截取模块501,用于从第一音频序列中第一音频帧处,截取第一音频序列片段;
第二搜索模块502,用于根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段;其中,所述第一数据集中包括多个储备音频序列;
第二生成模块503,用于根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息;
第一驱动模块504,用于发声对象在发出所述第一音频序列中所述第一音频帧时,按照所述第一动作状态信息驱动所述发声对象的动作。
采用本申请实施例提供的技术方案,能够自动为未知的音频序列生成相匹配的动作序列。与现有技术相比,本申请实施例提供的技术方案有效避免了复杂的训练样本标注工作,降低了动作生成成本;并且,针对待匹配音频序列中的每一音频帧,在第一数据集中查找与每一音频帧所在的音频序列片段相似的至少一个候选音频序列片段;通过与至少一个候选音频序列片段相匹配的至少一个候选动作序列片段来生成与待匹配音频序列中的每一音频帧匹配的动作状态信息,能够在生成动作品质上具有一定的可控性,进而提高了动作与音频的协同性。
进一步的,第一驱动模块504,具体用于:
按照所述第一动作状态信息中骨骼状态信息,驱动所述发声对象的相应骨骼运动。
进一步的,所述发声对象为机器人或虚拟角色。
这里需要说明的是:上述实施例提供的动作驱动装置可实现上述各方法实施例中描述的技术方案,上述各模块具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。
图6示出了本申请又一实施例提供的人机交互装置的结构框图。如图6所示,该装置,包括:第一接收模块601、第三生成模块602、第三截取模块603、第三搜索模块604、第四生成模块605和第二驱动模块606。其中,
第一接收模块601,用于接收用户的输入信息;
第三生成模块602,用于根据所述输入信息,生成反馈对象需反馈的第一音频序列;
第三截取模块603,用于从所述第一音频序列中第一音频帧处,截取第一音频序列片段;
第三搜索模块604,用于根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段;其中,所述第一数据集中包括多个储备音频序列;
第四生成模块605,用于根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息;
第二驱动模块606,用于所述反馈对象在发出所述第一音频序列中所述第一音频帧时,按照所述第一动作状态信息驱动所述反馈对象的反馈动作。
采用本申请实施例提供的技术方案,能够自动为未知的音频序列生成相匹配的动作序列。与现有技术相比,本申请实施例提供的技术方案有效避免了复杂的训练样本标注工作,降低了动作生成成本;并且,针对待匹配音频序列中的每一音频帧,在第一数据集中查找与每一音频帧所在的音频序列片段相似的至少一个候选音频序列片段;通过与至少一个候选音频序列片段相匹配的至少一个候选动作序列片段来生成与待匹配音频序列中的每一音频帧匹配的动作状态信息,能够在生成动作品质上具有一定的可控性,进而提高了动作与音频的协同性。
进一步的,第一接收模块601,具体用于:接收用户输入的语音信息。
这里需要说明的是:上述实施例提供的人机交互装置可实现上述各方法实施例中描述的技术方案,上述各模块具体实现的原理可参见上述各方法实施例中的相应内容,此处不再赘述。
图7示出了本申请一实施例提供的电子设备的结构示意图。如图7所示,所述电子设备包括存储器1101以及处理器1102。存储器1101可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令。存储器1101可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
所述存储器1101,用于存储程序;
所述处理器1102,与所述存储器1101耦合,用于执行所述存储器1101中存储的所述程序,以实现上述各方法实施例提供的数据处理方法、动作驱动方法或人机交互方法。
进一步,如图7所示,电子设备还包括:通信组件1103、显示器1104、电源组件1105、音频组件1106等其它组件。图7中仅示意性给出部分组件,并不意味着电子设备只包括图7所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时能够实现上述各方法实施例提供的数据处理方法、动作驱动方法、人机交互方法中各方法的步骤或功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (23)

1.一种数据处理方法,其特征在于,包括:
从第一音频序列中第一音频帧处,截取第一音频序列片段;
根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段;其中,所述第一数据集中包括多个储备音频序列;
根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息。
2.根据权利要求1所述的方法,其特征在于,根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息,包括:
获取所述第一音频帧在所述第一音频序列片段中的排序;
综合各所述候选动作序列片段中所述排序处的第三动作状态信息,确定所述第一动作状态信息。
3.根据权利要求2所述的方法,其特征在于,综合各所述候选动作序列片段中所述排序处的第三动作状态信息,确定所述第一动作状态信息,包括:
获取与所述第一音频序列中第二音频帧匹配的第二动作状态信息;其中,所述第一音频序列中所述第二音频帧位于所述第一音频帧之前;
根据各所述候选动作序列片段中所述排序处的第三动作状态信息与所述第二动作状态信息之间的第二状态差异、以及各所述候选动作序列片段对应的权重,预估待确定的所述第一动作状态信息与所述第二动作状态信息之间的第一状态差异;
根据所述第二动作状态信息以及所述第一状态差异,确定所述第一动作状态信息。
4.根据权利要求3所述的方法,其特征在于,所述至少一个候选动作序列片段中包括第一候选动作序列片段;
上述方法,还包括:
获取所述第一候选动作序列片段中与所述第三动作状态信息相邻且位于所述第三动作状态信息之前的至少一个第四动作状态信息、以及分别与所述第一音频序列片段中至少一个第三音频帧匹配的至少一个第五动作状态信息;其中,所述第一音频序列片段中所述至少一个第三音频帧与所述第一音频帧相邻且位于所述第一音频帧之前;
根据所述至少一个第四运动状态信息与所述至少一个第五运动状态信息之间的第一相似度,确定所述第一候选动作序列片段对应的权重。
5.根据权利要求4所述的方法,其特征在于,所述至少一个候选音频序列片段中包括与所述第一候选动作序列片段匹配的第一候选音频序列片段;
上述方法,还包括:
获取所述第一候选音频序列片段中位于所述排序处的第四音频帧之前且与所述第四音频帧相邻的至少一个第五音频帧;
获取所述第一音频序列片段中所述至少一个第三音频帧;
计算所述至少一个第五音频帧与所述至少一个第三音频帧之间的第二相似度;
相应的,根据所述至少一个第四运动状态信息与所述至少一个第五运动状态信息之间的第一相似度,确定所述第一候选动作序列片段对应的权重,包括:
综合所述第一相似度和所述第二相似度,确定所述第一候选动作序列片段对应的权重。
6.根据权利要求3至5中任一项所述的方法,其特征在于,还包括:
对所述第三动作状态信息进行特征抽取,得到第一特征;
对所述第二动作状态信息进行特征抽取,得到第二特征;
将所述第一特征减去所述第二特征,得到差值特征,以作为所述第三动作状态信息与所述第二动作状态信息之间的第二状态差异。
7.根据权利要求6所述的方法,其特征在于,根据所述第二动作状态信息以及所述第一状态差异,确定所述第一动作状态信息,包括:
将所述第一状态差异叠加在所述第二特征上,得到第三特征;
对所述第三特征进行特征还原,得到所述第一动作状态信息。
8.根据权利要求3至5中任一项所述的方法,其特征在于,所述第二音频帧为所述第一音频序列中所述第一音频帧的前一音频帧。
9.根据权利要求1至5中任一项所述的方法,其特征在于,还包括:
确定当前所述第一音频序列中未进行动作状态匹配的至少一个未匹配音频帧;
从所述至少一个未匹配音频帧中,确定出所述第一音频帧。
10.根据权利要求1至5中任一项所述的方法,其特征在于,根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段,包括:
对所述第一音频序列片段进行特征抽取,得到第一序列片段特征;
根据所述第一序列片段特征,在所述第一数据集中查找与之相似的至少一个候选音频序列片段。
11.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一数据集中还包括分别与所述多个储备音频序列匹配的多个储备动作序列;
上述方法,还包括:
从所述第一数据集中,获取分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段。
12.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一动作状态信息包括表情状态信息、肢体状态信息、口型状态信息中的一种或多种。
13.一种动作驱动方法,其特征在于,包括:
从第一音频序列中第一音频帧处,截取第一音频序列片段;
根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段;其中,所述第一数据集中包括多个储备音频序列;
根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息;
发声对象在发出所述第一音频序列中所述第一音频帧时,按照所述第一动作状态信息驱动所述发声对象的动作。
14.根据权利要求13所述的方法,其特征在于,按照所述第一动作状态信息驱动所述发声对象的动作,包括:
按照所述第一动作状态信息中骨骼状态信息,驱动所述发声对象的相应骨骼运动。
15.根据权利要求13所述的方法,其特征在于,所述发声对象为机器人或虚拟角色。
16.一种人机交互方法,其特征在于,包括:
接收用户的输入信息;
根据所述输入信息,生成反馈对象需反馈的第一音频序列;
从所述第一音频序列中第一音频帧处,截取第一音频序列片段;
根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段;其中,所述第一数据集中包括多个储备音频序列;
根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息;
所述反馈对象在发出所述第一音频序列中所述第一音频帧时,按照所述第一动作状态信息驱动所述反馈对象的反馈动作。
17.根据权利要求16所述的方法,其特征在于,接收用户的输入信息,包括:
接收用户输入的语音信息。
18.一种电子设备,其特征在于,包括:存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
从第一音频序列中第一音频帧处,截取第一音频序列片段;
根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段;其中,所述第一数据集中包括多个储备音频序列;
根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息。
19.一种电子设备,其特征在于,包括:存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
从第一音频序列中第一音频帧处,截取第一音频序列片段;
根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段;其中,所述第一数据集中包括多个储备音频序列;
根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息;
发声对象在发出所述第一音频序列中所述第一音频帧时,按照所述第一动作状态信息驱动所述发声对象的动作。
20.一种电子设备,其特征在于,包括:存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
接收用户的输入信息;
根据所述输入信息,生成反馈对象需反馈的第一音频序列;
从所述第一音频序列中第一音频帧处,截取第一音频序列片段;
根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段;其中,所述第一数据集中包括多个储备音频序列;
根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息;
所述反馈对象在发出所述第一音频序列中所述第一音频帧时,按照所述第一动作状态信息驱动所述反馈对象的反馈动作。
21.一种数据处理方法,其特征在于,包括:
确定待展示图片;
获取与所述待展示图片关联的第一音频序列;
根据所述第一音频序列,获取所述图片中动画的与所述第一音频序列匹配的第一动作序列。
22.根据权利要求21所述的方法,其特征在于,所述第一动作序列中包括按序排列的与所述第一音频序列中各音频帧匹配的第一动作状态信息;所述第一音频序列中包括第一音频帧;
根据所述第一音频序列,获取所述图片中动画的与所述第一音频序列匹配的第一动作序列,包括:
从所述第一音频序列中所述第一音频帧处,截取第一音频序列片段;
根据所述第一音频序列片段,在第一数据集中搜索得到与之相似的至少一个候选音频序列片段;其中,所述第一数据集中包括多个储备音频序列;
根据分别与所述至少一个候选音频序列片段匹配的至少一个候选动作序列片段,生成与所述第一音频帧匹配的第一动作状态信息。
23.一种数据处理方法,其特征在于,包括:
获取待匹配视频;
对所述待匹配视频进行特征提取,得到视频特征;
根据所述视频特征,从音频数据集中搜索得到与之匹配的匹配音频;
在所述待匹配视频中添加所述匹配音频,得到音视频文件。
CN201911045674.2A 2019-10-30 2019-10-30 数据处理、动作驱动与人机交互方法及设备 Active CN112750184B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911045674.2A CN112750184B (zh) 2019-10-30 2019-10-30 数据处理、动作驱动与人机交互方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911045674.2A CN112750184B (zh) 2019-10-30 2019-10-30 数据处理、动作驱动与人机交互方法及设备

Publications (2)

Publication Number Publication Date
CN112750184A true CN112750184A (zh) 2021-05-04
CN112750184B CN112750184B (zh) 2023-11-10

Family

ID=75640592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911045674.2A Active CN112750184B (zh) 2019-10-30 2019-10-30 数据处理、动作驱动与人机交互方法及设备

Country Status (1)

Country Link
CN (1) CN112750184B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114708367A (zh) * 2022-03-28 2022-07-05 长沙千博信息技术有限公司 基于WebGL的手语数字人驱动及实时渲染***
CN115861492A (zh) * 2022-12-15 2023-03-28 北京百度网讯科技有限公司 一种基于音频的动作生成方法、装置、设备和介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615302A (zh) * 2009-07-30 2009-12-30 浙江大学 音乐数据驱动的基于机器学习的舞蹈动作生成方法
CN106875955A (zh) * 2015-12-10 2017-06-20 掌赢信息科技(上海)有限公司 一种声音动画的制作方法及电子设备
WO2018049979A1 (zh) * 2016-09-14 2018-03-22 厦门幻世网络科技有限公司 一种动画合成的方法及装置
CN107918663A (zh) * 2017-11-22 2018-04-17 腾讯科技(深圳)有限公司 音频文件检索方法及装置
CN109064532A (zh) * 2018-06-11 2018-12-21 上海咔咖文化传播有限公司 动画角色自动口型生成方法及装置
WO2019100757A1 (zh) * 2017-11-23 2019-05-31 乐蜜有限公司 视频生成方法、装置和电子设备
CN109862422A (zh) * 2019-02-28 2019-06-07 腾讯科技(深圳)有限公司 视频处理方法、装置、计算机可读存储介质和计算机设备
CN110136698A (zh) * 2019-04-11 2019-08-16 北京百度网讯科技有限公司 用于确定嘴型的方法、装置、设备和存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615302A (zh) * 2009-07-30 2009-12-30 浙江大学 音乐数据驱动的基于机器学习的舞蹈动作生成方法
CN106875955A (zh) * 2015-12-10 2017-06-20 掌赢信息科技(上海)有限公司 一种声音动画的制作方法及电子设备
WO2018049979A1 (zh) * 2016-09-14 2018-03-22 厦门幻世网络科技有限公司 一种动画合成的方法及装置
CN107918663A (zh) * 2017-11-22 2018-04-17 腾讯科技(深圳)有限公司 音频文件检索方法及装置
WO2019100757A1 (zh) * 2017-11-23 2019-05-31 乐蜜有限公司 视频生成方法、装置和电子设备
CN109064532A (zh) * 2018-06-11 2018-12-21 上海咔咖文化传播有限公司 动画角色自动口型生成方法及装置
CN109862422A (zh) * 2019-02-28 2019-06-07 腾讯科技(深圳)有限公司 视频处理方法、装置、计算机可读存储介质和计算机设备
CN110136698A (zh) * 2019-04-11 2019-08-16 北京百度网讯科技有限公司 用于确定嘴型的方法、装置、设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
QIN JIN等: "Video Description Generation using Audio and Visual Cues", 《ACM》, pages 239 - 242 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114708367A (zh) * 2022-03-28 2022-07-05 长沙千博信息技术有限公司 基于WebGL的手语数字人驱动及实时渲染***
CN115861492A (zh) * 2022-12-15 2023-03-28 北京百度网讯科技有限公司 一种基于音频的动作生成方法、装置、设备和介质
CN115861492B (zh) * 2022-12-15 2023-09-29 北京百度网讯科技有限公司 一种基于音频的动作生成方法、装置、设备和介质

Also Published As

Publication number Publication date
CN112750184B (zh) 2023-11-10

Similar Documents

Publication Publication Date Title
CN109377539B (zh) 用于生成动画的方法和装置
CN108492817B (zh) 一种基于虚拟偶像的歌曲数据处理方法及演唱交互***
US9911218B2 (en) Systems and methods for speech animation using visemes with phonetic boundary context
CN111935537A (zh) 音乐短片视频生成方法、装置、电子设备和存储介质
US9997153B2 (en) Information processing method and information processing device
JP6786751B2 (ja) 音声接続合成の処理方法及び装置、コンピュータ設備及びコンピュータプログラム
US8972265B1 (en) Multiple voices in audio content
US11968433B2 (en) Systems and methods for generating synthetic videos based on audio contents
US11847726B2 (en) Method for outputting blend shape value, storage medium, and electronic device
CN111145777A (zh) 一种虚拟形象展示方法、装置、电子设备及存储介质
CN114419205B (zh) 虚拟数字人的驱动方法及位姿获取模型的训练方法
CN113299312B (zh) 一种图像生成方法、装置、设备以及存储介质
CN114144790A (zh) 具有三维骨架正则化和表示性身体姿势的个性化语音到视频
CN112309365A (zh) 语音合成模型的训练方法、装置、存储介质以及电子设备
CN113923462A (zh) 视频生成、直播处理方法、设备和可读介质
CN112750184B (zh) 数据处理、动作驱动与人机交互方法及设备
Wang et al. HMM trajectory-guided sample selection for photo-realistic talking head
Pistola et al. Creating immersive experiences based on intangible cultural heritage
Xie et al. A statistical parametric approach to video-realistic text-driven talking avatar
CN114356084A (zh) 图像处理方法、***及电子设备
CN116958342A (zh) 虚拟形象的动作生成方法、动作库的构建方法及装置
Furukawa et al. Voice animator: Automatic lip-synching in limited animation by audio
JP3755503B2 (ja) アニメーション制作システム
CN115529500A (zh) 动态影像的生成方法和装置
Kolivand et al. Realistic lip syncing for virtual character using common viseme set

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
GR01 Patent grant
GR01 Patent grant