java vad,VAD和CNG的总结

背景

据统计通话过程中静音的时间超过了50%,如果这时还是按普通方式发送数据包,会造成带宽的严重浪费!因此引入了VAD和CNG技术,极大减少带宽的消耗。

VAD

Voice Activity Detector, 即语音动态检测。话机的输入信号分为语音和静音两类,VAD主要通过信号的能量来区分语音和静音。当检测到用户没有讲话即静音状态时,发送端可以不发送语音报文,只发送静音指示报文,从而降低语音报文占用的带宽。如下所示,正常的语音包负载占据160字节

a7890e03ecf9c40e96176661a859b003.png

而静音帧只有几个字节,如下所示:

8c585f89c6ee05b88918e6cbb6eb0420.png

CNG

(Comfort Noise Generator),即舒适噪音产生。为避免静音期间出现长时间的静默,使接收端用户感到不自然,在静音过程中需要接收端生产背景噪声,接收端可根据发送端发送的静音指示帧来产生舒适噪声。

总结

vad是发送端使用的,cng是接收端使用的。如果发送端vad开启,dsp检测非静音则生成RTP包发送到对端,如果检测是静音则发送静音标识(cn包或者帧内静音包)给对端,对端收到静音标识后生成背景噪声!

场景确认

1. 话机A 开启vad,话机B关闭vad, B环境安静无人说话,A端可以听到舒适的背景噪音,这个噪音由B打包成RTP包发送到A

2. 话机A 开启vad,话机B开启vad, B环境安静无人说话,A端可以听到舒适的背景噪音,这个噪音由A生成,B只是发静音标识给A,A收到后自己生成舒适噪音

voip中vad关闭则发送端自己将生成的背景噪音打包到RTP包中,vad开启则值发送静音标识给对端,由对端自己生成!生成背景噪声的原因是让双方感觉通话还在!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值