声学处理单元的利记博彩app

文档序号:2825874阅读:362来源:国知局
声学处理单元的利记博彩app
【专利摘要】本发明的具体实施例包括用于声学建模的设备、方法以及系统。本设备可包括聚类状态(senone)计分单元(SSu)控制模块、距离计算器以及加法模块。可将SSu控制模块配置成用来接收特征向量。可将距离计算器配置成用来经由宽度为至少一个高斯机率分布的数据总线,接收多个高斯(Gaussian)机率分布,并且从SSu控制模块接收特征向量。距离计算器可包括多个用于计算多个维度距离分数的算术逻辑单元以及用于合计维度距离分数的累加器以产生高斯距离分数。另外,将加法模块配置成用来合计多个高斯距离分数,以产生聚类状态分数。
【专利说明】声学处理单元

【技术领域】
[0001] 本发明的具体实施例基本上是涉及语音辨识。特别是,本发明的具体实施例是涉 及在专用处理单元上声学建模程序的实现。

【背景技术】
[0002] 实时数据模式辨识系逐渐用于在电子系统中分析数据流。语音辨识系统已在具有 超过数万字的词汇表上改良了精确度,令其成为电子系统中引人注目的特征。例如,在针对 数据模式辨识应用的消费性市场(举例如:移动装置、伺服器、汽车以及PC市场)中,语音 辨识系统越来越普遍。
[0003] 尽管语音辨识系统的精确度已改良,语音辨识程序仍需大量的专用运算资源,转 而对运算系统(举例如:多用户/多程式环境)造成很大的负担。多程式运算系统并行处 理来自各个应用程式的数据,以致这些运算系统上因语音辨识程序造成的负载,影响到运 算系统能处理输入语音信号以及来自其它应用程式的数据的速度。再者,对于一般含有限 内存资源的手持式装置(相较于桌上型计算系统)而言,语音辨识应用程式不仅对手持式 装置的运算资源造成显著负担,也消耗了手持式装置很大部分的内存资源。上述语音辨识 系统在处理能力、速度以及内存资源方面的问题,因处理实时或实质接近实时输入语音信 号的需求而更加恶化。


【发明内容】

[0004] 因此,有必要改善语音辨识系统对运算系统在处理能力、速度以及内存资源方面 的负载。
[0005] 本发明的一个具体实施例包括聚类状态(senone)计分单元(SSU)。SSU可包括 SSU控制模块、距离计算器以及加法模块。可将SSU控制模块配置成用来接收特征向量。可 将距离计算器配置成用来经由宽度为至少一个高斯机率分布的数据总线(例如:768个位 (bit)),接收多个高斯(Gaussian)机率分布,并且从SSU控制模块接收特征向量。距离计 算器可包括多个算术逻辑单元(ALUs)以及累加器。可将每一个ALU都配置成用来接收至 少一个高斯机率分布的一部分,并且计算介于特征向量之维度与至少一个高斯机率分布之 对应维度之间的维度距离分数。可将累加器配置成用来合计来自多个ALUs之维度距离分 数,以产生高斯距离分数。另外,可将加法模块配置成用来合计对应于多个高斯机率分布之 多个高斯距离分数,以产生聚类状态分数。SSU还可包括特征向量矩阵模块,系配置成用来 为特征向量之维度存储比例因数。
[0006] 本发明的另一具体实施例包括用于声学建模的方法。本方法可包括下列步骤:经 由宽度为至少一个高斯机率分布之数据总线接收多个高斯机率分布,并且从外部运算装置 接收特征向量;基于特征向量之多个维度和至少一个高斯机率分布之对应的多个维度,计 算多个维度距离分数;合计多个维度距离分数而为至少一个高斯机率分布产生高斯距离分 数;以及,合计对应于多个高斯机率分布之多个高斯距离分数以产生聚类状态分数。
[0007] 本发明的再一具体实施例包括用于声学建模的系统。本系统可包括内存模块及聚 类状态计分单元(SSU)。可将内存模块配置成用来与外部运算装置接合以接收特征向量。 SSU可包括距离计算器及加法模块,其中距离计算器包括多个算术逻辑单元(ALUs)以及累 加器。可将每一个ALU都配置成用来接收至少一个高斯机率分布的一部分,并且计算介于 特征向量之维度与至少一个高斯机率分布之对应维度之间的维度距离分数。可将累加器配 置成用来合计来自多个ALUs之维度距离分数,以产生高斯距离分数。另外,可将加法模块 配置成用来合计对应于多个高斯机率分布之多个高斯距离分数,以产生聚类状态分数。可 将内存模块及SSU整合在相同的晶片上。
[0008] 本发明具体实施例另外的特征和优点以及本发明各个具体实施例的运作是引用 附图予以在下文中详述。注意到的是,本发明不局限于本文所述的特定具体实施例。此等 在本文呈现的具体实施例仅供描述之用。基于本文所含的指导,另外的具体实施例对于相 关领域技术熟练者而言,将是显而易知的。

【专利附图】

【附图说明】
[0009] 附图合并于本文中以及形成本发明的说明书、描述性具体实施例的一部分,并且 连同说明进一步用于解释本发明的原理,以及让相关领域技术熟练者能够制作且使用本发 明。
[0010] 图1描述根据本发明一具体实施例的语音辨识程序的示例性流程图。
[0011] 图2描述现有的语音辨识系统。
[0012] 图3描述现有由个别处理单元进行语音辨识程序的语音辨识系统。
[0013] 图4描述由声学处理单元(APU)和中央处理单元(CPU)进行的语音辨识程序的具 体实施例。
[0014] 图5描述供语音辨识系统用的周边控制器接口(PCI)总线架构的具体实施例。
[0015] 图6描述供语音辨识系统用的先进周边总线(APB)架构的具体实施例。
[0016] 图7描述供语音辨识系统用的低功率双倍数据速率(LPDDR)总线架构的具体实施 例。
[0017] 图8描述供语音辨识系统用的系统级架构的具体实施例。
[0018] 图9描述数据模式分析用方法的具体实施例。
[0019] 图10描述供整合有特定应用集成电路(ASIC)和内存装置的语音辨识系统用的系 统级架构的具体实施例。
[0020] 图11描述供整合有特定应用集成电路(ASIC)、易失性内存装置、以及非易失性内 存装置之语音辨识系统用的系统级架构的具体实施例。
[0021] 图12描述供具有系统晶片的语音辨识系统用的系统级架构的具体实施例,此系 统晶片包括特定应用集成电路(ASIC)和中央处理单元(CPU)。
[0022] 图13描述供具有系统晶片的语音辨识系统用的系统级架构的另一具体实施例, 此系统晶片包括特定应用集成电路(ASIC)和中央处理单元(CPU)。
[0023] 图14描述声学处理单元(APU)的具体实施例。
[0024] 图15描述供声学处理单元(APU)用的聚类状态计分单元(SSU)控制器的具体实 施例。
[0025] 图16描述供声学处理单元(APU)用的距离计算器的具体实施例。
[0026] 图17描述供声学处理单元(APU)用的声学建模程序的方法的具体实施例。
[0027] 图18为根据本发明的具体实施例,描述算术逻辑单元的具体实施例。
[0028] 图19为根据本发明的具体实施例,描述图18中所示算术逻辑单元的具体实施例。
[0029] 图20为根据本发明的具体实施例,描述运算单元的具体实施例。
[0030] 图21描述供运算一维距离分数用的方法的具体实施例。
[0031] 图22和图23描述声学处理系统的具体实施例。
[0032] 图24描述硬件加速器的具体实施例。
[0033] 图25为描述APU软件堆栈的方块图。
[0034] 图26描述并行处理的具体实施例。
[0035] 图27描述声学处理方法的具体实施例。
[0036] 图28描述示例计算机系统的具体实施例,可将其中本发明的具体实施例、或其部 分实现成计算机可读码。

