一种带宽控制方法和终端设备的制作方法

文档序号:7654495阅读:123来源:国知局
专利名称:一种带宽控制方法和终端设备的制作方法
技术领域
本发明涉及网络技术领域,尤其涉及一种带宽控制方法和终端设备。
背景技术
随着Internet的普及以及基于TCP(Transmission Control Protocol,传输控制协议)/IP(Internet Protocol,因特网协议)网络技术的不断发展,视频通信以其通话实时性、大信息容量性等优点引起了越来越多的重视与发展。并且随着各种音视频编解码算法的优化,和软件硬件计算处理能力的加速,视频通信的应用和消费对象也由原来的高端用户向大众拓展,视讯网络的复杂性也因此由原来单一的IP组网向现在融入各种接入技术的复杂网络过渡。
虽然目前的SIP(Session Initiation Protocol,会话初始协议)在NGN(NextGeneration Network,下一代网络)网络中非常流行,但是对于视频通信和系统则没有给出统一的规范。另一方面,由于ITU-T(InternationalTelecommunication Union-Telecommunication standardization sector,国际电信联盟电信标准化组)首先制定了H.323协议栈,并在规范中制定了视讯系统的各种组件,所以目前的视讯系统仍旧以H.323协议栈为主。H.323协议栈由呼叫控制和信令协议构成,其结构如图1所示,包括音频与视频信号的编解码封装、负责呼叫信令收发和控制的信令、和能力交换等信令。H.323协议架构包括终端(Terminal)、网关(Gateway)、网守(Gatekeeper)和多点控制单元(Multipoint Control Unit,MCU)等逻辑单元。其中,网关的主要功能包括协议翻译、信息格式的转换、以及信息传递。网守的主要功能包括地址转换、带宽控制、区域管理、呼叫控制信令、呼叫授权。MCU的主要功能为支持三个以上节点设备的会议。
通常,主叫方的视讯终端总是先向被叫方发起H225消息建立呼叫连接,H.225消息是H323协议栈中的一员,主要负责注册、允许控制、以及点对点之间呼叫的建立和拆除。主叫方与被叫方在H225连接上建立呼叫连接后,在H245连接上进行编解码能力的协商等操作。H.245是H323协议栈中的一员,主要负责媒体编解码能力的协商、媒体通道(也称逻辑通道)的打开、关闭,以及一些会议控制的信令操作。两端协商出共同的编解码能力以后,打开媒体流通道以RTP(Real-time Transport Protocol,实时传送协议)协议传输音视频码流。终端将采集到的本端音视频模拟数据进行量化,并打包入RTP协议里发给对端,并在RTP数据包里面携带音视频数据的序列号和时间戳;对端接收到RTP数据后,根据时间戳进行对应的解码,并输出到本端的输出设备上,根据序列号统计传输过程中的丢包。RTCP(Real-time Transport ControlProtocol,实时传输控制协议)负责对RTP流的监督,分为SR(Sender Report,发送者报告)消息和RR(Receiver Report,接收者报告)消息。SR消息是对发送者发送和接收数据包的统计,其格式如图3所示,RR消息是对接收者接收数据包的统计,其格式如图4所示。
H.323协议属于应用层协议,对于下面的传输层是无法感知的。也就是说,视讯终端无法知道点对点的实际网络带宽。在目前的视频通信中,点对点的接入网络带宽分别由本地配置。如图2所示,终端A配置的接入带宽为2016K,终端B配置的接入带宽为1536K。A与B通过H225、H245建立起点对点通话后,带宽参数根据两端配置的最小带宽决定A与B的点对点通话带宽为1536K。两个终端在编解码时候开放的音视频缓冲区也是根据1536K决定的。然而A到B的点对点实际网络由于同一接入网络的其他设备应用的混杂占用了较多带宽,剩下的有效VoIP带宽远不足1536K,如可能只有768K,因此如果终端按照1536K的带宽发送数据将有大量的丢包,在终端上显示出大量的花屏现象。
因此,目前终端的视频通信对网络实际带宽无法感知,如果仅仅按照终端的接入带宽配置呼叫,将有大量的丢包和花屏现象。目前的处理方法是人工将呼叫连接断开,根据经验调整配置的呼叫带宽参数后,重新发起呼叫。因此,对视频通信质量和方便性将有很大的影响。

发明内容
本发明要解决的问题是提供一种带宽控制方法,以解决现有技术中终端在通信中因无法检测网络带宽导致的通信质量下降。
为达到上述目的,本发明提供一种带宽控制方法,包括如下步骤根据对端发送的消息,判断是否需要调整媒体通道的带宽;需要调整所述媒体通道的带宽时,根据所述对端发送的消息获得调整后媒体通道的带宽;通知所述对端所述调整后媒体通道的带宽并与所述对端使用所述调整后媒体通道的带宽进行通信。
其中,所述根据对端发送的消息,判断是否需要调整媒体通道的带宽前还包括与所述对端建立通信所需的呼叫连接以及媒体通道。
其中,所述与对端使用所述调整后媒体通道的带宽进行通信的步骤中,始终保持与所述对端建立的所述呼叫连接。
其中,所述对端发送的消息为基于实时传输控制RTCP协议的发送者报告SR消息或接收者报告RR消息。
其中,所述根据对端发送的消息,判断是否需要调整媒体通道的带宽的步骤进一步包括获取所述对端发送的SR消息或RR消息中携带的丢包率;判断所述丢包率是否超出了预先设置的丢包率允许范围;超出所述丢包率允许范围时,判断为需要调整媒体通道的带宽,否则不需要调整媒体通道的带宽。
其中,所述需要调整所述媒体通道的带宽时,根据所述对端发送的消息获得调整后媒体通道的带宽的步骤具体为根据所述获取的所述对端发送的SR消息或RR消息中携带的丢包率,获得调整后媒体通道的带宽。
其中,通知所述对端所述调整后媒体通道的带宽并与所述对端使用所述调整后媒体通道的带宽进行通信的步骤进一步包括
向所述对端发送关闭所述媒体通道的消息;媒体通道关闭后,向所述对端发送打开新的媒体通道的消息,其中携带所述调整后媒体通道的带宽;与所述对端使用所述调整后媒体通道的带宽进行通信。
本发明还提供一种终端设备,包括判断单元,用于根据对端发送的消息判断是否需要调整媒体通道的带宽;带宽获取单元,用于在所述判断单元判断需要调整媒体通道的带宽时,根据所述对端发送的消息获得调整后媒体通道的带宽;媒体通道建立单元,通知所述对端所述带宽获取单元获得的调整后媒体通道的带宽,并与所述对端建立新的媒体通道进行通信。
其中,还包括接收单元,用于接收所述对端发送的消息并向所述判断单元发送,所述对端发送的消息为基于RTCP协议的发送者报告SR消息或接收者报告RR消息。
其中,还包括呼叫连接建立单元,用于与对端建立通信所需的呼叫连接,所述呼叫连接在所述媒体通道建立单元的与对端建立新的媒体通道的过程中,始终保持与所述对端建立的通信所需的呼叫连接。
与现有技术相比,本发明具有以下优点通话中的终端可以根据RTCP消息自适应的调整网络带宽,使通信不必受限于初始配置的呼叫带宽,从而自调整到最佳的通信质量。另外,在调整过程中保持了呼叫连接始终处于连接状态。


