技术分享| 快对讲,全球对讲
数字化对讲是讲语音信号通过数字编码,然后通过互联网进行传输,接收端进行解码播放。在整个对讲过程中语音编码,网络传输,播放端缓存等等技术环节会影响到对讲的质量,特别是跨国跨运营商的对讲,网络传输延时大,波动大,对讲的体验如何保障是一个问题。快对讲是通过对技术环节的层层优化,实现了全球范围内延时低于 300ms 的高保真数字化语音对讲,这是如何做到的呢,下面我们来一一介绍。
语音在互联网上传输,不得不面对一个问题:丢包,网络波动。那什么是丢包,这里需要解释一下,我们将互联网看作为传输带,那么音频数据是一个个物件。丢包就是有的物件无法在有效时间内无法达到目的地,甚至可能永远也到不了目的地。假如我们的一百个物件里有五个物件没能到达目的地,我们这次传输任务的“丢包率”就是 5%。是的,互联网传输也一样,它并不是百分百可靠的,总有数据无法按时传输到目的地,或者出现错乱的情况。
那么问题来了,如果网络波动,丢包率大,会造成什么后果呢?
如果丢包比较严重,微信电话、视频聊天或语音对讲的时候,你听到的对方的声音可能音质很差,甚至是断断续续的,通话延时特别大,或者干脆没有声音。而这种情况在任何网络下都可能出现。不论你是通过 Wi-Fi、4G 还是 5G,都可能因为进入地下车库、进入电梯、信号覆盖不良、网络带宽受限等原因,遇到这些实时音频体验问题。
一.编解码冗余抗丢包
快对讲使用的编解码器针对语音做过特殊优化,他的抗丢包策略与传统方法不同。从通信原理来说,信源编码是尽可能去追求高压缩比,去冗余。而信道编码是追求强纠错,靠加冗余来实现纠错。而我们针对人声音信号特性的优化就是把加冗余和减冗余结合起来,不重要的地方减冗余,重要的地方加冗余。
在传输过程中,它会将一个包拆分为两个进行传输,如果对端收到其中一个,则解码恢复出一个有限失真的信号;如果对端收到两个包,则可解码恢复出一个高质量的信号。即不需要等待对当前网络丢包状态的统计,只需要直接把抗丢包做到编解码内部。
好处有三点:
1.可降低编码和传输码率;
2.可实现更高质量,当收到一个包时质量达到的普通编解码器水平,收到两个包达到高质量编解码水平;
3.可实现更低端到端延时 。
二.网络传输 FEC
1,FEC 可以分为两大类:基于信源和基于信道。
A,信源 FEC 是 ,包可以多发几遍,对于音频来说一秒可以发 25 个包,信源 FEC 就发两倍 50 个包,同样大小多发一遍,来实现抗丢包。
B,信道 FEC 是 ,比如当前的丢包率 25%,我们可以加 50%的抗丢包。那么原始有 10 个包,经过处理生成 15 个包,这 15 个包到达任意的 10 个包,都可以实现准确解码。
2,信源 FEC 中,如果采用多发包的方式,会产生新的问题,比如要传输的是 24kpbs 的语音,丢包时,是发 48kpbs 的语音,两个 24kpbs 的都发过去。还是把它拆成两个 12kpbs 再发?各有优劣。如果使用两个 12kpbs,下降了音质来换取抗丢包性。如果选择 48kpbs,保持音质,之前 24kpbs 下网络丢包假如是 10%,带宽变成 48kpbs 后,丢包情况也会不同。所以,Opus 和 Silk 的编码器提出一种新方法,采用了下降码率的做法,类似于两个 12kbps。在 24kbps 的音频流中,有 6kbps 的小包来对前一帧补偿。一旦大的包丢了,就使用小包来进行恢复,但是带来的问题是音频质量下降了。FEC 是一种很好的抗丢包方法,但是它的问题也比较明显就是会浪费带宽。使用 FEC 之后,确实能提高包的到达率,能在有限的延时下把通信的质量提高。
FEC 的流程是这样的:先发出了三个包,从 device1 发了 3 个包到 device2,packet2 丢了,那么此时的丢包率是 33%。device2 会发一个 Loss info 给 device1,通知它丢包率是 33%。然后,device1 接着发新的包,此时会发 2 倍,两个 packet4,两个 packet5。packet4 发生丢包,就会被另一个 packet4 补偿回来了,这样 packet4 就不用再重新发送了。
从这个过程可以看出,无论是信源 FEC 还是信道 FEC 的作用非常突出,虽然浪费了一点带宽,但是在面对高丢包的,高延时的环境,保证了音频的低延时和高质量。
三.GT-RTN 网络
快对讲借助了 anyRTC 为我们提供的基于全球的 GT-RTN 网络,在骨干网传输方面,通过智能网络通讯、路由规划调度、多线路冗余等方式,结合关键节点广泛部署,有效地解决了因网络拥塞、运营商故障等带来的传输质量下降问题。
GT-RTN 网络通过“云”服务和“端”到端的高效协同优化,使本来不可预测的互联网变得可管理、可预测、可调度。基于这个能力,全链路加速可为全球各个国家与地区的用户提供高水平的 QoS 保障。
GT-RTN 网络具备 QoS 保障、全链路加速、高可用、全球覆盖四大核心优势:
1、QoS 保障: 全网 260ms 包到达率超过 99.9%,平均提升终端用户访问性能 100%。
2、全链路加速: 全链路“端”+“云”协同加速,提供更优秀的整体加速性能与稳定性。
3、高可用: 通过冗余资源与全网智能调度算法,不依赖单一物理资源,杜绝因为物理线路故障导致的不可用问题。
4、全球覆盖: 可为全球 100 多个国家和地区的用户提供随时随地、稳定高速的网络服务
同时 GT-RTN 网络在数据安全合规性方面,在传输过程中均支持 TLS 协议,终端与源站之间的通信都是在专用通道内,对于源站侧可以完全不暴露在互联网上,保证源站的业务安全。终端的接入也会提供动态 Token 验证以及用户鉴权。
四.总结
看似一个简单语音对讲技术,其中包含的技术点可谓是非常多,本文介绍了快对讲在实现全球化对讲中如何保障语音的高质量和低延时,有了这些扎实的技术作为保障才能为用户带来更加优质的使用体验。
版权声明: 本文为 InfoQ 作者【anyRTC开发者】的原创文章。
原文链接:【http://xie.infoq.cn/article/ab95e5c801e2e952b50ac0b36】。文章转载请联系作者。
评论