CN105812097A - 一种基于网络状态的amr编码速率自适应调整方法 - Google Patents
一种基于网络状态的amr编码速率自适应调整方法 Download PDFInfo
- Publication number
- CN105812097A CN105812097A CN201610148403.XA CN201610148403A CN105812097A CN 105812097 A CN105812097 A CN 105812097A CN 201610148403 A CN201610148403 A CN 201610148403A CN 105812097 A CN105812097 A CN 105812097A
- Authority
- CN
- China
- Prior art keywords
- value
- cmr
- delay
- current
- sender
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0014—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明一种基于网络状态的AMR编码速率自适应调整方法,具体如下:一、针对通话的发送方确定初始编码模式;二、将发送方的初始编码模式对应的速率写入RTP包;三、RTP包传输给接收端,接收端计算发送方的丢包率和时延参数;四、接收端利用丢包率和时延参数,判断发送方当前的初始编码速率是否适合接收端当前的网络状态,如果适合,保持目前的编码速率;否则,根据速率调整策略来改变CMR值;五、接收端将调整后的CMR值对应的速率写入RTP包输出给发送方,发送方同理计算丢包率和时延参数,并按调整策略进行判断,改变CMR值,进而实时调整AMR编码速率;优点在于:通过实时调整编码速率,能够适应网络状况的不断变化,从而保证用户的良好的通话体验。
Description
技术领域
本发明属于移动互联网语音处理领域,描述了一种基于网络状态的AMR编码速率自适应调整方法。
背景技术
随着移动通信技术和互联网技术的不断发展与融合,移动信息化与人们的生活产生了越来越密切的联系,人们希望能随时随地方便地接入互联网获取信息和服务。
截至2015年8月底,中国已有9.46亿户的移动互联网用户,手机上网的总数超过9亿,占移动电话用户的比例高达69.5%。大量基于移动互联网的应用及业务从娱乐延伸到社会生活中的方方面面。随着网络技术的发展和移动数据流量的持续增长,语音通话业务突破传统电信电话业务的限制,朝着通话音质高、资费低的网络电话(VoiceoverInternetProtocol,VoIP)的方向发展。但在网络状况不稳定的情况下,基于移动终端的网络电话仍存在问题,语音通话质量不能得到很好的保证。
自适应多速率窄带语音编码(AdaptiveMultiRate-NarrowBandSpeechCodec,AMR-NB)算法是基于码激励线性预测(CodeExcitedLinearPrediction,CELP)算法的语音编码器标准,主要应用于第三代移动通信宽带码分多址(WidebandCodeDivisionMultipleAccess,W-CDMA)***中。
AMR编码提供的多种编码模式可以更好地解决信源和信道编码的速率分配问题,能够根据信道状况自适应地选择某种编码模式进行传输,使得对无线资源的分配和利用更加合理、有效、灵活,同时,也能为用户提供更好的通话体验。
AMR的帧结构如图1所示,包括3部分:AMR帧头,AMR辅助信息和AMR核心帧数据;其中,AMR帧头包括4bits的帧类型和1bit的帧特征指示位。AMR辅助信息用于模式适应和差错检测,具体包括:3bits的模式标志,3bits的模式请求和8bits的编码循环冗余校验。AMR核心帧数据包括语音或噪声数据,其中每一帧的数据分为:A/B/C三类字段,A类字段是一帧中最重要的数据,一旦A类字段被损坏,整个帧就无法解码。所以,一般在无线传输的时候要使用各种冗余校验的方法对A类字段部分数据加以保护。与A类字段相比,B类字段是相对不那么重要的数据;C类字段是对整体解码影响最小的数据。
AMR语音编码器能有效提高语音质量,增强***抗信道误差的能力,同时增加了***容量,具有其它语音编码方式不可替代的优点。同时,AMR可以根据网络状况,选择不同的编码模式,能够更好地适应网络的变化。
2015年,国内已有超过百款的网络电话软件,随着人们对智能手机的依赖程度的增加,网络电话也朝着移动手机端发展,当前较流行的网络电话软件,例如:微信电话本、微话、360免费电话、云呼等也都推出了移动端的版本,以适应人们的通信需求。尽管大多数的移动端网络电话的通话质量已基本和传统电话相当,但在网络状况不稳定的情况下,仍存在通话质量不稳定的问题,不能为人们提供很好的通话体验。
发明内容
本发明针对上述问题进行分析研究,基于移动互联网的语音通话***,采用AMR编码方式,根据网络状况选择不同的编码速率,较好地解决了网络状况不稳定带来的影响,为此提出了一种基于网络状态的AMR编码速率自适应调整方法,具体步骤如下:
步骤一、针对通话的发送方,根据自己所处的当前网络类型确定初始编码模式;
发送方所处的当前网络类型包括:2G,3G,3G以上或者WiFi;
编码模式请求CMR(CodecModeRequest),共有8个值,依次为0,1,2,3,4,5,6和7;
如果当前发送方连接的是2G类型网络进行通话,则初始编码模式为CMR=0;
如果当前发送方连接的网络类型是3G,3G以上或者WiFi,则初始编码模式为CMR=7;
步骤二、将发送方的初始编码模式对应的速率写入RTP包;
初始编码模式对应的速率依次为:模式0下速率为4.75kbit/s;模式1下速率为5.15kbit/s;模式2下速率为5.90kbit/s;模式3下速率为6.70kbit/s;模式4下速率为7.40kbit/s;模式5下速率为7.95kbit/s;模式6下速率为10.2kbit/s;模式7下速率为12.2kbit/s。
初始CMR有两种状态,CMR=0时AMR编码速率设置在4.75kbps;CMR=7时AMR编码速率设置在12.2kbps。
步骤三、RTP包传输给通话的接收端,接收端计算发送方的丢包率和时延参数;
RTP包的丢包率cal_lost计算如下:
cal_lost=(packetlost/good*100)
packetlost是丢包数量;good是传输的RTP包数量。
累计瞬时的时延值cal_delay:
cal_delay+=(jitter-250*mu)/8/mu;
jitter是时延抖动;mu是采样率,为8K的倍数;
平均时延avg_delay,设置每1秒左右判断一次:
avg_delay=cal_delay/timeCount
timeCount是计时次数,每1秒为1次。;
根据时延抖动统计值,计算最终时延Dtr:
Dtr(n+1)=αDtr(n)+(1-α)Delay
其中Dtr(n)是上一次的时延变化的值,Delay是计算所得的瞬时时延值。
步骤四、接收端利用丢包率和时延参数,判断发送方当前的初始编码速率是否适合接收端当前的网络状态,如果适合,保持目前的编码速率;否则,根据速率调整策略来改变CMR值;
具体步骤如下:
步骤401、根据时延水平,设置两个时延阈值:Dth1和Dth2;
步骤402、判断时延是否满足:Dtr<Dth1,如果是,进入步骤403;否则进入步骤407;
步骤403、判断丢包率是否满足lost≤1%,如果是,进入步骤404;否则,进入步骤405;
步骤404、判断CMR值是否为7;如果是,保持CMR值不变;否则,当前CMR值自增1;
步骤405、进一步判断丢包率是否满足:1%<lost≤5%,如果是,进入步骤406,否则当前CMR值设为0;
步骤406、判断CMR值是否大于等于1;如果是,当前CMR值自减1;否则,将当前CMR值设为0;
步骤407、进一步判断时延是否满足Dth1≤Dtr≤Dth2,如果是,进入步骤408;否则,将当前CMR值设为0;
步骤408、判断丢包率是否满足lost≤1%,如果是,进入步骤409;否则,进入步骤410;
步骤409、判断CMR值是否大于等于1;如果是,当前CMR值自减1;否则,将当前CMR值设为0;
步骤410、判断丢包率是否满足1%<lost≤5%,如果是,进入步骤411;否则当前CMR值设为0;
步骤411、判断CMR值是否大于等于2;如果是,当前CMR值自减2;否则,将当前CMR值设为0;
步骤五、接收端将调整后的CMR值对应的速率写入RTP包输出给发送方,发送方同理计算丢包率和时延参数,并按步骤四的调整策略进行判断,改变CMR值,进而实时调整AMR编码速率。
本发明的优点在于:
1、一种基于网络状态的AMR编码速率自适应调整方法,通过设定阈值,充分利用算法参数少和实现简单的特性,能够很好得对网络状况的变化作出反应。
2、一种基于网络状态的AMR编码速率自适应调整方法,通过实时调整编码速率,从而保证用户良好的通话体验。
附图说明
图1为本发明AMR的帧结构示意图;
图2为本发明AMR语音编码模式示意图;
图3为本发明GSM工作在全速率模式下MOS值和C/I值之间的关系图;
图4为本发明GSM工作在半速率模式下MOS值和C/I值之间的关系图;
图5为本发明AMR自适应编码码率切换示意图;
图6为本发明一种基于网络状态的AMR编码速率自适应调整方法流程图;
图7为本发明RTP包格式及PayloadHeader格式示意图;
图8是本发明判断初始编码速率是否适合当前网络状态的方法流程图;
图9是本发明通话过程中的界面显示图。
具体实施方式
下面将结合附图对本发明作进一步的详细说明。
AMR的现有移动通信***中,自适应机制的原理大体相同。以全球移动通信***GSM(GlobalSystemforMobileCommunication)为例进行分析;
利用GSM中采用的AMR语音编码模式如图2所示,采用的编码模式分成了全速率(FullRate,FR)和半速率(HalfRate,HR)两种情况。GSM在选择编码方式的时候先根据载干比(Interference/Carrier,C/I)的值选择编码模式;在载干比较好的情况下,选择的编码模式是AMR-HR,可以提供更高的无线容量。而在C/I较差的情况下,则工作于AMR-FR,提供比增强型全速率更好的话音质量;
全速率模式条件下和半速率模式条件下,各编码速率在不同的C/I值的条件下测定的MOS值分布图如图3和图4所示,可以看出,随着载干比C/I值的降低,各码率的MOS值都表现为降低的趋势,因为随着干扰和噪声的增强,人耳听到的通话效果和通话质量就会变差。
AMR自适应编码码率切换示意图如图5所示,可知在GSM***AMR自适应机制中,在相邻编码速率之间进行切换时设置的缓冲区,随着C/I值的变化,编码速率不会立即切换至相邻的码率,而是等到超出缓冲区的阈值以后才进行码率的切换。利用缓冲区,可以防止速率的频繁跳变。
一种基于网络状态的AMR编码速率自适应调整方法,在开源SIP软件Sipdroid中采用基于阈值法的AMR编码速率自适应调整策略是以时延和丢包率作为参数,并引入时延趋势预测的考虑,制定了速率自适应调整策略,来适应网络的实时变化。
整体流程图如图6所示,具体步骤如下:
步骤一、针对通话的发送方,根据自己所处的当前网络类型,确定初始编码模式;
各发送方所处的当前网络类型包括:2G,3G,3G以上,或者WiFi;
编码模式请求CMR(CodecModeRequest),共有8个值,依次为0,1,2,3,4,5,6和7;
利用监测无RTP通道的算法,利用接收终端的网络类型来决定各发送方初始的编码速率。如果当前发送方连接的是2G类型网络进行通话,则初始编码模式为CMR=0;初始速率将设置在较低的等级。如果接收方的时延、丢包都比较小,则会对发送方的编码速率向上调整。反之,如果当前发送方连接的网络类型是3G,3G以上或者WiFi网络,则初始编码模式为CMR=7;初始的编码速率设置在较高的等级,如果接收方的时延、丢包比较大,则向下调整编码速率。其中向下和向上的调整是可逆的,具体根据时延和丢包率的情况来定。
步骤二、将发送方的初始编码模式对应的速率写入RTP包;
初始编码模式对应的速率依次为:模式0下速率为4.75kbit/s;模式1下速率为5.15kbit/s;模式2下速率为5.90kbit/s;模式3下速率为6.70kbit/s;模式4下速率为7.40kbit/s;模式5下速率为7.95kbit/s;模式6下速率为10.2kbit/s;模式7下速率为12.2kbit/s。
具体传输过程如下:终端1与终端2进行通话,终端1作为发送方,发送初始编码速率给终端2,初始Mode传入终端1的encode函数,Mode写入RTP包中FT字段;终端1将CMR值写在payload的第一个字节发送,终端2作为接收端,decode函数将之前收到的RTP包中payload的第一个字节取出,获取CMR值,根据CMR获取Mode;终端2统计终端1发送包的时延和丢包率,判定终端1当前速率模式是否适合终端2的网络,如果不合适,调整CMR后经过终端2发送,RTP包中的payloadheader通知终端1,此时,终端2作为发送方,同理,终端1接收到终端2发送的RTP包进行解包,后根据CMR值进行编码速率的调整。
根据传输方案的需求,需要通话终端对所在的网络类型进行判断,并给出初始CMR值。
发送方终端根据自己所处的网络类型,进行初始CMR的确定,初始CMR有两种状态,在2G网络下CMR=0,即AMR编码速率设置在4.75kbps,在3G,3G以上或者WiFi网络条件下CMR=7,即AMR编码速率设置在12.2kbps。
步骤三、RTP包传输给接收端,接收端计算发送方的丢包率和时延参数。
根据RFC3267和RFC4867中关于AMR的RTP传输格式规定,RTP包格式如图7所示,并通过RTP包的包头通知接收端,接收端收到RTP包后进行拆包,提取CMR值,
其中RTP头部具有12字节,PayloadHeader具有一个字节,采用的是octet-align模式,TableofContent包含了AMR帧的头部,后面的部分是有效的语音帧。而在Sipdroid中RTPHeader的12字节后面紧跟着有效载荷payload,这部分payload中是不包含编码调制速率(CodecModeRequest,CMR)字段的。因此需要对Sipdroid中的RTP包格式做一定的处理:在发端加一字节,收端对应减一字节,这样就可以包含编码速率的判断信息。将PayloadHeader设计为octet-align模式,即高四位代表CMR值,低四位保留为0。
根据接收端对发送端发包的时延、丢包情况,设计了阈值法调整策略。
丢包率是考虑的主要因素,时延是另一个考虑因素。第一次调整编码速率时,是根据初始CMR来进行判断的,之后的过程中,CMR的判断是根据前一判定时刻的CMR值来调整的。
首先,分别利用代码语句计算RTP语音数据包的丢包率cal_lost:
cal_lost=(packetlost/good*100)
packetlost是丢包数量;good是传输的数据包数量。
累计时延值cal_delay:
cal_delay+=(jitter-250*mu)/8/mu;
jitter是时延抖动;mu是采样率,是8K的倍数;如果采样率为16k,则mu为2;
平均时延avg_delay,设置每1秒左右判断一次:
avg_delay=cal_delay/timeCount
timeCount是计时次数,每1秒为1次。
由于网络状况会存在突变的情况,上面得到的时延可能只是一个瞬时值。在网络条件不是很好的情况下,丢包率和时延的值可能变化很迅速,因此根据平均丢包率和瞬时时延值来进行码率选择可能不准确。例如某一瞬间的丢包率和时延较低,这时候恰好处于判断的时间,从而选择了12.2k的编码速率,而实际上网络环境不佳,可能导致丢包和时延增加,恶化通话效果。
因此,需要判断在一段时间内时延的变化趋势,这样就可以避免瞬时时延的变化影响编码速率的选择。根据文献中提出的关于时延变化趋势的计算公式,并经过实际测试,选取了合理的权重值,在速率调整算法中加入了时延变化趋势的考虑,利用计算公式计算时延。这样就可以有效解决跳变频繁的问题,并且使得速率的调整算法更合理。
考虑到时延瞬时跳变的情况,本文提出了针对时延抖动的处理方法,添加一个时延抖动统计值N,当目前时延与前一时延差值Δd连续三次超过门限ΔT=80ms时,即N=3,证明此时网络状况正在持续变差,因此需要更多地考虑目前获得的时延值,得到如下所示的时延计算公式:
Dtr(n+1)=αDtr(n)+(1-α)Delay
其中Dtr(n)是上一次的时延变化的值,Dtr(n+1)是下一次的值,Delay是计算所得的瞬时时延值。这个公式的意义就在于消除了瞬时时延值抖动即变化幅度很大对编码速率判断的影响,Dtr跟以前的时延值都有关,具有记忆性,是一个连续变化的值。
根据实测,再加上对时延抖动统计值的考虑,当N=3时,即网络状况持续变差时,α=0.7,瞬时时延的权重较高。当N<3时,证明此时的时延突变只是暂时性的,瞬时时延权重较小α=0.9。上述取值是根据多次测试选取的经验值。
步骤四、接收端根据RTP包,利用丢包率和时延参数,判断发送方当前的初始编码速率是否适合接收端的当前网络状态,如果适合,保持目前的编码速率;否则,改变CMR值实时调整AMR编码速率。
接收端每1s进行一次计算判断;
如图8所示,具体步骤如下:
步骤401、根据时延水平,设置两个时延阈值:Dth1和Dth2;
Dth1为200ms,Dth2为600ms;由于时延在低于200ms时,语音通话的质量几乎不受影响,当时延超过600ms是时,对语音通话的影响比较明显。并且根据实测经验选择Dth1设置为200ms,Dth2设置为600ms。
步骤402、判断时延是否满足:Dtr<Dth1,如果是,进入步骤403;否则进入步骤407;
当时延处于较低水平时(即低于阈值Dth1),AMR编码速率只由丢包率决定。
步骤403、判断丢包率是否满足lost≤1%,如果是,进入步骤404;否则,进入步骤405;
根据丢包率水平设置了两个丢包率的阈值,由于在丢包率低于1%时,AMR语音通话质量较好,双端根据初始的编码速率进行通话,说明此时网络状况良好,可以从初始CMR值逐级提高。
步骤404、判断CMR值是否为7;如果是,保持CMR值不变;否则,当前CMR值自增1;
步骤405、进一步判断丢包率是否满足:1%<lost≤5%,如果是,进入步骤406,否则当前CMR值设为0;
当丢包率出现在1%~5%之间时,语音通话质量就会受到影响。此时,根据当前CMR值的情况,相应的对CMR降一级。当丢包超过5%时就证明网络状况较差,直接选择CMR=0的最低编码速率4.75kbps。
步骤406、判断CMR值是否大于等于1;如果是,当前CMR值自减1;否则,将当前CMR值设为0;
步骤407、进一步判断时延是否满足Dth1≤Dtr≤Dth2,如果是,进入步骤408;否则,将当前CMR值设为0;
当时延水平处于阈值Dth1和Dth2之间时,证明此时网络时延较大,对通话质量有一定的影响,当时延处于大于时延阈值Dth2时,说明网络状况处于较差的状态,因此判定CMR=0,利用AMR的最低编码速率4.75kbps进行通话。
步骤408、判断丢包率是否满足lost≤1%,如果是,进入步骤409;否则,进入步骤410;
在丢包率低于1%时,由于时延的影响,也可适当调低CMR的级别,逐级降低。
步骤409、判断CMR值是否大于等于1;如果是,当前CMR值自减1;否则,将当前CMR值设为0;
步骤410、判断丢包率是否满足1%<lost≤5%,如果是,进入步骤411;否则当前CMR值设为0;
当丢包率出现在1%~5%之间时,语音通话受丢包率的影响较大,同时时延也对通话质量造成影响,这时CMR降两级。
步骤411、判断CMR值是否大于等于2;如果是,当前CMR值自减2;否则,将当前CMR值设为0;
经过对时延和丢包的处理,使得自适应速率调整策略有效地避免了网络突变带来的决策错误,有利于保证AMR通话的效果。再加上编码速率的逐级递增或递减的方式,减少了码率的抖动,也避免了出现编码速率突然间提高的过多而造成网络拥塞的情况的发生,提高了语音通话的质量。当前终端的编码速率模式输出在屏幕上,通话过程中的界面显示如图9所示。
步骤五、接收端将调整后的CMR值对应的速率写入RTP包输出给发送方,发送方同理计算丢包率和时延参数,并按步骤四的调整策略进行判断,改变CMR值,进而实时调整AMR编码速率。
在进行AMR编解码语音通话时,软件首先会根据获取的当前网络状况确定初始编码速率,然后在通话过程中,会根据网络状况的实时变化自适应地调整编码速率,以更好地利用现有网络条件,为用户提供更好的通话体验。
对阈值法速率自适应调整策略进行语音通话测试,以证明其性能的优越性。本测试利用平均意见值(MeanOpinionScore,MOS)来做判定标准,MOS值主要是指语音质量平均指标,就是拨打测试收集的语音和MOS仪表里的语音模版对比。分值为1~5分,主要反映的是用户的感知度,一般和信号的强度,干扰情况,切换情况有关,5分为最高。测试MOS值采用主观和客观两种测试方法,其中主观MOS分采用ITU-TP.800和P.830建议书,由不同的人分别对原始语料和经过***处理后有衰退的语料进行主观感觉对比,得出MOS分,最后求平均值。
客观MOS评价则采用ITU-TP.862建议书提供的主观语音质量评估(PerceptualEvaluationofSpeechQuality,PESQ)方法,由专门的软件PESQ进行测试。PESQ和MOS值的对应关系如表1所示。
表1
级别 | MOS值 | 用户满意度 | PESQ |
优 | 5 | 非常好,听得很清楚,无失真感,无延迟感 | 3.5-4.5 |
良 | 4 | 稍差,听得清楚,延迟小,有点杂音 | 3.0-3.5 |
中 | 3 | 还可以,听不太清楚,有一定延迟,有杂音,有失真 | 2.4-3.0 |
差 | 2 | 勉强,听不太清,有较大杂音或断续,失真严重 | 1.7-2.4 |
劣 | 1 | 极差,静音或完全听不清楚,杂音很大 | 1.0-1.7 |
测试通过两种方式,主观评测和客观测试。主观评测是利用通话软件Sipdroid进行双端通话,通话者根据MOS值评测标准对通话质量进行评分。客观测试是在软件中设计机制将通话双方的语音录制下来保存在手机,然后将双方语音通过测评软件PESQ进行评分。得到如表2的语音性能测试结果。
表2
由表2中数据可以看出,阈值法速率自适应调整策略在实现语音通话时的效果较好,MOS值分值较高,与其他速率的MOS值没有明显差别。这证明阈值法速率自适应调整策略的性能较好,能够实现随着网络的实时变化及时对语音编码速率进行调整,并保证通话质量。
本发明提出了基于阈值法的AMR编码速率自适应调整策略,实现了基于移动互联网的语音通话***,根据网络状况的实时变化情况,利用时延和丢包率作参数,并引入时延趋势预测的考虑,动态地调整ARM编码速率,来适应网络的实时变化;使得AMR语音编码通话根据网络状况实时进行自适应速率调整,以为用户提供更好的通话体验。
Claims (2)
1.一种基于网络状态的AMR编码速率自适应调整方法,其特征在于,具体步骤如下:
步骤一、针对通话的发送方,根据自己所处的当前网络类型确定初始编码模式;
如果当前发送方连接的是2G类型网络进行通话,则初始编码模式为CMR=0;
如果当前发送方连接的网络类型是3G,3G以上或者WiFi,则初始编码模式为CMR=7;
步骤二、将发送方的初始编码模式对应的速率写入RTP包;
CMR=0时AMR编码速率设置在4.75kbps;CMR=7时AMR编码速率设置在12.2kbps;
步骤三、RTP包传输给通话的接收端,接收端计算发送方的丢包率和时延参数;
RTP包的丢包率cal_lost计算如下:
cal_lost=(packetlost/good*100)
packetlost是丢包数量;good是传输的RTP包数量;
累计瞬时的时延值cal_delay:
cal_delay+=(jitter-250*mu)/8/mu;
jitter是时延抖动;mu是采样率,为8K的倍数;
平均时延avg_delay,设置每1秒左右判断一次:
avg_delay=cal_delay/timeCount
timeCount是计时次数,每1秒为1次;
根据时延抖动统计值,计算最终时延Dtr:
Dtr(n+1)=αDtr(n)+(1-α)Delay
其中Dtr(n)是上一次的时延变化的值,Delay是计算所得的瞬时时延值;
步骤四、接收端利用丢包率和时延参数,判断发送方当前的初始编码速率是否适合接收端当前的网络状态,如果适合,保持目前的编码速率;否则,根据速率调整策略来改变CMR值;
步骤五、接收端将调整后的CMR值对应的速率写入RTP包输出给发送方,发送方同理计算丢包率和时延参数,并按步骤四的调整策略进行判断改变CMR值,进而实时调整AMR编码速率。
2.如权利要求1所述的一种基于网络状态的AMR编码速率自适应调整方法,其特征在于,所述步骤四具体为:
步骤401、根据时延水平,设置两个时延阈值:Dth1和Dth2;
步骤402、判断时延是否满足:Dtr<Dth1,如果是,进入步骤403;否则进入步骤407;
步骤403、判断丢包率是否满足lost≤1%,如果是,进入步骤404;否则,进入步骤405;
步骤404、判断CMR值是否为7;如果是,保持CMR值不变;否则,当前CMR值自增1;
步骤405、进一步判断丢包率是否满足:1%<lost≤5%,如果是,进入步骤406,否则当前CMR值设为0;
步骤406、判断CMR值是否大于等于1;如果是,当前CMR值自减1;否则,将当前CMR值设为0;
步骤407、进一步判断时延是否满足Dth1≤Dtr≤Dth2,如果是,进入步骤408;否则,将当前CMR值设为0;
步骤408、判断丢包率是否满足lost≤1%,如果是,进入步骤409;否则,进入步骤410;
步骤409、判断CMR值是否大于等于1;如果是,当前CMR值自减1;否则,将当前CMR值设为0;
步骤410、判断丢包率是否满足1%<lost≤5%,如果是,进入步骤411;否则当前CMR值设为0;
步骤411、判断CMR值是否大于等于2;如果是,当前CMR值自减2;否则,将当前CMR值设为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610148403.XA CN105812097B (zh) | 2016-03-16 | 2016-03-16 | 一种基于网络状态的amr编码速率自适应调整方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610148403.XA CN105812097B (zh) | 2016-03-16 | 2016-03-16 | 一种基于网络状态的amr编码速率自适应调整方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105812097A true CN105812097A (zh) | 2016-07-27 |
CN105812097B CN105812097B (zh) | 2019-04-23 |
Family
ID=56468490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610148403.XA Active CN105812097B (zh) | 2016-03-16 | 2016-03-16 | 一种基于网络状态的amr编码速率自适应调整方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105812097B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107666366A (zh) * | 2016-07-28 | 2018-02-06 | 华为技术有限公司 | 一种调整编码速率的方法、装置及*** |
CN109036444A (zh) * | 2018-08-21 | 2018-12-18 | 京信通信***(中国)有限公司 | 语音编码速率调整方法、装置、计算机存储介质及设备 |
CN111314144A (zh) * | 2020-02-23 | 2020-06-19 | 徐世云 | 通信数据处理方法、装置及数据处理终端 |
CN112398702A (zh) * | 2019-08-12 | 2021-02-23 | 腾讯科技(深圳)有限公司 | 一种测速方法、装置、服务器及存储介质 |
CN112565884A (zh) * | 2020-11-27 | 2021-03-26 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、终端、服务器及存储介质 |
CN112866746A (zh) * | 2020-12-31 | 2021-05-28 | 杭州雾联科技有限公司 | 一种多路串流云游戏控制方法、装置、设备及存储介质 |
CN113784338A (zh) * | 2020-05-21 | 2021-12-10 | 成都鼎桥通信技术有限公司 | 一种多业务宽带集群***中的语音业务承载方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436990A (zh) * | 2008-12-23 | 2009-05-20 | 深圳华为通信技术有限公司 | 一种自动调整编码速率的方法、接收装置及通信*** |
CN103888846A (zh) * | 2014-03-04 | 2014-06-25 | 浙江大学 | 基于QoE的无线视频流业务自适应速率控制方法 |
CN104009819A (zh) * | 2013-02-22 | 2014-08-27 | 中兴通讯股份有限公司 | 基于分层编码的抗丢包实时通信方法、***及相关设备 |
US8938663B2 (en) * | 2012-01-24 | 2015-01-20 | Broadcom Corporation | Modem architecture for joint source channel decoding |
-
2016
- 2016-03-16 CN CN201610148403.XA patent/CN105812097B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436990A (zh) * | 2008-12-23 | 2009-05-20 | 深圳华为通信技术有限公司 | 一种自动调整编码速率的方法、接收装置及通信*** |
US8938663B2 (en) * | 2012-01-24 | 2015-01-20 | Broadcom Corporation | Modem architecture for joint source channel decoding |
CN104009819A (zh) * | 2013-02-22 | 2014-08-27 | 中兴通讯股份有限公司 | 基于分层编码的抗丢包实时通信方法、***及相关设备 |
CN103888846A (zh) * | 2014-03-04 | 2014-06-25 | 浙江大学 | 基于QoE的无线视频流业务自适应速率控制方法 |
Non-Patent Citations (1)
Title |
---|
BOONCHAI NGAMWONGWATTANA: ""Sync & Sense Enabled Adaptive Packetization VoIP"", 《DISS.UNIVERSITY OF PITTSBURGH》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107666366A (zh) * | 2016-07-28 | 2018-02-06 | 华为技术有限公司 | 一种调整编码速率的方法、装置及*** |
CN107666366B (zh) * | 2016-07-28 | 2020-02-14 | 华为技术有限公司 | 一种调整编码速率的方法、装置及*** |
CN109036444A (zh) * | 2018-08-21 | 2018-12-18 | 京信通信***(中国)有限公司 | 语音编码速率调整方法、装置、计算机存储介质及设备 |
CN112398702A (zh) * | 2019-08-12 | 2021-02-23 | 腾讯科技(深圳)有限公司 | 一种测速方法、装置、服务器及存储介质 |
CN111314144A (zh) * | 2020-02-23 | 2020-06-19 | 徐世云 | 通信数据处理方法、装置及数据处理终端 |
CN111314144B (zh) * | 2020-02-23 | 2021-02-26 | 深圳市筑泰防务智能科技有限公司 | 通信数据处理方法、装置及数据处理终端 |
CN113784338A (zh) * | 2020-05-21 | 2021-12-10 | 成都鼎桥通信技术有限公司 | 一种多业务宽带集群***中的语音业务承载方法 |
CN113784338B (zh) * | 2020-05-21 | 2023-05-26 | 成都鼎桥通信技术有限公司 | 一种多业务宽带集群***中的语音业务承载方法 |
CN112565884A (zh) * | 2020-11-27 | 2021-03-26 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、终端、服务器及存储介质 |
CN112565884B (zh) * | 2020-11-27 | 2024-03-05 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、终端、服务器及存储介质 |
CN112866746A (zh) * | 2020-12-31 | 2021-05-28 | 杭州雾联科技有限公司 | 一种多路串流云游戏控制方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105812097B (zh) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105812097B (zh) | 一种基于网络状态的amr编码速率自适应调整方法 | |
KR100575193B1 (ko) | 적응 포스트필터를 포함하는 디코딩 방법 및 시스템 | |
KR100367533B1 (ko) | 음성활동검출구동방식잡음교정기및,신호처리장치및방법 | |
CN101925088B (zh) | 一种基于用户体验质量测量的编码方法、终端和*** | |
JP4897173B2 (ja) | ノイズ抑制 | |
US8102872B2 (en) | Method for discontinuous transmission and accurate reproduction of background noise information | |
TW320800B (zh) | ||
JP5351206B2 (ja) | 非連続音声送信の際の擬似背景ノイズパラメータ適応送信のためのシステム及び方法 | |
US20090168673A1 (en) | Method and apparatus for detecting and suppressing echo in packet networks | |
JPH1097292A (ja) | 音声信号伝送方法および不連続伝送システム | |
US20220208200A1 (en) | Audio coding method and apparatus | |
US20200227061A1 (en) | Signal codec device and method in communication system | |
CN102137438A (zh) | 一种ip网络资源的分配方法及装置 | |
KR101279857B1 (ko) | 적응적 멀티 레이트 코덱 모드 디코딩 방법 및 장치 | |
US7386327B2 (en) | Apparatus and method for controlling noise in a mobile communication terminal | |
KR20060121938A (ko) | 무선 VoIP의 코덱 지원 용량 확장 | |
US6424942B1 (en) | Methods and arrangements in a telecommunications system | |
JP2004505545A (ja) | 無線通信システムのための柔軟性のある可変レートボコーダ | |
US7076316B2 (en) | Method and apparatus for controlling an operative setting of a communications link | |
US6134521A (en) | Method and apparatus for mitigating audio degradation in a communication system | |
CN101394225B (zh) | 一种话音传输的方法和装置 | |
JPH09219649A (ja) | 可変レート符号化方式 | |
CN112002338A (zh) | 一种优化音频编码量化次数的方法及*** | |
CN101211561A (zh) | 音乐信号质量增强方法和装置 | |
CN1780326A (zh) | 通话音量自适应调节方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |