网易云信实时音频框架背后:算法优化带来产品体验全面提升

10月19日,一年一度的LiveVideoStackCon音视频技术大会在北京召开。本届会议以“技术开启新‘视’界”为主题,汇集资深的音视频技术工程师,探讨在音频、视频、图像等技术的实践与思考。网易云信资深音频算法工程师李备在教育专场中的主题演讲上,分享了软件层实时音频解决方案中,网易云信NRTC针对WebRTC 源生算法不足的优化,以及在音乐内容特殊场景下的新思考。
网易云信资深音频算法工程师李备主题演讲
火爆的市场衍生更丰富的音视频应用场景
互联网产品对实时音视频技术的需求正在各个千亿、百亿规模的市场中爆发,并逐渐成为基础设施型的重要技术。李备认为,随着未来更多可玩性的开发被挖掘,音视频的应用仍有很大增长空间。此外,实时音视频技术助推了互联网产品的创新和进化,赋予了产品以更丰富、更高效的场景表达,也促进了实时音视频技术自身的进化
实时音视频技术需要与行业和应用场景紧密结合。当前及未来,客户的核心诉求除了对稳定高效等技术性能的要求之外,个性化的需求也在增加。李备介绍,网易云信基于自研的全功能工业级的音视频技术框架NRTC,进行了诸多场景化和针对性的技术优化,形成了对实时音频应用的观察与思考。
网易云信NRTC优化算法,弥补WebRTC源生算法的局限
李备强调,尽管当前针对一般行业的软件层实时音频框架已经日益成熟,但仍然有两个较明显的痛点需要解决:一是在复杂变化的网络状况中,因为信号弱或者网路拥塞而造成的延时或丢包现象;二是随着终端种类和应用场景跨度的增加,不同类型终端设备和使用环境的巨大差异对整体解决方案的适配度提出了更高的要求。一般行业基于交流的目的,在对于实时音频的诸多需求中,首先看重框架的流畅性,低延时、音量足够大的同时没有明显的回声、噪声和杂音。在满足以上需求之外,最后才会去关注音质、双讲体验以及其他性能。
那么一个解决以上痛点稳定运转的音频框架该如何设计?以WEBRTC的音频框架图为例:
webrtc的线程模型与数据驱动方式,不同颜色表示不同线程,蓝色箭头表现数据驱动方式
但每个模块为了保障实时音频的稳定都有很多方面的问题需要注意,例如采集回声非线性、音量大小,以及delay中系统内在延迟的大小与变化等,都是平台下音频采集和播放的常见问题。
由于音频前处理的挑战及WebRTC 源生算法的一些不足等原因,需要技术人员进一步优化以提升整个框架的技术表现,确保终端用户的产品体验。网易云信的全功能工业级的音视频技术框架NRTC针对这些不足做了一系列的优化。比如,采集回声的非线性是目前线上采集面临的普遍问题,其稳定性会直接影响回声的消除和处理效果。WebRTC在这方面的不足使得一些厂商为了服务回声消除,不得不以降低音量为代价。针对源生WebRTC Delay Estimation 的稳定性问题,网易云信的NRTC将远端和近段的 delay进行了对齐优化,提升了整体框架消除回声、杂音和降噪方面的性能。
再譬如,对于用户在沟通中产生的气声的采集和处理,也是音频框架面临的普遍难点之一。因为气声发音能量低,回声大,而且能量集中在中高频,所以正常算法无法满足处理需求。以源生WebRTC AEC 和NRTC 在iPhone6P 气音发音下的表现进行对比,经NRTC框架进行算法优化后的效果明显更优。
源生webrtc aec VS NRTC 在iphone6p 气音发音下的表现
网易云信针对音乐场景下实时音频解决方案如何取舍的新思考
除了一般性沟通场景下的音视频应用,音乐内容及其应用场景对技术有更为特殊的要求。李备介绍,与普通场景相比,音乐内容场景对声音的要求存在较大差异。譬如,人耳对于音乐的感知是更加敏感的,稍有音质的下降人耳就能察觉,这对于声音处理提出了更高的要求。而相对于以交流为目的一般场景,音乐内容对实时音频技术要求的优先级也有所不同:稳定和音质成为第一诉求,降噪和低延迟降级为次要需求。
由于音乐内容场景的上述特殊性,一般的实时音频框架在音乐内容场景下便会呈现某些局限性。比如,适用于一般场景的音频框架的低采样率、非全频段处理、对近端声音和对双讲的粗糙处理、码率设置较低、简单的Audio QoS都不足以支撑音乐内容的特殊场景。再如,在采用更高码率的情况下,如果还沿用一般的策略,便会造成比较严重的拥塞或丢包。那么,面对这些新的需求、痛点和局限性,在资源有限的情况下如何取舍,李备分享了网易云信的四点新思考:
• AGC(auto gain control) 在音乐内容下新需求——因为音乐场景下有情感投入的特殊需求,比如在情感舒缓的时候音量较低,在情感猛烈时音量较高。因此,如果在AGC算法中对能量进行相近处理,对于音乐内容的传输是非常大的伤害;
• Howling Control 在音乐场景下的危害——在对音乐demo处理时,如果对某个频段的回声做过分的消除处理,会对人的听觉感受造成很大影响;
• NS(Noise Suppression)在音乐内容下的痛处——有些音乐场景乐器众多,NS处理会对某些声音造成一定的损伤。为了追求对原声的极致体验,有些工程师干脆关闭NS模块,宁愿忍受噪声,也不愿损失音乐效果。李备介绍,网易云信深知这一技术问题给产品和用户造成的困扰,在实践中不断优化自己的NS算法,力争给到客户更好的技术服务;
• TSM(Time Scale Modification)在音乐场景下的影响——如果将用于一般场景的TSM算法直接照搬到音乐内容场景下,会导致音乐内容在传输时节拍的变化,所以需要做出专门适配音乐场景的TSM算法。
“在垂直领域愈发丰富的今天,针对不同的场景,对策略进行调整,是每个底层技术提供商应该思考的问题,也是网易云信一直努力的方向。”李备总结道。让技术匹配客户,让服务更加细致,既是整个行业生态追求的结果,也是推动行业生态进步的动力。