1994_An Algorithm To Reconstruct Wideband Speech From Narrowband Speech Based On Codebook Mapping

时间:2024-01-26 12:04:17

论文地址:基于码本映射的窄带语音宽带重建算法

博客作者:凌逆战

博客地址:https://www.cnblogs.com/LXP-Never/p/12144324.html


摘要

  本文提出了一种从窄带语音中重构宽带语音的新算法,该算法有两个新的特点。第一是基于码本映射的频谱包络重构。第二是利用重构的频谱包络进行语音信号重构。由于该算法无需使用任何附加的发送信息就能生成高质量的语音(盲源),所以它适用于任何网络,如现有的电话网络、支持模拟和ISDN服务的网络等。该算法应用于20个说话人。通过acoustic distance measure(声学距离测量)和listening tests confirms(听力测试验证)了算法的良好性能。

引言

  近年来,高质量的声音已经通过CD(小型光盘)和LDs(激光光盘)变得熟悉起来,这就提高了现有服务的音质的需求。例如,一些调幅电台已经开始用立体声代替单声道广播。这些趋势表明,改进的质量是传统系统或现有服务中最重要的要求之一。在电话服务方面,一个要求是提供宽带语音而不是窄带语音。因为宽带语音是清晰的,并且精确地保留了说话人的身份,所以用户可以通过电话线更真实地交流[1][2]。

  本文提出了一种从电话语音中产生宽带语音的方法。因为模拟电话的带宽限制在300Hz~3.4kHz之间。该算法产生一个附加的低频信号(50hz-300Hz)和一个高频信号(3.4kHz-7.3kHz)。这generation基于两个假设,一是窄带语音与低频带和高频带信号密切相关;二是即使低频带和高频带信号不完全正确,也能显著提高感知语音质量。该算法的一个优点是可以在不增加任何额外信息的情况下生成宽带语音。这使得它适用于任何网络,如现有的电话网、支持模拟和ISDN的网络等。此外,在传输带宽受限的情况下,如在移动通信中,它也是有效的。

2 重建算法

  该算法分为两个步骤,

  1. 步骤一:高频带和低频带的频谱包络重建。利用宽带语音集及其窄带版本生成映射函数,映射功能将窄带频谱的矢量映射到宽带频谱的矢量空间[3]的码书实现的。
  2. 步骤二:合成低频带和高频带信号。低频带信号采用线性预测编码(LPC)来合成。在高频带信号合成方面,我们考虑了LPC合成和波形叠加两种方法,最后将高频带和低频带信号叠加到电话语音中得到宽带语音。

  下面解释这两个过程的细节

2.1 频谱包络产生

  要从窄带频谱包络中产生宽带频谱包络,需要一对码本。其中一个码本包含宽带频谱包络,另一个码本包含对应的窄带频谱包络。宽带频谱包络码本的码向量与窄带频谱包络的码向量具有一对一的对应关系。码本的制作步骤如下,下面步骤中的序号对应于图1中的数字。

  1. 宽带语音通过带通滤波器生成窄带语音
  2. 提取宽带和窄带语音频谱包络
  3. 使用LBG算法生成宽带码本[4]
  4. 使用宽带码本对宽带语音中的语音进行矢量量化
  5. 利用时间关系,将窄带语音的频谱包络进行聚类
  6. 平均每个窄带群集中的频谱包络,然后将其存储为窄带码本的码向量(当通过波形叠加产生高频信号时,需要其它码本)
  7. 选择具有最接近每个码矢量频谱包络的宽带波形,通过高通滤波器和带通滤波器后,将其存储为代表波形

图1  码本生成算法框图

2.2 从窄带语音生成宽带语音

图2是生成过程的框图,步骤如下

  1. 用LPC分析输入窄带语音并提取基音、功率和频谱包络
  2. 使用窄带码本对每个频谱包络进行矢量量化,并使用宽带码本对向量进行解码
  3. 产生低频信号。细节将在后面介绍
  4. 产生高频信号。细节将在后面介绍
  5. 对输入的窄带语音进行上采样
  6. 在(5)的输出中加入低频带和高频带信号,产生宽带语音

 图2 生成过程框图

  下面解释低频带和高频带信号的产生。利用LPC合成技术合成了低频信号。为了合成高频信号,提出了两种方法,一种是使用LPC合成法(方法1),另一种是使用波形形成法(方法2),图3、4和5分别是低频信号生成、高频信号生成的框图(方法1和方法2)。

低频段产生

  1. 利用所分析的基音、功率和由宽带码本解码的频谱包络,通过LPC进行宽带语音合成。
  2. (1)的输出通过低通滤波器提取低频带信号(在这种情况下,我们使用STFT分析/合成[5]作为低通滤波器)
  3. 将(2)的输出乘以一个常数,因为(2)的power(功率)insufficient(缺乏)宽带语音。这就产生了低频带信号

低频段语音生成 

高频带生成(方法1)

  1. 利用宽带码本解码后的基音、功率和频谱包络,用LPC合成宽带信号
  2. 通过高通滤波器(1)提取高频信号(在这种情况下,我们使用STFT分析/合成作为高通滤波器)
  3. 将(2)的输出乘以余弦函数,以减小由LPC合成引起的脉冲,并使功率正常化。这就产生了高频信号

 高频带信号生成(方法一)

高频带生成(方法2)

  1. 参考码矢量索引,得到两个waveform(波形):一个来自窄带代表码本,另一个来自高频代表码本。
  2. 检查波形是否为浊音(voiced)或清音(unvoiced)
  3. 如果是浊音,则通过基音同步重叠加法来合成窄带语音。如果没有浊音,则通过逐帧重叠加法合成窄带语音
  4. 计算(3)的输出与输入语音之间的功率比
  5. 用与(3)相同的方法合成高频信号
  6. 将(5)的输出乘以功率比,得到高频信号。

 高频带信号生成(方法二)

3 性能评估

  频谱失真和听觉测试评估了该算法的性能。 实验条件如表1所示

  “说话人相关”表示模型的训练数据和测试数来自同一个人,“说话人独立”表示不同的说话人。

3.1 频谱失真评估

  通过使用宽带码本和窄带码本来测量频谱失真,我们使用了10位男性说话人和10位女性说话人。

  VQ失真计算如下

(1)从宽带语音中提取频谱包络

(2)使用宽带码本进行矢量量化(1)

(3)分别计算低频和高频信号(1)和(2)之间的平方误差。误差定义如下

$$D=\sum_{t=0}^{T^{\prime}}\left[\frac{1}{2 \pi} \int_{a}^{b}\left[10 \log _{10} \frac{\hat{Y}_{t}(\omega)}{Y_{t}(\omega)}\right]^{2} d \omega\right]^{\frac{1}{2}}$$

重建失真计算方式如下

(4)通过滤波(1)中使用的语音获得窄带语音,并提取窄带频谱包络

(5)利用窄带码本和宽带码本重构(4)输出相对应的宽带频谱包络

(6)分别计算低频和高频信号(4)和(5)之间的平方误差。误差定义见(3)

  实验结果如图6和图7所示。每个失真值是所有说话人对的平均值。从结果来看,该算法可以像矢量量化一样精确地重建低频谱,并且重建失真随着码本尺寸的增大而减小(8bit码本会导致3.5dB的频谱失真),在高带宽重建方面,使用4bit码本,重建失真的降低在6.5dB处饱和。这表明,高频信号和窄带语音的相关系数没有低频信号和窄带语音的相关系数高。

表1:测试条件

训练数据数目:186个单词平衡了所有音素

分析窗函数:hamming

窗函数长度:21毫秒

帧移长度:3毫秒

LPC阶数:12

FFT点的数量:512

失真度量:LPC倒谱的欧氏距离

图6:频谱失真(低频段)

图7:频谱失真(高频段)

3.2 听力测试评估

  进行配对比较听力测试。基于以上结果,分别用8bit和4bit码本对低频和高频信号进行了宽带语音生成。两名男发言人和两名女发言人以独立于发言者的方式受雇。随机从三个语音集中选择两个语音集:电话语音、使用方法1生成的语音和使用方法2生成的语音2。六位听众被要求选择一个比另一个更宽的语音。使用了77对。

  实验结果如图8所示。结果表明,该算法能有效地从电话语音中重建宽带语音。就产生高频的最佳方法而言,它们之间没有显著差异

 图8:偏好得分

4 总结

  提出了一种利用码本映射生成窄带语音宽带语音的算法,并从频谱失真的角度验证了算法的性能,在说话人相关和独立重构之间没有性能差异。听力测试证实,生成的宽带语音质量优于原始电话语音。我们计划改进高频信号的产生过程,以提高与窄带信号的相关性

致谢

  我们感谢语音处理部门的成员进行了有价值的讨论。我们也感谢语音和声学实验室主任北崎骏博士和语音处理小组组长杉村博士对这项工作的持续支持。

参考文献

[1] Y. Cheng, D. O'Shaughnessy, P. Mermelstein, "Statistical Re covery of Wideband Speech From Narrowband Speech, "Proceedings of ICSLP92, pp. 1577-1480,19922

[2] N. Jayant,"High-Quality Coding of Telephone ech and wideband Audio, Advances in Speech Sign cessing, pp85-108,1992

[3] M. Abe, S. Nakamura, K. Shikano, H. Kuwabara, "Voice conversion through vector quantization, "ICASSP,88, pp. 655-658,1988

[4] Y. Linde, A. Buzo, and R. M. Gray, " An algorithm for vector quantizer design, "IEEE Trans. Commun COM-28, 1, pp 8495(Jan.19805

[5] Lawrence R. Rabiner, Ronald W. Schafer "Digital Processing of Speech Signals”,