您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页在voip通话中根据网络状况实现语音编码动态切换的方法[发明专利]

在voip通话中根据网络状况实现语音编码动态切换的方法[发明专利]

来源:筏尚旅游网
(19)中华人民共和国国家知识产权局

*CN103259945A*

(10)申请公布号(10)申请公布号 CN 103259945 A(43)申请公布日 2013.08.21

(12)发明专利申请

(21)申请号 201310185576.5(22)申请日 2013.05.20

(71)申请人苏州洲际传书信息科技有限公司

地址2100 江苏省苏州市太仓市科教新城

健雄路20号大学科技园8号楼4层(72)发明人齐桀 王鹏 林晟 应运(74)专利代理机构南京苏高专利商标事务所

(普通合伙) 32204

代理人夏雪(51)Int.Cl.

H04M 7/00(2006.01)G10L 19/00(2013.01)

权利要求书1页 说明书4页 附图3页权利要求书1页 说明书4页 附图3页

()发明名称

在voip通话中根据网络状况实现语音编码动态切换的方法(57)摘要

本发明公开了一种在voip通话中根据网络状况实现语音编码动态切换的方法,包括如下步骤:终端之间建立通话;当终端收到rtcp报文时,查看是否为sr报文或rr报文,如果是sr报文或rr报文,则继续;查看报文中的传输参数,判断传输参数是否超过阈值,如果传输参数超过阈值,则统计值加1;当最近一段时间内统计值大于3时,认为当前网络的状况已经不支持当前使用的编码所占的带宽;切换编码:将当前使用的编码切换为低速编码。本发明可以减缓voip通话时的延迟、丢包、抖动的现象。CN 103259945 ACN 103259945 A

权 利 要 求 书

1/1页

1.一种在voip通话中根据网络状况实现语音编码动态切换的方法,包括如下步骤:(1)终端之间建立通话;(2)当终端收到rtcp报文时,查看是否为sr报文或rr报文,如果是sr报文或rr报文,则继续步骤(3);

(3)查看报文中的传输参数,判断传输参数是否超过阈值,如果传输参数超过阈值,则统计值加1;

(4)当最近一段时间内统计值大于3时,认为当前网络的状况已经不支持当前使用的编码所占的带宽;

(5)切换编码:将当前使用的编码切换为低速编码。

2.根据权利要求1所述在voip通话中根据网络状况实现语音编码动态切换的方法,其特征在于:所述传输参数包括丢包率、抖动间隔和单向延迟,且丢包率、抖动间隔和单向延迟分别有相应的阈值。

3.根据权利要求2所述在voip通话中根据网络状况实现语音编码动态切换的方法,其特征在于:所述单向延迟的计算方法为:用收到对端发送的sr或rr报文的时刻值减去lsr,再减去dlsr,就是两端消息的来回延迟,再除以2,就得到单向延迟。

4.根据权利要求1所述在voip通话中根据网络状况实现语音编码动态切换的方法,其特征在于:所述终端至少包括第一终端和第二终端,所述步骤(5)包括:

1)第一终端向第二终端发出更新消息,该更新消息携带本终端支持的低速编码;2)第二终端回复应答消息,该应答消息携带本终端支持的低速编码;3)第一终端和第二终端开始使用所述摘机携带的低速编码通话。

5.根据权利要求1所述在voip通话中根据网络状况实现语音编码动态切换的方法,其特征在于:所述终端为sip终端。

2

CN 103259945 A

说 明 书

1/4页

在voip通话中根据网络状况实现语音编码动态切换的方

技术领域

本发明涉及voip(voice over ip)语音通信技术领域,具体涉及语音传输以及sip

协议(session initiation protocol,会话初始协议,以下简称sip协议)的语音编码协商技术领域,更具体是一种在voip通话中根据网络状况实现语音编码动态切换的方法。

[0001]

背景技术

使用voip(voice over ip)进行语音通话,已经是很普遍的现象。voip的原理大致分为以下几个步骤(参考图1):

[0003] 将话筒或者麦克风送来的模拟语音信号转换成数字语音信号。[0004] 将数字语音信号进行编码,目前使用比较普遍的编码是g711语音编码标准。[0005] 将编码后的语音流封装成ip(internet protocol)包,并添加址及控制信息。[0006] 传输ip包到被叫(目的端)。[0007] 到了目的端,把ip包进行解封装,得到编码后的语音流。[0008] 把编码后的语音流进行解码,得到数字语音信号。[0009] 把数字语音信号还原成模拟语音信号,送到听筒或者扬声器。[0010] 为了获得较高的音质或者使用习惯的原因,人们在配置ip话机时,往往都是把g711u、g711a、g722等编码放在最前面,很多ip话机的默认配置中,一般也是把g711u、g711a编码放在最前面。这样,在主被叫在通话前,进行媒体协商的过程中,媒体协商的结果一般就是g711u、g711a。然而g711u、g711a编码占用的带宽为kb/s,这样就导致不管网络的带宽状况如何,voip语音通话使用的带宽都是kb/s。在图2中使用sip协议对这种情况进行了详细的讲解。[0011] (1)主叫终端(简称“主叫”)发起会话邀请消息,其中携带本sip终端支持的编码方式(每种编码的使用的优先级一般是根据配置的顺序确定的,越是配在前面的编码,使用的优先级就越高)。

