计算机应用   2016, Vol. 36 Issue (12): 3374-3377  DOI: 10.11772/j.issn.1001-9081.2016.12.3374
0

引用本文 

徐静云, 赵晓群, 蔡志端, 王培良. 基于胞腔均匀度的清浊模式码书设计算法[J]. 计算机应用, 2016, 36(12): 3374-3377.DOI: 10.11772/j.issn.1001-9081.2016.12.3374.
XU Jingyun, ZHAO Xiaoqun, CAI Zhiduan, WANG Peiliang. Unvoiced/voiced mode codebook design algorithm based on cellular evenness[J]. JOURNAL OF COMPUTER APPLICATIONS, 2016, 36(12): 3374-3377. DOI: 10.11772/j.issn.1001-9081.2016.12.3374.

基金项目

国家自然科学基金资助项目(61271248);湖州市自然科学基金资助项目(2015YZ04);浙江省公益技术研究工业项目(2016C31115)。

通信作者

徐静云(1980-),男,江西广丰人,讲师,博士研究生,主要研究方向:语音信号处理. E-mail:1210488@tongji.edu.cn.

作者简介

赵晓群(1962-),男,黑龙江依春人,教授,博士,主要研究方向:语音信号处理;
蔡志端(1978-),男,江西吉安人,讲师,博士研究生,主要研究方向:故障信号处理;
王培良(1963-),男,浙江长兴人,教授,硕士,主要研究方向:故障信号处理

文章历史

收稿日期:2016-06-01
修回日期:2016-07-08
基于胞腔均匀度的清浊模式码书设计算法
徐静云1,2, 赵晓群2, 蔡志端1, 王培良1    
1. 湖州师范学院 工学院, 浙江 湖州 313000 ;
2. 同济大学 电子与信息工程学院, 上海 201804
摘要: 清音和浊音线谱频率(LSF)参数分布具有差异性。为了提高声码器中LSF参数的量化性能,利用胞腔均匀度(CE)能定量表征清浊音LSF参数分布的差异程度,提出了一种基于CE的清浊模式码书设计算法。该算法首先根据CE推导出清音和浊音参与训练的LSF参数的数量比;然后剔除清音中指定数量的非典型LSF参数;最后重新训练出码书。实验结果表明,在相同码率情况下,该算法较码书共享算法谱失真降低2.5%,平均意见得分提高了2.3%,码书存储量下降了21.1%,并且适用于不传输清浊音标志的声码器。
关键词: 线谱频率    码书设计    清浊模式    胞腔均匀度    
Unvoiced/voiced mode codebook design algorithm based on cellular evenness
XU Jingyun1,2, ZHAO Xiaoqun2, CAI Zhiduan1, WANG Peiliang1     
1. College of Engineering, Huzhou University, Huzhou Zhejiang 313000, China ;
2. College of Electronic and Information Engineering, Tongji University, Shanghai 201804, China
Abstract: The parameter distribution of unvoiced/voiced Line Spectrum Frequency (LSF) has differences. In order to improve the quantization performance of LSF parameters in vocoder, an unvoiced/voiced mode codebook design algorithm based on Cell Evenness (CE) was presented by using the difference between unvoiced/voiced LSF parameters distribution and CE. Firstly, the optimal amount ratio of unvoiced/voiced LSF parameters participating in the codebook training was deduced according to CE. Then the specified number of atypia LSF parameters were eliminated from unvoiced speech. The final codebook was retrained. The experimental results show that, compared with the shared codebook algorithm under the same bit-rate condition, the average spectrum distortion of the proposed algorithm was reduced by 2.5%, the mean opinion score was increased by 2.3% and the storage of codebook was reduced by 21.1%. The proposed algorithm is also adapted to the vocoder without unvoiced/voiced symbol transmission and the algorithm is also adapted to the vocoder without unvoiced/voiced symbol transmission.
Key words: Line Spectral Frequency (LSF)    codebook design    unvoiced/voiced mode    Cell Evenness (CE)    
0 引言

