首页 / 专利库 / 电脑零配件 / 中央处理器 / 算术逻辑单元 / 用于自动语音识别的时域特征提取的方法和系统

用于自动语音识别的时域特征提取的方法和系统

阅读:253发布:2020-05-11

专利汇可以提供用于自动语音识别的时域特征提取的方法和系统专利检索,专利查询,专利分析的服务。并且本公开涉及用于自动 语音识别 的时域特征提取的方法和系统。一种系统、制品、和方法提供了用于自动语音识别的时域特征提取。,下面是用于自动语音识别的时域特征提取的方法和系统专利的具体信息内容。

1.一种由计算机实现的用于自动语音识别的特征提取的方法,包括:
接收输入语音信号
执行增量调制,包括:
将所述输入语音信号采样的表示值与多个阈值等级中的上限阈值和下限阈值进行比较;以及
至少提供有效指示符和移位指示符,作为所述增量调制的输出,
其中,所述有效指示符指示至少一个阈值等级沿着所述输入语音信号从前一表示值到下个采样的改变,并且
其中,所述移位指示符是指示阈值等级的改变的总量的单个值,所述阈值等级的改变包括与所述有效指示符相关联的多个等级从所述前一表示值到所述下个采样的改变;以及使用所述有效指示符和所述移位指示符形成梅尔频率相关系数,所述梅尔频率相关系数用于识别所述输入语音信号中的语音。
2.如权利要求1所述的方法,包括:在不使用傅里叶变换的条件下确定所述特征提取,以提供频域信号数据从而执行梅尔标度滤波。
3.如权利要求1所述的方法,包括:通过执行所述增量调制,将模拟输入语音信号转换为数字信号
4.如权利要求1所述的方法,其中,所述比较包括在离散时域中执行比较,这些比较包括:在同一采样期间并且通过使用时钟,对所述输入语音信号的所述表示值与多个等级的阈值的同步多重比较。
5.如权利要求1所述的方法,其中,采样速率和比较速率至少部分地基于奈奎斯特采样定理。
6.如权利要求1所述的方法,其中,执行增量调制包括:对所述输入语音信号的连续流执行所述增量调制,而不在所述增量调制之前或在所述增量调制期间将所述输入语音信号划分并存储为
7.如权利要求1所述的方法,其中,多个等级的总数目是预计覆盖人类语音频率范围的阈值等级的数目。
8.如权利要求1所述的方法,其中,多个等级的总数目为具有上限阈值和下限阈值的至少两个等级。
9.如权利要求1所述的方法,包括:将所述表示值计算为采样的信号值和分别与不同采样相关联的采样参数项的累加之间的差值,其中,各个采样参数项考虑与所述采样参数项相关联的采样的所述移位指示符。
10.如权利要求9所述的方法,其中,各个采样参数项考虑所述有效指示符,并且其中,各个采样参数项考虑方向指示符,所述方向指示符指示所述输入语音信号从一个采样到另一采样下降还是上升。
11.如权利要求1所述的方法,包括:执行有限冲激响应(FIR)滤波,所述FIR滤波包括修改梅尔频率系数,其中,修改的量取决于所述移位指示符。
12.如权利要求1所述的方法,包括:执行帕塞瓦尔定理相关的能量运算,所述能量运算包括使用通过使用所述移位指示符和所述有效指示符生成的FIR滤波器输出形成中间系数,所述中间系数用于形成用来识别语音中的词的梅尔频率频谱系数(MFSC)或梅尔频率倒谱系数(MFCC)。
13.一种由计算机实现的用于自动语音识别的特征提取系统,包括:
至少一个处理器;
通信地耦合到所述至少一个处理器的存储器
至少一个梅尔频率有限冲激响应(FIR)滤波器,由所述至少一个处理器操作并且被布置为获取声学输入信号的音频数据,所述音频数据包括人类语音,并且所述梅尔频率FIR滤波器输出修改后的梅尔频率系数的总和;以及
累加器单元,用于执行帕塞瓦尔定理相关的能量运算,所述能量运算包括使用滤波器输出形成中间系数,所述中间系数用于形成用来识别语音中的词的梅尔频率频谱系数(MFSC)或梅尔频率倒谱系数(MFCC)。
14.如权利要求13所述的系统,其中,所述能量运算在不执行滤波器输出的平方的条件下生成滤波器输出的幅度和。
15.如权利要求13所述的系统,包括特征提取单元,所述特征提取单元包括所述至少一个FIR滤波器和所述累加器单元,所述特征提取单元被布置为通过以下处理进行操作:
执行增量调制,包括:
将所述输入语音信号的采样的表示值与多个阈值等级的上限阈值和下限阈值进行比较;以及
至少提供有效指示符和移位指示符,作为所述增量调制的输出,
其中,所述有效指示符指示至少一个阈值等级沿着所述输入语音信号从前一表示值到下个采样的改变,并且
其中,所述移位指示符是指示阈值等级的改变的总量的单个值,所述阈值等级的改变包括与所述有效指示符相关联的多个等级从所述前一表示值到所述下个采样的改变;以及使用所述有效指示符和所述移位指示符形成梅尔频率相关系数,所述梅尔频率相关系数用于识别所述输入语音信号中的语音。
16.如权利要求15所述的系统,其中,所述至少一个梅尔频率有限冲激响应(FIR)滤波器具有分支的阵列,其中,各个分支被布置为应用与梅尔频率系数相关联的不同梅尔频率抽头。
17.如权利要求14所述的系统,其中,各个分支允许修改后的梅尔频率系数被用在来自多个分支的修改后的梅尔频率抽头的总和中,并且该总和是所述FIR滤波器的输出,其中,当相应分支的所述有效指示符指示所述输入语音信号发生了改变时,该相应分支的修改后的频率系数被用在该总和中。
18.如权利要求17所述的系统,其中,各个分支接收所述移位指示符,以在不使用乘法的条件下修改梅尔频率抽头。
19.至少一个计算机可读介质,包括多个指令,所述多个指令响应于在计算设备上被执行而促使所述计算设备通过以下处理进行操作:
获取有效指示符,所述有效指示符指示至少一个阈值等级沿着输入语音信号从所述输入语音信号的前一表示值到所述输入语音信号的下个采样的改变;以及
获取移位指示符,所述移位指示符是指示阈值等级的改变的总量的单个值,所述阈值等级的改变包括与所述有效指示符相关联的多个等级从所述前一表示值到所述下个采样的改变;以及
根据所述有效指示符的值,使用FIR滤波器的至少一个修改后的梅尔频率系数,形成用于识别所述输入语音信号中的语音的滤波器输出,其中,所述FIR滤波器被布置为通过使用所述移位指示符修改一个或多个梅尔频率系数。
20.如权利要求19所述的介质,其中,所述指令促使所述计算设备通过执行增量调制进行操作,所述增量调制包括:将所述输入语音信号的采样的表示值与多个阈值等级的上限阈值和下限阈值进行比较,以形成所述有效指示符和所述移位指示符。
21.如权利要求19所述的介质,其中,所述指令促使所述计算设备通过以下处理进行操作:确定梅尔频率滤波期间梅尔频率抽头的二进制移位,包括根据所述移位指示符确定二进制移位的量。
22.如权利要求19所述的介质,其中,所述指令促使所述计算设备通过以下处理进行操作:共享多个梅尔频率滤波器的延迟元件处的延迟抽头,其中,所述延迟元件控制指示符从梅尔频率滤波器的一个分支到另一分支的传播,其中,各个分支具有梅尔频率滤波器的不同梅尔频率系数,并且所述延迟抽头是用在所述延迟元件处的指示符值。
23.如权利要求19所述的介质,其中,所述指令促使所述计算设备通过以下处理进行操作:在多个梅尔频率滤波器之间共享梅尔频率系数。
24.如权利要求19所述的介质,其中,所述指令促使所述计算设备通过以下处理进行操作:时分复用算术逻辑单元(ALU)以横跨多个梅尔频率滤波器至少执行梅尔频率系数的二进制移位或移位后的梅尔频率系数的求和或者执行它们二者,其中,所述时分复用包括以相对于输入语音信号采样频率更快的ALU频率操作所述ALU,其中,所述ALU频率是通过考虑梅尔频率滤波器的数目和梅尔频率滤波器中的抽头数目设置的。
25.一种设备,包括用于执行如权利要求1-12中任一项所述的方法的装置。

说明书全文

用于自动语音识别的时域特征提取的方法和系统

技术领域

[0001] 本公开涉及用于自动语音识别的时域特征提取的方法和系统。

背景技术

[0002] 随着越来越多基于计算机的设备使用语音识别来接收来自用户的命令以便执行一些动作以及将语音转换为用于听写应用的文本或甚至保持与用户的对话(其中在一个或两个方向上交换信息),语音识别系统或自动语音识别器变得越来越重要。这种系统可以独立于说话者(例如,不考虑说话者来识别词的家庭或智能电话语音识别系统),或者可以依赖于说话者(例如,通过使用户重复词来训练系统)。一些系统还可以被配置为理解单个词命令或短句的固定组合,例如,用于操作理解术语“呼叫”或“应答”的移动电话。智能电话、智能扬声器、平板、以及其他设备上的系统可以具有广泛的词汇,例如,用于提供语音激活的搜索引擎并执行其他音频激活任务的虚拟助理。
[0003] 因此,可以期望自动语音识别(ASR)用于可穿戴设备、智能电话、以及其他小型设备。具有ASR系统的很多小型设备具有有限的存储器、计算能、和电池容量。主要由于传统的通用数字信号处理器(DSP)执行用于特征提取的快速傅里叶变换(FFT)和其他DSP任务,声学前端特征提取可以具有巨大的计算负担和产生的功率消耗。特征提取对于始终开启的ASR系统变得更重要,在始终开启的ASR系统中,特征提取、语音激活(VA)、和简单关键词检测(KWD)一直在执行其他后续ASR后端复杂任务之前被执行,因此特征提取、VA、和KWD比那些ASR后端复杂任务被更加频繁地执行,从而更加直接地影响能量消耗。这会耗费非常大量的电池功率并不利地影响可以用于小型设备上的其他ASR任务或其他非ASR任务的处理时间。发明内容
[0004] 根据本公开的一方面,提供了一种由计算机实现的用于自动语音识别的特征提取的方法,包括:接收输入语音信号;执行增量调制,包括:将所述输入语音信号的采样的表示值与多个阈值等级中的上限阈值和下限阈值进行比较;以及至少提供有效指示符和移位指示符,作为所述增量调制的输出,其中,所述有效指示符指示至少一个阈值等级沿着所述输入语音信号从前一表示值到下个采样的改变,并且其中,所述移位指示符是指示阈值等级的改变的总量的单个值,所述阈值等级的改变包括与所述有效指示符相关联的多个等级从所述前一表示值到所述下个采样的改变;以及使用所述有效指示符和所述移位指示符形成梅尔频率(mel-frequency)相关系数,所述梅尔频率相关系数用于识别所述输入语音信号中的语音。
[0005] 根据本公开的另一方面,提供了一种由计算机实现的用于自动语音识别的特征提取系统,包括:至少一个处理器;通信地耦合到所述至少一个处理器的存储器;至少一个梅尔频率有限冲激响应(FIR)滤波器,由所述至少一个处理器操作并且被布置为获取声学输入信号的音频数据,所述音频数据包括人类语音,并且所述梅尔频率FIR滤波器输出修改后的梅尔频率系数的总和;以及累加器单元,用于执行帕塞瓦尔定理相关的能量运算(Parseval Theorem-related energy operation),所述能量运算包括使用滤波器输出形成中间系数,所述中间系数用于形成用来识别语音中的词的梅尔频率频谱系数(MFSC)或梅尔频率倒谱系数(MFCC)。
[0006] 根据本公开的又一方面,提供了至少一个计算机可读介质,包括多个指令,所述多个指令响应于在计算设备上被执行而促使所述计算设备通过以下处理进行操作:获取有效指示符,所述有效指示符指示至少一个阈值等级沿着输入语音信号从所述输入语音信号的前一表示值到所述输入语音信号的下个采样的改变;以及获取移位指示符,所述移位指示符是指示阈值等级的改变的总量的单个值,所述阈值等级的改变包括与所述有效指示符相关联的多个等级从所述前一表示值到所述下个采样的改变;以及根据所述有效指示符的值,使用FIR滤波器的至少一个修改后的梅尔频率系数,形成用于识别所述输入语音信号中的语音的滤波器输出,其中,所述FIR滤波器被布置为通过使用所述移位指示符修改一个或多个梅尔频率系数。
[0007] 根据本公开的再一方面,提供了一种设备,包括用于执行如上所述的方法的装置。附图说明
[0008] 通过示例而非限制,在附图中示出了本文描述的材料。为了说明的简单和清楚,图中所示的元件不一定是按比例画出的。例如,为了清楚,一些元件的尺寸可以相对于其他元件被放大。另外,在适当的情况下,参考标号在在附图中重复,以指示对应或相似元件。在附图中:
[0009] 图1是示出自动语音识别系统的示意图;
[0010] 图2是传统的自动语音识别系统的示意图,其中,在该系统的声学前端进行频域特征提取;
[0011] 图3是根据本文描述的至少一个实施方式的利用时域特征提取的自动语音识别处理的流程图
[0012] 图4是根据本文描述的至少一个实施方式的具有时域特征提取前端的自动语音识别系统的示意图;
[0013] 图5是根据本文描述的至少一个实施方式的具有时域特征提取前端的自动语音识别系统的示意图;
[0014] 图6A至图6B是根据本文描述的至少一个实施方式的时域特征提取方法的详细流程图;
[0015] 图7是根据本文描述的至少一个实施方式的示例增量调制器ADC的示意图;
[0016] 图7A是根据本文描述的至少一个实施方式的用于图7或图8的增量调制器的一个示例控制逻辑的示意图;
[0017] 图8是根据本文描述的至少一个实施方式的示例数字增量调制器的示意图;
[0018] 图9是根据本文描述的至少一个实施方式的具有时域特征提取前端的自动语音识别系统的示意图;
[0019] 图10是示出根据本文描述的至少一个实施方式的与时间采样电压电平线对齐以说明增量调制器的操作的脉冲模式的示意图;
[0020] 图11是根据本文描述的至少一个实施方式的示例事件驱动的梅尔频率有限冲激响应(FIR)滤波器的示意图;
[0021] 图12是根据本文描述的至少一个实施方式的用在图11的FIR滤波器上的示例延迟元件的示意图;
[0022] 图13A至图13C是根据本文的至少一个实施方式的比较传统的频域特征提取、利用能量运算的时域梅尔频率特征提取、以及根据帕塞瓦尔定理的FIR滤波器输出的幅度和的谱图;
[0023] 图14是根据本文的至少一个实施方式的具有共享延迟抽头(tap)、共享系数、和/或时分复用的算术逻辑单元(ALU)的另一示例FIR滤波器系统的示意图;
[0024] 图15是示出根据本文的至少一个实施方式的浮点系数和每个系数使用的计数的直方图的图表;
[0025] 图16A至图16J分别是来自不同滤波器的结果的图表,这些滤波器各自具有不同数目的系数,并且该图表对理想的梅尔频率滤波器与具有共享和非共享的系数、两个不同精度大小、以及浮点或定点精度的传递函数进行比较。
[0026] 图17是示出根据本文的至少一个实施方式的用于频域和时域梅尔间隔滤波器的每个梅尔频率滤波器的计算数目的图表;
[0027] 图18是示例系统的说明性示意图;
[0028] 图19是另一示例系统的说明性示意图;
[0029] 图20示出了完全根据本公开的至少一些实施方式布置的另一示例设备。