图1是现有技术中H.323协议栈的结构示意图;图2是现有技术中视频通信点对点的网络带宽配置示意图;图3是现有技术中发送者报告SR消息的格式示意图;图4是现有技术中接收者报告RR消息的格式示意图;
图5是本发明的实施例一中,带宽控制方法的流程图;图6是本发明的实施例一所涉及的呼叫建立过程的流程图;图7是本发明的实施例二中,带宽控制方法的流程图;图8是本发明的实施例三中,带宽控制方法的信令流程图;图9是本发明的实施例四中,用于带宽控制的终端设备结构示意图。
具体实施例方式
本发明的核心思想在于,通话过程中,进行通话的两端分别对端发送的RTCP RP或SP消息中丢包率进行检测。如果此丢包率超过可允许的范围,则终端根据此丢包率通知对端修改呼叫带宽,关闭媒体通道后以新的呼叫带宽建立媒体通道。在此媒体通道的关闭重建过程中,两端的呼叫连接始终保持。
本发明的实施例一中,一种带宽控制方法如图5所示,包括以下步骤步骤s101、根据对端发送的消息,判断是否需要调整媒体通道的带宽。
步骤s102、需要调整媒体通道的带宽时,根据对端发送的消息获得调整后媒体通道的带宽。
步骤s103、通知对端调整后媒体通道的带宽,与对端使用调整后媒体通道的带宽进行通信。
以下通过结合不同场景下的具体实施例,对该方法进行详细说明。
在进行带宽控制流程前,通话的两端首先需要以两端配置的带宽建立呼叫连接和媒体通道。该建立呼叫连接流程与普通的H323呼叫相同,以主叫终端和被叫终端注册在同一个网守上的情况为例,该呼叫连接建立流程如图6所示,包括如下步骤步骤s201、主叫终端通过RAS(Registration Admission and Status,注册、接入认证和状态查询)信令,向网守发送ARQ(Admission Request,接入请求)消息进行认证。该ARQ消息中还包括请求呼叫带宽参数,用于主叫终端向网守请求本次呼叫可以使用的带宽,这里的带宽参数一般是指设备的接入带宽,如请求呼叫带宽参数为2016K,表示主叫终端希望网守允许在本次呼叫可以使用的带宽上限为2016K。
步骤s202、网守向认证成功的主叫终端返回ACF(Admission Confirm,接入确认)消息,此ACF消息中还包括网守对于ARQ消息中呼叫带宽参数的响应,网守可以允许该主叫终端在呼叫中使用该ARQ消息中的请求呼叫带宽,也可以减少该请求呼叫带宽。如ARQ消息的请求呼叫带宽参数为2016K时,网守可以在回应的ACF消息中允许将该2016K作为上限,或减少该请求呼叫带宽为1536K,使得主叫终端的呼叫以1536K作为上限。若认证失败则网守返回ARJ(Admission Reject,接入拒绝),其中包括失败的原因,关于失败的情况在此不做描述。
步骤s203、主叫终端与网守建立连接后,通过Q.931消息发送Setup消息给被叫终端。Q.931消息建立在H225连接上,为进行信息交互所使用的协议,主要负责呼叫过程中的信令处理,并在此基础上协商后续的H245通信地址与端口。
步骤s204、被叫终端通过Q.931发送Call Proceeding(呼叫处理)消息给主叫终端,其中包括H245通道地址信息。
步骤s205、被叫终端通过RAS向网守发送ARQ消息,请求对被叫用户进行认证。该ARQ消息中还包括请求呼叫带宽参数,用于被叫终端向网守请求本次呼叫可以使用的带宽。
步骤s206、网守向认证成功的被叫终端返回ACF消息,此ACF消息中还包括网守对于ARQ消息中呼叫带宽参数的响应,若认证失败则网守返回ARJ(Admission Reject,接入拒绝),其中包括失败的原因,关于失败的情况在此不做描述。
步骤s207、被叫终端向主叫终端发送Q.931消息警告(Alerting),其中包括H245通道地址信息。
步骤s208、主叫终端与被叫终端建立H245通道连接,并通过H245进行能力交换。该能力交换包括编解码能力的交换以及呼叫带宽参数的选择。
步骤s209、主叫终端与被叫终端建立媒体通道。在呼叫带宽参数的选择上由两端配置的最小带宽决定,如主叫终端的接入呼叫带宽参数为2016K,被叫终端的接入呼叫带宽参数为1536K,则两端建立起点对点通话后,呼叫带宽参数根据两端配置的最小带宽决定主叫终端与被叫终端的点对点通话带宽为1536K。
对于其他形式的呼叫连接建立过程,如网守路由呼叫建立等,也是由主叫终端与被叫终端通过H225消息建立呼叫连接,在该呼叫连接上进行H245的能力协商并建立媒体通道的步骤组成,在此不做重复描述。
基于H.323协议栈的VoIP呼叫都包括呼叫连接的建立和媒体通道的建立。其中,呼叫连接的建立与切断对用户终端来说是可见的;而媒体通道的建立与切断对用户终端来说是不可见的。对于用户终端,媒体通道在呼叫进行中是可以中断并重新建立连接的,而呼叫连接的切断则意味着真正的断开VoIP呼叫。本发明中,在需要调整两端所使用的带宽时,只需要进行媒体通道的关闭与重建,而两端的呼叫连接始终保持。本发明的实施例二中,呼叫连接与媒体通道建立完成后,一种带宽控制方法如图7所示,包括如下步骤步骤s301、与对端建立通信的当前端接收对端回馈的RTCP消息。
步骤s302、当前端根据对端回馈的RTCP消息,判断是否需要调整呼叫带宽,不需要调整时进行步骤s303,需要调整时进行步骤s304。
在判断是否需要调整呼叫带宽时,判断的依据为RTP包的丢包率,当前端获取该RTP包的丢包率的方法如下当前端在通话过程中,接收对端回馈的RTCP RR(接收者报告)消息或SR(发送者报告)消息,其中SR消息或RR消息的Report Block n(第n个消息块)中,具有一同步源标识符(SynchronizationSource Identifier,SSRC_n),该SSRC_n中的丢包率(fraction lost)反映了对端在接收ID为SSRC_n的源发送的RTP包时,RTP包的丢失比率。具体的,以RR消息为例,丢包率的定义为对端在发送上一个RR消息到发送当前RR消息的时间内,所期待的RTP包数目与所收到的RTP包数目的差值与所期待的RTP包数目的比值。
因此,当前端可以从对端反馈的RR消息中,获取对端接收RTP数据包的丢包率,并根据SSRC_ID判断是本地的哪个RTP流在向对端的传输过程中发生了丢包。
获取该RTP包的丢包率后,当前端根据该丢包率判断是否需要调整呼叫带宽。判断的标准可以预先进行设定一个阈值,超过该阈值,则认为丢包率过高,影响通信质量,需要重新调整带宽。如考虑到不影响通话的RTP包丢包率为1%,则可以配置2%为可允许的RTP包丢包率。当前端获取到的RTP包丢包率超过2%时,则认为需要调整呼叫带宽。
步骤s303、不进行呼叫带宽调整并结束。
此时,当前端继续监视对端回馈的RTCP消息用以进行下一次的带宽调整判断。
步骤s304、当前端获取新的呼叫带宽。
具体的,当前端根据丢包率计算合适的呼叫带宽。根据丢包率计算合适的呼叫带宽的方法很多,例如可以采用原有呼叫带宽×(1-丢包率×100%)计算。
步骤s305、当前端关闭当前的媒体通道,并以新的带宽建立新的媒体通道。
具体的,当前端通过向对端发送CloseLogicalChannel(关闭逻辑通道)消息,关闭当前的媒体通道。然后向对端发送OpenLogicalChannel(打开逻辑通道)消息,消息中携带新的呼叫带宽参数,除带宽参数外的其他参数保持原来的不变,对端根据接收到的OpenLogicalChannel消息与当前端建立新的媒体通道。在此过程中,虽然带宽发生了变化,但是带宽的变化趋势是不断变小,因此不会超出呼叫连接建立过程中网守所允许的带宽上限,也不需要向网守重新请求带宽,因此当前端与对端的呼叫连接可以始终保持。新逻辑通道建立完成后,当前端与对端继续视频通话,并继续监督RTCP反馈的丢包率。
本发明的实施例三中,以进行通话的两端分别为终端A和终端B为例,终端A与终端B建立呼叫连接,所使用的呼叫带宽参数为1536K。在通话过程中,终端A和终端B互为发送方和接收方,以下以终端A作为发送方、终端B作为接收方对该带宽控制方法进行描述,如图8所示,包括以下步骤步骤s401、终端A和终端B建立呼叫连接和媒体通道,所使用的呼叫带宽参数为1536K。
步骤s402、终端A作为发送方,向终端B发送RTCP SR消息。
步骤s403、终端B向终端A发送RTCP RR消息。
步骤s404、终端A根据终端B发送的RTCP RR消息,获取丢包率并判断需要调整媒体信道所使用的带宽。
设终端A获取到的终端B的RTCP RR消息中丢包率为10%,而预先设置的可允许的RTP包丢包率为2%,则终端A判断需要调整媒体信道所使用的带宽。
步骤s405、终端A获取新的呼叫带宽。
设预先设置的根据丢包率计算呼叫带宽的方法为新的呼叫带宽=原有呼叫带宽×(1-丢包率×100%),则新的呼叫带宽为1536K×(1-10%)=1382.4K。
步骤s406、终端A向终端B发送CloseLogicalChannel消息。
步骤s407、终端A与终端B间的媒体通道中断,呼叫连接仍然保持。
步骤s408、终端A向终端B发送OpenLogicalChannel消息,其中携带新的呼叫带宽。这里新的呼叫带宽为1382.4K。
步骤s409、终端A与终端B间建立新的媒体通道。
新的媒体通道所使用的带宽参数为1382.4K。
步骤s409后,终端A仍将对终端B反馈的RTCP RR消息中的丢包率进行判断,从而在新的媒体通道仍不满足通话需要时,继续调整媒体通道所使用的带宽参数。该过程与上述s401~s409所描述的过程相同,在此不做重复描述。另外,上述s401~s409所描述的过程中以终端A为发送方、终端B为接收方为例,在以终端B为发送方、终端A为接收方时,与上述过程相似,在此也不做重复描述。
通过使用以上实施例提供的带宽控制方法,通话中的终端设备可以根据对端反馈的消息自适应的调整网络带宽,使通信不必受限于初始配置的呼叫带宽,从而自调整到最佳的通信质量。另外,在调整过程中保持了呼叫连接始终处于连接状态。
本发明的实施例四中,描述了一种终端设备,其结构如图9所示,包括判断单元10,用于根据对端发送的消息判断是否需要调整媒体通道的带宽。对端发送的消息为基于RTCP协议的发送者报告SR消息或接收者报告RR消息。判断单元10获取对端发送的SR消息或RR消息中携带的丢包率,并判断该丢包率是否超出了预先设置的丢包率允许范围,超出该允许范围时,则判断为需要调整媒体通道的带宽,否则不调整媒体通道的带宽。
带宽获取单元20,用于在判断单元10判断需要调整媒体通道的带宽时,获得调整后媒体通道的带宽。带宽获取单元20根据对端发送的SR消息或RR消息中携带的丢包率,获得新的调整后媒体通道的带宽的方法可以有很多,例如采用新的媒体通道的带宽=目前媒体通道的带宽×(1-丢包率×100%)。
媒体通道建立单元30,用于根据带宽获取单元20获得的调整后媒体通道的带宽,与对端建立新的媒体通道进行通信。具体地,媒体通道建立单元30向对端发送关闭媒体通道的消息,并向对端发送打开新的媒体通道的消息,其中携带调整后媒体通道的带宽,与对端使用调整后媒体通道的带宽进行通信。
接收单元40,用于接收对端发送的消息并向判断单元10发送,其中对端发送的消息为基于RTCP协议的发送者报告SR消息或接收者报告RR消息。
呼叫连接建立单元50,用于与对端建立通信所需的呼叫连接,该呼叫连接在媒体通道建立单元30的建立调整后媒体通道的过程中,始终保持与对端建立通信所需的呼叫连接而没有断开。
通过使用以上实施例提供的终端设备,通话中的终端设备可以根据对端反馈的消息自适应的调整网络带宽,使通信不必受限于初始配置的呼叫带宽,从而自调整到最佳的通信质量。另外,在调整过程中保持了呼叫连接始终处于连接状态。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1.一种带宽控制方法,其特征在于,包括如下步骤根据对端发送的消息,判断是否需要调整媒体通道的带宽;需要调整所述媒体通道的带宽时,根据所述对端发送的消息获得调整后媒体通道的带宽;通知所述对端所述调整后媒体通道的带宽并与所述对端使用所述调整后媒体通道的带宽进行通信。
2.如权利要求1所述带宽控制方法,其特征在于,所述根据对端发送的消息,判断是否需要调整媒体通道的带宽前还包括与所述对端建立通信所需的呼叫连接以及媒体通道。
3.如权利要求2所述带宽控制方法,其特征在于,所述与对端使用所述调整后媒体通道的带宽进行通信的步骤中,始终保持与所述对端建立的所述呼叫连接。
4.如权利要求1所述带宽控制方法,其特征在于,所述对端发送的消息为基于实时传输控制RTCP协议的发送者报告SR消息或接收者报告RR消息。
5.如权利要求4所述带宽控制方法,其特征在于,所述根据对端发送的消息,判断是否需要调整媒体通道的带宽的步骤进一步包括获取所述对端发送的SR消息或RR消息中携带的丢包率;判断所述丢包率是否超出了预先设置的丢包率允许范围;超出所述丢包率允许范围时,判断为需要调整媒体通道的带宽,否则不需要调整媒体通道的带宽。
6.如权利要求4所述带宽控制方法,其特征在于,所述需要调整所述媒体通道的带宽时,根据所述对端发送的消息获得调整后媒体通道的带宽的步骤具体为根据所述获取的所述对端发送的SR消息或RR消息中携带的丢包率,获得调整后媒体通道的带宽。
7.如权利要求1所述带宽控制方法,其特征在于,通知所述对端所述调整后媒体通道的带宽并与所述对端使用所述调整后媒体通道的带宽进行通信的步骤进一步包括向所述对端发送关闭所述媒体通道的消息;媒体通道关闭后,向所述对端发送打开新的媒体通道的消息,其中携带所述调整后媒体通道的带宽;与所述对端使用所述调整后媒体通道的带宽进行通信。
8.一种终端设备,其特征在于,包括判断单元,用于根据对端发送的消息判断是否需要调整媒体通道的带宽;带宽获取单元,用于在所述判断单元判断需要调整媒体通道的带宽时,根据所述对端发送的消息获得调整后媒体通道的带宽;媒体通道建立单元,通知所述对端所述带宽获取单元获得的调整后媒体通道的带宽,并与所述对端建立新的媒体通道进行通信。
9.如权利要求8所述终端设备,其特征在于,还包括接收单元,用于接收所述对端发送的消息并向所述判断单元发送,所述对端发送的消息为基于RTCP协议的发送者报告SR消息或接收者报告RR消息。
10.如权利要求8所述终端设备,其特征在于,还包括呼叫连接建立单元,用于与对端建立通信所需的呼叫连接,所述呼叫连接在所述媒体通道建立单元的与对端建立新的媒体通道的过程中,始终保持与所述对端建立的通信所需的呼叫连接。
全文摘要
本发明公开了一种带宽控制方法,包括如下步骤根据对端发送的消息,判断是否需要调整媒体通道的带宽;需要调整媒体通道的带宽时,根据对端发送的消息获得调整后媒体通道的带宽;通知对端所述调整后媒体通道的带宽并与对端使用调整后媒体通道的带宽进行通信。本发明还公开了一种终端设备。通过使用本发明,通话中的终端设备可以自适应的调整网络带宽,使通信不必受限于初始配置的呼叫带宽而自动调整到最佳的通信质量。
文档编号H04L29/06GK101056418SQ20071011097
公开日2007年10月17日 申请日期2007年6月12日 优先权日2007年6月12日
发明者苏佳, 周迪 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1