1

技术分享| 快对讲,全球对讲

 2 years ago
source link: https://blog.51cto.com/u_15232255/5372756
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

技术分享| 快对讲,全球对讲

原创

数字化对讲是讲语音信号通过数字编码,然后通过互联网进行传输,接收端进行解码播放。在整个对讲过程中语音编码,网络传输,播放端缓存等等技术环节会影响到对讲的质量,特别是跨国跨运营商的对讲,网络传输延时大,波动大,对讲的体验如何保障是一个问题。快对讲是通过对技术环节的层层优化,实现了全球范围内延时低于300ms的高保真数字化语音对讲,这是如何做到的呢,下面我们来一一介绍。

语音在互联网上传输,不得不面对一个问题:丢包,网络波动。那什么是丢包,这里需要解释一下,我们将互联网看作为传输带,那么音频数据是一个个物件。丢包就是有的物件无法在有效时间内无法达到目的地,甚至可能永远也到不了目的地。假如我们的一百个物件里有五个物件没能到达目的地,我们这次传输任务的“丢包率”就是5%。是的,互联网传输也一样,它并不是百分百可靠的,总有数据无法按时传输到目的地,或者出现错乱的情况。

技术分享| 快对讲,全球对讲_快对讲

那么问题来了,如果网络波动,丢包率大,会造成什么后果呢?

如果丢包比较严重,微信电话、视频聊天或语音对讲的时候,你听到的对方的声音可能音质很差,甚至是断断续续的,通话延时特别大,或者干脆没有声音。而这种情况在任何网络下都可能出现。不论你是通过 Wi-Fi、4G 还是 5G,都可能因为进入地下车库、进入电梯、信号覆盖不良、网络带宽受限等原因,遇到这些实时音频体验问题。

一.编解码冗余抗丢包

快对讲使用的编解码器针对语音做过特殊优化,他的抗丢包策略与传统方法不同。从通信原理来说,信源编码是尽可能去追求高压缩比,去冗余。而信道编码是追求强纠错,靠加冗余来实现纠错。而我们针对人声音信号特性的优化就是把加冗余和减冗余结合起来,不重要的地方减冗余,重要的地方加冗余。

在传输过程中,它会将一个包拆分为两个进行传输,如果对端收到其中一个,则解码恢复出一个有限失真的信号;如果对端收到两个包,则可解码恢复出一个高质量的信号。即不需要等待对当前网络丢包状态的统计,只需要直接把抗丢包做到编解码内部。

好处有三点:

1.可降低编码和传输码率;

2.可实现更高质量,当收到一个包时质量达到的普通编解码器水平,收到两个包达到高质量编解码水平;

3.可实现更低端到端延时 。

技术分享| 快对讲,全球对讲_丢包_02

二.网络传输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之后,确实能提高包的到达率,能在有限的延时下把通信的质量提高。

技术分享| 快对讲,全球对讲_语音对讲_03

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 保障。

技术分享| 快对讲,全球对讲_语音对讲_04

GT-RTN网络具备QoS保障、全链路加速、高可用、全球覆盖四大核心优势:

1、QoS保障: 全网 260ms 包到达率超过 99.9%,平均提升终端用户访问性能 100%。

2、全链路加速: 全链路“端”+“云”协同加速,提供更优秀的整体加速性能与稳定性。

3、高可用: 通过冗余资源与全网智能调度算法,不依赖单一物理资源,杜绝因为物理线路故障导致的不可用问题。

4、全球覆盖: 可为全球 100 多个国家和地区的用户提供随时随地、稳定高速的网络服务

同时GT-RTN网络在数据安全合规性方面,在传输过程中均支持 TLS 协议,终端与源站之间的通信都是在专用通道内,对于源站侧可以完全不暴露在互联网上,保证源站的业务安全。终端的接入也会提供动态 Token 验证以及用户鉴权。

看似一个简单语音对讲技术,其中包含的技术点可谓是非常多,本文介绍了快对讲在实现全球化对讲中如何保障语音的高质量和低延时,有了这些扎实的技术作为保障才能为用户带来更加优质的使用体验。

技术分享| 快对讲,全球对讲_语音对讲_05
  • 打赏
  • 1
  • 收藏
  • 评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK