当前位置: 首页 > news >正文

复习两个与噪声有关的参数:SI-SDR和PESQ

说明

在开发和测试降噪算法的过程中,不论是使用传统降噪算法,还是现在新的机器学习的降噪算法,非常重要的一环就是eval,那我们在评估一个语音信号算法的时候,几个常见参数是我们需要关注的。

  1. SI-SDR

  2. PESQ(Perceptual Evaluation of Speech Quality)

  3. STOI(Short-Time Objective Intelligibility)

  4. CSIG、CBAK、COVL(来自 P.862.2 标准)

  5. MOS(Mean Opinion Score)

接下来简单总结和理解一下几个常见参数

一、SI-SDR

在说明什么是SI-SDR之前,需要了解什么是SDR:

SDR(Signal-to-Distortion Ratio) :传统信噪比指标,衡量总信号能量与失真能量的比值,但对信号缩放敏感。

· SDR 核心定义

SDR 计算的是原始干净信号的能量与处理过程中引入的失真能量的比值,公式如下:

SDR=10⋅log⁡10(∣∣s∣∣2∣∣e∣∣2)SDR = 10 \cdot \log_{10}\left(\frac{||\mathbf{s}||^{2}}{||\mathbf{e}||^{2}}\right)SDR=10log10(∣∣e2∣∣s2)

其中,s 是原始干净信号(参考信号),e 是误差信号(处理后信号与原始信号的差值),||·||² 表示信号的能量(L2 范数的平方)

注:L2范式的表达如下:
假设
s=[s1,s2,s3,...,sN]T\mathbf{s} = [s_1, s_2, s_3, ..., s_N]^Ts=[s1,s2,s3,...,sN]T

∣∣s∣∣=∑n=1Nsn2||\mathbf{s}|| = \sqrt{\sum_{n=1}^{N} s_n^2}∣∣s∣∣=n=1Nsn2

误差信号 e\mathbf{e}e是估计信号 s^\hat{\mathbf{s}}s^与原始信号 s\mathbf{s}s的差值: e=s^−s\mathbf{e} = \hat{\mathbf{s}} - \mathbf{s}e=s^s,其平方 ∣∣e∣∣2||\mathbf{e}||^2∣∣e2代表估计误差的总能量。

总结SDR:

比值 ∣∣s∣∣2∣∣e∣∣2\frac{||\mathbf{s}||^{2}}{||\mathbf{e}||^{2}}∣∣e2∣∣s2是​​信扰比​​。SDR 值(以分贝 dB 表示)越高,说明信号失真越小。

SI-SDR的改进和对比

SDR​​ 在计算时允许对估计信号进行任意缩放,这会导致评分失真。其实从公式上就可以很自然的得到结论,在测试的时候尺度的不同会导致这个比值同步的放大,这个SDR的值会跟着幅度相对的移动,这显然不是我们想要的,所以对此,我们需要在进行SDR计算之前,对语音信号进行一个相对应的幅度缩放:

· 核心思想:

核心思想:​​ 在计算误差之前,先将估计信号 s^\hat{\mathbf{s}}s^投影到原始信号 s\mathbf{s}s上,找到与 s\mathbf{s}s最匹配的​​尺度分量​​。然后,误差只来自于与 s\mathbf{s}s垂直的​​失真分量​​。

定义如下:

  1. ​​计算投影(尺度分量):​​ 找到估计信号 s^\hat{\mathbf{s}}s^在原始信号 s\mathbf{s}s方向上的投影。这相当于找到一个最佳缩放系数 α\alphaα,使得 αs\alpha\mathbf{s}αs最接近 s^\hat{\mathbf{s}}s^
    这里的 ⟨s^,s⟩∣∣s∣∣2\frac{\langle \hat{\mathbf{s}}, \mathbf{s} \rangle}{||\mathbf{s}||^2}∣∣s2s^,s就是最佳缩放系数 α\alphaα

  2. 计算误差(失真分量):​​ 从估计信号中减去上面的投影部分,剩下的就是失真。
    eresidual=s^−starget\mathbf{e}_{\text{residual}} = \hat{\mathbf{s}} - \mathbf{s}_{\text{target}}eresidual=s^starget

  3. 计算 SI-SDR:​​ 使用投影后的信号能量除以失真信号的能量。SI-SDR=10⋅log⁡10(∣∣starget∣∣2∣∣eresidual∣∣2)SI\text{-}SDR = 10 \cdot \log_{10}\left(\frac{||\mathbf{s}_{\text{target}}||^{2}}{||\mathbf{e}_{\text{residual}}||^{2}}\right)SI-SDR=10log10(∣∣eresidual2∣∣starget2)