具体实施方式

[0030] 现在参考附图描述一个或多个实施方式。在讨论具体配置和布置时,应该理解的是,这是仅出于说明性目的进行的。相关领域技术人员将认识到,在不偏离说明书的精神和范围的条件下可以采用其他配置和布置。对于相关领域技术人员将显而易见的是,本文描述的技术和/或布置可以用在不同于本文描述的系统和应用的各种其他系统和应用中。
[0031] 尽管下面的描述给出了例如可以体现在诸如片上系统(SoC)架构的架构中的各种实施方式,但是本文描述的技术和/或布置的实施方式不限于特定架构和/或计算系统并且可以由用于类似目的的任意架构和/或计算系统实现(除非本文提到了特定架构)。例如,采用例如多个集成电路(IC)芯片和/或封装的各种架构、和/或各种计算设备和/或消费者电子(CE)设备(例如,膝上型或桌面型计算机、移动设备(例如,智能电话或诸如智能手表、智能眼镜、或练习带的可穿戴设备)、视频游戏面板或控制台、电视机顶盒、专用家用或商用智能扬声器、物联网(IoT)设备、车载系统、听写机、物理或计算机访问安全系统、用于建筑物环境控制系统等)可以实现本文描述的技术和/或布置。另外,尽管下面的描述可以给出各种具体细节(诸如系统组件的逻辑实现、类型、和相互关系,逻辑划分/集成选择等),但是请求保护的主题可以在没有这些具体细节的条件下实施。在其他实例中,没有详细示出诸如控制结构和完整软件指令序列的一些材料,以避免模糊本文公开的材料。本文公开的材料可以实现在硬件固件、软件、或它们的任意组合中。
[0032] 机器可读介质还可以包括用于存储或发送机器(例如,计算设备)可读形式的信息的任意介质和/或机制。例如,机器可读介质可以包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质,光存储介质,闪存设备,电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)等。在其他形式中,诸如非暂态计算机可读介质的非暂态物品可以用于以上提到的任意示例或其他示例,除了其不包括暂态信号本身以外。其还可以包括信号本身以外的、可以通过“暂态”方式临时保存数据的那些元件,例如,RAM等。
[0033] 说明书中提到的“在一个实施方式中”、“实施方式”、“示例实施方式”等指示所描述的实施方式可以包括特定特征、结构、或特性,但是每个实施方式并不一定包括该特定特征、结构、或特性。另外,这些短语不一定指代相同的实施方式。另外,当结合实施方式描述特定特征、结构、或特性时,本领域技术人员将想到结合其他实施方式的这种特征、结构、或特性,而不管在本文中是否明确描述。
[0034] 用于自动语音识别的时域特征提取的系统、制品、和方法。
[0035] 参考图1,语音使能的人机接口(HMI)利用麦克记录音频,利用语音处理设备处理声学数据,然后向用户或其他应用输出语音或听觉信息以根据音频信息执行进一步动作。自动语音识别(ASR)系统或HMI 10可以用于本文描述的实施方式,并且可以具有音频捕捉或接收设备14(例如,模拟或数字麦克风),例如,以从用户12接收声波并将声波转换为可以记录在存储器中的原始电声学信号。系统10可以可选地具有模拟/数字(A/D)转换器16,该A/D转换器可以是数字麦克风的部分,但是与声学前端18相分离以向声学前端单元18提供数字声学信号。相反,如下所述,声学前端18可以接收模拟输入语音信号,并且在下面描述的一些实施方式中ADC任务可以由声学前端单元18自身执行。
[0036] 声学前端单元18(在本文中也称为特征提取单元)可以执行特征提取,以提供梅尔频率频谱系数(MFSC)或倒谱系数(MFCC)形式的声学特征或特征向量。在传统形式中,使用加窗与快速傅里叶变换(FFT)形成这些系数,并且针对ASR分析,前端单元18还可以将声学信号划分为重叠,这些帧例如具有25ms长的帧和10ms帧步长(stride)。相反,本文描述的方法减少或消除了这些技术,并且将声学信号划分为非重叠帧,这些帧例如具有25ms长的帧和25ms帧步长。下面提供更多细节。
[0037] ASR系统10还可以具有后端21,后端21包括声学评分单元20,声学评分单元20使用特征系数确定在输入信号中识别出的上下文相关音素的可能性得分。一些声学评分单元需要梅尔频率倒谱系数、梅尔频率频谱系数、或这两者。声学评分单元可以使用神经网络或其他技术提供声学得分。
[0038] 加权后的有限状态变换器(WFST)单元或解码器22使用声学得分来识别一个或多个话语假设并计算它们的得分。WFST解码器22可以使用也被称为WFST的弧形和状态的神经网络。WFST神经网络或其他网络可以基于隐含尔可夫模型(HMM)、动态时间规整、以及很多其他网络技术或结构。WFST解码器22使用单一最佳或n最佳语音解码的已知的特定规则、构造、操作、和性质,并且没有描述不相关的细节以提供本文描述的新特征的布置的清楚描述。
[0039] 解码结果可供语言解释器和执行单元(或解释引擎)24用来确定用户意图。这种意图确定或说出的话语分类可以基于决策树、表单填充算法、或统计分类(例如,使用支持向量机(SVM)或深度神经网络(DNN))。
[0040] 一旦确定了话语的用户意图,解释引擎24还可以输出响应或发起动作。响应或应答可以为通过扬声器组件26的音频形式或者作为显示组件28上的文本的视觉形式(例如,互联网搜索结果)。另外,可以发起控制另一终端设备30的动作(不管该另一终端设备是否被认为是语音识别系统10的一部分或者与语音识别系统10处于相同设备内)。例如,用户可以说出“回拨”以在电话设备上激活电话呼叫,用户可以通过向车辆控制器(vehicle fob)说词来启动车辆,或者智能电话上的语音模式可以执行智能电话上的某些任务。终端设备30可以简单为软件而不是物理设备或硬件或它们的任意组合,并且并不特定地限制于任意一种类型的设备或者其操作(除了具有理解由语音识别确定产生的命令或请求并根据该命令或请求执行或发起动作的能力以外)。
[0041] 参考图2,传统的自动语音识别(ASR)系统或流线可以具有传统的声学前端(或特征提取)单元200。特征提取单元200可以接收例如由ADC 216从模拟信号转换的数字信号,然后特征提取单元200最终向声学评分单元提供声学特征系数。例如,特征提取单元200提供梅尔频率频谱系数(MFSC)和/或梅尔频率倒谱系数(MFCC)形式的系数。
[0042] 一旦数字语音信号被接收到,帧采样单元201可以按照某个频率对输入语音信号进行采样,以形成重叠时间间隔的帧。然后,加窗单元202将每帧上的输入语音信号改进为与FFT单元204执行的快速傅里叶变换(FFT)相匹配,以将该信号转换到频域。一般,这些帧必须是重叠的,因为FFT运算将抑制处于每帧的边缘或边界(开头和末尾)处的信号。具体地,FFT运算假定输入信号是周期性的,因此随着信号远离帧中心而抑制信号,使得在帧的中间形成单个峰值,这对于每个帧或窗口的分析是期望的。一般,所使用的一种抑制技术是应用某些频率曲线整形常数的汉明窗。被抑制的数据(这些数据仍然是帧开头和末尾附近的不期望的非零数据)被称为数据谱泄露。帧或窗口的时间间隔被设置为重叠,以补偿由于加窗导致的损失,使得一帧的边界区域位于另一帧的中心附近,从而使得FFT单元可以更精确地确定信号和每个窗口的被抑制部分的频率。
[0043] FFT单元204随后将输入信号的FFT频谱(频率值)提供给梅尔间隔滤波器单元(或梅尔标度(mel-scale)滤波单元)206,该梅尔间隔滤波器单元执行频域中的频率值的梅尔频率滤波。梅尔频率滤波用于反映人的滤波,并且梅尔频率滤波器在频域上是不均匀间隔的,其中低频区域中滤波器较多,并且高频区域中滤波器较少。用于频域到梅尔标度频域的转换的公式是mel(f)=1125x ln(1+f/700),其中,mel(f)=梅尔标度频率,并且f=频率。梅尔间隔滤波器是在梅尔频率域中等距离间隔的三形滤波器,并且梅尔滤波器的数目确定了MFSC和MFCC的尺寸。随后通过在每个梅尔滤波器处对帧中的原始滤波器输出采样的平方进行求和来计算每个滤波器的能量。
[0044] 每个梅尔滤波器随后提供能量值,该能量值作为梅尔标度滤波单元206的输出被提供给对数单元208来生成MFSC。MFSC还可以被提供给离散余弦变换(DCT)单元210,以将MFSC变换为MFCC。DCT单元210将MFSC转换为在不同频率振荡的余弦函数的总和,从而执行MFSC从频域到类时域(同态频域)的变换,产生将MFSC表示为可以高效地用于声学评分的MFCC的压缩值。MFCC、MFSC、或它们二者随后被提供给ASR后端单元(或更具体地,声学评分单元),以提供用于后续语言模型的得分。
[0045] 使用基于FFT的特征提取的一个缺点是在频域运算所需要的巨大计算负担。FFT运算包括用于将音频数据加载到存储缓冲器并从存储缓冲器获取数据的存储器事务,以执行对每帧的信号进行改进的加窗、执行每帧到频域的FFT转换、以及执行每帧的频域中的每个梅尔滤波器的梅尔标度频率滤波。FFT运算本身包括被执行以实现复数计算的多重乘法累加(MAC)运算、对数运算、以及包括乘法的其他步骤(例如,参见下面利用本文公开的方法的结果讨论的表1)。
[0046] FFT特征提取系统的另一缺点是加窗本身的结果。由加窗导致的重叠窗以及对更多帧的需求使得执行特征提取和后端ASR需要巨大的计算负荷负担和更大的功率消耗。例如,一个已知系统使用25毫秒长的帧,两个相邻帧之间存在15毫秒的重叠区域,所以用于关键词定位任务的325毫秒上下文窗口需要31帧,而不是在形成没有重叠的帧的情况下的仅13帧。参见由Shah,M.等所著的“A fixed-point neural network for keyword detection on resource constrained hardware”,IEEE Workshop on Signal Processing Systems(SiPS),第1-6页(2015)。
[0047] 另外,由于这些FFT相关运算是针对音频帧序列中的所有帧执行的,所以甚至要对具有不可识别信号或非语音信号的那些帧进行处理。因此,需要可以至少避免FFT运算以减少被执行用于特征提取的计算的量的替代技术,以减少计算量从而减少功耗,尤其是对于在有限电池上工作的小型无约束设备。
[0048] FFT技术的使用还需要保存所有加窗信号数据的相对较大存储器容量的输入缓冲器、用于变换的FFT系数缓冲器、以及保存被提供用于梅尔频率滤波的中间值的FFT缓冲器(参见以下利用所公开的方法的结果的分析的表2)。这里,除了上面提到的所需要的会增加计算负担的多个存储器事务以外,所需要的超大存储器容量本身也是问题。
[0049] 支持FFT特征提取所需要的大型存储器和计算负担使得FFT特征提取技术不能随着所提供的每个梅尔频率滤波器的添加而扩展(或者更精确地,无效缩放)。这是由于相比梅尔频率滤波操作,FFT运算需要相对较大的计算成本的事实。因此,当较小数目的梅尔滤波器被用于简单任务时,FFT计算在特征提取的总计算成本中占主要部分。还参考下面的图表1700(图17)说明本文中的本时域特征提取消除的该缺点。
[0050] 因此,用于MFCC和MFSC计算的传统方法主要由于FFT运算而在可扩展性和功率消耗方面具有缺陷,其不能随着语音识别任务复杂性而扩展并且在计算成本方面是昂贵的。对于诸如语音活动检测和关键词定位的简单任务,MFCC和MFSC运算由于需要大量FFT运算而在系统功率消耗方面变得非常大。
[0051] 解决上述问题的一个尝试是使用模拟系统而不是数字系统。在这种系统中,提供具有模拟域放大器和滤波器的模拟域特征提取器作为计算声学特征的替代方法,以消除FFT运算。但是,这种模拟电路配置造成了设计挑战,因为模拟电路对于CMOS技术工艺变化、电压变化、和温度变化更脆弱。另外,已知数字电路更容易从一种CMOS技术工艺移植到不同的CMOS技术工艺中。参见Badami,K.等所著的“Context-Aware  Hierarchical Information-Sensing in a 6μW 90nm CMOS Voice Activity Detector”,IEEE International Solid State Circuit Conf.(ISSCC)Dig.Tech.Papers,第430-431页(2015)。
[0052] 解决上述问题的另一尝试通过下述操作来消除对FFT的使用:使用连续时间增量调制器执行ADC并提供指示输入信号的电压何时变得高于高电压边界信号或低于低电压边界信号的标志,从而通过单个最低有效位(LSB)指示输入信号已经改变。这些标志还提供指示输入信号改变的方向(向上或向下)的位。这被称为“等级交叉采样”或“时间代码调制”。这以连续时间而非离散时间执行,以移除处理末尾的量化噪声(在模数转换(ADC)期间)。参见Schell,B.等所著的“A Continuous-Time ADC/DSP/DAC System With No Clock and With Activity-Dependent Power Dissipation”,IEEE J.Solid-State Circuit,第43卷,第11号,第2472-2481页(2008)。
[0053] Schell方法的困难在于,在增量调制中仅使用具有高电压边界和低电压边界的单个电压范围来确定输入信号是否改变,单个LSB会产生过多活动。由于不能在单个采样时间间隔(由单个标志表示)期间高效处理改变了多个LSB的输入语音信号,所以这是不够的。在Schell中,这仅可以在多个标志上执行,当输入语音信号出现大的连续上升或下降时,利用每个采样将LSB等级改变1。例如,假设输入信号中5个电压LSB的快速上升在不到10ms(单个采样时间间隔)中发生,则信号变平。在Schell中,每个采样将仅指示信号中的一个LSB上升,因此需要五个标志(或时间间隔)来指示信号中的总共5个LSB上升。在Schell中,每个标志都需要增量调制指示符和FIR滤波、以及梅尔频率滤波等来提供MFSC和/或MFCC系数,从而不必要地且显著地增加了提供信号中的5个LSB上升的总计算负担。Schell中的单个输出期间的多等级指示不是选项,因为其需要使用时钟的离散时间(DT)运算来同步多个等级的测试。结果是单等级系统不必要地生成了仍然过大的计算负担,因而仍然消耗了计算设备的过多处理器时间和电池功率。
[0054] 在不进行FFT的条件下增加特征提取的效率的另一尝试使用1-d卷积FIR滤波器和最大池化来执行特征提取。参见由Y.Hoshen等在IEEE ICASSP中所著的“Speech Acoustic Modeling From Raw Multichannel Waveforms”,第4624-4628页(2015)。但是,这种系统在精确度方面仍然有困难。
[0055] 为了解决上述问题,本方法提出在不进行FFT运算的条件下在数字时域中进行声学特征的时域滤波和能量计算,以提供用于梅尔频率滤波的频域信号值。这使得以显著降低的计算成本和降低的存储器需求进行声学特征提取,作为端到端语音识别流水线的部分。本方法(称为T-MFSC方法)使得在没有FFT技术的巨大计算负担的条件下执行简单到复杂的语音识别任务成为可能。
[0056] 另外,事件驱动的T-MFSC方法具有特征提取单元(FEU),该特征提取单元可以执行离散时间(DT)中的多级增量调制(与以上引用的Schell,B.等关于连续时间(CT)中的单级增量调制的现有工作相比)。离散时间增量调制的多级性质允许以奈奎斯特(Nyquist)采样速率进行操作,而不需要使用过采样频率和复杂CT电路。同时,特征提取使用事件驱动的FIR滤波器,该事件驱动的FIR滤波器仅在事件出现时执行某些计算。因此,本方法使用避免Schell的异步电路的离散时间(DT)运算,从而消除或减少了CT电路配置挑战和约束。另外,如所提到的,这里的DT运算更好地确保了FIR滤波器不被过度触发(不考虑输入改变的幅度)。
[0057] 因此,首先,通过一种形式,本方法可以通过直接从输入语音数据提取“事件”并且直接在事件驱动的FIR滤波器中处理它们,来消除提供用于梅尔频率滤波的信号频率的FFT运算。这大大降低了计算负担,因为消除了FFT运算,从而消除了包括FFT乘法运算的FFT运算,并且不需要对每个帧(或时间间隔)都进行FFT处理来提供用于滤波的数据,只有具有事件的这些时间间隔将用在FIR滤波器处对滤波器输出做出贡献的计算中。
[0058] 第二,多级增量调制进一步减少了具有事件的时间间隔(或采样)的数目,从而减少了需要梅尔频率滤波的采样和特征提取系数的数目。这是必须处理的采样数目的非常大的减少(与Schell系统相比)。
[0059] 第三,通过另一形式,本方法可以用二进制移位和加法来替换FIR滤波器的乘法运算。因此,本T-MFSC方法可以将滤波期间的计算成本降低80%(例如,当梅尔频率滤波器的数目为40时,事件速率可以下降到大约0.4)。
[0060] 第四,通过又一种形式,本T-MFSC方法可以消除相邻帧的加窗和重叠。对于当前处理,系统对增量调制期间的连续信号进行分析,该连续信号例如在累加器运算之前没有被划分为帧。因此,当一帧结束时,下一帧开始,避免了重叠区域的冗余处理。例如,针对以上在传统FT处理中提到的使用31帧的相同任务,本T-MFSC方法可以仅处理325毫秒上下文窗口的原始的13(325/25)帧。需要被T-MFSC处理的帧的数目的减少(在本示例中,大约为传统MFSC技术的60%)将使得所产生的语音特征大大减少,从而不仅减少了语音流水线的前端中的总计算能量(或计算负担)而且减少了后端语音处理单元(例如,声学评分、语言建模等的神经网络)处的总计算能量。
[0061] 为了在时域中使能FIR滤波和增量调制的同时向ASR后端提供可能需要的关于频域的系数(例如,MFSC和/或MFCC),可以使用累加器,该累加器根据帕塞瓦尔定理执行能量运算以提供将被转换为MFSC的中间系数值。下面提供帕塞瓦尔定理的说明。接收并累加FIR滤波器输出使能时域中的FIR滤波和增量调制的使用,同时提供了ASR后端可能需要的关于频域的系数。具体地,根据帕塞瓦尔定理,时域中的平方采样的总和等于频域中的平方采样的总和,因为能量被保留在时域和频域之间,并且能量被作为序列中的平方采样的总和获取。
[0062] 在主要利用帕塞瓦尔累加器的另一选项中,可以使用基线T-MFSC实施方式,该实施方式向非事件驱动的传统FIR滤波器提供声学信号输入,而不需要进行向滤波器提供输入的增量调制。通过又一形式,可以利用本文所述的事件驱动的滤波器(或如在Schell中)执行Schell的单级(或有界电压范围)增量调制,该事件驱动的滤波器随后向帕塞瓦尔累加器提供滤波器输出。基线T-MFSC的优点在于,传统FIR滤波器可以在1d-卷积中执行,神经网络ASR声学评分可以使用1d-卷积,从而使得这种系统不需要通用DSP用于其计算(不像基于FFT的特征提取)。这种系统相比上述传统1d-卷积系统还改善了ASR结果的精确度。下面提供更多细节。
[0063] 通过又一选项,本方法可以通过修改帕塞瓦尔定理的应用,稍微放松对现有特征提取系统的高质量要求。具体地,由于随后在ASR流水线的后端进行并且可以补偿ASR特征提取期间的质量下降的现有典型的鲁棒且精确的声学评分、语言建模、以及语言解释,ASR特征提取期间的质量降低现在是可接受的。这允许使用显著减少特征提取的计算负担的技术。例如,本方法在没有严格使用精确帕塞瓦尔等式的较高计算负担(省略了平方)的条件下,通过累加FIR滤波器输出至少部分地基于帕塞瓦尔定理,如下所述。
[0064] 利用这种配置,本T-MFSC方法相比传统FFT特征提取将存储器需求减少大约85%以上,从而成比例低降低了功率需求和存储器面积需求。
[0065] 本方法和系统可以提供本文其他位置提到的其他优点。
[0066] 参考图3,提供了由计算机实现的用于自动语音识别的时域特征提取的方法的示例处理300。在所示出的实施方式中,处理300可以包括由均匀编号的一个或多个操作302至314示出的一个或多个操作、功能、或动作。通过非限制性示例,这里参考本文结合图1、图4-
5、图7-9、图11-12、图14、和图18-20中的任意附图以及相关的地方描述的示例自动语音识别设备或组件描述示例处理300。
[0067] 处理300可以包括“接收输入语音信号”302。换言之,该操作包括从一个或多个麦克风接收输入语音信号,该一个或多个麦克风可以是独立麦克风或者可以是作为很多不同多用途设备(例如,智能电话)的部分的麦克风。输入语音信号可已经被充分预处理,用于特征提取。
[0068] 处理300还可以包括“执行增量调制”304。这可以包括“比较输入语音信号的采样的表示值与多个阈值等级的上限阈值和下限阈值”306。具体地,将输入语音信号与离散时间(DT)域中的阈值等级进行比较。因此,信号的采样针对正在被分析用于信号或者更确切地说表示值与阈值等级的比较的每个阈值等级仅被分割一次。同一采样与多个阈值等级的比较可以在时钟脉冲的上升沿期间进行(或者,可以表述为比较可以并行进行或被同步),并且通过一种形式,可以设置16kHz的采样速率。这种与多个阈值等级的同步比较避免了省略时钟呈现出的其他困难(例如,复杂CT电路)。
[0069] 通过一种形式,这种增量调制运算还在连续信号上进行操作,该连续信号没有被划分并且没有被作为独立帧存储。可以以10ms间隔进行信号的采样,但是尚未建立帧,因为没有对信号值的累加进行求和并存储用于各个时间间隔。在累加器运算之前并且在梅尔频率滤波之后,这些帧没有被定义和存储,如下所述。这还消除了传统FFT特征提取的加窗。
[0070] 另外,如下所述,增量调制使用被选择覆盖预计总范围、或总范围的一部分、或人类语音频率的多个阈值等级,并且通过一种形式,当在模拟域中对等级阈值进行比较时,每个等级由作为最低有效位电压VLSB的因子的阈值定义,或者当在数字域中执行比较时,每个等级由最低有效位电压的数字脉冲代码调制(PCM)代码表示定义。这包括将输入语音信号与多个等级的阈值进行比较,该多个等级包括具有上限阈值和下限阈值二者的至少两个等级。通过其他形式,可以存在足够数目的等级,这些等级不是相邻等级,并且每个等级各自具有其自己的上限阈值和下限阈值,该上限阈值和下限阈值不与至少一个其他等级共享(或者换言之,均具有上限阈值和下限阈值的至少三个连续等级)。通过另一种形式,可以存在更多等级。通过一种形式,对于k个等级,并且对于正和负等级范围二者,可以将模拟阈值设置为2k x VLSB(或者在数字域,仅2k个数字阈值)。下面描述细节。
[0071] 通过一种方法,不直接将输入语音信号与等级阈值进行比较。相反,对输入语音信号和累加值(acc或acc[n],其中,n是时间或采样)进行差分,并且acc是采样参数项的累加和,其中对于迄今为止分析的信号的每个采样,存在一个采样参数项。采样参数项是通过考虑(factor)通过增量调制生成的一个或多个指示符形成的。例如,每个或各个采样参数项考虑指示沿着输入语音信号何时出现改变或事件的有效指示符。这种改变是指增量调制器的多个等级中的至少一个阈值等级的改变。采样参数项还考虑指示信号值(电压或数字代码值)相比前一采样增大还是减小的方向指示符(也称为UP/DN指示符)、以及表示改变的幅度并且指示在输入语音信号中从一个采样到下个采样改变的等级数目的移位指示符。这可以包括多个等级。针对每个阈值等级确定输入语音信号和累加值之间的正和负差值,其中对该阈值等级进行分析以表示信号的潜在频率的完整正和负范围。模拟系统中的acc遍历通过数模转换器(DAC),该DAC形成与x(t)输入语音信号差分的dac(t)模拟值,从而使得输入语音信号和累加值之间的差值(x(t)-dac(t)和dac(t)-x(t))(一般被称为表示值)与模拟形式的阈值(或参考电压)进行比较。针对模拟输入信号的比较结果还通过提供指示阈值还是表示值较大的二进制值来充当模数转换器(ADC),如下所述。acc直接用于数字增量调制器中的差分,以比较差值(或表示值)和阈值。
[0072] 处理300可以包括“至少提供有效指示符和移位指示符,作为增量调制的输出”308。至此,处理300还可以包括“其中,有效指示符包括至少一个阈值等级沿着输入语音信号从前一表示值到下个采样的改变”310。这是指确定输入语音信号的连续采样之间的改变,并且可以由增量调制器的控制逻辑执行。这可以包括当出现改变时生成有效指示符1以及在没有出现改变时生成有效指示符0。
[0073] 处理300还可以包括“其中,移位指示符是指示阈值等级的改变的总量的单个值,阈值等级的改变包括与有效指示符相关联的多个等级从前一表示值到下个采样的改变”312。这里,单个值指代单个项或词,但是不一定是单个数字。这与仅可以指示相邻采样之间的一个LSB中的改变的Schell系统相反。用于计算移位指示符(或移位值或移位指示符值)的一个示例等式被提供为下面的等式(4)。通过一种形式,计算移位指示符值包括用VLSB除差值(或表示值)。
[0074] 处理300还可以包括“使用有效指示符和移位指示符形成用于识别输入语音信号中的语音的梅尔频率相关系数”314。这是指接收用在事件驱动的梅尔频率有限冲激响应(FIR)滤波器的指示符。具体地,可以使用多个梅尔频率FIR滤波器,其中每个滤波器具有覆盖某个梅尔标度频率范围的三角函数,并且该梅尔标度频率范围不同于其他梅尔频率FIR滤波器的频率范围,尽管这些范围可以重叠。一种典型技术是使用40个梅尔频率FIR滤波器,例如,仅使用13个梅尔频率滤波器,但是存在很多其他示例。每个梅尔频率FIR滤波器可以具有分支(或抽头)的阵列,其中每个分支应用不同的梅尔频率系数。指示符被从分支向分支传播,并且有效指示符控制哪个分支将向滤波器的加法器贡献修改后的梅尔频率系数值。具体地,梅尔频率滤波器的每个分支具有对不同的梅尔频率系数进行加权的逻辑,该梅尔频率系数随后被与所有其他加权后的系数求和以形成该FIR滤波器在多个采样(多达抽头或分支数目)上的FIR输出中间值。各个分支可以使用方向(UP/DN)指示符来确定应该采用正还是负梅尔频率系数,随后移位指示符被用于对梅尔频率系数进行二进制左移位,以使得针对较大移位指示符具有较大权重,该较大移位指示符指示输入语音信号的该采样上的成比例较高信号值。当分支处的有效指示符指示信号值在该采样发生改变时,修改或加权后的梅尔频率系数随后被提供用于与来自相同梅尔频率滤波器的其他分支的其他加权后的梅尔频率系数进行求和。否则,当有效指示符指示没有改变时,传递零用于求和运算,从而有效地形成事件驱动的FIR滤波器,因为只有具有事件的这些采样对滤波器的输出做出贡献。另外,这种逻辑使用左移位来避免使用乘法确定FIR输出中间总和。
[0075] 修改后的梅尔频率系数的总和由每个梅尔频率FIR滤波器提供。这些总和被单独针对每个FIR滤波器以及针对某个数目的采样、或者针对某个间隔累加,以形成由累加表示的帧。可以在16khz形成10ms帧,例如,每帧包括160个采样。使用累加表示帧的基础是上述帕塞瓦尔定理。还如上所述,尽管帕塞瓦尔定理的使用使能了时域中的事件驱动的FIR滤波和多级增量调制,但是将理解的是,其他配置可以用于基于帕塞瓦尔的累加,例如,输入信号被提供给非事件驱动的梅尔频率FIR滤波器的基线方法,或者通过另一种方法,单级增量调制和事件驱动的FIR滤波器可以用于帕塞瓦尔累加器。作为又一选项,为了减少计算设备的计算负担从而减少计算设备的功率消耗,可以使用不进行平方的累加,由于后端ASR处理可以补偿这里的特征提取期间的不精确性,这种不进行平方的累加被发现是足够的。累加的对数生成梅尔频率频谱系数(MFSC)。当需要时,可以向MFSC应用离散余弦变换(DCT),以生成梅尔频率倒谱系数(MFCC)。
[0076] 然后,MFSC或MFCC被提供给ASR后端的声学评分单元,以形成提供给解码器(或WFST)的声学得分,该解码器(WFST)向语言模型输出假设话语以输出最终的词辨认,可以对该最终的词辨认执行是否在听觉上发射识别出的词的动作、显示识别出的词的动作、或者基于辨认出了哪些词而执行一些其他自动动作(如上所述)。
[0077] 参考图4提供更多细节,示例T-MFSC特征提取单元400可以具有端到端语音识别流水线。这可以包括接收作为连续模拟信号的输入语音信号x(t)的多级增量调制ADC 402。可以在16kHz对信号进行采样。增量调制器可以对本文讨论的多个阈值等级执行比较来生成方向(UP/DN)指示符、有效指示符、和移位指示符,并将这些指示符提供给梅尔频率FIR滤波器单元404,该梅尔频率FIR滤波器单元具有1至F个滤波器的多个事件驱动的FIR滤波器406,每个滤波器被提供用于下面描述的不同范围的梅尔标度频率。通过一个示例形式,特征提取单元通过使用时钟(例如,16kHz)控制操作。
[0078] FIR滤波器单元404具有分别具有分支(或抽头)的阵列的FIR滤波器,如上所述,每个分支具有一个梅尔频率系数,并且其中,UP/DN指示符、有效指示符、和移位指示符被从一个分支到另一分支传播,以修改(或移位或加权)分支上的梅尔频率系数。在相同梅尔频率滤波器上的分支中分析的修改后的系数(或当不存在改变时的零)和来自其他采样的其他修改后的系数或零被转发用于求和。来自每个或各个FIR滤波器的这些总和随后被提供给累加器410。
[0079] 累加器410基于帕塞瓦尔定理,使用每个滤波器的能量运算在不使用FFT的条件下获取时域中的滤波器输出的能量。通过一种形式,该定理包括通过计算滤波器输出的平方(Σ|x[i]|2)计算滤波器输出的能量,这是针对每个滤波器执行的。替代地通过其他选项,通过直接Σ|x[i]|值执行累加(而不采用平方),以避免乘法运算。已经证明这足够准确用于特征提取目的。累加可以针对每个FIR滤波器单独执行,并且可以基于时钟(例如,16kHz)和帧长度(例如,10或25ms)将FIR滤波器输出相加达某个数目的总和(进而某个数目的采样)。通过一种形式,10ms帧可以由160个采样的FIR滤波器输出的累加形成。累加结果或帧随后可以被提供给对数单元412以生成MFSC,然后可以可选地被应用于DCT以形成MFCC,MFSC和MFCC中的任一者或它们二者可以被提供给ASR后端用于进一步ASR处理(如下面提到和描述的)。
[0080] 参考图5,示例T-MFSC特征提取单元500类似于特征提取单元400,除了在这里模拟输入语音信号x(t)首先被提供给ADC 501,该ADC将输入语音信号转换为数字信号(或数据)d[n]。数字信号d[n]随后被提供给多级数字增量调制器502。数字增量调制器502具有用于与数字表示值相比较的数字阈值或代码等级(本文描述了输入信号的数字值d[n]与acc[n]累加值之间的差值)。特征提取单元500的其余部分具有与特征提取单元400相同或类似的组件。
[0081] 参考图9,示例基线T-MFSC特征提取单元900是另一选项,但是其不使用多级增量调制。相反,模拟声学信号可以由ADC 901提供,而不管该ADC是数字麦克风的一部分、特征提取单元901的一部分、还是独立于它们二者,以向梅尔频率FIR滤波器单元904的一个或多个非事件驱动的FIR梅尔频率滤波器906提供数字信号d[n]。FIR滤波器单元904可以操作简单的FIR结构,已知该FIR结构使用数字信号并且以离散时间的方式使用该信号的采样。在这种情况下,帕塞瓦尔累加器910(类似于特征提取单元400和500的累加器)仍然用于对由滤波器输出的时域系数总和进行累加。累加器910随后可以将这些输出转换为频域相关中间系数值的帧,这些频域相关中间系数值可以被对数单元912用来形成本文描述的MFSC。基线T-MFSC特征提取单元900的优点在于,其可以重复使用一个或多个神经网络累加器(处理器)进行计算,从而相对于用于MFSC处理的通用DSP节省集成电路(IC)占模片面积和制造成本,这会使得能量和功率消耗降低。具体地,固定功能处理器可以被用于基于FFT的MFSC操作或者所描述的基线T-MFSC特征提取单元900。但是,任意种类的固定功能处理器相比用于MFSC计算的通用DSP需要额外的制造成本,所以通用DSP在传统上被用于MFSC特征提取。但是,通用DSP还被配置用于很多常规数字信号处理任务,这使得处理任务的功率消耗比固定功能处理器更大。类似地,为了避免在基线T-MFSC固定功能处理器设计上花费的成本,基线T-MFSC可以替代地由神经网络处理器执行(而不由执行常规DSP任务的通用DSP执行)。基线T-MFSC相当于神经网络处理器中的1-d卷积运算,并且神经网络处理器由于它们仅被配置用于神经网络的有限操作而更节能。因此,在神经网络加速器中执行用于特征提取的基线T-MFSC可以节省集成电路(IC)占模片面积和制造工作和/或成本(这些制造工作和/或成本是用于MFSC处理的通用DSP所需要的),从而减少能量和功率消耗。
[0082] 通过又一选项,单级增量调制(称为利用CT ADC的T-MFSC基线特征提取)可以被执行,以向事件驱动的梅尔频率滤波器单元提供改变和UP/DN指示符,该事件驱动的梅尔频率滤波器单元也向帕塞瓦尔累加器提供滤波器输出。预见到很多变形
[0083] 现在参考图6A-6B,提供了用于自动语音识别的特征提取的示例计算机实现的处理600。在所示出的实施方式中,处理600可以包括由均匀编号的一个或多个操作602-644示出的一个或多个操作、功能、或动作。通过非限制性示例,这里可以参考结合图1、图4-5、图7-9、图11-12、图14、和图18-20中的任一者以及相关的地方描述的示例语音识别设备或组件描述处理600。
[0084] 处理600可以包括“接收输入语音信号”602,此时,这包括接收如上所述的模拟输入语音信号,并且该模拟输入语音信号可以被单独ADC(或者数字麦克风处的ADC)转换为数字信号或者可以被下面说明的增量调制单元本身转换。另外,如提到的,该操作可以包括接收连续信号,该连续信号没有被划分为帧,而是通过使用时钟以例如16kHz的采样速率按间隔被采样以形成离散时域。
[0085] 处理600随后可以包括“预处理输入语音信号”604,而不管其是否被认为是特征提取单元或者ASR流水线上在特征提取单元上游的单独预处理单元的部分,预处理可以包括将信号置于用于特征提取的充分形式的任意操作。预处理可以包括噪声消除、对信号进行平坦化的预加重滤波、识别话语的端点的语音激活检测(VAD)以及线性预测、诸如能量测量的添加物、以及诸如加权函数、特征向量叠加、变换、降维、以及标准化之类的其他处理操作。当提供了单独ADC时,可以在ADC之前、之后、或者在之前和之后二者进行预处理。这些操作中的一些操作也可以在沿着ASR流水线的其他位置执行。
[0086] 处理600可以可选地包括“执行ADC”606。对于这个选项,ADC由诸如ADC 501(图5)的单独ADC单元(包括数字麦克风处的ADC单元)执行,以将采样的模拟信号值转换为数字二进制代码或值(或更具体地,转换为PCM代码)。当使用ADC时,PCM代码形式的数字信号随后被提供给多级数字增量调制单元。除此之外,省去了单独ADC,并且多级增量调制ADC单元执行ADC本身。
[0087] 参考图7,处理600可以包括“执行增量调制”608。这个操作可以由数字或非数字增量调制器执行。示例多级增量调制ADC单元700(类似于增量调制单元402(图4))接收模拟形式的输入语音信号,并且通过提供表示输入语音信号中的电压的幅度和改变的数字指示符执行ADC本身。换言之,增量调制器(调制单元)将模拟信号转换为事件驱动代码用于事件驱动的FIR滤波器单元。
[0088] 更详细地,多级增量调制ADC单元700具有时钟702,该时钟至少控制增量调制单元700处的操作的定时,但是可以是用于增量调制单元700作为其部分的特征提取单元(例如,特征提取单元400)的其他组件的时钟驱动器。增量调制ADC单元700还可以具有一组电压比较器704(具有比较器704a至704-kth)、控制逻辑706、对参数项进行累加的累加器708、数模转换器(DAC)710、以及加法器712和714。
[0089] 在操作中,增量调制单元700接收连续的模拟输入语音信号的采样x(t),并且处理600包括“确定输入语音信号的表示值和采样参数项的累加之间的负差值和正差值”610。具体地,输入模拟声学信号被分割一次,并且一次分割使得其符号改变以提供正和负值。这些采样随后在加法器712和714被与模拟累加值(从参数项的数字累加值acc[n]转换得出的dac(t),其中,每个采样一个参数项)差分。因此,加法器714执行(x(t)+-dac(t)),同时加法器712执行(dac(t)+-x(t))以提供正和负差值,并且这些差值分别被看作用于比较的输入语音信号的表示值,并且近似表示输入信号从一个采样到另一采样的改变。
[0090] 由累加器单元708计算的累加值acc[n]考虑有效指示符、方向指示符、和移位指示符,其中,累加值acc[n]由以下等式形成:
[0091] acc[n]=ΣN=0…(n-1){(Valid[N])×(UP/DN[N])×(2Shift[N])}  (1)
[0092] 其中,有效指示符、UP/DN指示符、和移位指示符是由增量调制单元700的控制逻辑706生成的指示符。有效指示符是指示输入语音信号的信号值(电压或数字代码值)何时从一个采样到下个采样(或者当前采样n)改变并且已经改变至少一个阈值等级(或参考电压等级或在这里为一个VLSB)的指示符。UP/DN指示符是方向指示符,该方向指示符指示信号值从输入语音信号的一个前一采样(或前一表示值)到下个采样上升还是下降。移位指示符是指示与有效指示符相关联的改变的大小的移位指示符,并且是输入语音信号从前一采样(或前一表示值)到连续的下个采样改变的阈值等级的数目的计数。N是至今为止分析的信号的采样0至n-1的数目。下面通过讨论控制逻辑706的输出提供计算指示符的其他细节。
[0093] 返回到准备比较,一旦建立了输入语音信号的采样的正和负表示值,每个表示值被再次分割,但是现在针对正在由比较器704测试的每个阈值分割一次。对于这些分割中的每次分割,由比较器704a至704-kth之一将输入语音信号与阈值进行比较。这里,术语“阈值等级”是指具有上限阈值和下限阈值的值范围,其中,当接收到模拟输入信号时,这些阈值可以是电压等级,并且当接收到数字输入信号时,这些阈值可以是代码等级。用于形成与阈值等级比较的表示值的输入声学信号的采样或部分的值可以被称为具有信号值,不管实际上是模拟电压等级(或值)还是数字代码值。
[0094] 相应地,对于比较,处理600可以包括“获取多个阈值等级的阈值”612。这里用于调制器700的阈值分别是作为最低敏感位电压VLSB的因子的参考电压,该最低敏感位电压可以基于ADC的分辨率和信号电压(或代码)的满量程(或其他已知方法)被正常设置。因此,通过一个示例,阈值在(1x VLSB)到(2kth-1x VLSB)的范围内,并且该范围被提供两次:一个范围用于正输入语音信号表示值,并且另一个范围用于负输入语音信号表示值。可以按照这种二进制加权方式设置这些阈值,以相比CT非时钟Schell特征提取和FFT频域特征提取减少所使用的阈值等级的数目从而减少所处理的事件的数目。通过一种形式,相对于参考电压Vrefkth-1 kth-1设置阈值,该参考电压是两个范围(或者-2 xV LSB到2 xVLSB的范围)之间的零点。Vref可以根据本文描述的指示符从一个采样到另一采样变化(参见下面的等式(2)),并且第一Vref被设置为零。由于阈值是相对于Vref设置的,所以阈值的值也可以从一个采样到另一采样变化。
[0095] 处理600可以包括“分别将输入语音信号差值与多个阈值等级的阈值进行比较”614。这包括将表示值(差值)与所建立的每个阈值进行比较。这可以根据时钟以同步方式执行,以使得相同输入语音信号采样的比较沿着时钟脉冲在相同时刻或者相同脉冲上的相同点进行。这可以称为并行执行比较或被同步。还提到,时钟可以被设置为16kHz,以控制同步后的比较定时,但是在等于或小于奈奎斯特采样定理速率的最大值,或者换言之,为最高模拟频率分量的两倍(这避免了重叠)。通过一种形式,采样(进而比较)以10ms的间隔被执行。
[0096] 参考图7A,处理600随后可以包括“生成有效指示符、移位指示符、以及方向指示符”616,并且在一个示例形式中,由示例控制逻辑706生成。控制逻辑706可以接收包括当前比较采样722和最后比较采样724在内的比较结果720。每个比较采样可以具有1s和0s的向量或词(具有来自每个比较器的一个数字),其中,1指示表示值高于阈值,并且0指示表示值小于阈值(或反之亦然),从而揭示出等级从一个采样到另一采样的移位和改变。例如,前一采样可以具有结果00010,并且下个采样具有表示两个等级沿着输入信号向下移位的结果01000。相邻采样的比较可以被提供给差分单元726,该差分单元726提供指示两个连续采样之间的差分的计数,该计数随后被提供给分别确定它们的相应指示符的有效单元728、移位单元730、以及方向单元732。
[0097] 通过一种形式,有效单元728确定有效指示符为比较结果中的数字移位的计数。通过另一种形式,相对于上述参考电压Vref计算有效指示符。通过一种形式,参考电压从一个采样到另一采样变化(如图10所示),从而改变阈值,并且该参考电压如下被计算:
[0098] Vref[n]=Vref[n–1]+(Valid[n–1]x UP/DN[n–1]x 2shift[n–1]x VLSB)  (2)[0099] 其中,Vref如上所述从零(Vref[0]=0)开始,并且其中VLSB保持恒定。有效[n]指示符然后如下被计算:
[0100]
[0101] 否则,有效[n]=0(没有等级改变)
[0102] 对于移位指示符,控制逻辑706例如按如下来计算移位指示符:
[0103]
[0104] 由于其舍入到最接近的下整数,其确定移位指示符的近似值而不是精确值。当输入语音信号减小时,移位成比例地减小(例如,从+2到+1)。因此,通过一种形式,移位值指示相对于从+1到-1VLSB的零阈值等级的当前信号采样的阈值等级。
[0105] 方向单元732如下设置方向(UP/DN)指示符:
[0106] UP/DN=sign(x(t)–dac(t))  (5)
[0107] 使得当输入语音信号从一个采样到另一采样上升时,UP/DN为+1,并且当输入语音信号从一个采样到另一采样下降时,UP/DN为-1。控制逻辑706随后提供如702所控制的三个指示符,并且向梅尔频率有限冲激响应(FIR)滤波器单元提供这些指示符。
[0108] 参考图10,提供阈值等级和脉冲模式示意图1000来说明指示符。16kHz脉冲模式1002具有与在时间t=Ts至4Ts采样的一个采样阈值(或电压或代码)等级线对齐的脉冲边缘。针对每个等级线还示出了产生的有效指示符、移位指示符、以及UP/DN指示符,其中,每条线Ts到4Ts示出了针对每个采样电压等级线由等级(2)计算得出的Vref[n],并且在每条采样电压等级线上相对于Vref[n]设置阈值+/-2k x VLSB。还示出了连续输入语音信号x(t),并且利用(在输入语音信号x(t)横跨采样电压等级线所指示的)产生的电压(或数字)值对该输入语音信号进行采样。通过使x(t)表示用于与阈值比较的输入语音信号来简化图表,但是将理解的是,线x(t)实际上是根据等式(1)和以上的增量调制单元700的描述的差值或表示值的线,因此x(t)信号线实际上表示(x(t)-dac(t))或(x(t)-acc[n]),作为采样电压线Ts至4Ts上的表示值并且被与阈值比较。对角散列标记示出了对于采样Ts到4Ts中的每个采样,输入语音信号(或表示值)落入了哪个等级。
[0109] 例如,以上等式(2)测试表示值是否大于来自Vref的-1VLSB至1VLSB。图表1000示出,在t=Ts,表示值x(t)-Vref大于1VLSB,使得假设在t=0,x(t)在1和2VLSB之间,在t=Ts出现事件或改变,因此有效指示符为1,并且x(t)现在大于2xVLSB并小于4xVLSB,还使得等式(3)产生计算为1的移位。移位也可以通过从初始底部或峰值等级对等级进行计数来确定。同样,对于指示改变的采样2Ts,移位被计算为+2。
[0110] 如提到的,Vref[n]的位置可以根据等式(2)在每个采样[n]Ts上变化。因此,对于采样3Ts,仍然存在改变,但是移位不变,因为x(t)表示值相对于Vref[3]保持在相同数目的等级中。在采样4Ts,因为x(t)-dac(t)小于1VLSB,所以没有出现改变或事件。
[0111] 处理600可以包括“只要接收到输入语音信号就重复增量调制”618。这可以包括具有“对采样参数项进行累加”620的处理600,其中,有效、移位、和方向指示符被提供给累加器单元708以考虑累加值acc[n],并从输入语音信号表示值减去该累加值acc[n],用于上面已经描述的下个采样与阈值的差值的比较。这可以具有处理600,当增量调制器还充当ADC并且比较也如上所述地在模拟域执行时,处理600包括“执行DAC”622以形成dac(t)(通过转换acc[n]以从输入语音信号采样x(t)减去或添加,用于下次比较)。该处理随后循环返回操作610,以准备用于执行比较的下个输入语音信号采样。
[0112] 参考图8,可以提供替代的多级数字增量调制单元800,使得处理600包括“执行ADC”的操作608,使得增量调制单元接收由例如数字麦克风中的传统或其他ADC生成的输入PCM代码(d[n])形式的数字信号,并且DAC操作622被省略,从而使得累加acc[n]被直接添加到数字信号d[n]或直接与数字信号d[n]相减以形成用于与阈值比较的差值或表示值。另外,数字增量调制单元800具有数字代码比较器来代替增量调制单元700的模拟比较器704,以在数字域中执行比较。因此,数字(或代码)阈值简单地为THMIN至THMINx2kth-1用于正和负比较二者,其中,THMIN是对应于来自图7的VLSB的数字代码中的最小阈值等级,并且这些阈值被示出为对于比较器的‘A’输入,且输入语音信号表示值是对于比较器的‘B’输入,且每个比较器在B≥A时提供0,并且在其他时候提供1(尽管也可以使用其他配置)。另外,多级数字增量调制单元800的操作和结构类似于增量调制单元700的操作和结构,因而不需要再次描述具有相同参考标号的那些组件。结果同样是方向(UP/DN)、移位、和有效指示符被提供给梅尔频率FIR滤波器单元。
[0113] 现在参考图11,处理600可以包括“执行梅尔频率FIR滤波”624。因此,事件驱动的梅尔频率FIR滤波器单元1100可以被增量调制ADC单元700或数字增量调制单元800用于T-MFSC流水线或特征提取单元400或500。FIR滤波器单元1100示出了由滤波器单元1100管理的多个滤波器中的一个滤波器1101的逻辑和流程。通过一种形式,可以存在总共多达F个梅尔频率滤波器,其中,单个滤波器可以是f=1至F。通过一个示例,F=40个梅尔频率滤波器可以是其他数目的滤波器,例如,10、13、或25。每个滤波器提供梅尔标度三角函数的系数,该梅尔标度三角函数具有与其他滤波器的频率范围重叠(但不同)的不同梅尔标度频率范围。
[0114] 每个滤波器1101具有用于总计M个抽头(或分支)的多个梅尔频率系数hm(m=0至Mtap-1),并且滤波器1101为每个系数hm提供抽头从而提供电路(或逻辑)的分支,以使用指示符对梅尔频率系数进行修改或加权。每个滤波器1101还可以具有相同数目的抽头,从而具有相同数目(M)的系数hm。对于这个示例,每个滤波器1101具有一组分支1160-0至1160-M。滤波器逻辑还包括延迟元件1102-m(包括1102-0至1102-M-1),该逻辑元件基于事件(或改变)控制指示符从一个分支到另一分支的流动。这些延迟元件可以被称为延迟抽头。滤波器逻辑的细节如下。
[0115] 参考图12,每个滤波器1101在数字信号处理器(DSP)的管理下,以16kHz从增量调制单元700或800接收有效、UP/DN、和移位三个指示符。处理600随后包括“将移位、有效、和方向指示符传播通过FIR滤波器分支”626。这里,该操作包括使用示例延迟元件1200,该延迟元件可以与延迟元件1102-m之一相同或类似。
[0116] 当可以在没有延迟的条件下对第一抽头或第一分支1102-0进行操作以对第一梅尔频率系数h0进行修改或加权时,指示符随后被传播通过延迟元件序列去往其他分支用于对它们的梅尔频率系数进行加权,并且具有加权后的梅尔频率系数的每个分支的加权后的梅尔频率系数随后在每次进行指示符的传播之后被求和。在说明如何在每个分支对梅尔频率系数进行加权并对它们进行求和之前,说明控制传播的延迟元件。具体地,延迟元件1200接收位于FIR滤波器的某个分支处的有效[m]、移位[m]、和UP/DN[m]指示符,用于传播到FIR滤波器的分支m+1,该分支应用从增量调制单元或前一分支接收的系数hm+1。延迟元件分别具有CLK 1202,其可以是数字信号处理器的(但是可以由其他逻辑提供),并且在这里针对该示例CLK 1202被设置在16kHz。时钟信号被提供给DFF 1206以提供移位[m+1]指示符值,被提供给DFF 1208以提供有效[m+1]指示符,并且被提供给DFF 1210以提供UP/DN[m+1]指示符值,在接收到时钟信号时所有这三个指示符被提供给下个延迟元件,从而利用在FIR滤波器接收并被同步到时钟的每个采样进行传播。
[0117] 再次返回到梅尔频率FIR滤波器1100(图11)以说明分支1160-1至1160-M中的每个分支处的逻辑,处理600可以包括“在每个梅尔频率滤波器应用梅尔频率系数,其中,滤波器中的每个分支具有一个系数”628,并且被针对每个梅尔频率(FIR)滤波器执行。在第一分支1160-0,以及在放置在每个延迟元件后面的其他分支1160-1至1160-M,提供对梅尔频率系数hm进行加权或者在没有改变时提供零的逻辑。首先,对于第一分支1160-0,UP/DN[m]指示符被提供给多路复用器(MUX)1116,以充当对于选择梅尔频率系数hm的正或负版本的控制。
梅尔频率系数hm是通过已知方法计算得出的。例如,梅尔频率倒谱系数(MFCC)和梅尔频率频谱系数(MFSC)已经被用作声学特征,用于输入到很多不同技术中的语音识别。分别参见由Davis,S.B.等所著的“Comparison of Parametric  Representations for 
Monosyllabic Word Recognition in Continuously Spoken Sentences”,IEEE Transactions on Acoustics,Speech,and Signal Processing,第ASSP-28卷,第4项,第
357-365页(1980);由He,Q.等所著的“An adaptive Multi-Band System for Low Power Voice Command Recognition”,Interspeech,第1888-1892页(2016);由He,Q.等所著的“An Architecture for Low-Power Voice-Command Recognition Systems”,PhD Thesis Dissertation(2016);由Price,M.等所著的“A 6mW,5000-Word Real-Time Speech Recognizer Using WFST Models”,IEEE J.Solid-State Circuits,第50卷,第1项,第102-
112页(2015);由Price,M.等所著的“A Scalable Speech Recognizer with Deep-Neural-Network Acoustic Models and Voice-Activated Power Gating”,IEEE International Solid State Circuits Conf.(ISSCC)Dig.Tech.Papers,第244-245页(2017);以及由Amodei,D.等所著的“Deep Speech 2:End-to-End Speech Recognition in English and Mandarin”,Proceedings of Machine Learning Research,第173-182页(2016)。
[0118] 移位[m]指示符值被提供给左移位单元1126,该左移位单元将梅尔频率系数hm的二进制值左移位该移位指示符值的数字数目,以更多地加权梅尔频率,其中,移位值越大,输入语音信号越高。这消除了执行乘法用于加权的需要。因此,例如,如果移位指示符是2,则梅尔频率系数的二进制值被左移位2位,这有效地将梅尔频率系数与2s(或者这里的22)相乘。有效指示符控制多路复用器1136,该多路复用器在有效指示符指示存在改变时(例如,当有效指示符为1时)转发加权或修改后(或移位后)的梅尔频率系数,或者在有效指示符为0时转发0。处理600可以包括具有“提供移位后的系数”630的操作。分支的逻辑结构与滤波器中的其他分支中的每个分支相同或类似。预见到其他分支结构,例如,具有控制是否在第一位置对系数进行移位的有效指示符,从而节省了进一步的计算负担。
[0119] 处理600然后可以包括“对滤波器的多个分支的移位系数进行求和”632。这里,FIR求和单元1146具有一个或多个加法器1148,当每个声学信号采样的指示符被添加到FIR滤波器时,该一个或多个加法器对所有分支的移位梅尔频率系数和零一起进行求和。在本示例中,根据时钟执行求和,以使得在相同时间从分支输出的修改后的系数被累加在一起,以形成表示输入语音信号采样的数目(与分支或系数的数目m相同)的单个总和。在输入语音信号开始时,没有数据的分支可以不提供总和或者可以提供零用于求和。
[0120] 然后,可以将总和放置在寄存器1150中,这些总和将被收集并作为滤波器输出提供给累加单元(例如,分别提供给特征提取单元400或500的累加器410或510)。
[0121] 接着,处理600可以包括“执行FIR滤波器输出的能量运算”634,并且通过一个选项,处理600可以包括“累加某个数目的采样或时间间隔上的各个滤波器的平方输出”636。通过其他选项,该操作可以包括“累加滤波器输出的幅度,而不对滤波器输出进行平方”
638。因此,如上面提到的,使用累加值表示帧的基础是帕塞瓦尔定理,其中,时域能量的平方和(Σ|x[i]|2)等于频域能量的平方和。累加本身对某个数目的采样或某个总时间间隔的滤波器输出进行求和,以确定每个梅尔频率滤波器的总能量或中间系数,从而形成数据帧。如上面提到的,一个示例对16kHz的每个帧的160个采样进行累加。结果是对应于每个滤波器的一个元件的中间梅尔频率系数的向量,并且其中向量被提供用于每个帧。
[0122] 另外,如以上利用图9提到的,帕塞瓦尔累加器可以用于其他选项,而不一定局限于用于多级增量调制和事件驱动滤波器。因此,基线T-FSC特征提取可以接收提供给非事件驱动的FIR的数字输入信号采样,并且滤波器输出(或滤波器输出能量或能量值)被提供给帕塞瓦尔定理累加器(例如,累加器910),以提供频域相关中间系数从而形成上述MFSC和/或MFCC。还提到,另一选项是提供具有增量调制的基线T-MFSC CT ADC特征提取,并且通过连续时间中的选项而不使用离散采样,仅定义了单个阈值等级并向事件驱动的FIR滤波器提供改变和UP/DN指示符。滤波器输出随后被提供给如上所述的帕塞瓦尔定理累加器。
[0123] 对于有关帕塞瓦尔累加器的又一选项,该操作还可以包括“在不对滤波器输出进行平方的条件下累加滤波器输出的幅度”639,以消除帕塞瓦尔定理累加器中用于计算“平方”(Σ|x[i]|2)的乘法。因此,通过另一种形式,该操作在不执行乘法的条件下被执行。已经发现,该差值不是明显用于ASR的特征提取目的。因此,每当使用帕塞瓦尔累加器时,本方法可选地可以使用滤波器输出的幅度的直接总和Σ|x[i]|或求和。
[0124] 参考图13A至13C,谱图1300、1302、和1304示出了来自本文描述的不同特征提取技术中的一些特征提取技术的结果。产生这些谱图的语音输入是记录在1秒长度中的词“yes”(例如,来自谷歌的语音命令数据集),并且40个梅尔频率滤波器具有FIR滤波器阶数(Ntap)100和FIR滤波器权重8b。使用25毫秒长的帧和15毫秒的帧步长。谱图1300示出了已经使用FFT和频域梅尔频率滤波的传统MFSC特征提取的结果。谱图1302示出了基线T-FMSC基线特征提取(图9)的结果,该基线T-FMSC基线特征提取使用非事件驱动的FIR滤波(使用乘法)和帕塞瓦尔累加器,该帕塞瓦尔累加器计算滤波器输出能量的平方能量值Σ|x[i]|2。谱图
1304示出了利用多级增量调制ADC、事件驱动的梅尔频率FIR滤波、并且使用计算平方能量值的帕塞瓦尔定理累加器的T-MFSC事件驱动的特征提取。这里的增量调制使用LSB 24和阈值+/-(1,21,22,...,211)。来自谱图的视觉检查结果示出在能量强度、滤波器索引、以及帧索引的所有三个谱图中对三个特征进行相关,从而示出帕塞瓦尔累加器相对于FFT技术足够精确。另外,利用T-MFSC训练的简单完全连接的神经网络的Σ|x[i]|2和Σ|x[i]|相对于利用MFSC训练的神经网络示出可比较的精度,用于利用“资源管理”数据集的关键词挑取。
这示出了使用Σ|x[i]|而不使用Σ|x[i]|2以较低的能量成本给出可比较的精度。
[0125] 处理600随后可以包括“执行对数运算以生成MFSC”640,这可以通过已知方法将来自帕塞瓦尔累加器的中间系数转换为MFSC,该对数运算被概括为:
[0126] Log10(A)=MFSC  (6)
[0127] 其中,A是每帧的系数向量中的每个累加或中间梅尔频率系数。向所有滤波器的累加应用对数运算后的结果是表示梅尔标度并被提供用于每帧的MFSC或特征的集合或向量。
[0128] 处理600还可以可选地包括“提供梅尔频率倒谱系数(MFCC)”642,并且这可以包括对MFSC执行离散余弦变换(DCT)以形成MFCC。
[0129] 处理600随后可以“执行前端ASR以识别语音”644。这可以包括向声学评分单元提供系数,其中,MFCC或MFSC或它们二者可以被传递给ASR系统的声学评分单元或者对于该声学评分单元可访问。然后,解码器可以接收声学得分以形成短语或词假设,这些短语或词假设随后被从解码器提供给语言解释器,以提供最终的词识别,如针对例如上面的系统10所说明的。
[0130] 参考作为另一选项的图14,可以通过使用共享延迟抽头、时分复用的ALU、和/或具有基于索引的访问的共享系数实现进一步的功率降低和减少的存储器需求。所有三个这些特征被示出在特征提取梅尔频率FIR滤波器1400上。滤波器单元1400可以具有共享延迟抽头1402,这些延迟抽头包括延迟元件1402a至1402m。延迟元件与以上利用滤波器单元1100(图11)描述的延迟元件相同,因此在这里不需要再次描述。但是,在这种情况中,可以与所有梅尔频率滤波器共享延迟抽头,因为本T-MFSC技术可以并行使用很多FIR滤波器,其中,相同的增量调制事件驱动的指示符被提供给具有相同结构的延迟抽头(而不管在软件或硬件、或者一些组合中),例如,已经在上面利用延迟元件1200(图12)描述了DFF。因此,横跨所有或各个FIR滤波器共享延迟元件消除了冗余的延迟抽头,从而减少了计算负担、存储器需求、和处理器面积。
[0131] 通过另一选项,用于系数移位和累加的ALU可以被时分复用,以在所有或各个滤波器中间以及滤波器的所有或各个分支(抽头)中间共享,从而减少泄露功率和物理ALU面积。滤波器单元1400具有算术逻辑单元(ALU)1408,该算术逻辑单元操作FIR滤波器分支1404,这里,FIR滤波器分支包括提供梅尔频率系数hm的多路复用器1420、提供负系数的符号改变单元1422、由UP/DN[m]指示符控制的多路复用器1424、根据移位[m]指示符对系数移位的左移位单元1426、以及在发生事件时转发加权系数或者零的有效[m]多路复用器1428,均如利用滤波器单元1100的类似组件说明的。ALU 1408还可具有加法器1430和多路复用器1432,以提供不同滤波器和分支的总和。提供具有多路复用器1434a至1434c的一组多路复用器
1434,以控制从延迟元件到ALU 1408的指示符输入。控制器1412控制多路复用器转发正确的指示符值,形成正确的滤波器选择(i=1至F)和每个指示符(有效、移位、和UP/DN)的滤波器的正确分支(0至Mtap-1)。
[0132] 时分复用的ALU可以减少ALU的泄露功率消耗并且可以将ALU的面积减少当前面积其中,Mtap,i=第i个FIR滤波器中的延迟抽头的数目,并且Ffilter等于FIR滤波器的总数目,这以简单数字控制器1412以比 更快的频率运行为
代价,其中,Fs=ADC采样频率或1/(单位延迟)。例如,对于每个滤波器具有100个延迟抽头的40个梅尔频率FIR滤波器,时分复用的ALU可以减少ALU的泄露功率并且可以将ALU的面积减少当前面积x(1/4000),并且数字控制器可以以Fs x 4000的频率运行。
[0133] 特征提取FIR滤波器单元1400还可以允许在FIR滤波器中间共享梅尔频率系数,这还减少了存储器需求,从而进一步降低了泄露功率。对于这种特征,共享系数单元1416向ALU 1408提供梅尔频率系数,并且索引(IDX)存储器1414指示向分支加载哪些系数并且也可以由控制器1412控制。系数单元可以利用CLK(FCLK≥Mtap x Fs)进行操作,并且可以提供(Idx0-IdxMtap-1)=log2Msc的索引精度。ALU向累加器1406输出滤波器输出,累加器1406具有保存输出的寄存器1418,并且可以针对具有这里作为示例示出的相应不同滤波器输出1410a至1410c的每个滤波器重复这个处理,但是可以提供更多滤波器。控制器1412可以与所示出的每个滤波器通信,以控制正在分析哪个滤波器以及向ALU提供哪些系数用于滤波器分支的处理。
[0134] 参考图15,图表1500示出来自40个梅尔频率FIR滤波器的4000个浮点精度系数的直方图,其中,每个滤波器100个延迟抽头。水平轴是系数值,并且竖直轴是任意特定系数值被使用多少次的计数。如上所述,来自不同滤波器的很多系数可以是相同的,因为每个梅尔频率FIR滤波器的梅尔标度三角函数定义了重叠的梅尔标度范围。浮点系数被集中在零周围并且相互接近,所以可以将它们压缩到仅Msc个共享系数,这些系数分别具有Fsc位定点精度,而没有滤波器性能的显著劣化(sc指代共享系数)。
[0135] 与具有 (P=非sc系数的精度)的系数存储器需求的非sc FIR滤波器相比,共享系数FIR滤波器仅使用尺寸为
的系数存储器,从而将存储器使用减少大约
log2Msc/P。例如,对于P=8位,Psc=8位,并且Msc=16,存储器减少大约50%。
[0136] 参考图16A-16J,均匀编号的图表1600至1618示出了利用多个不同参数的滤波器的频域中的传递函数。首先,来自理想梅尔频率滤波器的结果被示出(在每个图表上首先示出了最高峰值,然后示出了峰值1620以外的平坦区域)。将其与以下各项比较:(1)具有非共享浮点精度的FIR滤波器(最初是蓝色,并且在按键上称为“浮动”),(2)具有4b非共享定点精度的FIR滤波器(最初是黑色,并且在按键上被称为“固定4b”),以及(3)具有8b定点精度的16个共享梅尔频率系数的FIR滤波器(最初是红色,并且在按键上被称为“共享”)。频域图沿水平轴示出了频率,并且沿竖直轴示出了幅度。图表还用于总共40个滤波器中编号为31至40的不同滤波器,每个滤波器具有从用于滤波器21的30个系数(在图表上被称为Mtaps)到用于滤波器40的21个系数范围中的不同数目的梅尔频率系数。具有共享系数的FIR滤波器具有如上提及的在每个滤波器处使用的总共21至30个系数的Msc=16个共享系数(并且精度为Psc=8b)。尽管很难在图表上看出,但是共享技术优于利用非共享的4b定点精度系数的对应FIR滤波器,并且示出了与具有非共享浮点精度系数的FIR滤波器类似的性能。图表上峰值外的频率越低,性能越好。这可以很容易地在图表1618上看出。
[0137] 尽管一些特征可以单独改善上述特征提取,但是结合很多上述特征可以使T-MFSC特征提取实现更显著的计算成本和存储器需求降低,并且还可以降低后端处理的计算成本(因为较小数目的事件产生较小数目的帧(或较少数目的非零帧),从而需要的计算更少)。
[0138] 下面的表格总结了传统MFSC技术和本文公开的T-MFSC技术之间的计算负担和存储器需求之间的不同。表1总结了对于采样频率=16kHz以及25毫秒长的帧,MFSC和T-MFSC需要的运算数目。注意,在下面的表1和表2中,NF=F(上面提到的滤波器的数目)。
[0139] 表1.MFSC和T-MFSC需要的算术运算的数目
[0140]
[0141] 表2总结了40个梅尔频率滤波器、8b定点精度数据(P=8b,Psc=8b),Msc=16,MFRAME,OV=31,并且MFRAME,NON-OV=13的存储器需求,其中,ov代表重叠。对于这里的特定情况,T-MFSC将存储器需求减少87%(利用非共享FIR滤波器系数),并且将每个FIR滤波器中的延迟抽头的数目减少92%(利用共享系数)=50。对于表1和表2,假设用于上下文和8位精度的325毫秒窗口。单位以字节示出。
[0142] 表2.对于滤波器数目(NF)=40,抽头数目(Mtap)=50,采样频率=16kHz,以及25毫秒长的帧,MFSC和T-MFSC的示例情况的存储器需求。
[0143]
[0144]
[0145] 参考图17,图表1700比较传统MFSC、本基线T-MFSC、和利用多级增量调制的本T-MFSC所需要的运算的数目(横跨不同数目的梅尔频率滤波器和不同事件速率)。事件速率被定义为两个相邻采样中的数据是否改变以及[事件]/[总采样数目]。示出了T-MFSC具有有效缩放,因为T-MFSC中的运算数目随着事件速率和滤波器数目的增加变得更大,而传统MFSC中的运算数目独立于事件速率并且在滤波器数目增加时具有中等到低缩放效率(主要由于FFT运算的计算负担)。例如,对于40个滤波器和事件速率=0.4,T-MFSC需要相比传统MFSC的1/5的计算。基线MFSC示出了比梅尔频率滤波器更高的计算负担。如上所述,基线MFSC的优点在于,相比执行传统MFSC的通用DSP的功率消耗,使用(一个或多个)神经网络处理器时的功率减少了。
[0146] 将明白的是,处理300和/或600可以由采样ASR系统10、400、500、700、800、900、1100、1200、1400、1800、1900、和/或2000提供,以操作本公开的至少一些实施方式。另外,图
3和图6A-6B的操作中的任意一个或多个操作可以响应于由一个或多个计算机程序产品提供的指令进行。这些程序产品可以包括提供指令的信号承载介质,这些指令在由例如处理器执行时可以提供本文描述的功能。计算机程序产品可以提供在任意形式的一个或多个机器可读介质中。因此,例如,包括一个或多个处理器核的处理器可以响应于由一个或多个计算机或机器可读介质传递到处理器的程序代码和/或指令或指令集而进行本文的示例处理的一个或多个操作。一般,机器可读介质可以运送可以促使任意设备和/或系统如本文所述地执行的程序代码和/或指令或指令集形式的软件。机器或计算机可读介质可以是非易失性物品或介质,例如,非暂态计算机可读介质,并且可以用于上面提到的任意示例或其他示例(除了其不包括暂态信号本身以外)。其还包括信号本身以外的、可以通过“暂态”方式临时保存数据的那些元件,例如,RAM等。
[0147] 如本文描述的任意实施方式中使用的,术语“模块”是指被配置为提供本文描述的功能的软件逻辑、固件逻辑、和/或硬件逻辑的任意组合。软件可以具体化为软件包、代码、和/或指令集或指令,并且本文描述的任意实施方式中使用的“硬件”可以例如单独地或以任意组合包括存储由可编程电路执行的指令的硬连线电路、可编程电路、状态机电路、和/或固件。模块可以统一或单独具体化为形成更大的系统(例如,集成电路(IC)、片上系统(SoC)等)的部分的电路。例如,模块可以具体化为用于经由本文讨论的编码系统的软件、固件、或硬件实现逻辑电路
[0148] 如本文描述的任意实施方式中使用的,术语“逻辑单元”是指被配置为提供本文描述的功能的固件逻辑和/或硬件逻辑的任意组合。逻辑单元可以统一或分别具体化为形成更大的系统(例如,集成电路(IC)、片上系统(SoC)等)的部分的电路。例如,逻辑单元可以具体化在用于经由本文讨论的编码系统的硬件或固件实现的逻辑电路中。本领域普通技术人员将明白的是,由硬件和/或固件执行的操作可以替代地经由软件实现,该软件可以具体化为软件包、代码、和/或指令集或指令,并且还可以明白的是,逻辑单元还可以利用软件的一部分来实现其功能。
[0149] 如本文描述的任意实施方式中使用的,术语“组件”可以指模块或逻辑单元,因为在上面描述了这些术语。相应地,术语“组件”可以指被配置为提供本文描述的功能的软件逻辑、固件逻辑、和/或硬件逻辑的任意组合。例如,本领域普通技术人员将明白的是,由硬件和/或固件执行的操作可以替代地经由软件模块实现,这些软件模块可以具体化为软件包、代码、和/或指令集,并且还可以明白的是,逻辑单元还可以利用软件的一部分来实现其功能。
[0150] 参考图18,根据本公开的至少一些实施方式布置示例语音识别处理系统1800。在各种实施方式中,示例语音识别处理系统1800可以具有形成或接收声学信号数据的一个或多个音频捕捉设备1802。这可以通过各种方式实现。因此,在一种形式中,语音识别处理系统1800可以是诸如麦克风的音频捕捉设备,并且音频捕捉设备1802在这种情况下可以为麦克风硬件和传感器软件、模块、或组件。在其他示例中,语音识别处理系统1800可以具有包括或可以为麦克风的音频捕捉设备1802,并且逻辑模块1804可以与音频捕捉设备1802远程通信或者可以通信地耦合到音频捕捉设备1802,用于进一步处理声学数据。
[0151] 在每种情况中,这种技术可以包括电话,智能电话,听写机,其他声音记录机,移动设备或车载设备,诸如智能手表、智能眼镜、或训练带的可穿戴设备,或它们的任意组合。因此,在一种形式中,音频捕捉设备1802可以包括音频捕捉硬件,该音频捕捉硬件包括一个或多个传感器以及致动器控制装置。这些控制装置可以是用于操作传感器的传感器模块或组件的部分。传感器组件可以是音频捕捉设备1802的部分,或者可以是逻辑模块1804的部分,或者可以是它们二者的部分。这种传感器组件可以用于将声波转换为电声学信号。音频捕捉设备1802还可以具有AID转换器、其他滤波器等,以提供用于语音识别处理的数字信号。
[0152] 在所示出的示例中,逻辑模块1804可以包括可以具有A/D转换(ADC)单元1808的语音识别单元1806,或者ADC单元可以替代地为音频捕捉设备1802的部分。通过另一选项,不提供ADC,并且声学前端单元1810替代地执行ADC,声学前端单元1810也可以执行其他预处理音频任务。声学前端特征提取单元1810可以具有增量调制器单元1814、FIR滤波器单元1816、执行基于帕塞瓦尔定理的能量运算的累加器单元1818、以及提供系数形式的特征提取的梅尔频率频谱系数生成单元1840(以上描述了所有这些单元)。
[0153] 另外,声学后端单元1812可以具有提供声学特征的声学得分的声学评分单元1844、提供假设词序列的WFST解码器1846、以及基于WFST解码器的输出确定用户意图的语言解释器执行单元1848。逻辑模块可以通信地耦合到音频捕捉设备1802的组件,以接收原始声学数据。逻辑模块1804可以被认为或不被认为是音频捕捉设备的部分。
[0154] 形成逻辑单元1804的这些单元可以执行以上所述的与这些单元的标题相关的操作,并且可以替代地根据以上提供的选项提供。还可以提供其他单元,例如,DCT单元,以实现本文描述的特征提取。
[0155] 语音识别处理系统1800可以具有一个或多个处理器1820和存储器存储区1824,其中,该一个或多个处理器可以包括诸如Intel Atom的专用加速器1822,该存储器存储区可以保存或不保存本文描述的语音输入信号的各种版本。加速器可以由上面提到的一个或多个固定功能处理器、通用DSP、或一个或多个神经网络处理器形成。该系统还可以具有提供听觉响应的至少一个扬声器单元1828、提供文本的图像1834作为对于声学信号的视觉响应的一个或多个显示器1830、响应于声学信号执行动作的一个或多个其他终端设备1832、以及天线1836。在一个示例实施方式中,语音处理系统1800可以具有显示器1830、通信地耦合到显示器的至少一个处理器1820、以及通信地耦合到处理器的至少一个存储器1824。天线1836可以被提供用于匹配的最佳词序列或输入声学信号或其他相关命令到可以对这种判定进行动作的其他设备的传输。另外,语音识别处理的结果可以存储在存储器1824中。如图示出的,这些组件中的任意组件能够相互通信和/或与音频捕捉设备1802和/或逻辑模块
1804的部分通信。因此,处理器1820可以通信地耦合到音频捕捉设备1802和逻辑模块1804二者,用于操作这些组件。通过一种方法,尽管图18所示的语音处理系统1800可以包括与特定组件或模块相关联的特定的一组块或动作,但是这些块或动作可以与不同于这里示出的特定组件或模块的其他组件或模块相关联。
[0156] 参考图19,根据本公开的示例系统1900操作本文描述的语音处理系统的一个或多个方面。从下面描述的系统组件的性质将理解的是,这些组件可以与上述语音处理系统相关联,或者用于操作上述语音处理系统,或者作为上述语音处理系统的一个或多个部分。在各种实施方式中,系统1900可以是媒体系统,尽管系统1900不限于本上下文。例如,系统1900可以结合到麦克风、个人计算机(PC)、膝上型计算机、超膝上型计算机、平板、触摸板、便携式计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如,智能电话、智能平板、或智能电视)、可穿戴设备(智能手表、智能眼镜、训练带)、移动互联网设备(MID)、消息传送设备、数据通信设备等中。
[0157] 在各种实施方式中,系统1900包括耦合到显示器1920的平台1902。平台1902可以从诸如一个或多个内容服务设备1930或一个或多个内容递送设备1940或其他类似内容源的内容设备接收内容。包括一个或多个导航特征的导航控制器1950可以用于与例如平台1902、扬声器1960、麦克风1970、和/或显示器1920交互。下面更详细地描述这些组件中的每个组件。
[0158] 在各种实施方式中,平台1902可以包括芯片集1905、处理器1910、存储器1912、存储设备1914、音频子系统1904、图形子系统1915、应用1916、和/或无线电装置1918的任意组合。芯片集1905可以提供处理器1910、存储器1912、存储设备1914、音频子系统1904、图形子系统1915、应用1916、和/或无线电装置1918中间的相互通信。例如,芯片集1905可以包括能够提供与存储设备1914的相互通信的存储设备适配器(图中未示出)。
[0159] 处理器1910可以实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器;x86指令集兼容处理器、多核、或任何其他微处理器或中央处理单元(CPU)。在各种实施方式中,处理器1910可以是一个或多个双核处理器、一个或多个双核移动处理器等。
[0160] 存储器1912可以实现为易失性存储器设备,例如但不限于,随机存取存储器(RAM)、动态随机存取存储器(DRAM)、或静态RAM(SRAM)。
[0161] 存储设备1914可以实现为非易失性存储设备,例如但不限于,磁盘驱动、光盘驱动、磁带驱动、内部存储设备、附接存储设备、闪存、电池备份SDRAM(同步DRAM)、和/或网络可访问存储设备。在各种实施方式中,存储设备1914可以包括例如在包括多个硬驱动时增加对于有价值的数字媒体的存储性能增强保护的技术。
[0162] 音频子系统1904可以执行诸如声学信号的音频的处理,用于本文描述的语音识别和/或声音识别。音频子系统1904可以包括一个或多个处理单元和加速器。这种音频子系统可以集成到处理器1910或芯片集1905中。在一些实施方式中,音频子系统1904可以是通信地耦合到芯片集1905的独立卡。接口可以用于将音频子系统1904通信地耦合到扬声器1960、麦克风1970、和/或显示器1920。
[0163] 图形子系统1915可以执行诸如供显示的静止图像或视频的图像的处理。图形子系统1915可以是例如图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以用于通信地耦合图形子系统1915和显示器1920。例如,接口可以是高清晰度多媒体接口、显示端口、无线HDMI、和/或无线HD兼容技术中的任意接口。图形子系统1915可以集成到处理器1910或芯片集1905中。在一些实施方式中,图形子系统1915可以是通信地耦合到芯片集
1905的独立卡。
[0164] 本文描述的音频处理技术可以实现在各种硬件架构中。例如,音频功能可以集成在芯片集中。替代地,可以使用离散音频处理器。作为另一实施方式,音频功能可以由包括多核处理器在内的通用处理器提供。在进一步的实施方式中,这些功能可以实现在消费者电子设备中。
[0165] 无线电装置1918可以包括能够使用各种适当的无线通信技术发送和接收信号的一个或多个无线电装置。这些技术可以包括通过一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(WLAN)、无线个人域网(WPAN)、无线城域网(WMAN)、蜂窝网络、和卫星网络。在通过这些网络通信时,无线电装置1918可以根据任何版本的一个或多个可用标准进行操作。
[0166] 在各种实施方式中,显示器1920可以包括任何电视型监视器或显示器、或者任何智能电话型显示器。显示器1920可以包括例如计算机显示屏、触摸屏显示器、视频监视器、电视类设备、和/或电视。显示器1920可以是数字和/或模拟的。在各种实施方式中,显示器1920可以是全息显示器。另外,显示器1920可以是可以接收视觉投影的透明表面。这种投影可以递送各种形式的信息、图像、和/或对象。例如,这种投影可以是用于移动增强现实(MAR)应用的视觉叠加。在一个或多个软件应用1916的控制下,平台1902可以在显示器1920上显示用户界面1922。
[0167] 在各种实施方式中,一个或多个内容服务设备1930可以由任何国家、国际、和/或独立服务托管,因此可以由平台1902经由例如互联网访问。一个或多个内容服务设备1930可以耦合到平台1902和/或显示器1920、扬声器1960、以及麦克风1970。平台1902和/或一个或多个内容服务设备1930可以耦合到网络1965,以传送(例如,发送和/或接收)去往和来自网络1965的媒体信息。一个或多个内容递送设备1940还可以耦合到平台1902、扬声器1960、麦克风1970、和/或显示器1920。
[0168] 在各种实施方式中,一个或多个内容服务设备1930可以包括麦克风、有线电视盒、个人计算机、网络、电话、能够递送数字信息和/或内容的互联网使能设备或电器、以及能够经由网络1965或者直接在内容提供商与平台1902和扬声器子系统1960、麦克风1970、和/或显示器1920之间单向或双向传送内容的任何其他类似设备。将明白的是,内容可以经由网络1965被单向和/或双向传送到系统1900中的任意一个组件,并且可以经由网络1965被单向和/或双向从系统1900中的任意一个组件传送。内容的示例可以包括任何媒体信息,该媒体信息包括例如视频、音乐、医疗和游戏信息等。
[0169] 一个或多个内容服务设备1930可以接收包括媒体信息、数字信息、和/或其他内容的诸如有线电视节目的内容。内容提供商的示例可以包括任意有线或卫星电视或无线电或互联网内容提供商。所提供的示例不用于以任何方式限制根据本公开的实施方式。
[0170] 在各种实施方式中,平台1902可以从具有一个或多个导航特征的导航控制器1950接收控制信号。控制器1950的导航特征可以例如用于与用户界面1922交互。在实施方式中,导航控制器1950可以是指针设备,该指针设备可以是允许用户向计算机输入空间(例如,连续和多维)数据的计算机硬件组件(具体地,人机接口设备)。诸如图形用户界面(GUI)、电视、以及监视器的很多系统允许用户使用身体姿势控制计算机或电视并向计算机或电视提供数据。音频子系统1904还可以用于控制界面1922上的命令的选择或物品的运动。
[0171] 可以通过音频命令或通过显示器(例如,显示器1920)上显示的指针、光标、聚焦环、或其他视觉指示符的移动,在显示器上重复控制器1950的导航特征的移动。例如,在软件应用1916的控制下,位于导航控制器1950上的导航特征可以被映射到例如用户界面1922上显示的虚拟导航特征。在实施方式中,控制器1950可以不是单独组件,而是可以集成在平台1902、扬声器子系统1960、麦克风1970、和/或显示器1920中。但是,本公开不限于本文示出或描述的上下文中或元件。
[0172] 在各种实施方式中,驱动器(未示出)可以包括使能用户通过触摸按钮立即开启和关断诸如电视的平台1902(在由例如听觉命令使能时在初始启动后)的技术。程序逻辑可以允许平台1902即使在该平台处于关“断”状态时也能向媒体适配器或一个或多个其他内容服务设备1930或一个或多个内容递送设备1940流传输内容。另外,芯片集1905可以包括例如用于8.1环绕立体声音频和/或高清晰度(7.1)环绕立体声音频的硬件和/或软件支持。驱动器可以包括用于集成的听觉或图形平台的听觉或图形驱动器。在实施方式中,听觉或图形驱动器可以包括外围组件互连(PCI)快速图形卡。
[0173] 在各种实施方式中,系统1900中所示的任意一个或多个组件可以集成在一起。例如,平台1902和一个或多个内容服务设备1930可以集成在一起,或者平台1902和一个或多个内容递送设备1940可以集成在一起,或者平台1902、一个或多个内容服务设备1930、以及一个或多个内容递送设备1940可以集成在一起。在各种实施方式中,平台1902、扬声器1960、麦克风1970、和/或显示器1920可以是集成单元。例如,显示器1920、扬声器1960、和/或麦克风1970和一个或多个内容服务设备1930可以集成在一起,或者显示器1920、扬声器
1960、和/或麦克风1970和一个或多个内容递送设备1940可以集成在一起。这些示例不用于限制本公开。
[0174] 在各种实施方式中,系统1900可以实现为无线系统、有线系统、或它们二者的组合。当实现为无线系统时,系统1200可以包括适合用于在无线共享介质上进行通信的组件和接口,例如,一个或多个天线、发送器、接收器、收发器、放大器、滤波器、控制逻辑等。无线共享介质的示例可以包括无线频谱(例如,RF频谱等)的部分。当实现为有线系统时,系统1200可以包括适合用于在有线通信介质上通信的组件和接口,例如输入/输出(I/O)适配器、将I/O适配器与对应的有线通信介质连接的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等。有线通信介质的示例可以包括电线、线缆、金属引线、印刷电路板(PCB)、背板、交换结构、半导体材料、双绞线、同轴线缆、光纤等。
[0175] 平台1902可以建立一个或多个逻辑或物理信道来传送信息。信息可以包括媒体信息和控制信息。媒体信息可以指表示用于用户的内容的任何数据。内容的示例可以包括例如来自语音会话、视频会议、流传输视频和音频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、音频、文本等的数据。来自语音会话的数据可以是例如语音信息、静默时段、背景噪声、舒适噪声音调等。控制信息可以指表示用于自动化系统的命令、指令、或控制字的任何数据。例如,控制信息可以被用来将媒体信息路由通过系统或者指示节点以预定方式处理媒体信息。但是,实施方式不限于图19所示或描述的上下文中或元件。
[0176] 参考图20,小形状因子设备2000是其中可以具体化系统1800或1900的各种物理形式或形状因子的一个示例。通过这种方法,设备2000可以实现为具有无线功能的移动计算设备。移动计算设备可以指具有处理系统和移动电源(例如,一个或多个电池)的任意设备。
[0177] 如上所述,移动计算设备的示例可以包括具有可以接收音频命令的音频子系统的任意设备,例如,个人计算机(PC)、膝上型计算机、超膝上型计算机、平板、触摸板、便携式计算机、手持计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如,智能电话、智能平板、或智能电视)、移动互联网设备(MID)、消息传送设备、数据通信设备、任何其他车载(例如,车辆上)计算机、物联网(IoT)、专用音频命令系统等。
[0178] 移动计算设备的示例还可以包括被布置为由人穿戴的计算机,例如,耳机、头带、助听器手腕计算机、手指计算机、项链计算机、眼镜计算机、带夹计算机、臂带计算机、计算机、衣服计算机、以及其他可穿戴计算机。在各种实施方式中,例如,移动计算设备可以被实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。尽管利用实现为例如智能电话的移动计算设备描述了一些实施方式,但是可以明白的是,也可以使用其他无线移动计算设备实现其他实施方式。实施方式不限于本上下文中。
[0179] 如图20所示,设备2000可以包括具有正面2001和背面2002的壳体、包括屏幕2010的显示器2004、输入/输出(I/O)设备2006、以及天线2008。设备2000还可以包括导航特征2012。显示器2004可以包括适用于移动计算设备的用于显示信息的任何适当显示单元。I/O设备2006可以包括用于向移动计算设备输入信息的任何适当I/O设备。I/O设备2006的示例可以包括字母数字键盘、数字键区、触摸板、输入键、按钮、开关、摇杆开关、软件等。信息也可以通过麦克风2014被输入到设备2000。这种信息可以由本文描述的语音识别设备以及声音识别设备(并且作为设备2000的部分)进行数字化,并且可以经由扬声器2016提供音频响应或者经由屏幕2004提供视觉响应。实施方式不限于本上下文。壳体还可以包括相机2005和照明器2010。
[0180] 本文描述的各种形式的设备和处理可以使用硬件元件、软件元件、或它们二者的组合实现。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、进程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或它们的任意组合。确定实施方式是否是使用软件元件和/或硬件元件来实现可以根据任意数目的因素改变,这些因素例如是期望的计算速率、功率等级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度、以及其他设计或性能约束。
[0181] 至少一种实施方式的一个或多个方面可以由存储在机器可读介质上的代表性指令实现,其中,这些代表性指令代表处理器中的各种逻辑,这些代表性指令在被机器读取时使得该机器制造执行本文描述的技术的逻辑。被称为“IP核”的这些表示可以被存储在有形的机器可读介质上并且可以被提供给各种消费者或制造设施以加载到实际做出逻辑或处理器的制造机器中。
[0182] 尽管参考各种实施方式描述了本文提供的某些特征,但是本描述不希望被理解为限制性的意义。因此,本文描述的实施方式的各种修改以及本公开所涉及领域的技术人员显而易见的其他实施方式被认为落在本公开的精神和范围内。
[0183] 下面的示例涉及进一步的实施方式。
[0184] 通过一个示例,一种由计算机实现的用于自动语音识别的特征提取的方法包括:接收输入语音信号;执行增量调制,包括:将输入语音信号的采样的表示值与多个阈值等级中的上限阈值和下限阈值进行比较;至少提供有效指示符和移位指示符,作为增量调制的输出,其中,有效指示符指示至少一个阈值等级沿着输入语音信号从前一表示值到下个采样的改变,并且其中,移位指示符是指示阈值等级的改变的总量的单个值,阈值等级的改变包括与有效指示符相关联的多个等级从前一表示值到下个采样的改变;以及使用有效指示符和移位指示符形成梅尔频率相关系数,梅尔频率相关系数用于识别输入语音信号中的语音。
[0185] 通过另一实施方式,该方法还可以包括:在不使用傅里叶变换的条件下确定特征提取,以提供频域信号数据从而执行梅尔标度滤波;通过执行增量调制将模拟输入语音信号转换为数字信号;其中,所述比较包括在离散时域中执行比较,这些比较包括在同一采样期间并且通过使用时钟,对输入语音信号的表示值与多个等级的阈值的同步多重比较,其中,采样速率和比较速率至少部分地基于奈奎斯特采样定理,其中,执行增量调制包括:对输入语音信号的连续流执行增量调制,而不在增量调制之前或在增量调制期间将输入语音信号划分并存储为帧,其中,多个等级的总数目是预计覆盖人类语音频率范围的阈值等级的数目,并且其中,多个等级的总数目为具有上限阈值和下限阈值的至少两个等级。
[0186] 该方法还可以包括:将表示值计算为采样的信号值和分别与不同采样相关联的采样参数项的累加之间的差值,其中,各个采样参数项考虑与该采样参数项相关联的采样的移位指示符,其中,各个采样参数项考虑有效指示符,其中,各个采样参数项考虑方向指示符,该方向指示符指示输入语音信号从一个采样到另一采样下降还是上升;执行有限冲激响应(FIR)滤波,该FIR滤波包括修改梅尔频率系数,其中,修改的量取决于移位指示符;以及执行帕塞瓦尔定理相关的能量运算,该能量运算包括使用通过使用移位指示符和有效指示符生成的FIR滤波器输出形成中间系数,中间系数用于形成用来识别语音中的词的梅尔频率频谱系数(MFSC)或梅尔频率倒谱系数(MFCC)。
[0187] 通过又一实施方式,一种由计算机实现的用于自动语音识别的特征提取系统包括:至少一个处理器;通信地耦合到至少一个处理器的存储器;至少一个梅尔频率有限冲激响应(FIR)滤波器,由至少一个处理器操作并且被布置为获取声学输入信号的音频数据,该音频数据包括人类语音,并且梅尔频率FIR滤波器输出修改后的梅尔频率系数的总和;以及累加器单元,用于执行帕塞瓦尔定理相关的能量运算,该能量运算包括使用滤波器输出形成中间系数,中间系数用于形成用来识别语音中的词的梅尔频率频谱系数(MFSC)或梅尔频率倒谱系数(MFCC)的中间系数。
[0188] 通过另一示例,该系统提供了:其中,能量运算在不执行滤波器输出的平方的条件下生成滤波器输出的幅度和;并且该系统具有特征提取单元,该特征提取单元包括至少一个FIR滤波器和累加器单元,特征提取单元被布置为通过以下处理进行操作:执行增量调制,包括:将输入语音信号的采样的表示值与多个阈值等级的上限阈值和下限阈值进行比较;以及至少提供有效指示符和移位指示符,作为增量调制的输出,其中,有效指示符指示至少一个阈值等级沿着输入语音信号从前一表示值到下个采样的改变,并且其中,移位指示符是指示阈值等级的改变的总量的单个值,阈值等级的改变包括与有效指示符相关联的多个等级从前一表示值到下个采样的改变;以及使用有效指示符和移位指示符形成梅尔频率相关系数,梅尔频率相关系数用于识别输入语音信号中的语音,其中,至少一个梅尔频率有限冲激响应(FIR)滤波器具有分支的阵列,其中各个分支被布置为应用与梅尔频率系数相关联的不同梅尔频率抽头,其中,各个分支允许修改后的梅尔频率系数被用在来自多个分支的修改后的梅尔频率抽头的总和中,并且该总和是FIR滤波器的输出,其中,当相应分支的有效指示符指示输入语音信号发生了改变时,该相应分支的修改后的频率系数被用在该总和中,其中,各分支接收移位指示符,以在不使用乘法的条件下修改梅尔频率抽头。
[0189] 通过一种方法,至少一个计算机可读介质包括多个指令,该多个指令响应于在计算设备上被执行而促使计算设备通过以下处理进行操作:获取有效指示符,该有效指示符指示至少一个阈值等级沿着输入语音信号从输入语音信号的前一表示值到输入语音信号的下个采样的改变;以及获取移位指示符,该移位指示符是指示阈值等级的改变的总量的单个值,阈值等级的改变包括与有效指示符相关联的多个等级从前一表示值到下个采样的改变;以及根据有效指示符的值,使用FIR滤波器的至少一个修改后的梅尔频率系数形成用于识别输入语音信号中的语音的滤波器输出,其中,FIR滤波器被布置为通过使用移位指示符修改一个或多个梅尔频率系数。
[0190] 通过另一方法,所述指令促使计算设备通过执行增量调制进行操作,所述增量调制包括:将输入语音信号的采样的表示值与多个阈值等级的上限阈值和下限阈值进行比较,以形成有效指示符和移位指示符,其中,所述指令促使计算设备通过确定梅尔频率滤波期间梅尔频率抽头的二进制移位(包括根据移位指示符确定二进制移位的量)进行操作,其中,所述指令促使计算设备通过共享多个梅尔频率滤波器的延迟元件处的延迟抽头进行操作,其中,延迟元件控制指示符从梅尔频率滤波器的一个分支到另一分支的传播,其中,各个分支具有梅尔频率滤波器的不同梅尔频率系数,并且延迟抽头是用在延迟元件处的指示符值,其中,所述指令促使计算设备通过在多个梅尔频率滤波器之间共享梅尔频率系数进行操作,其中,所述指令促使计算设备通过以下处理进行操作:时分复用算术逻辑单元(ALU)以横跨多个梅尔频率滤波器至少执行梅尔频率系数的二进制移位或移位后的梅尔频率系数的求和或者执行它们二者,其中,时分复用包括以相对于输入语音信号采样频率更快的ALU频率操作ALU,其中,ALU频率是通过考虑梅尔频率滤波器的数目和梅尔频率滤波器中的抽头数目设置的。
[0191] 在进一步的示例中,至少一个机器可读介质可以包括多个指令,该多个指令响应于在计算设备上被执行而促使计算设备执行根据上述示例中的任意一个示例的方法。
[0192] 在进一步的示例中,一种设备可以包括用于执行根据上述示例中的任意一个示例的方法的装置。
[0193] 上述示例可以包括特征的特定组合。但是,上述示例不限于这方面,并且在各种实施方式中,以上示例可以包括仅仅实现这些特征的子集、实现这些特征的不同顺序、实现这些特征的不同组合、和/或实现明确列出的那些特征以外的附加特征。例如,参考本文中的任意示例方法描述的所有特征可以针对任意示例装置、示例系统、和/或示例物品实现,反之亦然。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