语音质量的感知评估(Perceptual evaluation of speech quality, PESQ)
PESQ在国际电信联盟的标注化代号为ITU-T P.862。总的想法是:
- 对原始信号和通过被测系统的信号首先电平调整到标准听觉电平,再利用IRS(Intermediate Reference System)滤波器模拟标准电话听筒进行滤波;
- 对通过电平调整和滤波之后的两个信号在时间上对准,并进行听觉变换,这个变换包括对系统中线性滤波和增益变化的补偿和均衡;
- 将两个听觉变换后的信号之间的谱失真测度作为扰动(即差值),分析扰动曲面提取出的两个退化参数,在频率和时间上累积起来,映射到MOS的预测值。
电平调整和时间对齐
-
电平调整
由于各个系统的增益不同,因此需要将原信号和被测信号二者调整到统一、恒定的响度。
令??(??)X(t)是原始信号的时域表示,而??(??)Y(t)是??(??)X(t)通过被测系统后的输出信号,两者首先进行电平调整,将其统一到76 dB SPL(Sound Pressure Level)的能量水平。电平调整的流程:
- 首先对参考信号??(??)X(t)和退化信号??(??)Y(t)进行带通滤波:低于250Hz直接被过滤掉,在250Hz~2kHz之间不进行操作,高于2kHz采取衰减规则。
- 计算全局电平调整因子。如最大最小归一化,或者标准归一化参考信号和退化信号,将其调整到同一能量级上。电平调整后输出????(??)Xs(t)和????(??)Ys(t)。
-
IRS滤波
听觉测试需要使用IRS(Intermeiate Reference System, 中间参考系统)滤波来对参考语音信号和退化信号进行滤波,这种滤波主要是模拟典型的电话手柄听筒的频率响应特性。仿IRS滤波的实现过程为:
- 对整个语音文件进行FFT计算;
- 在频域,由具有与IRS接收滤波器相似的分段线性相应的滤波器滤波;
- 对语音文件进行FFT反变换。
通过IRS滤波系统后得到??????????(??)XIRSS(t)和??????????(??)YIRSS(t).
时间对齐
听觉变换时利用快速傅里叶变换逐帧进行频谱计算,然后再映射到感觉频域和响度,计算PESQ得分需要的参数也是逐帧计算得到的。PESQ算法的时间对齐是对在原始输入信号和退化输出语音之间的一系列延时进行计算,每一个时间间隔内的延时与前一个具有明显不同的时延值。在每一个时间间隔内,计算相应的起点和终点之间的时延,时间校准的原理就是,假设在同一个时间间隔内,原始语音和退化语音在相应的间隔内应该具有确定的时延值。PESQ算法采用了一种新的时间对齐算法,这种算法是基于包络的延迟估计方法。
感知模型
感知模型在PESQ算法中用来计算PESQ得分,即原始信号和退化信号之间的差异。它是一个心理模型,能够对客观语音质量评估提供一个主观MOS的预测值。PESQ可以映射到MOS刻度范围,计算一般分为:听觉变换,计算干扰密度,计算不对称因子,扰动聚合,坏间隔重对齐,最终计算获得PESQ得分。对于正规的主观测试,得分在1.0~4.5之间。在退化严重时,得分可能会低于1.0,但这种情况很少见。
客观评测算法的有效性
语音质量客观评价方法的性能优劣,一般用语音质量的客观MOS值和主观MOS值之间的相关程度和绝对误差作为评价的性能指标。两者的相关程度可以采用Pearson系数加以描述:
??=∑????=1(????????(??)−?????????????????????????)(????????(??)−?????????????????????????)∑????=1(????????(??)−?????????????????????????)2∑????=1(????????(??)−?????????????????????????)2‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾√ρ=∑i=1N(MOSo(i)−MOSo¯)(MOSs(i)−MOSs¯)∑i=1N(MOSo(i)−MOSo¯)2∑i=1N(MOSs(i)−MOSs¯)2其中,??N为样本数,????????(??)MOSs(i)是第??i个样本人类评判的MOS分值,????????(??)MOSo(i)是第??i个样本用客观评估方法预测出的客观MOS值。?????????????????????????MOSs¯和?????????????????????????MOSo¯为两者的算术平均值。相关性系数描述了主客观评价的线性相关程度,相关系数越接近+1,客观评测算法越准确。绝对误差为:
????=|????????(??)−????????(??)|en=|MOSo(i)−MOSs(i)|其中,????????(??)MOSs(i)是第??i个样本人类评判的MOS值,????????(??)MOSo(i)是第??i个样本用客观评估方法预测出的客观MOS值。
客观语音质量评估的单端方法P.563
P.563和PESQ最大的区别就是,P.563只需要经过音频引擎传输后的输出信号,不需要原始信号,直接可以输出该信号的流畅度。因此,P.563的可用性更高,但是其准确性要比PESQ低。
P.563算法主要由三个部分组成:
- 预处理;
- 特征参数估计;
- 感知映射模型
P.563将语音进行预处理后,首先计算出若干个最重要的特征参数,根据这些特征参数判断语音的失真类型,失真类型直接决定了感知映射模型的系数和所使用的特征。利用感知映射模型(其实就是线性方程)计算得到最终的评价结果。
预处理
类似的,语音信号首先进行电平校准和滤波。P.563假设所有语音信号的声压级都是76dB SPL,并将输入语音信号的电平值校准到-26dBov。P.563算法的所使用的滤波器分为两类,第一类滤波器的频率响应特性类似于上述的中间参考系统(IRS),第二类滤波器采用一个四阶巴特沃斯高通滤波器,其截止频率为100Hz且高频响应曲线较为平缓,通过这类滤波器的语音信号可用于基音同步提取、声道模型分析及信号电平和噪声电平的计算。信号预处理的最后一部分是语音活动检测(Voice Activity Detection, VAD),它以帧长4ms的信号功率为阈值,区分语音和噪声。高于该阈值的为语音,否则为噪声。该阈值时动态调整的,计算公式如下:
其中,
表示第??n帧噪声信号的功率,N为噪声帧的帧数。
阈值的初始值为所有帧长为4ms信号的平均功率。为了提高VAD的精度,对VAD的结果进行后处理:如果某一段话大于阈值但是长度小于等于12ms(3帧),则将信号判定为噪声;如果两段已经被判定为语音,但是它们的间隔小于200ms,则将这两段语音合并为一整段语音。
特征参数提取
P.563算法在特征提取过程中利用人类的发声和听觉感知原理,不需要考虑通讯网络相关的信息。P.563算法利用三个相互独立的参数分析模块对预处理后的语音信号提取特征:
- 第一个模块着眼于人类的声音产生系统,通过对声道建模,分析不自然变化造成的语音失真;
- 第二个模块主要用于原始语音信号重建,并分析失真语音信号中存在的噪声,包括加性噪声和信号包络相关的乘性噪声;
- 第三个模块定义并估计语音信号中的间断、静音、时域截断等失真。
P.563算法共提取43个不同的特征参数,其中8个被称作关键参数(Key Parameters)用于判断语音的失真类型。
失真类型判决和结果映射
优先级最高的失真类型是背景噪音,它根据信号的信噪比(SNR)
决定,背景噪音会严重影响语音质量,大部分含有背景噪音的语音MOS值一般在1~3范围内。语音信号的间断失真是指语音信号有静音或中断,即信号的电平值
发生突变。乘性噪声
失真是指语音信号中与信号包络有关的噪声,该类失真仅出现在活动语音部分。语音的机械声与语音的音调
密切相关。优先级最低的失真类型是语音整体的不自然度,由于语音编解码器的输出质量和性别有关,P.563基于基音频率将该失真类型分为男声和女声两种情况。如下图:
客观评价结果的映射模型
在P.563中映射模型就是一个线性模型。P.563算法根据上述求出的失真类型对线性方程的系数设置了不同的值。每一种失真类型包括12个不同的语音特征,P.563首先根据待测语音的失真类型对这12个语音特征线性组合得到评价结果的中间值,再将中间值结合另外的11个特征参数得到最终的结果。
E-Model:基于传输网络参数的无参考语音质量评估
E-Model和P.563一样,不需要原始语音就可以给出当前的语音质量。但是E-Model连退化语音都不需要,只是根据当前的传输网络,比如丢包率、延迟等给出当前的语音评估结果。
原始的E-Model(ITU-T G.107标准)定义十分繁杂,很难实现,因此出现了一批简化的E-Model用于实际落地,如Monitoring VoIP call quality using improved simplified E-model。
通过ITU-T G.107定义的E-Model,组合所有对语音质量有影响的因子计算出单一的指标R值,它可以直接映射为MOS值,因此E-Model已经成为工业和学术界评测语音质量的标准工具之一。
-
简化版E-Model
主要考虑的是编解码器的质量和网络情况。
??=??0−????????????−??????????????_????????−????????????R=R0−Icodec−Ipacket_loss−Idelay其中,??0R0为基本信噪比,????????????Idelay为端到端延迟,????????????Idelay为编解码因素,??????????????_????????Ipacket_loss为窗口期内的丢包率。
Chunlei Jiang and Peng Huang, “Research of Monitoring VoIP Voice QoS”, International Conference on Internet Computing and Information Services, 2011
-
改进简化版的E-Model
??=????−????+??R=Ry−Id+A其中,????Ry为校正函数(由
PESQ
引入);????Id是指定时间内的平均时延参数;??A是通信系统的预期优势因素。-
????Ry是利用
PESQ
分数添加的校正二阶函数: -
????=????2??+??????+??Ry=aRx2+bRx+c
其中,????Rx为简化版E-Model的一部分:
????=??0−????−????.??(1)(1)Rx=R0−Ie−Ip.l??、??、??a、b、c依赖于编码格式(如G.711中,??=0.18;??=−27.09;??=1126.62a=0.18;b=−27.09;c=1126.62,详见Monitoring VoIP call quality using improved simplified E-model-TABEL I)。
在公式1中,??0R0为基本信噪比,噪音源如环境或房间噪声,该参数难以计算,在
ITU-T G.113
提供了??0R0的基本值,现实生活中最优信噪比为94.2,但是由于音频信号转换为网络报文前后会有信息损失,因此??0R0设置为93.2;????Ie为编解码因素,它表示编解码对语音信号的损伤,G.113给出了一些常量值,如G.729A的????Ie值为11,详见Monitoring VoIP call quality using improved simplified E-model-TABLE II;????.??Ip.l为特定时间内的丢包率。 -
????Id是平均时延参数,计算方式:????=0.024??+0.11(??−177.3)??(??−177.3)Id=0.024d+0.11(d−177.3)H(d−177.3)。其中,??(??)=0 ???? ??<0;??(??)=1 ???? ??>=0H(x)=0 if x<0;H(x)=1 if x>=0;d为单向延迟,它是往返时延的一半(即??=??????2d=RTT2).
-
A其实是修正系数,与通信终端使用的网络类型有关,如移动网络A为5。详见Monitoring VoIP call quality using improved simplified E-model-TABLE III
-
E-Model的R值和MOS值映射函数
E-Model计算获得的R值分值范围为0~100,其可以更为细粒度的刻画语音质量,当然也可以直接和主观分数MOS单射:
Assem H , Malone D , Dunne J , et al. Monitoring VoIP call quality using improved simplified E-model[C] Computing, Networking and Communications (ICNC), 2013 International Conference on. IEEE, 2013.
NISQA: 无参考语音通信网络的语音质量
由于深度学习的火热,也有部分人利用深度网络评估语音质量。这类方法都比较简单,由于使用的深度网络可以自动进行特征提取,因此这类方法直接将梅尔频谱系数或者MFCC直接送入模型即可。以NISQA为例。
如上图,整个网络结构十分简单,对数梅尔系数分别送入CNN和计算MFCC,CNN实际输出了帧级别的语音质量。为了使整个模型能够对语音的整体质量进行评估,CNN输出的结果和MFCC连接起来送入LSTM,以得到最终的MOS分。
其中,CNN的设计细节:
总结
语音质量评估对给予了语音一个定量指标,对语音质量的评价(Audio Quality Assessment)其实是一个多年以来得到了深入研究的问题。大致可以分为需要标准信号的无参考(Non-intrusive)和有参考(instrusive)方法。无参考语音质量评估在实时通讯领域出现了许多传统和深度学习方法,但是在语音合成领域,成果其实是寥寥无几的。有利用P.563做合成语音质量评估的尝试:
Kraljevski I, Chungurski S, Stojanovic I, et al. Synthesized speech quality evaluation using itu-t p. 563[J]. 2010.