【具体实施方式】
[0037] 底下的详细说明提到描述与本发明一致的示例性具体实施例的附图。其它具体实 施例是有可能的,并且可在本发明的精神和范围内,修改具体实施例。因此,这里的详细说 明未限制本发明的范围。反而,本发明的范围是由随附的权利要求书所界定。
[0038] 对于相关领域技术熟练者将显而易知的是,本发明如下文所述,可用许多不同的 软件、硬件、固件及/或图中所示的实体予以实现。因此,将说明本发明具体实施例的运作 行为,而理解具体实施例的修改及变化在本文所呈现的详细程度下是有可能的。
[0039] 本说明书揭露一或多个加入本发明特征的具体实施例。所揭露的具体实施例只用 来做为本发明的例子。本发明的范围不局限于揭露的具体实施例。本发明是由本文所附加 的权利要求书予以界定。
[0040] 所说明的具体实施例,以及说明书中对"一个具体实施例"、"一具体实施例"、 "一示例具体实施例"等的参考指的是,所说明的具体实施例可包括特定特征、结构、或特 性,但每一个具体实施例可不一定要包括特定特征、结构、或特性。此外,此等词组不一定涉 及相同的具体实施例。另外,在搭配具体实施例说明特定的特征、结构、或特性时,所了解的 是,其落于本领域的技术人员的知识范围内,以配合其它无论是否明确说明的具体实施例, 让此特征、结构、或特性起作用。
[0041] 1.语音辨识程序
[0042] 图1描述根据本发明一具体实施例的语音辨识程序100的示例性流程图。语音辨 识程序100包括信号处理阶段110、声学建模阶段120、音位评估阶段130以及字词建模阶 段 140。
[0043] 在信号处理阶段110中,可对输入语音信号105的类比信号表征进行滤波,以消除 此信号在人耳可听频率范围外的高频成分。接着使用相关领域的技术熟练者众所周知的取 样及量化技术对滤波后的信号进行数字化。可使用举例如线性预测编码及快速傅利叶转换 的技术,从数字化波形撷取出一或多个参数数字表征(本文也称为"特征向量115 ")。此 撷取可以例如约l〇ms的规律时间间隔或时框(frame)出现。
[0044] 在声学建模阶段120中,来自信号处理阶段110的特征向量115与内存中所存储 的一或多个多变量高斯机率分布(本文也称为"高斯机率分布")相比较。内存中所存储 的这一或多个高斯机率分布可为部分声库,高斯机率分布在其中表示聚类状态。聚类状态 指的是一种所关注语言的次语音单位,如相关领域技术熟练者将理解者。个别聚类状态可 由例如8个成分组成,其中每一个成分都可表示39维高斯机率分布。
[0045] 声学建模阶段120可处理超过例如1000个聚类状态。因此,特征向量115与一或 多个高斯机率分布的比较会是一项运算密集的工作,原因是,每一个间隔时间或时框(例 如10ms)都例如可将数千个高斯机率分布与特征向量115作比较。声库中所表示每一个聚 类状态的一组分数(本文也称为"聚类状态分数"),都是由每一个特征向量115与一或多 个高斯机率分布的每一个的比较所产生。声学建模阶段120将聚类状态分数125提供予音 位评估阶段130。
[0046] 在音位评估阶段130中,可使用隐性马可夫模型(Hidden Markov Models,HMMs) 以将音位特征化成一组状态以及一组介于各个状态之间的先验转移机率,其中状态与聚类 状态相关。对于给定的观察的聚类状态序列,对应的HMM中有最可能的状态序列。此对应 的HMM可与观察的音位相关。可将维特比(Viterbi)演算法用于寻找每一个对应于音位的 HMM的概度。
[0047] 维特比演算法从第一时框开始运算,接着以时间同步的方式一次一个时框地于后 续时框进行运算。针对HMMs所考量的每一个聚类状态进行机率分数的运算。因此,可随着 维特比演算法分析序列时框,针对每一个可能的聚类状态序列,成功运算累积机率分数。音 位评估阶段130将音位概度或机率135 (本文也称为"音位分数")提供予字词建模阶段 140。
[0048] 在字词建模阶段140中,随着时间,将搜寻技术用于判断一串最可能的音位及后 续字词。举例如树基演算法的搜寻技术,可用于判断此串最可能的音位。
[0049] 2.现有的语音辨识系统
[0050] 图2描述现有的语音辨识系统200。语音辨识系统200包括输入装置210、处理单 元220、内存装置230、以及数据总线240,全部都是单独的实体组件。内存装置230可为例 如动态随机存取内存(DRAM)装置,其位于处理单元220外部,并且经由数据总线240与处 理单元220连通。输入装置210也经由数据总线240与处理单元220连通。数据总线240 具有一般的总线宽度,例如,8至32个位。
[0051] 输入装置210配置成用来接收输入语音信号(例如,图1的输入语音信号105),并 且将与输入语音信号相关的声振动转换成类比信号。使用类比数字转换器(未示于图2) 将类比信号数字化,并且透过数据总线240将产生的数字信号移送至处理单元220。输入装 置210可为例如麦克风。
[0052] 处理单元220配置成用来根据以上关于图1所述的信号处理阶段110、声学建模 阶段120、音位评估阶段130以及字词建模器阶段140,处理数字输入信号。图3描述语音 辨识系统200,其具有由处理单元220进行的语音辨识模块。处理单元包括信号处理模块 310、声学建模模块320、音位评估模块330以及字词建模模块340,其分别以类似于图1所 示信号处理阶段110、声学建模阶段120、音位评估阶段130以及字词建模器阶段140的方 式运作。
[0053] 请参阅图3,信号处理模块310可将输入语音信号305的数字输入信号表征(例 如,来自输入装置210)转换成一或多个特征向量315。声学建模模块320将一或多个特征 向量315与内存装置230中声库里所存储的一或多个高斯机率分布作比较。也就是,对于 一或多个特征向量315与一或多个高斯机率分布的每一次比较,处理单元220都经由数据 总线240存取内存装置230。对于具有数千个聚类状态的声库(其中的每一个聚类状态都 是由多个高斯机率分布组成),声学建模模块320不仅是以运算密集的方式进行比较,还以 运算密集且耗时间的方式经由数据总线240对内存装置230进行数千次的存取。对内存装 置230的数千次存取因数据总线240的总线宽度(例如,一般为8至32个位)而更加恶化, 其中,声学建模模块320可能需要对内存装置230多次存取才能存取每一个高斯机率分布。 另外,与数据总线240相关的互连寄生现象可讹误内存装置230与声学建模模块320之间 的数据移送。
[0054] 音位评估模块330从声学建模模块320接收聚类状态分数325。如以上关于图1 的语音辨识程序100所述,HMMs可用于将音位特征化成一组状态以及一组介于各个状态之 间的先验转移机率,其中状态由聚类状态序列组成。可将音位评估模块330所使用的状态 组以及转移机率先验组存储于内存装置230中。音位评估模块330将音位分数335提供予 字词建模模块340。
[0055] 字词建模模块340随着时间,使用举例如树基演算法的搜寻技术,以判断一串最 可能的音位(例如,最可能的音位335)以及后续的字词。
[0056] 图3所示现有语音辨识系统300的问题还在于处理单元220上因声学建模程序所 造成的显著负载。例如,每一次比较一或多个特征向量315与内存装置220中存储的一或 多个高斯机率分布时,都通过处理单元220存取内存装置220。因此,大量的运算资源是声 学建模程序所专属,转而对处理单元220造成显著的负载。声学建模程序对处理单元220 造成的负载,影响到处理单元220对来自输入装置210的数字信号以及来自其它应用程式 的数据能够处理的速度(例如,处理单元220可在将来自多个应用程式的数据并行处理的 多用户/多程式环境中运作)。另外,对于内存资源有限的运算系统(例如,手持式装置), 声学建模程序不仅对处理单元220造成显著负载,还消耗掉一大部分的内存装置230以及 数据总线240的频宽。在许多应用程式中以实时或实质接近实时的方式处理输入语音信号 的需求,还使得处理能力、速度以及内存资源的问题更加恶化。
[0057] 3.具有声学处理单元的语音辨识系统
[0058] 本发明的具体实施例分别解决上面关于图2及图3所示现有语音辨识系统200 及300的问题。在一具体实施例中,通过专用处理单元(本文也称为"声学处理单元"或 "APU ")进行声学建模程序。APU搭配图3的处理单元220 (本文也称为"中央处理单元" 或"CPU ")运作。例如,APU从CPU接收一或多个特征向量(例如,图3的特征向量315), 基于一或多个高斯机率分布计算聚类状态分数(例如,图3的聚类状态分数325),以及将 聚类状态分数输出至CPU。在一具体实施例中,可将一或多个高斯机率分布存储在APU中。 在另一具体实施例中,可将一或多个高斯机率分布存储于APU的外部,其中,APU从外部内 存装置接收一或多个高斯机率分布。基于下文进一步详述的APU架构,达成聚类状态分数 的加速计算。
[0059] 虽然部分本揭露是以语音辨识系统的背景说明,相关领域技术熟练者将认识的 是,本文所述的具体实施例适用于任何以本文说明为基础的数据模式辨识应用。这些其它 数据模式辨识应用包括,但不限于影像处理、音讯处理以及手写辨识。这些其它数据模式辨 识应用是落于本文所揭露具体实施例的精神及范围内。
[0060] 图4描述由APU及CPU所进行语音辨识程序400的具体实施例。在一具体实施例 中,CPU进行信号处理程序410、音位评估程序430以及字词建模程序440。APU进行声学建 模程序420。除非另有所述,否则信号处理程序410、声学建模程序420、音位评估程序430 以及字词建模程序440分别以类似图1所示的信号处理阶段110、声学建模阶段120、音位 评估阶段130以及字词建模器阶段140的方式运作。
[0061] 请参阅图4的具体实施例,反馈450为语音辨识程序400的选用特征,其中,根据 本发明的具体实施例,音位评估程序430可将主动聚类状态清单提供予声学建模程序420。 APU可将一或多个特征向量与主动聚类状态清单里所示的一或多个聚类状态做比较。下面 进一步讨论此反馈450。
[0062] 在另一具体实施例中,声学建模程序420可比较一或多个特征向量与声库相关的 所有聚类状态。在这种情况下,当音位评估程序430从APU接收一整组聚类状态分数(例 如,"全部评分"功能)供进一步处理时,不需要反馈450。
[0063] A.供具有声学处理单元的语音辨识系统用的系统总线架构
[0064] 在一具体实施例中,APU及CPU可透过串列周边接口(SPI)总线、周边控制器接口 (PCI)总线、应用程式接口(API)总线、先进微控制器总线架构高效能总线(AHB)、先进周边 总线(APB)、内存总线、或任何其它类型的总线互相连通。下面更详细说明的是图4所示语 音辨识程序400用系统总线架构的实施例、非限制性具体实施例。
[0065] 图5描述供语音辨识系统500用的总线架构的具体实施例。语音辨识系统500包 括APU 510、CPU 520、处理器/内存总线530、快取540、系统控制器550、主内存560、多个 PCI装置5701-570M、输入/输出(I/O)总线580以及PCI桥590。快取540可为例如在静 态随机存取内存(SRAM)装置上实现的第二阶快取。另外,主内存560可例如为动态随机 存取内存(DRAM)装置。可根据本发明的具体实施例将语音辨识系统500实现成系统晶片 (S0C)。
[0066] 如图5所示,APU 510透过PCI桥590连通地耦接至I/O总线580。I/O总线580 可为例如PCI总线。APU 510透过PCI桥590及I/O总线580连通地耦接至系统控制器550 及CPU 520。在另一具体实施例(未示于图5)中,APU 510可直接耦接至处理器/内存总 线530,并且转而连通地耦接至CPU 520。
[0067] 图6描述供语音辨识系统600用的总线架构的另一具体实施例。语音辨识系统 600包括APU 510、CPU 520、快取540、AHB 610、系统控制器620、非易失性内存装置630、主 内存640、APB桥650、APB 660以及多个装置6701-670M。非易失性内存装置630可为例如 快闪内存装置。主内存640可为例如DRAM装置。CPU 520可为例如ARM处理器(由ARM Holdings pic所开发)。可根据本发明的具体实施例,将语音辨识系统600实现成S0C。
[0068] 如图6所示,APU 510透过APB桥650及APB 660连通地耦接至系统控制器620。 系统控制器620还透过AHB 610连通地耦接至CPU 520。进而,系统控制器620透过AHB 610连通地耦接至CPU 520。
[0069] 图7描述供语音辨识系统700用的总线架构的另一具体实施例。语音辨识系统 700包括APU 510、CPU 520、快取540、AHB 610、系统控制器620、非易失性内存装置630、低 功率双倍数据速率(LPDDR)接口 710、LPDDR内存总线720以及主内存730。主内存730可 为例如DRAM装置。CPU 520可为例如ARM处理器(由ARM Holdings pic所开发)。可根 据本发明的具体实施例,将语音辨识系统700实现成S0C。
[0070] 如图7所示,APU 510及主内存730经由LPDDR内存总线720连通地耦接至LPDDR 接口 710。APU 510还透过LPDDR内存总线720及LPDDR接口 710连通地耦接至系统控制 器620。进而,系统控制器620经由AHB 610连通地耦接至CPU 520。
[0071] B.供具有声学处理单元的语音辨识系统用的系统级架构
[0072] 图8描述供语音辨识系统800用的系统级架构的具体实施例。语音辨识系统800 包括APU 810、内存控制器820、非易失性内存装置830以及易失性内存装置840。内存控制 器820经由总线815连通地耦接至APU 810,并且经由总线825 (其在特定具体实施例中可 表示二或更多个总线)耦接至非易失性内存装置830和易失性内存装置850。在一具体实 施例中,在单一晶片上整合APU 810及内存控制器820。在一具体实施例中,或在单独的晶 片上整合APU 810及内存控制器820。非易失性内存装置830可为NAND型内存模块、N0R型 内存模块或另一种非易失性内存装置。在一具体实施例中,易失性内存装置840可为DRAM 装置。另外,根据本发明的具体实施例,APU 810可使用例如上面关于图5至图7所述总线 架构的一个,与CPU(未示于图8)连通。
[0073] 根据本发明的具体实施例,非易失性内存装置830可存储用在语音辨识程序中的 声库,其中,声库可包括超过1〇〇〇个聚类状态。在一具体实施例中,当语音辨识系统800接 收聚类状态请求时,内存控制器820经由总线825,将声库从非易失性内存装置830复制到 易失性内存装置840。可使用例如直接内存存取(DMA)运作,实现非易失性与易失性内存装 置之间的声库移送程序。
[0074] 在一具体实施例中,语音辨识系统800可在预期聚类状态计分请求时接通电源。 接通电源后,立即将声库从非易失性内存装置830复制到易失性内存装置840。一旦易失性 内存装置840已接收声库,APU810即备妥要开始使用易失性内存装置840里的声库,处理 聚类状态计分请求(例如,图4的声学建模程序420)。
[0075] 当APU 810接收聚类状态计分请求时,经由内存控制器820,将选自声库的聚类状 态从易失性内存装置840复制到APU 810。APU 810基于选择的聚类状态及APU 810所接 收的数据流(例如,图3的一或多个特征向量315),计算聚类状态分数。APU 810在计算完 成后,将聚类状态分数移送至请求系统(例如,CPU)。
[0076] 在一具体实施例中,无作用(例如:APU 810使聚类状态计分无作用)一预定时间 后,可使易失性内存装置840电源切断。因此,由于易失性内存装置840中的内存单元将不 需要周期性复新,可改善语音辨识系统800中的功率效率。在这里,声库仍存储于非易失性 内存装置830中,以致可在易失性内存装置840电源切断时保留声库。如所属领域技术人 员将了解的是,易失性内存装置840在电源切断时,将失去其内存储的内容(例如:声库)。 在一具体实施例中,当易失性内存装置840电源切断时,语音辨识系统800的其它组件也可 跟着切断电源。
[0077] 图9描述数据模式分析用方法900的具体实施例。可将图8的语音辨识系统800 用来例如进行方法900的步骤。在一具体实施例中,可将方法900用于进行图4的声学建 模程序420。基于本文的说明,相关领域技术熟练者将了解的是,可将方法900用于其它数 据模式辨识应用,举例如:影像处理、音讯处理以及手写辨识。
[0078] 在步骤910中,将多个数据模式从非易失性内存装置(例如:图8的非易失性内存 装置830)复制到易失性内存装置(例如:图8的易失性内存装置840)。在一具体实施例 中,多个数据模式可为一或多个与声库相关的聚类状态。
[0079] 在步骤920中,来自易失性内存装置的数据模式是由运算单元(例如:图8的APU 810)提出请求,并且经由内存控制器及总线(例如:分别为图8的内存控制器820及总线 825)予以移送。在一具体实施例中,请求的数据模式是来自易失性内存装置中所存储声库 的聚类状态。
[0080] 在步骤930中,运算单元(例如:图8的APU 810)于接收请求的数据模式后,对运 算单元所接收的数据流进行数据模式分析。在一具体实施例中,数据模式分析是以选择的 聚类状态及运算单元所接收的数据流(例如:图3的一或多个特征向量315)为基础的聚类 状态分数计算。运算单元于完成数据模式分析后,将数据模式分析的结果移送至请求系统 (例如:CPU)。
[0081] 在步骤940中,易失性内存装置切断电源。在一具体实施例中,易失性内存装置于 一预定时间无作用(例如:因运算单元而致数据模式分析无作用)后切断电源。所以,易失 性内存装置中的内存单元将不需要周期性复新而可改善功率效率。在一具体实施例中,当 易失性内存装置电源切断时,本系统的其它组件(例如:语音辨识系统800的其它组件)也 可跟着切断电源。
[0082] 图10描述供语音辨识系统1000用的系统级架构的另一具体实施例。语音辨识系 统1000包括APU 1010、S0C 1040、DRAM装置1060、快闪内存装置1070以及I/O接口 1080。 在一具体实施例中,APU 1010为整合晶片,其包括配置成用来存储声库的内存装置1020以 及配置成用来进行声学建模程序(例如:图4的声学建模程序420)的特定应用集成电路 (ASIC) 1030。在另一具体实施例中,可将ASIC 1030及内存装置1020整合在两个单独的晶 片上。根据本发明的具体实施例,S0C1040包括配置成用来进行信号处理程序、音位评估程 序以及字词建模程序(例如:分别为图4的信号处理程序410、音位评估程序430以及字词 建模程序440)的CPU 1050。在一具体实施例中,在两个单独的晶片上整合APU 1010及S0C 1040。
[0083] 图11描述供语音辨识系统1100用的系统级架构的另一具体实施例。语音辨识系 统1100包括APU 1110、S0C 1040、DRAM装置1060、快闪内存装置1070以及I/O接口 1080。 在一具体实施例中,APU 1110为整合晶片,其包括ASIC 1120、易失性内存装置1130、以及 非易失性内存装置1140。在另一具体实施例中,可将ASIC 1120、易失性内存装置1130以 及非易失性内存装置1140整合在两个晶片上,例如:ASIC 1120和内存装置1130位于一晶 片上,而非易失性内存装置1140则在另一晶片上;ASIC 1120位于一晶片上,而易失性内存 装置1130和非易失性内存装置1140则在另一晶片上;或者,ASIC 1120和非易失性内存装 置1140位于一晶片上,而易失性内存装置1130则在另一晶片上。在又一具体实施例中,可 在单独的晶片上各别整合ASIC 1120、易失性内存装置1130以及非易失性内存装置1140, 例如:三个单独的晶片。
[0084] 根据本发明的具体实施例,可将非易失性内存装置1140配置成用来存储声学模 型,此声学模型是于APU 1110开机时复制到易失性内存装置1130。在一具体实施例中,非 易失性内存装置可为快闪内存装置,并且易失性内存装置1130可为DRAM装置。另外,根据 本发明的具体实施例,可将ASIC 1120配置成用来进行声学建模程序(例如:图4的声学建 模程序420)。
[0085] 图12描述供语音辨识系统1200用的系统级架构的另一具体实施例。语音辨识系 统1200包括DRAM装置1060、快闪内存装置1070、I/O接口 1080、内存装置1210以及S0C 1220。在一具体实施例中,S0C 1220为包括ASIC 1230及CPU 1240的整合晶片。根据本 发明的具体实施例,可将ASIC 1230配置成用来进行声学建模程序(例如:图4的声学建模 程序420),并且可将CPU 1240配置成用来进行信号处理程序、音位评估程序以及字词建模 程序(例如:分别为图4的信号处理程序410、音位评估程序430、以及字词建模程序440)。
[0086] 根据本发明的具体实施例,可将内存装置1210配置成用来存储声库,并且经由1/ 0总线1215将一或多个聚类状态移送至ASIC 1230。在一具体实施例中,内存装置1210可 为DRAM装置或快闪内存装置。在另一具体实施例中,可将声库存储在置于ASIC 1230(未 示于图12)而非内存装置1210内的内存装置中。在又一具体实施例中,可将声库存储在供 SOC 1220(例如:DRAM装置1060)用的系统内存中。
[0087] 图13描述供语音辨识系统1300用的系统级架构的另一具体实施例。语音辨识系 统1300包括DRAM装置1060、快闪内存装置1070、I/O接口 1080、内存装置1210以及S0C 1220。根据本发明的具体实施例,可将DRAM装置1060配置成用来存储声库,并且经由I/O 总线1315将一或多个聚类状态移送至ASIC 1230。
[0088] 4.声学处理单元架构
[0089] 图14描述APU 1400的具体实施例。在一具体实施例中,APU 1400为整合晶片, 其包括内存模块1420以及聚类状态计分单元(SSU) 1430。在另一具体实施例中,可将内存 模块1420及SSU 1430整合在两个单独的晶片上。
[0090] 根据本发明的具体实施例,APU 1400经由I/O信号1410与CPU (未示于图14)连 通,其中,APU 1400配置成用来进行声学建模程序(例如:图4的声学建模程序420)。在一 具体实施例中,I/O信号1410可包括特征向量信息用的输入特征向量数据线、输入时脉信 号、输入APU赋能信号、聚类状态分数信息用的输出聚类状态分数数据线以及APU1400用的 其它I/O控制信号。根据本发明的具体实施例,可将APU 1400配置成用来经由特征向量数 据线,从CPU接收一或多个特征向量(通过CPU计算),并且经由聚类状态分数数据线,将 聚类状态分数传送至CPU以供进一步处理。在一具体实施例中,可将I/O信号1410实现成 例如SPI总线、PCI总线、API总线、AHB、APB、内存总线或任何其它类型的总线,用以在APU 1400与CPU之间提供通讯路径(请参阅例如:图5至图7及相关说明)。下面进一步详述 介于APU 1400与CPU之间的接口以及用于接口的控制信号。
[0091] 在一具体实施例中,内存模块1420及SSU 1430可在两个不同的时脉域运作。根 据本发明的具体实施例,内存模块1420可运作于与APU1400的输入时脉信号(例如:来自 I/O信号1410)相关的时脉频率,并且SSU 1430基于输入时脉信号而可运作于更快的时脉 频率。例如,若与输入时脉信号相关的时脉频率为12MHz,则SSU 1430可运作于60MHz的时 脉分割频率(比与输入时脉信号相关的时脉频率快五倍)。用于实现时脉分割器的技术及 方法对于相关领域技术熟练者属于已知。如下面将进一步详述者,SSU 1430的架构可基于 其运作的时脉域。
[0092] 请参阅图14,内存模块1420包括总线控制器1422、内存控制器1424、内存装置 1426以及桥接控制器1428。将内存装置1426配置成用来存储待用于语音辨识程序中的声 学模型。在一具体实施例中,内存装置1426可为非易失性内存装置,举例如快闪内存装置。 在APU 1400运作前(例如:在APU 1400制造及/或测试期间),可将声库预先载入非易失 性内存装置。
[0093] 在另一具体实施例中,内存装置1426可为易失性内存装置,举例如DRAM装置。在 一具体实施例中,当APU 1400接收聚类状态请求时,内存控制器1424可将声库从非易失性 内存装置(整合在如APU 1400等相同晶片上、或是置于APU 1400外)复制到易失性内存 装置。可使用例如DMA运作,实现非易失性与易失性内存装置之间的声库移送程序。
[0094] 将总线控制器1422配置成用来控制APU 1400与外部CPU之间的数据移送。在一 具体实施例中,总线控制器1422可控制来自CPU的特征向量接收以及自APU 1400至CPU的 聚类状态分数传送。在一具体实施例中,将总线控制器1422配置成用来将一或多个特征向 量从CPU移送至桥接控制器1428,其充当介于内存模块1420与SSU 1430之间的接口。进 而,桥接控制器1428将一或多个特征向量移送至SSU 1430以供进一步处理。根据本发明 的具体实施例,在计算聚类状态分数时,经由桥接控制器1428将聚类状态分数从SSU 1430 移送至内存模块1420。
[0095] 在一具体实施例中,总线控制器1422可(经由I/O信号1410)接收提供主动聚类 状态清单的控制信号。在一具体实施例中,由于CPU进行音位评估程序(例如:图4的音位 评估程序430),可将主动聚类状态清单移送至APU 1400。也就是,在一具体实施例中,APU 1400进行的声学建模程序与CPU进行的音位评估程序之间可出现反馈程序(例如:图4的 反馈450)。根据本发明的具体实施例,可在聚类状态分数计算时使用主动聚类状态清单,以 供将特征向量输入APU 1400。
[0096] 主动聚类状态清单指的是一或多个存储于内存装置1426中,待于聚类状态分数 计算时使用的聚类状态。在一具体实施例中,主动聚类状态清单可包括与内存装置1426 的位址空间相关的基址以及与内存装置1426中一或多个聚类状态所置基址有关的索引清 单。总线控制器1422可经由桥接控制器1428将主动聚类状态清单送至SSU 1430,其中, SSU 1430(经由内存控制器1424)与内存装置1426连通,以存取一或多个与主动聚类状态 清单相关的聚类状态。
[0097] 在另一具体实施例中,总线控制器1422可(经由I/O信号1410)接收控制信号, 其指示APU 1400使用声库中含有的所有聚类状态进行聚类状态分数计算(例如:"全部评 分"功能)。总线控制器1422经由桥接控制器1428将"全部评分"指令送至SSU 1430,其 中,SSU 1430(经由内存控制器1424)与内存装置1426连通以存取所有与声库相关的聚类 状态。
[0098] 现有的语音辨识系统一般是在CPU内将声学建模与音位评估模块(例如:图3的 声学建模模块320与音位评估模块330)的反馈回圈加入,以限制聚类状态分数计算时使用 的聚类状态数量。这是因为,如上面关于图3的语音辨识系统300所述,大量运算资源是专 用于可将数千个聚类状态与特征向量做比较的声学建模程序。这对CPU以及将聚类状态 从内存装置(例如:图3的内存装置230)移送至CPU的数据总线(例如:图3的数据总线 240)的频宽造成显著负载。因此,对于现有的语音辨识系统,主动聚类状态清单是用于限制 声学建模程序对CPU造成的影响。然而,CPU使用主动聚类状态清单可限制对于实时或实 质接近实时处理输入语音信号的需求。
[0099] APU 1400的"全部评分"功能不仅减轻CPU及数据总线频宽上的负载,而且还实 时或实质接近实时地处理输入语音信号。如下面进一步详述者,APU 1400的特征,举例如 图14所示数据总线1427的总线宽度及距离计算器1436的架构,提供系统实时或实质接近 实时的语音辨识。
[0100] 请参阅图14, SSU 1430包括输出缓冲器1432、SSU控制模块1434、特征向量矩阵 模块1435、距离计算器1436及加法模块1438。根据本发明的具体实施例,将SSU 1430配 置成用来计算一或多个特征向量与内存装置1426中所存储一或多个聚类状态之间的马哈 朗诺比斯(Mahalanobis)距离。此一或多个特征向量的每一个都可由N个维度组成,其中 N可等于例如39。在一具体实施例中,此一或多个特征向量中这N个维度的每一个都可为 16位的平均数。
[0101] 另外,内存装置1426里所存储一或多个聚类状态的每一个都由一或多个高斯机 率分布组成,其中这一或多个高斯机率分布的每一个都与这一或多个特征向量的每一个具 有相同的维度数量(例如:N个维度)。内存装置1426中所存储一或多个聚类状态的每一 个都可具有例如32个高斯机率分布。
[0102] 如上面所述,内存模块1420及SSU 1430可在两个不同时脉域中运作。在一具体 实施例中,将SSU控制模块1434配置成用来经由桥接控制器1428从内存模块1420接收时 脉信号。根据本发明的具体实施例,SSU控制模块1434所接收时脉信号的频率,可与APU 1400输入时脉信号(例如:来自I/O信号1410的输入时脉信号)相关的时脉频率相同或 实质相同。
[0103] 在一具体实施例中,SSU控制模块1434可分割其输入时脉信号的频率,并且将分 割的时脉信号分配至SSU 1430的其它组件(例如:输出缓冲器1432、特征向量矩阵模块 1435、距离计算器1436以及加法模块1438),使得这些其它组件以时脉分割频率运作。例 如,若与输入时脉信号相关的时脉频率(例如:来自I/O信号1410)为12MHz,则SSU控制 模块1434可从桥接控制器1428接收相同或实质相同的时脉信号,并且使用已知的时脉分 割技术及方法将那个时脉频率分割成例如60MHz的频率。SSU控制模块1434可将这个时脉 分割信号分配至SSU1430的其它组件,以致这些其它组件运作于例如60MHz (比输入时脉信 号相关的时脉频率快五倍)。
[0104] 为了简化起见,图14未描述从SSU控制模块1434分配至SSU 1430其它组件的时 脉信号。为了便于参考,与这个时脉信号相关的频率在本文也称为"SSU时脉频率"。另外, 为了便于参考,与SSU控制模块1434输入时脉信号相关的频率在本文也称为"内存模块时 脉频率"。
[0105] 图15描述SSU控制模块1434的具体实施例。SSU控制模块1434包括输入缓冲器 1510及控制单元1520。SSU控制模块1434配置成用来经由桥接控制器1428从内存模块 1420接收一或多个控制信号。在一具体实施例中,这一或多个控制信号可与I/O信号1410 有关联,并且与内存装置1426所输出高斯机率分布相关的控制信息有关联。与I/O信号 1410相关的控制信号可包括例如主动聚类状态清单及"全部评分"功能。与高斯机率分布 相关的控制信息可包括例如内存装置1426所输出后续高斯机率分布的位址信息。
[0106] 请参阅图14,在一具体实施例中,当总线控制器1422经由I/O信号1410接收主 动聚类状态清单时,可将与内存装置1426的位址空间相关的基址以及与一或多个聚类状 态于内存装置1426中所处基址有关的索引清单,存储于图15的输入缓冲器1510中。控制 单元1520与输入缓冲器1510连通,以监控聚类状态分数计算时,待由图14的距离计算器 1436施用的聚类状态清单。
[0107] 例如,主动聚类状态清单可含有与内存装置1426的位址空间相关的基址以及指 向内存装置1426中所存储100个聚类状态的100个索引。如相关领域技术熟练者将了解 者,索引可涉及参考与内存装置1426的位址空间相关基址的指标或内存位址偏移量。另 夕卜,如上所述,聚类状态可由一或多个高斯机率分布组成,其中一或多个高斯机率分布的每 一个都具有与APU 1400所接收一或多个特征向量(例如:N个维度)每一个相同的维度数 量。为了解释,本实施例将假设内存装置1426中存储的每一个聚类状态都由32个高斯机 率分布组成。基于本文的说明,相关领域技术熟练者将理解的是,每一个聚类状态都可由多 于或少于32个高斯机率分布组成。
[0108] 在一具体实施例中,就主动聚类状态清单中的第一聚类状态而言,控制单元1520 与图14的内存控制器1424连通,以基址和主动聚类状态清单中含有的第一索引信息为基 础,存取内存装置1426中的第一聚类状态。根据本发明的具体实施例,与第一索引相关的 聚类状态可包括与那个聚类状态相关前2个高斯机率分布的内存位址信息。进而,内存装 置1426以例如循序方式,存取与第一聚类状态相关的两个高斯机率分布。例如,内存装置 1426存取第一高斯机率分布,并且经由数据总线1427,将这个高斯机率分布输出至距离计 算器1436。当随着内存装置1426输出第一高斯机率分布时,内存装置1426也可存取第二 高斯机率分布。
[0109] 在一具体实施例中,第二高斯机率分布可包括内存位址信息,以供内存装置1426 存取第三高斯机率分布。内存装置1426可经由图14的桥接控制器1428,将这个内存位址 信息连通至图15的控制单元1520。控制单元1520进而与图14的内存控制器1424连通, 以存取第三高斯机率分布。在一具体实施例中,当内存装置1426正在存取第三高斯机率分 布时,可经由数据总线1427,将第二高斯机率分布输出至距离计算器1436。此存取后续高 斯机率分布同时又输出当前高斯机率分布的迭代、重叠程序,是为了与聚类状态相关的所 有高斯机率分布(例如:与聚类状态相关的所有32个高斯机率分布)而进行。此迭代、重 叠(或平行)处理在聚类状态分数计算时还有更快效能的效益。
[0110] 根据本发明的具体实施例,图15的控制单元1520监控高斯机率分布从内存装置 1426至距离计算器1436的移送程序,使得内存存取及移送程序系以管线方式出现。在将与 第一聚类状态相关的32个高斯机率分布输出至图14的距离计算器1436后,控制单元1520 针对主动聚类状态清单中一或多个剩余的聚类状态重复以上程序。
[0111] 根据本发明的具体实施例,在主动聚类状态清单中的聚类状态用于当前特征向量 的聚类状态分数计算后,内存模块1420可经由I/O信号1410接收控制信号,其指出来自当 前特征向量的主动聚类状态清单是要用于后续特征向量的聚类状态分数计算。在经由桥接 控制器1428从内存模块1420接收控制信号时,SSU控制模块1434在后续特征向量的聚类 状态分数计算中,使用来自当前特征向量的相同主动聚类状态清单。尤其是,图15的控制 单元1520将相同基址以及与输入缓冲器1510中所存储基址有关的索引清单施用于后续特 征向量。图15的控制单元1520以上面关于主动聚类状态清单实施例所述类似的方式,为 后续特征向量监控高斯机率分布从内存装置1426至距离计算器1436的移送程序。
[0112] 在另一具体实施例中,内存模块1420可经由I/O信号1410接收表示"全部评分" 运作的控制信号。如上所述,"全部评分"功能是关于将特征向量与内存装置1426中所存 储声库里所含有所有聚类状态进行比较的运作。在一具体实施例中,图15的控制单元1520 与图14的内存控制器1424连通,以存取内存装置1426中的第一聚类状态。第一聚类状态 可例如置于与内存装置1426的位址空间相关的开始内存位址。根据本发明的具体实施例, 类似于上面的主动聚类状态清单实施例,内存装置1426中的第一聚类状态可包括与那个 聚类状态相关的前2个高斯机率分布的内存位址位址信息。进而,内存装置1426以例如循 序方式,存取与第一聚类状态相关的两个高斯机率分布。
[0113] 在一具体实施例中,类似于上面的主动聚类状态清单实施例,第二高斯机率分布 可包括第三高斯机率分布上待由内存装置1426存取的内存位址信息。内存装置1426可经 由图14的桥接控制器1428,将这个内存位址信息连通至图15的控制单元1520。控制单元 1520进而与图14的内存控制器1424连通,以存取第三高斯机率分布。在一具体实施例中, 当内存装置1426正在存取第三高斯机率分布时,可经由数据总线1427将第二高斯机率分 布输出至距离计算器1436。这个存取后续高斯机率分布同时又输出当前高斯机率分布的迭 代、重叠程序,是为了与聚类状态相关的所有高斯机率分布(例如:与聚类状态相关的所有 32个高斯机率分布)而进行。
[0114] 根据本发明的具体实施例,图15的控制单元1520监控高斯机率分布从内存装置 1426至距离计算器1436的移送程序,使得内存存取及移送程序是以管线方式出现。在将与 第一聚类状态相关的高斯机率分布输出至图14的距离计算器1436后,控制单元1520针对 声库里的一或多个剩余聚类状态重复以上程序。
[0115] 请参阅图14,特征向量矩阵模块1435在APU 1400中是用于扬声器配接。在一 具体实施例中,特征向量矩阵模块1435经由I/O信号1410从CPU接收特征向量变换矩阵 (FVTM)。可举例如每个发声一次地以周期方式将FVTM载入特征向量矩阵模块1435。在一具 体实施例中,可将FVTM存储在置于特征向量矩阵模块1435内的静态随机存取内存(SRAM) 装置中。
[0116] 根据本发明的具体实施例,也可连同内存装置1426中针对每一个聚类状态存储 的平均和变异数,为每一个聚类状态存储索引,其中,索引指向FVTM中的行(row)。FVTM中 的行数可改变(例如:10、50、或100行),并且可为实现APU 1400的语音辨识系统所特有。 根据本发明的具体实施例,FVTM中的每一行都可具有与特征向量N个维度数量(例如:39) 等数量的元素,每一个元素都为乘算至其对应特征向量维度的比例因数,用以产生新的特 征向量。选自FVTM的行(例如:39个比例因数的行)是经由数据总线1439移送至距离计 算器1436,其中,距离计算器1436进行乘法运算以产生新的特征向量,如下面将进一步详 述者。
[0117] 在一具体实施例中,SSU控制模块1434将接收自CPU的特征向量以及与聚类状态 相关的索引提供予特征向量矩阵模块1435。索引表示FVTM中用于比例化特征向量的特定 行。例如,FVTM可具有100行,并且索引可等于10。在这里,对于具有39个维度的特征向 量,FVTM的第10行含有39个比例因数,其中,比例因数的行是移送至距离计算器1436以 产生新的特征向量。
[0118] 请参阅图14,距离计算器1436配置成用来计算内存装置1426中所存储聚类状态 的一或多个维度与特征向量对应的一或多个维度之间的距离。图16描述距离计算器1436 的具体实施例。距离计算器1436包括数据路径多工器(MUX) 1610、特征向量缓冲器1620、 算术逻辑单元(ALUs) 163(^-163(^以及累加器1640。
[0119] 数据路径MUX 1610配置成用来经由数据总线1427从图14的内存装置1426接收 高斯机率分布。在一具体实施例中,数据总线1427的宽度等于与一个高斯机率分布相关位 的数量。例如,若一个高斯机率分布为768个位,则数据总线1427的宽度也为768个位。于 多个高斯机率分布维度上,可将与高斯机率分布相关的这768个位调配成16位平均数、16 位变异数以及各高斯机率分布维度的其它属性。如上所述,高斯机率分布可具有与特征向 量同数量的维度(例如:39个维度)。在另一具体实施例中,数据总线1427的宽度可大于 256个位。
[0120] 另外,在一具体实施例中,可将内存装置1426和距离计算器1436整合在相同晶片 上,其中数据总线1427为整合在晶片上,用以将高斯机率分布从内存装置1426至距离计算 器1436进行数据移送的宽总线(宽度为以上所述)。在另一具体实施例中,可将内存装置 1426和距离计算器1436整合在两个单独的晶片上,其中数据总线1427为紧密耦接于这两 个晶片之间的宽总线(宽度为以上所述),使得因杂讯和互连寄生效应造成的数据退化得 以最小化。如将于下面所述的是,宽数据总线1427(宽度为以上所述)的效益还有提升APU 1400在计算聚类状态分数时的效能。
[0121] 数据路径MUX 1610也配置成用来经由数据总线1437从SSU控制模块1434接收 一或多个控制信号和特征向量,并且从特征向量缓冲器1620接收特征向量比例因数。在一 具体实施例中,特征向量缓冲器1620可配置成用来存储经由数据总线1439从特征向量矩 阵模块1435移送来的比例因数(与FVTM的选择行相关)。在另一具体实施例中,特征向量 缓冲器1620可配置成用来存储FVTM。在这里,可将经由数据总线1437来自SSU控制模块 1434的一或多个控制信号用于选择FVTM行。数据路径MUX 1610经由数据总线1612将特 征向量、选自FVTM的特征向量比例因数以及高斯机率分布信息输出至ALUs 163(^-163(^以 供进一步处理。
[0122] 在一具体实施例中,数据路径MUX 1610也配置成用来经由数据总线1437从SSU 控制模块1434接收来自一或多个控制信号的权重因数。数据路径MUX 1610配置成用来将 高斯权重因数输出至累加器1640以供进一步处理。
[0123] 请参阅图16,根据本发明的具体实施例,每一个ALUs 163(^-163(^都配置成用来 于各SSU时脉周期计算接收自数据路径MUX 1610的高斯机率分布的维度与特征向量的对 应维度之间的距离分数。在一具体实施例中,ALUs 16301-16308可运作于SSU时脉频率(例 如:比内存模块时脉频率快5倍),使得每一个来自图14所示内存装置的读取运作(例如: 将高斯机率分布移送至距离计算器1436)都有与高斯机率分布相关的距离分数(本文也称 为"高斯距离分数")从距离计算器1436输出至加法模块1438。
[0124] 在一具体实施例中,数据路径MUX 1610配置成用来将与一个维度相关的特征向 量信息、与高斯机率分布对应维度相关的平均数、与高斯机率对应维度相关的变异数以及 特征向量比例因数分配至每一个ALU 163(^-163(^。基于分派予各别ALU的特征向量信息 及特征向量比例因数,ALUs 163(^-163(^的每一个都配置成用来通过将特征向量的维度乘 上各别比例因数以产生新的特征向量。
[0125] 在一具体实施例中,特征向量维度与对应比例因数的乘法是以"实时运算模式 (on-the-fly)"进行的,意思是,乘法运算是于计算距离分数期间进行的。此对比于针对 FVTM中每一行进行的乘法运算、以及存储于内存中让ALUs 163(^-163(^的每一个在以后存 取的乘法运算结果。"实时运算模式"乘法运算的效益还有,FVTM无索引(或未选择)行 相关乘法运算的结果不需要内存存储。这转而导致新的特征向量因不需另外的时脉周期 用于存储与内存中无索引列相关的特征向量比例化结果而产生较快速,并且也导致ALUs 163(^-163(^的晶粒尺寸面积较小。
[0126] 根据本发明的具体实施例,基于各别ALU的新特征向量、平均数以及变异数,将 ALUs 163(^-163(^的每一个都配置成用来于各SSU时脉周期基于特征向量维度及对应的高 斯机率分布维度计算距离分数。累增地,ALUs 163(^-163(^在一个时脉周期中为8个维度 产生距离分数(也就是,每个ALU进行1个维度计算)。下面进一步详述的是ALU的架构及 运作。
[0127] 根据本发明的具体实施例,距离计算器1436中的ALU数量可取决于以上所述的 SSU时脉频率及内存模块时脉频率,使得距离计算器1436于每一次读取存取时都将一个高 斯机率分布的距离分数输出至内存装置。例如,内存模块时脉频率可具有12MHz的运作频 率,其中内存装置1426也运作于12MHz (例如:对大约83 ns的读取存取而言)。SSU 1430 可具有例如60MHz的SSU时脉频率,以比内存模块时脉频率快五倍运作。利用39个维度的 特征向量及8个ALUs,可在5个SSU时脉周期或1个内存模块时脉周期中计算一个高斯机 率分布的高斯距离分数。因此,通过设计,这5个SSU时脉周期为对应于1个内存模块时脉 周期的预定数量的时脉周期,其中,于1个内存模块时脉周期自内存装置读取一个高斯机 率分布时,通过累加器1640计算另一高斯机率分布的高斯距离分数。
[0128] 在一具体实施例中,可在SSU时脉周期的升缘启动ALUs 163(^-163(^的一部分,而 ALUs 163(^-163(^剩余的部分则可在SSU时脉周期的降缘启动。例如,可在SSU时脉周期 的升缘启动ALUs 163(^-163(^,并且可在SSU时脉周期的降缘启动ALUs 16305-16308。如此 交错启动ALUsieSOi-ieSi^的结果是,可最小化距离计算器1436所产生的峰值电流(及峰 值功率),从而降低距离计算器1436中可靠度问题的感受性。
[0129] 基于本文的说明,相关领域技术熟练者将了解的是,距离计算器1436的架构不限 于以上实施例。反而,如相关领域技术熟练者将了解的是,距离计算器1436可运作于比 60MHz更快或更慢的时脉频率,并且距离计算器1436可包括多于或少于8个ALUs。
[0130] 请参阅图16,累加器1640配置成用来从每一个ALUs 163(^-163(^接收输出,并且 (经由数据总线1614)从数据路径MUX 1610接收高斯权重因数。如上所述,在一具体实施 例中,ALUs 163(^-163(^的每一个于每一个SSU时脉周期都输出高斯机率分布维度的距离 分数。这些来自每一个ALUs 163(^-163(^的距离分数都由累加器1640存储并且累加,以产 生高斯机率分布维度的距离分数或高斯距离分数(例如:累加器1640于每一个SSU时脉周 期都加上由ALUs 163(^-163(^计算出的各别距离分数。
[0131] 于累加器1640中累加与所有高斯机率分布维度相关的高斯距离分数后(例如:39 个维度),累加器1640将总和乘上高斯权重因数以产生加权高斯距离分数。在一具体实施 例中,高斯权重因数在累加器1640输出高斯距离分数的情况下属于选用。在另一具体实施 例中,高斯权重因数是特定于每一个高斯且存储内存装置1426中。
[0132] 加法模块1438配置成用来加上一或多个高斯距离分数(或加权高斯距离分数), 以产生聚类状态分数。如上所述,每一个聚类状态都可由一或多个高斯机率分布组成,其 中,每一个高斯机率分布都可与高斯距离分数相关。针对具有多个高斯机率分布(例如:32 个高斯机率分布)的聚类状态,加法模块1438将与所有高斯机率分布相关的高斯距离分数 加总,以产生聚类状态分数。在一具体实施例中,加法模块1438配置成用来在对数域(log domain)中进行加总运算,以产生聚类状态分数。
[0133] 输出缓冲器1432配置成用来从加法模块1438接收聚类状态分数,并且将聚类状 态分数移送至桥接控制器1428。桥接控制器1428转而经由总线控制器1422,将聚类状态 分数移送至外部CPU。在一具体实施例中,输出缓冲器1432可包括多个内存缓冲区,使得当 第一内存缓冲区中的第一聚类状态分数正予以移送至桥接控制器1428时,可将加法模块 1438产生的第二聚类状态分数移送至第二内存缓冲区,以供后续移送至桥接控制器1428。
[0134] 图17描述声学建模方法1700的具体实施例。可使用例如图14的APU 1400进行 方法1700的步骤。
[0135] 在步骤1710中,经由宽度为至少一个高斯机率分布的数据总线接收多个高斯机 率分布,并且从外部运算装置接收特征向量。高斯机率分布可由例如768个位组成,其中数 据总线的宽度至少为768个位。另外,图14的APU 1400可从外部运算装置(例如:经由图 14的I/O信号1410与APU 1400连通的CPU)接收特征向量。
[0136] 在一具体实施例中,将与特征向量的多个维度相关的信息、与至少一个高斯机率 分布的对应的多个维度相关的多个平均数以及与至少一个高斯机率分布的对应的多个维 度相关的多个变异数分配至例如算术逻辑单元(例如:图16的ALUs 163(^-163(^)。
[0137] 在步骤1720中,基于特征向量的多个维度以及至少一个高斯机率分布的对应的 多个维度,计算多个维度距离分数。在一具体实施例中,距离分数的计算是以来自主动聚类 状态清单的至少一个聚类状态为基础。主动聚类状态清单可包括与内存装置的位址空间相 关的基址以及一或多个与至少一个聚类状态置放于内存装置的基址有关的索引。另外,存 储供特征向量的多个维度用的多个比例因数,其中这多个比例因数是于计算多个维度距离 分数期间予以施用于特征向量的多个维度。可通过例如图14的距离计算器1436进行步骤 1720。
[0138] 在步骤1730中,合计多个维度距离分数,而为至少一个高斯机率分布产生高斯距 离分数。在一具体实施例中,于预定数量的聚类状态计分单元(SSU)时脉周期产生高斯距 离分数。此预定数量的SSU时脉周期可等于至少一个高斯机率分布读自内存装置的读取存 取时间。可通过例如图14的距离计算器1436进行步骤1730。
[0139] 在步骤1740中,合计对应于多个高斯机率分布的多个高斯距离分数,以产生聚类 状态分数。可通过例如图14的距离计算器1436进行步骤1740。
[0140] 本发明的具体实施例处理并且解决以上关于图3的现有语音辨识系统200所述的 问题。总言之,声学建模程序是通过例如图14的APU1400进行。APU搭配CPU运作,其中, APU可从CPU接收一或多个特征向量(例如:图3的特征向量315)、基于一或多个高斯机率 分布计算聚类状态分数(例如:图3的聚类状态分数325)以及将聚类状态分数输出至CPU。 在一具体实施例中,可将一或多个高斯机率分布存储在APU中。在另一具体实施例中,或可 将一或多个高斯机率分布存储于APU的外部,其中,APU从外部内存装置接收一或多个高斯 机率分布。基于以上所述APU架构的具体实施例,可加速聚类状态分数的计算。
[0141] 5.算术逻辑单元架构
[0142] 图18根据本发明的具体实施例,为ALU 1800的方块图。在一具体实施例中,可根 据图18所示的架构实现一或多个ALUs 163(^-163(^。将ALU 1800配置成用来运算介于特 征向量与高斯机率分布向量之间的一维距离分数。例如,可将ALU 1800配置成用来运算一 维距离分数,如下式:
[0143]

【权利要求】
1. 一种聚类状态计分单元(ssu),其包含: SSU控制模块,配置成用来接收特征向量; 距离计算器,配置成用来经由宽度为至少一个高斯机率分布的数据总线接收多个高斯 机率分布,并且从该SSU控制模块接收该特征向量,该距离计算器包含: 多个算术逻辑单元(ALU),其中各该多个算术逻辑单元配置成用来接收该至少一个高 斯机率分布的一部分,并且计算介于该特征向量的维度与该至少一个高斯机率分布的对应 维度之间的维度距离分数;以及 累加器,配置成用来合计来自该多个算术逻辑单元的所述维度距离分数,以产生高斯 距离分数;以及 加法模块,配置成用来合计对应于该多个高斯机率分布的多个高斯距离分数,以产生 聚类状态分数。
2. 根据权利要求1所述的聚类状态计分单元,更包含: 特征向量矩阵模块,配置成用来为该特征向量的该维度存储比例因数。
3. 根据权利要求1所述的聚类状态计分单元,其中该SSU控制模块包含配置成用来存 储主动聚类状态清单的输入缓冲器,其中该主动聚类状态清单包含与内存装置的位址空间 相关的基址以及一或多个与该基址有关的索引,一或多个聚类状态是置于该内存装置中的 该基址。
4. 根据权利要求1所述的聚类状态计分单元,其中该SSU控制模块配置成用来为该距 离计算器及该加法模块产生SSU时脉信号,其中该SSU时脉信号的频率为从内存装置读取 该至少一个高斯机率分布时所用频率的时脉分割表征。
5. 根据权利要求1所述的聚类状态计分单元,其中该高斯机率分布为768个位且该数 据总线的宽度为768个位。
6. 根据权利要求1所述的聚类状态计分单元,其中该距离计算器更包含: 数据路径多工器,配置成用来将与该特征向量的该维度相关的信息、与该至少一个高 斯机率分布的该对应维度相关的平均数以及与该至少一个高斯机率分布的该对应维度相 关的变异数,分配至该多个算术逻辑单元。
7. 根据权利要求1所述的聚类状态计分单元,其中该多个算术逻辑单元及该累加器配 置成用来于预定数量的SSU时脉周期产生该高斯距离分数,其中所述预定数量的SSU时脉 周期等同于该至少一个高斯机率分布读自内存装置的读取时间。
8. -种用于声学建模的方法,该方法包含: 经由宽度为至少一个高斯机率分布的数据总线接收多个高斯机率分布,并且从外部运 算装置接收特征向量; 基于该特征向量的多个维度以及该至少一个高斯机率分布的对应多个维度,计算多个 维度距离分数; 合计该多个维度距离分数,而为该至少一个高斯机率分布产生高斯距离分数;以及 合计对应于该多个高斯机率分布的多个高斯距离分数,以产生聚类状态分数。
9. 根据权利要求8所述的方法,其中该接收包含分配与该特征向量的该多个维度相关 的信息、与该至少一个高斯机率分布的该对应多个维度相关的多个平均数以及与该至少一 个高斯机率分布的该对应多个维度相关的多个变异数。
10. 根据权利要求8所述的方法,其中该计算包含: 存储对应于该特征向量的该多个维度的多个比例因数;以及 于计算该多个维度距离分数期间,将该多个比例因数套用至该特征向量的该多个维 度。
11. 根据权利要求8所述的方法,其中该计算包含基于来自主动聚类状态清单的至少 一聚类状态计算该多个维度距离分数,其中该主动聚类状态清单包含与内存装置的位址空 间相关的基址以及一或多个与该基址有关的索引,该至少一聚类状态是置于该内存装置中 的该基址。
12. 根据权利要求8所述的方法,其中该合计该多个维度距离分数包含于预定数量的 聚类状态计分单元(SSU)时脉周期产生该高斯距离分数,其中该预定数量的聚类状态计分 单元时脉周期等同于该至少一个高斯机率分布读自内存装置的读取时间。
13. -种用于声学建模的系统,该系统包含: 内存模块,配置成用来与外部运算装置接合以接收特征向量;以及 聚类状态计分单元(SSU),其包含: 距离计算器,配置成用来经由宽度为至少一个高斯机率分布的数据总线从该内存模块 接收多个高斯机率分布,并且从该内存模块接收该特征向量,该距离计算器包含: 多个算术逻辑单元(ALU),其中各该多个算术逻辑单元配置成用来接收该至少一个高 斯机率分布的一部分,并且计算介于该特征向量的维度与该至少一个高斯机率分布的对应 维度之间的维度距离分数;以及 累加器,配置成用来合计来自该多个算术逻辑单元的所述维度距离分数,以产生高斯 距离分数;以及 加法模块,配置成用来合计对应于该多个高斯机率分布的多个高斯距离分数,以产生 聚类状态分数。
14. 根据权利要求13所述的系统,其中该内存模块及SSU是整合在相同晶片上。
15. 根据权利要求13所述的系统,其中该内存模块及聚类状态计分单元配置成用来在 两个不同的时脉域中运作,该聚类状态计分单元运作所用的SSU时脉频率即内存模块时脉 频率的时脉分割表征。
16. 根据权利要求13所述的系统,其中该内存模块包含配置成用来存储声库的内存装 置,该声库包括该多个1?斯机率分布。
17. 根据权利要求13所述的系统,其中其中该聚类状态计分单元更包含: 特征向量矩阵模块,配置成用来为该特征向量的该维度存储比例因数。
18. 根据权利要求13所述的系统,其中该聚类状态计分单元包含配置成用来存储主动 聚类状态清单的输入缓冲器,其中该主动聚类状态清单包含与该内存模块的位址空间相关 的基址以及一或多个与该基址有关的索引,一或多个聚类状态是置于该内存模块中的该基 址。
19. 根据权利要求13所述的系统,其中该聚类状态计分单元配置成用来为该距离计算 器及该加法模块产生SSU时脉信号,其中该SSU时脉信号的频率为从该内存模块读取该至 少一个高斯机率分布所用频率的时脉分割表征。
20. 根据权利要求13所述的系统,其中该多个算术逻辑单元及累加器配置成用来于预 定数量的SSU时脉周期产生该高斯距离分数,其中该预定数量的SSU时脉周期等同于该至 少一个高斯机率分布读自该内存模块的读取时间。
【文档编号】G10L15/02GK104126200SQ201280070070
【公开日】2014年10月29日 申请日期:2012年12月14日 优先权日:2011年12月19日
【发明者】R·法斯托, J·奥尔森, S·罗哈尼 申请人:斯班逊有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1