微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于DTW的编码域说话人识别研究

基于DTW的编码域说话人识别研究

时间:11-28 来源:互联网 点击:
说话人识别又被称为话者识别,是指通过对说话人语音信号的分析处理,自动确认说话人是否在所记录的话者集合中,以及进一步确认说话人的身份。说话人识别的基本原理如图1所示。



按照语音的内容,说话人识别可以分为文本无关的(Text-Independent)和文本相关的(Text-Dependent)两种。文本无关的识别系统不规定说话人的发音内容,模型建立相对困难,但用户使用方便。与文本有关的说话人识别系统要求用户按照规定的内容发音,而识别时也必须按规定的内容发音,因此可以达到较好的识别效果。

随着网络技术的发展,通过Internet网络传递语音的网络电话VoIP(Voice over IP)技术发展迅速,已经成为人们日常交流的重要手段,越来越多的用户抛弃传统的通信方式,通过计算机网络等媒介进行语音交流。由于VoIP工作方式的特点,语音在传输中经过了语音编译码处理,VoIP设备端口同时要处理多路、海量的压缩话音数据。所以VoIP说话人识别技术主要研究的是如何高速、低复杂度地针对解码参数和压缩码流进行说话人识别。

现有的针对编码域说话人识别方法的研究主要集中在编码域语音特征参数的提取上,香港理工大学研究从G.729和G.723编码比特流以及残差中提取信息,并采用了分数补偿的方法。中国科学技术大学主要研究了针对AMR语音编码的说话人识别。西北工业大学在说话人确认中针对不同的语音编码差异进行了补偿算法研究,并且研究了直接在G.729编码的比特流中提取参数的方法。说话人模型则主要采用在传统说话人识别中应用最广泛的GMM-UBM(Gaussian Mixture Model-Universal Background Model)。GMM-UBM的应用效果和混元数目密切相关,在保证识别率的基础上,其处理速度无法满足VoIP环境下高速说话人识别的需求。

本文研究VoIP语音流中G.729编码域的说话人实时识别,将DTW识别算法成功应用在G.729编码域的文本相关的说话人实时识别。

1 G.729编码比特流中的特征提取

1.1 G.729编码原理

ITU-T在1996年3月公布G.729编码,其编码速率为8 kb/s,采用了对结构代数码激励线性预测技术(CS-ACELP),编码结果可以在8 kb/s的码率下得到合成音质不低于32 kb/s ADPCM的水平。 G.729的算法延时为15 ms。由于G.729编解码器具有很高的语音质量和很低的延时,被广泛地应用在数据通信的各个领域,如VoIP和H.323网上多媒体通信系统等。

G.729的编码过程如下:输入8 kHz采样的数字语音信号先经过高通滤波预处理,每10 ms帧作一次线性预测分析,计算10阶线性预测滤波器系数,然后把这些系数转换为线谱对(LSP)参数,采用两级矢量量化技术进行量化。自适应码本搜索时,以原始语音与合成语音的误差知觉加权最小为测度进行搜索。固定码本采用代数码本机构。激励参数(自适应码本和固定码本参数)每个子帧(5 ms,40个样点)确定一次。

1.2 特征参数提取

直接从G.729 编码流中按照量化算法解量化可以得到LSP参数。由于后段的说话人识别系统还需要激励参数,而在激励参数的计算过程中经过了LSP的插值平滑,所以为了使特征矢量中声道和激励参数能准确地对应起来,要对解量化的LSP参数采用插值平滑。





本文选择G.729编码帧中第一子帧的LSP(1)参数的反余弦LSF及由其转换得到的LPC、LPCC参数作为声道特征参数。

参考文献发现识别特征加入G.729压缩帧中的语音增益参数,说话人识别性能发生了下降。去除G.729压缩码流特征中的增益参数GA1、GB1、GA2、GB2,结果发现,当采用了去除增益参数的特征矢量方案X=(L0,L1,L2,L3,P1,P0,P2),识别性能得到了提高,所以本文最终采用的G.729压缩码流特征为X=(L0,L1,L2,L3,P1,P0,P2),共7维。

2 动态时间规整(DTW)识别算法

动态时间规整DTW(Dynamic Time Warping)是把时间规整和距离测度计算结合起来的一种非线性规整技术。该算法基于动态规划思想,解决了发音长短不一的模版匹配问题。

算法原理:假设测试语音和参考语音分别用R和T表示,为了比较它们之间的相似度,可以计算它们之间的距离D[T,R],距离越小则相似度越高。具体实现中,先对语音进行预处理,再把R和T按相同时间间隔划分成帧系列:



然后采用动态规划进行识别。如图2所示。



把测试模版的各个帧号n=1,…,N在一个二维直角坐标系的横轴上标出,把参考模版的各帧号m=1,…,M在纵轴上标出,通过这些表示帧号的整数坐标画出的横纵线即可形成一个网格,网格中的每一个交叉点(n,m)表示测试模版中某一帧与训练模版中某一帧的交叉点。动态规划算法可以归结为寻找一条通过此网格中若干格点的路径,路径通过的格点即为测试和参考模版中距离计算的帧号。



整个算法主要归结为计算测试帧和参考帧间的相似度及所选路径的矢量距离累加。
 
识别流程如图3所示。



Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top