收 稿日期 : 2009-06-18; 修 回日期 : 2009-08-21 基 金项 目: 浙 江省 科技厅 重点 实验室 建设项 目( 2008E10004)
作 者简介 : 姜干新 ( 1985-) , 男, 浙江 江山人 , 硕士研 究生, 主 要研究 方向 为语音 识别和 嵌入 式系统 ( ganxinjiang@ gmail. com) ; 陈 伟 ( 1983- ) , 男 ,
博士研 究生, 主 要研究 方向 为嵌入 式系统 .
嵌 入 式 语 音 识 别 系 统 中 的 DTW 在 线 并 行 算 法
*
姜干新
a
, 陈 伟
b
( 浙江 大学 a. 计 算机 科学 与技 术学 院; b. 浙江省服 务机 器人 重点实 验室 , 杭州 310027)
摘 要: 为 提高 语音 识别 系统 的实 时性 , 利用动 态规 划和 并 行计 算 思 想, 提出一 种 适 用 于 嵌 入 式语 音 识 别 系 统
的 DTW( 动 态时 间规 整) 在 线并 行算法 。通 过分 析标 准 DTW 及 其 主 要衍 生 算 法, 对 DTW 算 法 的数 据 结 构 进 行
改进 以满 足在 线算法 要求 , 在寻 找最佳 路径 过程 中动 态连 续 地 分配 和 释 放 内 存 或预 先 分 配 固 定 大 小 的内 存 , 并
将多 个关 键词 的 DTW 计算 分布到 多个 运算 单元 ; 最 后汇 总各 运算 单元 的结 果得 到识 别结果 。实 验表 明, 该 算 法
比经 典 DTW 降低 了内 存使 用和识 别时 间, 并 使语音 识别 的实 时系 数达 到 1. 17, 具 有较 高的 实时 性。
关键 词: 语 音识 别; 动 态时 间规 整; 在 线算 法; 并 行算 法; 嵌 入式 系统
中图 分类 号: TN912. 34 文 献标 志码 : A 文 章编 号: 1001-3695( 2010) 03-0977-04
doi: 10. 3969/j. issn. 1001-3695. 2010. 03. 046
Online parallel dynamic time warping algorithmfor
speech recognition in embedded system
JIANG Gan-xin
a
, CHEN Wei
b
( a. College of Computer Science & Technology, b. Zhejiang Key Laboratory of Service Robot, Zhejiang University, Hangzhou 310027, China)
Abstract: The classical DTW can be enhanced using dynamic programmingand parallel computing. This paper introduced an
online parallel DTW to improve the real-time performance for embedded speech recognition systems. After comprehensive anal-
ysis of DTW and its major derivatives, the algorithm used data structures that fit the requirements of online algorithm. During
the stage of figuring out optimal warpingpath, manipulated memory as dynamically allocated ( and released) or staticallyallo-
cated prior, and distributed calculations for each keyword to multiple computing units, then obtained the final recognition re-
sult from them. Experimental results indicate that the algorithm can reduce memory and time usage compared with classical
DTW. Besides, the coefficient of real-time performances is reduced to 1. 17, which is of high performance.
Key words: speech recognition; dynamic time warping ( DTW) ; online algorithm; parallel algorithm; embedded system
0 引言
随着嵌入式系统软硬件技术的不断发展, 语音识别已在该
领域得到了广泛应用。目前, 嵌入式系统中的语音识别应用主
要为孤立词语音识别, 其主要方法有动态时 间规整( DTW) 、矩
阵和分段量化( matrixand segmentquantization) 、矢量量化( vec-
tor quantization, VQ) 、隐马 尔 可夫 模型 ( hidden Markov model,
HMM) 、人工神经 网 络 ( artificial neural network, ANN) 以 及 多
种方法的组合
[ 1]
。这 些 方法 由于 各 自的 优 点, 得到 了深 入 的
研究和广泛的应用。
嵌入式系统受软硬件资源的限制, 通常执行的是带有特定
要求的预定义任务。由于嵌入 式系统 一般只 针对一 项或几 项
特殊的任务, 设计人员能够对软硬件进行优化、减小尺寸、降低
成本, 单个产品的成本节 约能够 随着产 量成百 上千倍 地放大。
低成本的软硬件势必要求语音 识别系 统有较 高的时 间和空 间
效率, 同时能够保 证语 音识 别的 准确 度。DTW 算 法由 于没 有
有效采用基于统计方法进行 训练的 框架, 在解 决大词 汇量、连
续语音和非 特定人语音识别问题时较 HMM 等算法相形见绌;
但 DTW 算法在实现小词汇量孤 立词语 音识别 系统时, 其识 别
准确率等性 能指标与用 HMM 等复杂算法实现几乎没有差异,
同时由于 DTW算法 本身 的 简洁 性 和高 效性 以 及孤 立词 识 别
应用的广泛性, 在 嵌入 式 系统 中得 到 了很 好 的应 用
[ 2]
。相 比
HMM 等复杂 算法和 模型, 在小 词汇量 语音识 别中, 经典 DTW
及其各种优化算法无论在时间 效率还 是空间 需求上 都有很 大
优势, 在带 有多核 处理器、DSP 或 FPGA 等具 有并行 计算能 力
的嵌入式软件和硬件系统实现中, 算法性能上仍有很大的提升
空间。在语音识别的前端处理即端点检测( voice activity detec-
tion, VAD) 和 MFCC特征向量提取中, 文献[ 3 ~5] 使用具有高
度并行计算能力的硬件 FPGA 分别 实现 了这 两步。为 实现 完
整的语音识别系统, DTW 等匹配算法也应能高效率实现。
本文先从并行计算和在线算 法的角 度, 对标准 DTW 及 其
主要衍生优化算法进行深入分析, 在此基础上提出一种适合于
嵌入式系统的 DTW 在线 并 行算 法。该 算法 能 充分 利用 具 有
并行计算能力的硬件, 实现 固定内 存使用 量, 并有效 降低计 算
过程中的数据依赖。最后通过实验的方法, 在不降低识别准确
率的前提下, 使语音识别的实时系数达到了 1. 17。
1 DTW 算法分析
DTW是一种使用动 态规划 ( dynamic programming, DP) 思
想, 衡量时间或速度本质上 非线性、但 以线性 方式表 示的两 个
第 27 卷 第 3 期
2010 年 3 月
计 算 机 应 用 研 究
Application Research of Computers
Vol. 27 No. 3
Mar. 2010