一种声纹处理器和声纹验证执行方法与流程

文档序号:33636493发布日期:2023-03-29 00:46阅读:63来源:国知局
一种声纹处理器和声纹验证执行方法与流程

1.本发明涉及语音识别技术领域,特别是涉及一种声纹处理器和声纹验证执行方法。


背景技术:

2.声纹识别是指从说话人的音频信息出发,识别出说话人是谁的一种计算机技术。它主要分为说话人确认(speakeridentification)和说话人验证(speakerverification)两个任务。前者是从音频确认说话人是谁,后者是从音频确认说话人是否是一个特定的人。
3.声纹识别的应用领域十分广泛,在许多嵌入式场景,如安保、智能家具、自动驾驶等均有应用。目前,声纹识别应用主要面临着两个困难,一个是巨大的计算量,另一个是应用的实时性需求。因此,在应用中如何选择硬件平台进行嵌入式系统设计是一个重要的课题。
4.为了达到应用所需的性能要求,目前多在如下一些嵌入式平台进行声纹识别应用:
5.1.通用处理器(generalpurposeprocessors,gpp)
6.2.数字信号处理器(digitalsignalprocessors,dsp)
7.3.特定用途集成电路(applicationspecificintegratedcircuits,asic)
8.4.现场可编程门阵列(fieldprogrammablegatearrays,fpga)
9.gpp和dsp由于它们的可编程性,具有较强的灵活性,但是缺点是计算效率不高。gpp为了适应大量应用领域,它的架构善于处理多种大体量的数据,比如音频、图像和视频,但是在运算中缺乏并行性,计算效率低。
10.dsp虽然具有比gpp更好的运算速度,但它依旧不能满足声纹识别实时性的需求。除此之外,gpp和dsp也没有完全解决能耗和面积的问题,这两者在嵌入式系统的应用中是很重要的指标。
11.asic和fpga在声纹识别的嵌入式应用中都具有很高的计算效率,但它们也有局限性。asic虽然有高运算性能、强电磁阻抗、低成本和高集成度的优点,但它一旦被制成后难以被测试。因此,在生产asic之前需要一个详细的物理仿真过程。同时,asic的不可定制性也在算法高速更迭的基于深度学习的声纹识别领域难以应用。
12.fpga由于它的细粒度并行计算能力,在嵌入式声纹识别领域是另一个高性能解决方案。与asic相比它具有更小的开发成本。尽管fpga是节约能耗和面积的绝佳选择,但是嵌入式声纹识别的关注点更在于是否能做到实时性。
13.另外,虽然声纹识别在gpu上运行效率很高,但是gpu的高能耗让它难以应用到嵌入式系统,因此本专利不讨论和gpu的性能对比。
14.总结而言,目前的趋势是,使用可重构性来最小化生产和开发成本是一个逐渐重要的需求。cgra(coarsegrainedreconfigurablearchitecture)是粗粒度的可重构架构,它可以兼顾性能与灵活性。一个标准的cgra架构包括了静态执行指令的处理单元阵列和可定
制的互连转换器组成。它具有数据高度并行、处理单元可重构、低功耗、高内存带宽利用率的特点,在算法高速更迭的当下,非常适合作为嵌入式系统的处理器。


技术实现要素:

15.本发明所要解决的技术问题是提供一种声纹处理器和声纹验证执行方法,声纹处理器面积小、功耗低,但功能齐全,能动态配置不同算法的布局布线,因此pe处理单元利用率高。
16.本发明解决其技术问题所采用的技术方案是:提供一种声纹处理器,包括配置管理器、可重构音频处理引擎和主控制器,所述主控制器通过配置总线和配置管理器双向互连,所述主控制器通过外部接口和可重构音频处理引擎双向互连,所述配置管理器和可重构音频处理引擎双向互连;
17.所述可重构音频处理引擎具有向量点乘、张量乘积、卷积、快速傅立叶变换功能。
18.所述可重构音频处理引擎包括依次连接的第二存储单元、pe阵列、第三存储单元和第四存储单元,所述第四存储单元和第二存储单元相连。
19.所述配置管理器包括依次连接的配置译码器、配置流程控制器和第一存储单元,所述配置译码器用于对来自主控制器的控制指令流进行译码,所述配置流程控制器用于根据译码后的指令流按时序向第一存储单元写入pe阵列的重构方式。
20.所述pe阵列包括m
×
n个阵列排列的pe处理单元,相邻的两个pe处理单元进行互连形成网格结构;所述pe处理单元根据所述配置管理器配置的任务执行处理。
21.所述pe阵列通过桥接单元使相邻两列pe处理单元中除与自身平行的pe处理单元相连,以实现快速傅立叶变换功能。
22.所述第一存储单元、第二存储单元、第三存储单元和第四存储单元均为静态随机存取存储器。
23.本发明解决其技术问题所采用的技术方案是:提供一种上述声纹处理器的声纹验证执行方法,包括以下步骤:
24.(1)所述配置管理器将所述pe阵列中第1列至第n-1列pe处理单元配置为乘加运算,并且第1列至第n-1列pe处理单元只横向传输数据;将所述pe阵列中第n列pe处理单元配置为累加运算,并且第n列pe处理单元只纵向传输数据;将所述pe阵列中第n列第m行pe处理单元作为输出;
25.(2)所述配置管理器将所述pe阵列中的每一个pe处理单元配置为乘加功能,并将相邻两列的pe处理单元构建为若干蝶形运算单元;将将所述pe阵列中第n列pe处理单元作为输出;
26.(31)所述配置管理器将所述pe阵列中第1列至第n-1列pe处理单元配置为乘加运算,并且第1列至第n-1列pe处理单元只横向传输数据;将所述pe阵列中第n列pe处理单元配置为累加运算,并且第n列pe处理单元只纵向传输数据;将所述pe阵列中第n列第m行pe处理单元作为输出;(32)所述配置管理器将所述pe阵列中的第1列pe处理单元配置为比较取较大值功能,并且第2列至第n列pe处理单元配置为数据传输功能,并且第1列至第n列pe处理单元只横向传输数据;将所述pe阵列中第n列pe处理单元作为输出;(33)所述配置管理器将所述pe阵列中的每一个pe处理单元配置为数据传输功能,并且第1列至第n列pe处理单元只
横向传输数据;将所述pe阵列中第n列pe处理单元作为输出;
27.(4)将所述步骤(33)中的输出结果与数据库中待验证数据通过欧氏距离测量实现声纹验证。
28.有益效果
29.由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明的可重构音频处理引擎动态可重构,通过主控器控制配置管理器,配置管理器配置可重构音频处理引擎的pe阵列的布局布线,在运行时动态重构,达到算法的高效运行;本发明的可重构音频处理引擎具有高度敏捷性,其pe阵列对于不同运算方法之间的切换十分灵活,能在十纳秒级的速度下动态重构处理单元阵列,适应不同的运算;本发明的配置管理器能够为pe阵列配置不同的布局布线,可以实现向量点乘、张量乘积、卷积、快速傅立叶变换等数学运算;本发明的配置管理器中的配置流程控制器可以按时间顺序配置pe阵列的布局布线,可以让pe阵列在运行过程中动态配置成不同数学运算的布局布线,做到声纹识别过程中不同算法的硬件实现;本发明的声纹处理器面积小、功耗低,但功能齐全,能动态配置不同算法的布局布线,因此处理单元利用率高,具有极低功耗和较小的面积;本发明与传统的与asic、gpu、fpga和dsp通用处理器相比,具有明显的优势。
附图说明
30.图1是本发明实施方式的声纹处理器总体架构示意图;
31.图2是传统的声纹验证方法完整执行流程图;
32.图3是本发明实施方式的声纹验证方法执行流程图;
33.图4是本发明实施方式的可重构音频处理引擎的卷积数据流图;
34.图5是本发明实施方式的卷积运算时sram2中并行数据流配置示意图;
35.图6是本发明实施方式的可重构音频处理引擎实现fft的数据流图;
36.图7是本发明实施方式的fft蝶形图;
37.图8是本发明实施方式的可重构音频处理引擎的最大池化数据流图;
38.图9是本发明实施方式的可重构音频处理引擎的非线性激活运算数据流图。
具体实施方式
39.下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本技术所附权利要求书所限定的范围。
40.本发明的实施方式涉及一种声纹处理器,请参阅图1,包括主控制器、配置管理器、可重构音频处理引擎、四个静态随机存取存储器(sram)、外部接口、以及配置总线构成,本实施方式通过上层系统总线和外部接口获得输入数据。
41.配置管理器负责给可重构音频处理引擎的pe处理单元布局布线,使其具备在算法运行时动态可重构能力。
42.主控制器是一个通用处理器(包括但不限于arm7、risc-v核心),负责接收外部接口的输入数据,同时控制配置管理器。
43.配置管理器中的配置译码器负责译码来自主控制器的控制指令流。
44.配置管理器中的配置流程控制器负责在运行中按时序向sram1中写入pe阵列的重构方式。
45.可重构音频处理引擎由pe阵列和三块sram(sram2、sram3、sram4)构成。pe阵列的大小是m行n列,其中m和n均为整数。pe阵列中的pe处理单元之间互联方式为上下左右四向互联,pe阵列从sram2读入数据,将输出数据写入sram3,sram4是负责存储计算的中间变量。
46.可重构音频处理引擎可以实现向量点乘、张量乘积、卷积、快速傅立叶变换等功能,pe阵列通过桥接单元使相邻两列pe处理单元中除与自身平行的pe处理单元相连。
47.主控制器和配置管理器之间通过配置总线连接。
48.本发明的实施方式涉及一种声纹验证执行方法,请参阅图2,一个广义的声纹识别过程包含如图2所示的十个步骤,本实施方式可以配置十套数据流图,在声纹识别运行过程中动态重构,做到这十个步骤中所有算法的硬件实现。
49.为方便起见,以下为简洁说明本实施方式动态重构、并行处理、计算单元高利用率等特点,选取如图3所示声纹验证方法进行说明,主要包括音频预加强、快速傅里叶变换、特征提取、相似度计算步骤,以下进行详细说明。
50.第一步,对于一段长度为10-25ms的音频段,首先对其做音频预加强,这部分主要使用fir滤波器进行加强,其主要运算是一维卷积。加速卷积计算是可重构音频处理引擎中pe阵列的主要特点,无论是神经网络的多通道二维卷积还是音频的一维卷积都可以通过如图4的数据流图实现。
51.具体地,对于一个m
×
n大小的可重构音频处理引擎的pe阵列,在计算卷积时,除最后一列(即第n列)外,第1列至第n-1列所有pe处理单元的功能都由配置管理器配置为乘加,最后一列的pe处理单元功能配置为累加;布局布线时,除最后一列外所有pe处理单元只能横向传输数据,最后一列的pe处理单元只能纵向传输数据,同时最后一列最下方的pe处理单元将输出结果传给sram3,详见图4和图5,图5中sram2中的并行数据流在每一个时钟周期向右移动一格(让该行pe处理单元读入数据),sram4用于存储中间变量。
52.在配置数据时,经过配置管理器处理,将图4中每一列pe处理单元的功能配置为一个卷积核,即:如果卷积核大小为3
×
3,那么就将这个卷积核中的9个数按顺序配置给同一列的9个pe处理单元,同时如图5所示,在sram2中恰当配置被卷积的数据序列,使得每一个时钟周期并行数据流向右移动一格(即可重构音频处理引擎的pe阵列读入一次数据)。值得注意的是,如图5所示,不是所有pe处理单元都必须在每个时钟周期读入数据。
53.从图4可以看出,对于一个m
×
n大小的可重构音频处理引擎,如果m取9,那么就可以同时做n个3
×
3大小的卷积运算,因为每一列的pe处理单元代表着一个卷积核的运算功能。在后续使用resnet50进行特征提取的过程中,往往会在其中一些卷积层对输入张量做64、256、512、1024个卷积运算,此时本实施方式的并行运算可以大大提升计算效率。
54.以上是关于可重构音频处理引擎加速卷积运算的说明。卷积运算得到加速后,声纹识别方法第一步音频预加强就能得到提速。
55.第二步,在得到了预加强的音频信号后,下一步是对其进行快速傅里叶变换(fft)。本实施方式也可以对fft运算进行加速,其布局布线如图6所示,图6中pe阵列大小取8
×
4(m=8,n=4)。
56.对于一个有八个分量的信号来说,其fft的硬件加速算法配置如图6所示,其中每一个pe处理单元的功能配置为乘加,配置管理器会在fft运算之前就将可重构音频处理引擎的数据流图配置成图6的样式。为了简洁地说明计算过程,本实施方式选取较小的蝶形运算单元,请参阅图7,该蝶形运算单元取a和b作为输入,同时数据在经过每一根线时会被乘上一个权重,因此它的输出为:c=0.5
×
(a+b
×
wn)和d=0.5
×
(a-b
×
wn)。
57.对音频信号fft之后可以得到声谱图。声谱图的横坐标为时间,纵坐标为频率,每个像素的颜色(rgb通道上的强度值)代表能量的强度。声谱图能全面反映声音的信息,因此得到了声谱图就意味着可以使用图像处理的方法进行声纹识别。
58.第三步,本实施方式将声谱图输入resnet50,使用卷积神经网络来提取音频的特征信息。resnet50的运算包括三种卷积层(1
×
1,3
×
3,7
×
7)、最大池化和非线性激活层。卷积层的布局布线图已经在图4给出,图8和图9给出了最大池化操作和非线性激活运算的数据流图,以上数据流图都是由配置管理器进行时序配置。
59.最大池化操作只需要将本实施方式第一列的pe处理单元功能配置为“比较取较大值”,同时第一列的pe处理单元连续接收4个输入,后续pe处理单元全部配置为“数据传输”功能(即“通过”功能)即可。
60.对于非线性激活运算,resnet50采用线性整流单元(relu)作为激活函数,其运算过公式如下:
61.f(x)=max(0,x)
62.其中,x是函数的输入,在本实施方式中代表pe处理单元的操作数;max表示取两个数中较大的那一个输出。由于神经网络运算时会将所有数据归一化到0-1的范围内,因此不存在操作数小于0的情况。因此,如图9所示,对于resnet50的非线性激活的数据流图只需将布线改为横向,所有pe处理单元配置成“数据传输”功能(即“通过”功能)即可。
63.第四步,相似度计算。在用resnet50提取了一个特征向量后,可以使用该向量继续完成下游任务。本实施方式为简洁说明,选择下游任务为声纹验证(speakerverification),假设上一步所提取的特征向量维度为256维。
64.给定一个256维的特征向量做声纹验证任务,只需将其与数据库中标签为待验证说话人的特征向量取出,计算两个向量的欧氏距离,如果欧氏距离小于一个阈值则判定为“是”,否则判定为“否”。根据可重构音频处理引擎的阵列大小(本实施方式中pe阵列大小为m
×
n),可以并行地进行n个向量分量的运算。
65.在计算完相似度结果后,只需要与给定阈值进行比较(标量比大小),随后输出结果“是”或“否”即可。
66.总结而言,使用本发明完成声纹验证任务,需要在算法运行时动态切换数据流图,这充分展示了本发明在声纹验证执行方法的动态可重构特点。同时,各个数据流图也充分展示了本发明的数据并行处理能力和处理单元高利用率(低功耗)的特点。
67.以上就是使用本发明完成声纹验证任务的全过程。
68.前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及
各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1