低速率声码器的基础是线性预测技术,通过求解线性预测方程可以获得线谱频率(Line Spectrum Frequency,LSF)参数和激励参数,其中LSF参数的矢量量化很大程度上影响合成语音的可懂度。

由于存储量及计算量有限,LSF参数量化往往采用受约束的矢量量化,主要包括多级矢量量化(Multi-Stage Vector Quantization,MSVQ)、分裂矢量量化和预测矢量量化等[1-4]。混合激励线性预测(Mixed Excitation Linear Prediction,MELP)[5]和正弦激励线性预测[4] 声码器均采用多级矢量量化,即对LSF参数分4级量化,有效降低了码书的存储量和码字搜索的计算量。

为了进一步提高量化性能,利用清音和浊音的LSF参数分布具有差异性[6],文献[7]在MSVQ的基础上,提出了分模式量化(Mode-Based Quantization,MBQ)算法。该算法根据清/浊音参数来划分模式,然后在清/浊音模式下分别进行LSF参数的量化,有效提升了量化性能,但码书存储量增加了1倍。文献[8]提出的基于MSVQ的码书共享算法(Mode Based MSVQ with Shared Codebooks,MBMSC),利用清/浊音两种模式下LSF参数的量化码本满足近似线性关系,在增加少量计算量的前提下,码书存储量降低了92.1%,较好地解决了MBQ算法码书量成倍增加问题。

MBMSC和MBQ算法依据清/浊音参数作为分模式,在解码端依据LSF码书编号和清/浊音标志比特两个特征来恢复出LSF参数。为了节省清浊音参数的量化比特数,文献[9]在解码端根据能量和LSF参数估计恢复出清浊音参数,这在甚低速率语音编码中具有重要意义。因此,LSF参数就不能利用恢复出的清浊音参数作为分模式的依据了,这就意味着这种情况下,MBMSC和MBQ算法无效。

针对文献[9]的问题,结合文献[6-8]的研究思路,本文在MSVQ算法的基础上,分析了清浊音的LSF参数分布存在差异性,引入了胞腔均匀度(Cell Evenness,CE)来描述该差异程度,在此基础上提出了基于CE的清浊模式码书设计算法——CMBQ。实验结果表明,本文提出的CMBQ算法谱失真(Spectrum Distortion,SD)和平均意见(Mean Opinion Score,MOS)指标与MBQ算法相近,而码书存储量为MBQ算法的一半,性能优于MBMSC算法,并且适用于不传输清浊音标志的应用场合。

基于CE的分模式码书设计(Multimode Codebook Design based CE,MCDCE)算法

1 清浊音的LSF参数分布特性

假设码书尺寸为M,迭代收敛时落入胞腔Vi(i=1,2,…,M)的训练矢量个数为ni,令胞腔平均大小为:

$\bar{n}=\frac{1}{M}\sum\limits_{i=1}^{M}{{{n}_{i}}}$ (1)

ni的标准差为:

${{\sigma }_{n}}=\sqrt{\frac{1}{M}\sum\limits_{i=1}^{M}{{{\left( {{n}_{i}}-\bar{n} \right)}^{2}}}}$ (2)

本文引入该标准差来描述各LSF胞腔训练矢量分布的均匀程度,为此笔者提出将σn命名为胞腔均匀度。

为了分析清浊音的LSF参数分布特性,笔者设计了如下实验。实验语音为(中文)男/女评书、(英文)男/女有声小说,各1小时,8 kHz采样,16位PCM编码。对语音进行分帧,帧长为200点,帧移为80点,采用PEFAC算法[10]判定语音帧的清/浊状态,全体语音帧集合记为FVU,所有的浊音帧集合记为FV,所有非浊音帧(包括清音部分和静音部分,两者特性类似,不分开处理)记为FU。采用MELP[5]方法提取帧内的10阶LSF参数,经过统计处理后确定三个集合的训练LSF参数数量分别为64800、32400和32400。