SI-SDR最终公式:

SI-SDR=10⋅log⁡10(∣∣αs∣∣2∣∣s^−αs∣∣2)=10⋅log⁡10((sTs^)2∣∣s∣∣2 ∣∣s^∣∣2−(sTs^)2)SI\text{-}SDR = 10 \cdot \log_{10} \left( \frac{ || \alpha \mathbf{s} ||^2 }{ || \hat{\mathbf{s}} - \alpha \mathbf{s} ||^2 } \right) = 10 \cdot \log_{10} \left( \frac{ (\mathbf{s}^T \hat{\mathbf{s}}) ^2 }{ ||\mathbf{s}||^2 \, ||\hat{\mathbf{s}}||^2 - (\mathbf{s}^T \hat{\mathbf{s}})^2 } \right)SI-SDR=10log10(∣∣s^αs2∣∣αs2)=10log10(∣∣s2∣∣s^2(sTs^)2(sTs^)2)

二、 PESQ(Perceptual Evaluation of Speech Quality,语音质量感知评估)

这是一个复杂的算法,用于客观地评估语音质量。它的计算过程模拟了人耳的听觉感知系统。

PESQ 计算核心步骤

PESQ 通过比较​​原始参考信号​​(未经失真的干净语音)和​​待测的退化信号​​(经过系统处理或压缩后有失真的语音)来计算分数。整个过程可分为以下几个关键步骤

步骤1:预处理与电平对齐​
  1. 输入信号​​:输入原始的参考信号 xref(t)x_{ref}(t)xref(t)和退化信号 xdeg(t)x_{deg}(t)xdeg(t)

  2. 滤波​​:使用一个模拟标准电话听筒频率响应的滤波器(通常为 300-3400 Hz 带通滤波器)对两个信号进行滤波,以聚焦于语音通信相关的频段。

  3. 电平对齐​​:将两个信号的响度调整到相同的标准感知电平(通常是 -26 dBov)。这一步确保了比较是在相同的“音量”下进行,避免单纯的声音大小影响评分。

  4. 时间对齐​​:这是非常关键的一步。使用一个精确的算法将退化信号与参考信号在时间轴上对齐,以补偿任何可能的延迟。如果对不齐,得分会毫无意义。

步骤2:听觉变换(模拟人耳感知)​

这是 PESQ 的核心,它将信号从时间域转换到类似于人耳听觉的感知域。

  1. 快速傅里叶变换​​

  2. 巴克尺度滤波​​

  3. ​​计算响度

步骤3: 计算感知扰动(计算差异)​

在每个时间帧和每个巴克频带上,比较参考信号和退化信号的响度,计算出各种“扰动”(即差异)。主要包括两种:

  1. 对称扰动

Psym(t,b)=Ldeg(t,b)−Lref(t,b)Lref(t,b)+L0P_{sym}(t, b) = \frac{L_{deg}(t, b) - L_{ref}(t, b)}{L_{ref}(t, b) + L_0}Psym(t,b)=Lref(t,b)+L0Ldeg(t,b)Lref(t,b)

其中:

· Lref(t,b)L_{ref}(t, b)Lref(t,b)Ldeg(t,b)L_{deg}(t, b)Ldeg(t,b)分别是参考信号和退化信号在时间 ttt、巴克频带 bbb上的响度。

· L0L_0L0是一个很小的常数,用于防止分母为零。

· L0L_0L0是一个很小的常数,用于防止分母为零。

  1. 非对称扰动​​:

Pasym(t,b)=...P_{asym}(t, b) = ...Pasym(t,b)=...

这种扰动专门用于捕捉​​信号削波(Clipping)​​ 等引入的非线性失真。其关键在于,它对信号幅度的增加(如噪音)和减少(如削波导致的信号丢失)给予不同的权重。

​步骤 4:扰动聚合与概率映射​

时间聚合​​:将每个频带上的扰动随时间进行平均,但对于特别讨厌的短时突发失真(如“咔嗒”声),会给予更高的权重。

​​频率聚合​​:将各个巴克频带的扰动值合并为两个总体的扰动值:一个​​对称扰动密度​​ DsymD_{sym}Dsym和一个​​非对称扰动密度​​ DasymD_{asym}Dasym

​​概率映射​​:将这两个扰动密度代入一个预先定义好的​​心理声学模型​​(通常是一个多元回归模型)。这个模型是在大量主观听力测试数据上训练出来的,其目的是将客观的扰动值映射到主观的听觉感受上。

PESQ=a0+a1⋅Dsym+a2⋅Dasym\text{PESQ} = a_0 + a_1 \cdot D_{sym} + a_2 \cdot D_{asym}PESQ=a0+a1Dsym+a2Dasym

输出最终分数​

最终,算法会输出一个​​MOS-LQO​​ 分数。

​· ​MOS​​:平均意见得分,范围通常为 1(差)到 5(优)。

​· ​LQO​​:听力质量客观值。

PESQ 的得分范围大致在 ​​-0.5 到 4.5​​ 之间。

​· ​~4.5​​:表示质量极好,几乎听不出失真。

​· ​~3.0​​:表示质量一般,有些许失真但可接受。

​· ​< 2.0​​:表示质量较差,难以听清。

PESQ总结

PESQ 的计算流程可以简化为:

​​电平与时间对齐​​ -> ​​FFT 转到频域​​ -> ​​巴克尺度滤波(模拟人耳)​​ -> ​​计算瞬时响度​​ -> ​​计算对称与非对称扰动​​ -> ​​时间/频率聚合​​ -> ​​通过心理声学模型映射到主观MOS分数​​。

与 SI-SDR 等基于波形能量的指标不同,PESQ 的优势在于它​​高度模拟了人耳的真实听觉感知​​,因此其评分结果与人类的主观听感有很高的相关性。它特别擅长评估编码失真、包丢失、抖动和噪音等对语音质量的影响。

http://www.dtcms.com/a/403730.html

相关文章:

  • apiSQL+GoView:一个API接口开发数据大屏
  • 关停网站的申请网站怎么营销
  • 湖南企业网站定制wordpress投递文章插件
  • Day07_苍穹外卖——缓存菜品与套餐购物车添加查看清空删除功能
  • 默会之墙:机器人教学困境中的认知迷雾与破晓之光
  • 电子规划书商务网站建设在线制作非主流流光闪字 急切网
  • 决策树(Decision Tree)
  • 大模型剪枝系列——非结构化剪枝、结构化剪枝、动态结构化剪枝
  • MoE 的“大脑”与“指挥官”:深入理解门控、路由与负载均衡
  • TENGJUN“二合一(2.5MM+3.5MM)”耳机插座:JA10-BPD051-A;参数与材质说明
  • 返佣贵金属交易所网站建设wordpress装修主题
  • 做海报推荐网站好的网络推广平台
  • 【docker】常用命令
  • Doris数据库-初识
  • Ubuntu 20.04上安装Miniconda3
  • zynq读取片内DNA
  • python用于网站开发桐乡做网站的公司
  • Maven的安装与配置的详细步骤
  • 第三篇布局
  • 网站建设推广 公司两学一做网站是多少钱
  • 分布式专题——21 Kafka客户端消息流转流程
  • 安平有做农产品的网站被wordpress数据库导入插件
  • 个人网站可备案江西龙峰建设集团的网站
  • 从MR迁移到Spark3:数据倾斜与膨胀问题的实战优化
  • 成都手机建站网站建设平台赚钱
  • Service :微服务通信、负载、故障难题的解决方案
  • 网站建设有什么理论依据外包公司会抽取多少工资
  • 积加科技音视频一面
  • phpstudy如何搭建网站萝岗微信网站建设
  • Spring Boot 高级特性:从原理到企业级实战​