[0012] (2)代理服务器回复100消息,表示收到发来的邀请消息。[0013] (3)代理服务器找到被叫终端(简称“被叫”)的地址后,向被叫转发主叫的邀请消息。

[0014] (4)被叫回100消息,表示收到发来的邀请消息。[0015] (5)被叫回180消息,表示被叫终端开始振铃。[0016] (6)代理服务器向主叫转发180消息。[0017] (7)被叫摘机后,回200消息,其中携带本sip终端支持的编码方式。[0018] (8)代理服务器向主叫转发200消息。

[0002]

(9)主被叫开始通话,由于主被叫相同的编码只有g711u、silk,并且g711u靠前,

所以语音编码使用g711u。[0020] 所以,现有的技术中,在通话前,编码协商一旦结束,通话中使用的编码不会再改

[0019]

3

CN 103259945 A

说 明 书

2/4页

变,更不会根据网络状况的变化而变化。一旦主被叫之间的网络带宽达不到kb/s,就会出现延迟、丢包、抖动的现象,严重时,甚至听不清对方说什么或者丢失一些语句,总之通话质量得不到保证。

发明内容

[0021] 发明目的:针对上述现有技术存在的问题和不足,本发明的目的是提供一种在voip通话中根据网络状况实现语音编码动态切换的方法,可以减缓延迟、丢包、抖动的现象。

[0022] 技术方案:为实现上述发明目的,本发明采用的技术方案为一种在voip通话中根据网络状况实现语音编码动态切换的方法,包括如下步骤:[0023] (1)终端之间建立通话;[0024] (2)当终端收到rtcp报文时,查看是否为sr报文或rr报文,如果是sr报文或rr报文,则继续步骤(3);[0025] (3)查看报文中的传输参数,判断传输参数是否超过阈值,如果传输参数超过阈值,则统计值加1;[0026] (4)当最近一段时间内统计值大于3时,认为当前网络的状况已经不支持当前使用的编码所占的带宽;[0027] (5)切换编码:将当前使用的编码切换为低速编码。[0028] 进一步的,所述传输参数包括丢包率、抖动间隔和单向延迟,且丢包率、抖动间隔和单向延迟分别有相应的阈值。更进一步的,所述单向延迟的计算方法为:用收到对端发送的sr或rr报文的时刻值减去lsr,再减去dlsr,就是两端消息的来回延迟,再除以2,就得到单向延迟。

[0029] 进一步的,所述终端至少包括第一终端和第二终端,所述步骤(5)包括:[0030] 1)第一终端向第二终端发出更新消息,该更新消息携带本终端支持的低速编码;[0031] 2)第二终端回复应答消息,该应答消息携带本终端支持的低速编码;[0032] 3)第一终端和第二终端开始使用所述摘机携带的低速编码通话。[0033] 进一步的,所述终端为sip终端。[0034] 有益效果:本发明通过收集通话双方的rtcp中的sr或者rr报文,统计报文中的传输参数,根据这些参数的变化获取网络状况,进而改变语音通话的编码,从而使得用户的媒体所占的带宽动态的适应网络的变化,从而获得更好的用户体验,提高通话质量,而且,当网络拥塞时,可以减缓网络的拥堵。附图说明

[0035] 图1为voip语音通话的原理框图;

[0036] 图2为现有的voip编码协商消息流程图;[0037] 图3为本发明的动态编码切换消息流程图;[0038] 图4为判断网络状况的机制流程图。具体实施方式

4

CN 103259945 A[0039]

说 明 书

3/4页

下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明

本发明而不用于本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

[0040] 本发明提供了一种在voip(voice over ip)语音通话过程中,根据主被叫之间ip(internet protocol)包的延迟、丢包、抖动的程度来判断网络状况,从而进行语音编码的切换方法。当voip(voice over ip)语音通话时,延迟、丢包、抖动的现象比较严重,如果此时通话双方把语音编码切换成低速的、占用较少带宽的编码格式,比如silk、g729、amr、ilbc、g723、g726,就可以减缓延迟、丢包、抖动的现象。