为了提高实验效率,实验中利用2.4 Kb/s MELP[5]中MSVQ标准码书的变形作为码书训练的初始码书资源,即采用MSVQ标准码书前两级码书的合并(27×26=8192个码字),对前两级码字组合进行50 Hz最小间隔检测,发现有5个矢量不符合,对这5个矢量进行50 Hz间隔的修正,将最后结果记为LSF_STD_2。以LSF_STD_2作为初始码书,码书训练算法采用LBG算法[11],分别以FV、FU、FUV、D-FUV训练集训练码书至收敛,其中D-FUV是对FUV训练出的码书,统计拥有最多训练矢量的胞腔,记为nmax,将训练矢量数量小于2%×nmax胞腔中的训练矢量从集合FUV中去除,余下的记为集合D-FUV。

表 1为四组训练集训练至收敛的迭代次数t和训练后码书的σn图 1为四组训练集分别训练至收敛时LSF训练矢量的空间分布情况,图 1是从8192个胞腔中按比例选出的7个典型胞腔。

表 1 四组训练集分别训练至收敛时的t和σn
图 1 四组训练集分别训练至收敛时LSF训练矢量的空间分布情况

表 1图 1可以看出:

1) 浊音的LSF训练矢量收敛时的迭代次数远少于清音的LSF训练矢量,浊音的σn也远低于清音的σn。这是因为浊音的LSF训练集在胞腔分布较均匀,如图 1(a)所示。而清音存在LSF训练矢量数量极少的胞腔,如图 1(b)所示,这些极少的训练矢量是非典型矢量(常常因噪声等引起),由于这些非典型矢量的存在,导致清音没有充分利用码书尺寸来分布码字。

2) 清/浊音混合训练后,浊音的LSF训练矢量较均匀。

分布在各个胞腔中,由于清音的非典型矢量影响,虽然满足迭代收敛条件,但σn仍然很大,没有充分利用码书尺寸来分布码字,如图 1(c)所示。对训练集FUV中训练出码书后剔除非典型矢量后重新训练,如图 1(d)所示,由于去除了非典型矢量干扰,从而较充分利用了胞腔空间,胞腔均匀度显著下降。

2 基于CE的清浊模式码书设计算法 2.1 算法描述

第一章实验结果表明,通过剔除清音非典型矢量,有利于充分利用码书尺寸来分布码字,提升码书的质量。但剔除多大数量清音的LSF矢量能达到码书质量最优是需要研究的问题,为了定量给出舍弃清音非典型矢量的最优数量,本文给出了如下理论推导。

本文假设码书尺寸为M,LSF训练矢量数量为N,迭代收敛时落入第i个胞腔的LSF训练矢量数量为ni(i=1,2,…,M),全体LSF训练矢量训练至收敛后码书胞腔均匀度σn。 清音和浊音的LSF训练矢量数量分别为Nu和Nv;清音和浊音的第i个胞腔的LSF训练矢量数量分别为ni,u和ni,v;清音和浊音的LSF训练矢量分别训练至收敛后码书胞腔均匀度为σnu和σnv

LSF训练矢量数量N等于M个胞腔的LSF训练矢量数量ni之和:

$N=\sum\limits_{i=1}^{M}{{{n}_{i}}}$ (3)

由式(1)~(3)可以推导出LSF训练矢量数量N、第i个胞腔的LSF训练矢量数量为ni和全体LSF训练矢量训练至收敛后码书胞腔均匀度σn的关系:

${{N}^{2}}=M\sum\limits_{i=1}^{M}{{{n}_{i}}^{2}-{{M}^{2}}{{\sigma }_{n}}^{2}}$ (4)

推导过程如下:

$\begin{align} & {{N}^{2}}={{M}^{2}}{{{\bar{n}}}^{2}} \\ & =2\bar{n}{{M}^{2}}\bar{n}-{{M}^{2}}{{{\bar{n}}}^{2}} \\ & =2\bar{n}M\sum\limits_{i=1}^{M}{{{n}_{i}}-}{{M}^{2}}{{{\bar{n}}}^{2}} \\ & =M\sum\limits_{i=1}^{M}{{{n}_{i}}^{2}-M}\sum\limits_{i=1}^{M}{{{n}_{i}}^{2}+M\sum\limits_{i=1}^{M}{2{{n}_{i}}\bar{n}-M\sum\limits_{i=1}^{M}{{{{\bar{n}}}^{2}}}}} \\ & =M\sum\limits_{i=1}^{M}{{{n}_{i}}^{2}-M}\sum\limits_{i=1}^{M}{({{n}_{i}}^{2}-2{{n}_{i}}\bar{n}+{{{\bar{n}}}^{2}})} \\ & =M\sum\limits_{i=1}^{M}{{{n}_{i}}^{2}-M}\sum\limits_{i=1}^{M}{{{\left( {{n}_{i}}-\bar{n} \right)}^{2}}} \\ & =M\sum\limits_{i=1}^{M}{{{n}_{i}}^{2}-{{M}^{2}}\frac{1}{M}}\sum\limits_{i=1}^{M}{{{\left( {{n}_{i}}-\bar{n} \right)}^{2}}} \\ & =M\sum\limits_{i=1}^{M}{{{n}_{i}}^{2}-{{M}^{2}}{{\sigma }_{n}}^{2}} \end{align}$

由式(4)可以分别得到清浊音LSF训练矢量数量Nu和Nv、第i个胞腔的LSF训练矢量数量分别为ni,u和ni,v,清音和浊音的LSF训练矢量分别训练至收敛后码书胞腔均匀度分别为σnu和σnv的关系:

${{N}_{u}}^{2}=M\sum\limits_{i=1}^{M}{{{n}_{i,u}}^{2}-{{M}^{2}}{{\sigma }_{nu}}^{2}}$ (5)
${{N}_{v}}^{2}=M\sum\limits_{i=1}^{M}{{{n}_{i,v}}^{2}-{{M}^{2}}{{\sigma }_{nv}}^{2}}$ (6)

对清音和浊音的LSF训练矢量分别训练后,由于清音LSF参数存在非典型矢量,通过剔除非典型矢量,使σnunv,这样清浊音混合训练时,可以实现清音和浊音达到相同训练效果,有利于充分利用码书尺寸来分布码字。

为了实现这个目标,只保留清音的LSF训练矢量集中度高的前L个胞腔的矢量,舍弃余下的非典型矢量。由式(5)~(6)得:

$\frac{1}{L}\sum\limits_{i=1}^{L}{{{\left( {{n}_{i,u}}-\frac{1}{L}\sum\limits_{j=1}^{L}{{{n}_{j,u}}} \right)}^{2}}}={{\sigma }_{nv}}^{2}$ (7)

通过式(7)运算得到L(取最接近的整数),式(5)变成:

${{N}_{u}}^{2}=L\sum\limits_{i=1}^{L}{{{n}_{i,u}}^{2}-{{L}^{2}}{{\sigma }_{nV}}^{2}}$ (8)

则得到清音和浊音LSF训练矢量数量比:

${{\rho }_{uv}}=\frac{{{N}_{u}}}{{{N}_{v}}}=\sqrt{\frac{L\sum\limits_{i=1}^{L}{{{n}_{i,u}}^{2}-{{L}^{2}}{{\sigma }_{n,v}}^{2}}}{M\sum\limits_{i=1}^{M}{{{n}_{i,v}}^{2}-{{M}^{2}}{{\sigma }_{n,v}}^{2}}}}$ (9)
2.2 算法步骤

1) 初始化。

训练语音按8 kHz采样,16位PCM编码;对语音进行分帧,帧长为200点,帧移为80点;采用PEFAC算法[10]判定语音帧的清/浊状态,全体语音帧集合记为FVU,所有的浊音帧集合记为FV,所有非浊音帧记为FU。采用MELP[5]方法提取帧内的10阶LSF参数,以LSF_STD_2作为初始码书。

2) LBG码书训练。

分别对浊音帧集合FV,非浊音帧集合FU的LSF训练矢量进行码书训练,LBG算法相对误差门限ε=0.2。

3) 参数计算。

根据训练结果计算出σnu、σnv、L和ρuv

4) 重新混合训练出码书。

舍弃非典型胞腔,剔除指定数量的Nv-L清音LSF训练矢量,将清音余下的训练集和浊音训练集混合后,采用LBG算法训练出码书。

3 实验结果及分析

为了验证笔者提出CMBQ算法的性能。训练准备了四类语音:(中文)男/女评书、(英文)男/女有声小说,各10 h。测试语句另外采用4个10 min的纯净语音,分别是(中文)男/女评书、(英文)男/女有声小说。训练语音和测试语音均是8 kHz采样,16位PCM编码。本算法采用帧长200点、帧移80点来提取LSF参数,语音帧的清/浊音判定采用PEFAC方法[10]判定。

3.1 参数分析

根据CMBQ算法步骤训练出码书,同时记录下实验过程中的参数:

剔除的清音LSF训练矢量数量L=203796; 清音和浊音LSF训练矢量数量比ρuv=0.36; 四组训练集分别训练至收敛时的t和σn表 2所示。

表 2 四组训练集分别训练至收敛时的t和σn

图 2为不同的清音和浊音LSF训练矢量数量比ρuv下的胞腔均匀度σn和谱失真SD。

图 2 不同ρuv下的胞腔均匀度σn和谱失真SD

图 2可以看出:

1) σn随着ρuv的减小而减小,这是因为浊音的LSF训练矢量分布均匀,而清音的LSF训练矢量分布不均匀,ρuv越小,即保留了集中度更高的清音的LSF训练矢量量,从而σn也越小,最终将逼近浊音单独训练的σnv

2) ρuv=0.36左右是个趋势变异点,ρuv<3.6后,σn尽管会减少,但减小的速度相对于ρuv>0.36来说显著下降。

3) ρuv=0.36时,SD具有最小值。这是因为ρuv<3.6,是去除了清音的部分典型LSF训练矢量,从而使这部分清音的LSF参数量化时SD急剧上升,从而造成了平均SD的增大。 ρuv>0.36时,则是由于没有有效去除清音的非典型LSF训练矢量,没有充分利用码书尺寸来分布码字,从而造成SD的增大。

3.2 4种方案性能对比

为了进一步验证笔者提出CMBQ算法的性能,给出了其他3种方案进行对比,它们分别是:1)MSVQ。2)MBQ。该方案中清音和浊音LSF参数分别拥有两套独立的码书。3)MBMSC。该方案中清音和浊音LSF参数共享一套码本。四种方案中LSF参数均直接采用4级矢量量化,分配比特数分别为7、6、6、6。初始码书为随机码书,训练出的码书在2.4 Kb/s的MELP声码器上进行了测试。

LSF参数的量化精度采用符合人耳听觉特性的谱失真SD进行度量,测试结果如表 3所示[11]。 使用MOS测试合成语音的平均意见得分用来衡量整体合成语音质量,测试结果见表 4表 5给出了LSF参数4种量化方案的存储量、SD和 MOS均值。

表 3 算法平均谱失真比较
表 4 算法平均意见得分比较
表 5 算法代价比较

表 3~5可以看出:

1) MBMSC、MBQ和CMBQ算法的SD小于MSVQ、MOS,大于MSVQ,这是由于清音和浊音的LSF参数分布具有差异性,MBMSC、MBQ和CMBQ算法利用了清音和浊音的LSF参数分布差异特性来训练码书,比较充分地利用码书尺寸来分布码字,提升了码书质量。

2) 与MBMSC算法相比,在存储量相同的前提下,CMBQ算法SD下降了2.5%,MOS得分上升了2.3%,码书下降了21.2%;与MBQ算法相比,存储空间下降了100%,SD仅上升了1.2%,MOS得分仅下降了0.6%;与 MSVQ算法比,SD降低4.9%,MOS得分降低了4.1%。

4 结语

本文分析了清音和浊音线谱频率(LSF)参数分布,引入了胞腔均匀度,实验结果表明胞腔均匀度能表征清音和浊音线谱频率(LSF)参数分布的差异特性。

本文提出了基于CE的清浊码书设计算法——CMBQ,实验结果表明,清音和浊音LSF训练矢量数量比为0.36时,训练出的码书质量最优。本文提出的CMBQ算法SD和MOS优于MSVQ算法,码书存储量为MBQ算法的一半;特别是与MBMSC相比,SD下降了2.5%,MOS得分上升了2.3%,码书存储量下降了21.2%,并且可以应用于不传输清浊标志场合;CMBQ算法相比MBQ的增加比特方案SD和MOS 都大致相当,但它却少使用了320个存储单元,在甚低速率语音编码中具有十分重要意义。

参考文献
[1] QUWEIDER M K, SALARI E. Efficient classification and codebook design for CVQ[J]. IEE Proceedings-Vision, Image and Signal Processing, 1996, 143 (6) : 344-352. doi: 10.1049/ip-vis:19960779
[2] KIM S J, OH Y H. Spit vector quantization of LSF parameters with minimum of dLSF constraint[J]. IEEE Signal Processing Letters, 1999, 6 (9) : 227-229. doi: 10.1109/97.782066
[3] 李晔, 彭坦, 许明, 等. 带有帧间级间预测的线谱频率参数多级矢量量化技术[J]. 清华大学学报:自然科学版, 2009, 49 (7) : 965-967. ( LI Y, PENG T, XU M, et al. High efficiency MSVQ for prediction linear spectrum frequency parameters with inter-frame and inter-stage prediction[J]. Journal of Tsinghua University (Science and Technology), 2009, 49 (7) : 965-967. )
[4] 李凤莲, 张雪英, 王子中, 等. 码书分类重排矢量量化方法及其应用[J]. 清华大学学报:自然科学版, 2013, 53 (6) : 893-897. ( LI F L, ZHANG X Y, WANG Z Z, et al. Codebook classification rearrangement vector quantization[J]. Journal of Tsinghua University (Science and Technology), 2013, 53 (6) : 893-897. )
[5] MCCREE A, TRUONG K, GEORGE E B, et al. A 2.4 kbit/s MELP coder candidate for the new US federal standard[C]//Proceedings of the 1996 IEEE International Conference on Acoustics, Speech, and Signal Processing. Washington, DC:IEEE Computer Society, 1996, 1:200-203.
[6] HAN W J, KIM E K, OH Y H. Multicodebook split vector quantization of LSF parameters[J]. IEEE Signal Processing Letters, 2002, 9 (12) : 418-421. doi: 10.1109/LSP.2002.806057
[7] ZHAO M, TANG K, CUI H. Mode-based quantization of LP parameters for very low bit rate vocoder[C]//Proceedings of the 2002 IEEE International Conference on Communications, Circuits and Systems and West Sino Expositions. Piscataway, NJ:IEEE, 2002:28-31.
[8] 徐敬德, 常亮, 计哲, 等. 基于码字特征的多模式多级矢量量化算法[J]. 清华大学学报:自然科学版, 2011, 51 (2) : 172-175. ( XU J D, CHANG L, JI Z, et al. Multi-mode multi-stage vector quantization algorithm based on codeword characteristics[J]. Journal of Tsinghua University (Science and Technology), 2011, 51 (2) : 172-175. )
[9] 魏旋, 党晓妍, 崔慧娟, 等. 基于Gauss混合模型的清浊音解码端恢复算法[J]. 清华大学学报:自然科学版, 2010, 50 (1) : 79-82. ( WEI X, DANG X Y, CUI H J, et al. Voiced/unvoiced classification recovery in GMM speech decoders[J]. Journal of Tsinghua University (Science and Technology), 2010, 50 (1) : 79-82. )
[10] GONZALEZ S, BROOKES M. PEFAC-a pitch estimation algorithm robust to high levels of noise[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2014, 22 (2) : 518-530. doi: 10.1109/TASLP.2013.2295918
[11] LINDE Y, BUZO A, GRAY R M. An algorithm for vector quantization design[J]. IEEE Transactions on Communications, 1980, 28 (1) : 84-95. doi: 10.1109/TCOM.1980.1094577