随着 4g、5g通信技术发展,网络通话越来越盛行。但是网络不稳定是常态,所以通话中我们时不时可能会蹦出一句,“你能再重复一遍吗,刚刚网络不太好。”
为了提高通话质量,谷歌近期在视频聊天应用 duo 中应用了一种新技术 waveneteq ,在出现音频丢包情况时,该技术会判断丢失的音频数据可能是什么,并替换掉它,背后的米乐官网app的技术支持来自谷歌声名在外的 deepmind 团队。
一个完整的在线呼叫,数据经常会被分成多个小块,每小块就是一个数据包 packet 。然而,在这些“数据包”从发送方传输到接收方的过程中,数据包通常会以错误的顺序到达,从而产生抖动相关问题,或者直接丢失,造成音频空白。
谷歌给出一份资料显示, duo 99% 的通话都有数据包丢失、过度抖动或网络延迟情况。20% 的通话丢失了超过 3% 的音频,10% 的通话丢包率超过 8% ,也就是说每次通话都有很多音频需要替换。
每个视音频 app 都会用某种方式处理丢包。谷歌表示,这些数据包丢失隐藏 (plc) 过程可能很难更好地填补 60 毫秒或更长时间的空白。过去常用算法是 neteq ,这是 webrtc 中音频技术方面的两大核心技术之一(另一核心技术是音频的前后处理,包括aec、ans、agc等)。webrtc 是谷歌收购 gips 再开源的,是目前影响力极大的实时音视频通信米乐m6平台的解决方案,但用它处理丢包,大多情况下听起来像机器人或机械重复。
谷歌就用了大量的语音数据,训练出了基于 deepmind wavernn 技术的 waveneteq 模型。训练数据集来自 100 多名、48 种不同语言的志愿者,也就是说它可以自动填补 48 种语言的丢包情况。
waveneteq 是一种用于语音合成的递归神经网络模型,由两部分组成,即自回归网络(autoregressive network)和条件网络(conditioning network)。自回归网络的作用是保持信号的平稳流动,而条件网络控制和影响自回归网络以保持音频一致性。
谷歌用 waveneteq 取代了原来的 neteq plc 组件,相对于 neteq ,它在声音质感方面无疑有提升,而且 waveneteq 模型跑得足够快,可以在手机上运行,如此也可以规避用户可能担心的数据隐私问题。谷歌称所有的处理都是在设备上进行,因为 duo 的通话默认情况下就是端到端加密。一旦通话的真实音频恢复,将无缝地切换到现实对话。
不过,waveneteq 替换的内容和时长有限制。目前是支持在 120 毫秒以内的空白,之后会逐渐消失并归零;waveneteq 不是生成完整的单词,而是简单的音节。
目前 waveneteq 已经应用到 pixel 4 手机上的 duo app 中,谷歌表示,它正在将其推广到其他安卓手机上。
雷锋网了解到,当然用机器学习处理音频丢包并不是头一遭,许多公司都在研究相关技术,以国内公司为例,有些是自身业务本就涉及视音频,比如腾讯;有些是音视频云服务商,比如阿里,还有一些是专门的音视频第三方服务商如声网等。雷锋网雷锋网