[0041] 关于网络状况的好坏可以通过rtcp(实时传输控制协议,以下简称rtcp)报文中的一些字段检测到,比如fraction lost(丢包率)、interarrival jitter(抖动间隔)、last sr timestamp(收到上个发送报告的时间,以下简称lsr)、delay since last sr(收到上个发送报告的时刻和发送相应接收报告的时刻的差值,以下简称dlsr)。由于两端通话时,双方每隔2、3秒,都会发出sr(发送报告,以下简称sr)报文,所以可以根据这些字段计算rtp(实时传输协议,以下简称rtp)包的延迟、抖动,丢包。[0042] fraction lost表示从收到上个sr或者rr(接收报告,以下简称rr)报文到收到当前的sr报文这段时间,丢失报文的百分比。[0043] interarrival jitter,如果第一个报文到达接收端延迟了100ms,第二个延迟了110ms,那么抖动就是10ms,如果第三个延迟了90ms,那么抖动就是20ms。抖动会造成声音听起来时快时慢,断断续续的感觉。

[0044] lsr表示上一个sr发送的时间。

[0045] dlsr表示接收方从收到上一个sr到发送下一个sr或者rr的时间间隔。所以,用收到对端发送的sr或rr报文的时刻值减去lsr,再减去dlsr,就是两端消息的来回延迟,再除以2,就得到单向延迟。[0046] 当用户通话后,终端就开始不停的接收、发送报文,主要是rtp和rtcp报文。当终端收到rtcp报文时,查看是不是sr报文,如果是,需要查看fraction lost(丢包率)、interarrival jitter(抖动间隔)、lsr、dlsr等字段,根据lsr、dlsr计算得到延迟,判断fraction lost(丢包率)、interarrival jitter(抖动间隔)、延迟是不是超过临界值(临界值可以自己定义,比如dlsr延迟最大为150ms,超过150ms就开始影响通话质量了),如果某一项超过的话,就要增加统计值,如此循环。当最近15秒内,统计值大于3的话,就认为当前网络的状况已经不支持当前使用的编码所占的带宽了,就要根据图3所示的消息流程开始切换编码。详细流程参考图3、图4。[0047] 如图3所示,动态编码切换消息流程如下:[0048] (1)主叫发起会话邀请消息,其中携带本sip终端支持的编码方式(每种编码的使用的优先级一般是根据配置的顺序确定的,越是配在前面的编码,使用的优先级就越高)。[0049] (2)代理服务器回复100消息,表示收到发来的邀请消息。[0050] (3)代理服务器找到被叫的地址后,向被叫转发主叫的邀请消息。[0051] (4)被叫回100消息,表示收到发来的邀请消息。[0052] (5)被叫回180消息,表示被叫终端开始振铃。[0053] (6)代理服务器向主叫转发180消息。

5

CN 103259945 A[00]

说 明 书

4/4页

(7)被叫摘机后,回200消息,其中携带本sip终端支持的编码方式,表示被叫终端

已摘机。

(8)代理服务器向主叫转发200消息。

[0056] (9)主被叫开始通话,由于主被叫相同的编码只有g711u、silk,并且g711u靠前,所以语音编码使用g711u,占用带宽kbps。

[0055]

此时,主被叫之间开始相互发送rtp以及rtcp报文,主被叫开始根据收到的sr或者rr报文计算fraction lost(丢包率)、interarrival jitter(抖动间隔)、延迟,判断网络的状况可以根据图4所示的机制进行判断。当达到某个阈值时,开始第(10)步,进行编码切换:

[0058] (10)主叫发出update(更新)消息,携带本sip终端支持的低速编码,这里是g729、silk。

[0059] (11)代理服务器向被叫转发主叫的update消息。[0060] (12)被叫回复200ok消息,携带本sip终端支持的编码,这里是silk。[0061] (13)代理服务器向主叫转发被叫的200ok消息。[0062] (14)主被叫直接开始使用silk编码通话,占用带宽5~20kbps。[0063] 从而实现根据延迟、丢包、抖动的情况进行编码切换,达到根据网络的变化而变化。

[00] 如图4所示,当用户通话后,终端就开始不停的接收、发送报文,主要是rtp和rtcp报文。当终端收到rtcp报文时,查看是不是sr报文或rr报文,如果是,需要查看fraction lost(丢包率)、interarrival jitter(抖动间隔)、lsr、dlsr等字段,根据lsr、dlsr计算得到延迟,判断fraction lost(丢包率)、interarrival jitter(抖动间隔)、延迟是不是超过临界值(临界值可以自己定义,比如dlsr延迟最大为150ms,超过150ms就开始影响通话质量了),如果某一项超过的话,就要增加统计值,如此循环。当最近15秒内,统计值大于3的话,就认为当前网络的状况已经不支持当前使用的编码所占的带宽了,就要根据图3所示的消息流程开始切换编码。

[0057]

6

CN 103259945 A

说 明 书 附 图

1/3页

图1

图2

7

CN 103259945 A

说 明 书 附 图

2/3页

图3

8

CN 103259945 A

说 明 书 附 图

3/3页

图4

9

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务