AGC进行音量增益“自动控制”的策略是什么?音频自动增益控制AGC(三)

在了解 AGC “自动控制”的策略之前,我们先对其处理的音量对象做进一步明确。

显然,并不是所有信号都要进行音量增益控制的,和 ANS/AEC 只抑制噪声/远端回声、要保留近端语音一样,AGC 也要针对采集信号中的近端语音做甄别,避免对噪声、回声等无关信号的增益。考虑这点,把 AGC 模块放在 AEC、ANS 处理之后就比较合适,因为此时信号中的噪声和回声已经被极大的削减。

但位置的“优势”,不代表 AGC 就可以毫无顾虑的开展工作。为避免漏网之鱼,往往需要进行人声检测(VAD),进一步区分语音段和无话段。一般来说,VAD 算法在信噪比低的时候准确性也会降低,为解决这类问题,ZEGO SDK 增加了谐波检测,通过检测谐波特征量来辅助甄别人声,进一步保证后续 AGC 处理的效果。

AGC进行音量增益“自动控制”的策略是什么?音频自动增益控制AGC(三)
人声检测

明确了AGC处理的音量对象,我们这就开始了解其开展“自动控制”的策略。

任何策略的制定都要基于明确的目标和限制,围绕这些目标和限制才能保证策略得到准确、有条理的实施,对于 AGC 来说,其遵循的目标和限制主要为(参考经典的 WebRTC-AGC 算法):

  • 目标音量:表示音量调节的目标大小,使用全分贝刻度标准。比如设置输出音量的目标值为 -3dB;
  • 增益能力:表示音量调节的最大增益,使用分贝度量方式。比如设置最大增益为12dB,也即可将幅值最高放大4倍;
  • 压限开关:表示是否使用压限逻辑。是否对超过目标音量的部分进行抑制。

基于上述目标和限制,常见的 AGC 策略主要有如下几种(参考经典的 WebRTC-AGC 算法):

1 固定数字增益策略   

首先是最基本的控制策略:固定数字增益策略。该策略的核心逻辑,就是对音频音量做固定的、不超过所设增益能力的数字增益调节,且调节后的音量需低于目标音量(若使用压限逻辑)。

固定数字增益的整体策略相对简单,但其缺点也比较明显。由于增益量固定,缺少反馈调节机制,对于音量持续较小的信号改善有限;而对于音量持续较大的信号,如果增益能力设置不合理,可能导致噪声音量相对语音部分提升更多(因为语音音量会受目标音量的限制,而噪声一般达不到压限标准),处理后噪声变得相对更明显,这种情况在前序的 ANS 处理不完善时,会尤为严重。

发现了问题,自然就要思考解决方案,一方面是优化前序的噪声消除模块;另一方面,既然是增益固定引入的缺陷,我们可以增加一些动态调整的机制。

2 自适应模拟增益策略   

第二种控制策略 “自适应模拟增益”,在固定数字增益策略的基础上,利用反馈机制,增加了对当前设备模拟增益值的控制

它会综合对前序调节效果的评估,分析当前的模拟增益值是否合理,并计算出所需的模拟增益值,再调用系统接口将“所需的模拟增益”设置到设备层,调节原始的采集音量,作用于后续的处理。

该策略的好处是,固定数字增益和动态模拟增益相辅相成,利用反馈机制提高了策略的灵活性、以及均衡效果。但由于模拟增益需要调用系统接口,如果信号比较复杂、调整比较频繁,会产生额外的性能消耗。另外,该策略不适用于缺少相关系统接口的移动设备,局限性也比较大

3 自适应数字增益策略  

为解决自适应模拟增益存在的部分问题,并继承其反馈机制的优点,第三种控制策略应运而生 –自适应数字增益。

自适应数字增益策略,在数字增益控制中参考了模拟增益的原理。并同样使用基于反馈机制的调节逻辑,会根据前序处理效果、动态调节数字增益参数,持续优化增益效果。由于只进行数字增益,不依赖于系统接口,可以应用于移动设备,适用范围更广

但遗憾的是,自适应数字增益策略也存在缺点 – 灵敏度不足,增益调节速度不够快。在音量起伏频繁时,可能会将用于小音量的大增益,误用于大音量、或者将用于大音量的小增益,误用于小音量,导致大音量更大、小音量更小。

AGC进行音量增益“自动控制”的策略是什么?音频自动增益控制AGC(三)
控制模式

总结

了解了 AGC 常见的处理策略及其优劣势,可以发现没有哪一个策略是绝对完美的,需要取长补短、合理搭配,并且不断的总结精进。设计一个优秀的 AGC 算法,也是任重道远的。

现在,AGC 自动增益控制的各个概念要点,我们已经逐一击破了,今后在实际应用中再遇到音量问题,我们不应仅仅满足于“动动手”,还可以进一步借助 AGC 模块来解决,对于 AGC 处理不佳的情况,也可以尝试探究其原因和优化方案,进一步加深理解。

至此,致力于让声音更“好听”的音频前处理三剑客,已经和大家介绍完毕了,在当今的 RTC 场景下,3A 处理已然是不可或缺的一环,我们很难想象,再回到充斥着回声、噪声、音量还起伏不定的环境会是一种怎样的“折磨”,用户体验无从谈起,恐怕再优秀有趣的玩法都无济于事。

在未来,随着 RTC 场景的不断扩展,我们必然会遇到更多的技术挑战,但我们有理由相信,随着技术应用的不断深入,业界势必也会有更优秀、更智能的 3A 算法落地,会持续为我们的用户体验保驾护航,我们大可以拭目以待!

下面,我们再通过一个思维导图,梳理一下AGC系列文章的内容:

AGC进行音量增益“自动控制”的策略是什么?音频自动增益控制AGC(三)

原创文章,作者:ZEGO即构科技,如若转载,请注明出处:https://market-blogs.zego.im/reports-technique/479/

(0)
上一篇 7月 14, 2022 9:55 上午
下一篇 7月 14, 2022 10:41 上午

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注