专利名称:控制网络上的音频通信的方法
技术领域:
本发明涉及控制网络上的音频通信的方法,具体地说,涉及VoIP系统。
背景技术:
基于因特网协议的语音传输(VoIP)的特征在于如下事实发送方编译连续音频流(PCM每125微秒1字节),然后将此音频流打包成分组,并通过局域网(LAN)接口发送这些分组,但是不限于在LAN中使用。根据编码方式,存在对分组大小的不同最小值要求(G.7111字节;G.723.1240字节;G.729A80字节)。为减少所需的带宽,发送方还可发送包含多个此最小长度的分组。
接收方依次接收经过LAN接口的分组,并将它们重新转换为连续音频流。音频流的这种转换(以及如果合适的压缩)一般由称为数字信号处理器(DSP)的器件来执行,而在DSP与LAN接口之间的分组传输由中央处理器(CPU)来执行。
CPU上的负荷不取决于分组类型,而仅取决于这些分组到达的速率。分组大小越小,分组速率越高,因此CPU负荷以及带宽要求也越高。另一方面,分组速率越高,嘴到耳的延迟越小,因此用户的通话质量也越好。
在具有大量信道的网关的情况下,现在的问题是,为了获得理想的通话质量,终端以高分组速率发送分组,导致网关上的CPU负荷较高,可能太高而使CPU无法应付。
目前,没有用于控制呼入话音分组的速率的设施,因为在协议中只有一个用于最大分组大小的字段,该最大分组大小对应于最小分组速率。因此,终端的分组速率取决于折衷速率,一方面不使网关过载,另一方面在两个终端直接连接的情况下使通话质量尽可能地高。
发明内容
根据本发明,一种网络包括至少两个端点,其中至少一个端点用作源,而至少一个端点用作目标,控制所述网络上的音频通信的方法包括在源上设置所需的最大和最小分组大小;在目标上设置所需的最大和最小分组大小;确定最小发送分组大小为源设置的所需最小值与目标设置的所需最小值中较大的值;在目标中将抖动缓冲器设置为针对所确定的最小发送分组大小的适当大小;以及发送大小大于或等于所确定的最小发送分组大小的音频分组。
本发明在语音编码的协商期间在源和目标中都设置最大分组大小和最小分组大小,并将设定结果用信号通知给发送音频通信的源。最大分组大小符合现有标准以确保最小分组速率,此外,确定最小分组大小,以便得到以嘴到耳延迟的形式表示的通话质量与资源需求之间的平衡关系。对于IP端点,这意味着达到了可接受的CPU负荷,以及在网络中满足带宽要求。用于发送的最小分组大小不得小于目标所设置的用于接收的最小值。
在一个实施例中,目标通知源最小分组大小的增大;以及发起抖动缓冲器的容量的相应增大。
如果CPU负荷看来变得过高,则目标在呼叫期间可将此变化通知给源,并在通话中断期间,增大抖动缓冲器的容量。
或者,源通知目标最小分组大小的增大;以及目标发起抖动缓冲器的容量的相应增大。
源也可选择增大最小分组大小,并将此增大通知目标。
源的最小分组大小最好设置在目标所设置的最小分组大小与最大分组大小之间。
源和目标最好包括IP网络中的终端、服务器以及网关中的任何一个。
可能存在各种各样的组合,包括终端用作源而网关用作目标;或者两个终端,一个用作源而另一个用作目标,或者它们的其它组合。
通常,网络采用基于因特网协议的语音传输(VoIP),包括载波VoIP系统。
下面参照
控制包括至少两个端点的网络上的音频通信的提供的方法的例子,其中图1说明采用本发明的方法在两个端点之间消息往来的例子;图2说明作为分组大小的函数的主处理器的CPU的利用率;以及图3说明对于三种不同编解码器、作为分组大小的函数的每个信道的带宽要求。
具体实施例方式
每个端点(EP)具有两个参数。这些参数中的第一个参数是端点可接收分组的最小分组大小,第二个参数是端点可发送分组的最小分组大小。发送分组大小不得小于目标EP所设定的最小值,而源EP不得超出它自己的性能极限。因此,源EP则可选择发送这样的分组,其大小范围是从源EP用于发送的最小分组大小与目标EP用于接收的最小分组大小中较大的值到目标EP的用于接收的最大分组大小。
传统H.323系统通过UDP/IP传送作为RTP流的音频数据。音频流的特性经由作为终端能力交换程序的一部分的H.245消息、在为音频流开通逻辑信道的过程中被交换。音频流参数之一是每个分组的最大帧数。该值表示一个分组所传送的最大时间间隔,因此,也表示分组大小以及音频源发送分组的分组速率。源不得超过此参数所规定的分组大小,但是可以更频繁地发送较小的分组。例如,对于G.711流,可能已经协商好20毫秒的最大间隔(160帧/分组),但是源可以选择每隔10毫秒(80帧/分组)或者甚至更频繁地发送分组。
出于QoS的原因,希望较高的分组速率(较小的分组大小),因为在此情况下,音频帧以较低延迟发送,且丢失分组的影响不太严重。可是,较小的净荷大小意味着相对较高的分组开销以及较低的带宽效率。更频繁的分组到达还将增加接收机的处理负荷。一种实现必须考虑效率和QoS要求之间的这种权衡。对于大型网关,在高业务负荷期间,分组到达速率可能变得至关重要。如果在这种情况下,发射机通过加大分组大小来降低分组速率,那么网关的性能可得到改善,使网关可以维持较高数量的呼叫,但存在个别呼叫的QoS有所下降的风险。
本发明引入了作为两个实体之间VoIP信令的一部分的最小分组大小表示。在本发明的一个例子中,将最小分组大小(最小帧数/分组)添加到H.245消息中。然后,要求发送侧发送分组的频率不高于此参数所确定的频率。可作为终端能力的一部分并在逻辑信道信令期间规定该参数。另一个特征是分组大小(即分组速率)对业务负荷的动态适应的规定。例如,如果网关中达到临界负荷,则将以10毫秒/分组的分组大小开始的呼叫提高到30毫秒/分组的大小。对于这种适应,网关需要一种告知发送侧暂时降低其分组速率的装置,类似于H.245中现有的流量控制机制。
图1中,通过举例说明针对采用本发明的方法的VoIP系统中的净荷来控制接收分组速率。图1表示了VoIP分组网络中的两个VoIP端点之间用于控制发送分组大小的典型消息流。端点A1(此例中是网关)向端点B3(此例中是个人计算机)发送呼叫建立消息2。端点B发回呼叫建立确认消息4。VoIP端点可包括网关、IP电话、PC或服务器端点上的软件客户机。可使用各种VoIP信令协议,例如标准H.323[ITU-T建议H.323-基于分组的多媒体通信系统]、标准SIP[RFC3261 SIP-会话发起协议]或者专有VoIP协议。采用RFC 1889RTP/RTCP-实时协议/实时控制协议通过分组网络来发送用户数据。
在图1的例子中,端点A1是接收方向上的端点(EP),对于例如G.711编解码器,要求具有20毫秒的最小分组大小的音频媒体流。这在呼叫建立消息(G711PSRvMaxA=60,G711PSRvMinA=20)中指明,对于G.711编解码器,该EP在接收方向还要求60毫秒的最大分组大小。最小分组大小使EP-A能确保在EP-A中每单位时间的呼入实时协议(RTP)语音分组的数量可保持相对较少,例如在EP-A中为了性能,这样做可能是必要的。EP-A可以是必须能同时处理几个包括音频流的呼叫的网关(每单位时间要处理的分组越多,对EP的性能要求就越苛刻)。
对于本例,EP-B3是具有H.323软件客户机的PC。该PC具有足够的能力,并且通常仅需要能一次处理一个呼叫(媒体流)。因此,EP-B也提供接收方向上的60毫秒的最大分组大小,但是对于G.711编解码器提供10毫秒的最小分组大小,这是相对较小的分组大小,因为EP-B每单位时间能处理相对较大数量的接收分组,这一事实例如对端到端延迟有正面影响。在呼叫建立2和呼叫建立确认4消息期间,端点1、3将用于G.711编解码器(但也可以是其它所支持的编解码器,诸如G.723.1或G.729)的相关的最小和最大接收分组大小发信号通知给对方端点1、3。本例的呼叫建立确认消息是G711PSRvMaxB=60,G711PSRvMinB=10。例如,在SIP标准的情况下,例如通过在SIP INVITE或者200-OK消息中的SDP[RFC 2327SDP-会话描述协议]中扩展的方式,发信号通知新参数。在H.323的情况下,例如通过在H.245标准[ITU-T建议H.245-多媒体通信的控制协议]中单元音频能力或一般能力扩展的方式,发信号通知新参数。在H.323和SIP标准中,只公开了最大分组大小的细节。在SIP标准中,有关于推荐的分组大小的要素,但这不是强制的。也没有任何标准包含了最小分组大小的详细说明。
本发明的另一个特征在于,如果诸如在呼叫建立时导致定义并发送初始最小和最大分组大小值的EP中性能情况、网络中带宽等标准在呼叫期间发生改变,则可能出现包括随后修改的最小或最大值的能力的重复交换。这些修改后的值必须受到对方端点尊重。在SIP系统中,这可以例如通过利用扩展的参数的RFC 3264 SDP提供/应答模型[RFC 3264 SDP提供/应答模型]发信号通知。在H.323系统中,这可以例如通过H.245终端能力设置消息(具有扩展的参数集)的重复交换或者在H.460.6标准[ITU-T建议H.460.6-扩展的快速连接]中通过扩展的快速连接来进行。如果接收方在呼叫期间请求发送方增大分组大小,则为了避免话音中断,在发送增大分组大小的请求之前,也必须在通话暂停时将抖动缓冲器增加此增量。或者,发送方可以通知接收方分组大小在输出方向上正被增大。此通知随后被用来在通话暂停时将抖动缓冲器增加此值。
另一种选择是,为了在服从资源限制的同时设置最佳语音质量,源EP1、3将从它自己的用于发送的最小大小以及由对方EP设定的用于接收的最小大小中选出的最大可能值选择作为发送方向上的分组大小,即,从这两个值中选择较大的值。在一个示例中,网关可考虑到通话质量来配置,即,用于G.711的分组大小可以被例如从240字节减少到80字节,在这种情况下,仅仅支持信道的1/3。此时,仅能控制自己的发送方向。
图2和图3说明分组速率对资源的影响。图2表示了作为分组大小的函数的主处理器的CPU的利用率。CPU能力利用率不取决于所选的编解码器。CPU工作负荷与分组大小成反比,即,如果分组大小减半,则在两个分组之间的时间减半,分组速率以及CPU工作负荷加倍。
在图3中,表示了作为分组大小和所选的编解码器的函数的以太网中每个信道的带宽要求。在压缩后实际净荷数据所用的带宽,在G.711的情况下由曲线5表示为64千比特/秒,在G.729A的情况下由曲线6表示为8千比特/秒,在G.723.1的情况下由曲线7表示为6.4千比特/秒。然而,对于每个分组需要如下协议首标RTP 12字节、UDP 8字节、IP 20字节、以太网(包括前同步码和帧校验序列,但没有VLAN标记)26字节。该首标组成部分增加了根据分组速率实际所需的带宽。
然而,由于编解码器本身的限制,因此不是所有的分组大小都是可行的。G.729A仅允许10毫秒的倍数,而G.723.1允许30毫秒的倍数。因此,图2中关于G.729A和G.723.1的曲线6、7是理论上计算的,因为事实上只有以方块或三角表示的离散值可以实际出现。
本发明实现了低成本IP网关解决方案,而不会丧失在IP电话之间呼叫的高通话质量的优点。
权利要求
1.一种控制网络上音频通信的方法,所述网络包括至少两个端点,其中至少一个端点作为源,而至少一个端点作为目标,所述方法包括在所述源上设置所需的最大和最小分组大小;在所述目标上设置所需的最大和最小分组大小;确定最小发送分组大小为所述源设置的所述所需最小值与所述目标设置的所述所需最小值中较大的值;在所述目标中将抖动缓冲器设置为针对所述确定的最小发送分组大小的适当大小;以及发送大小大于或等于所述确定的最小发送分组大小的音频分组。
2.如权利要求1所述的方法,其特征在于,所述目标通知所述源所述最小分组大小的增加;以及发起所述抖动缓冲器的大小的相应增加。
3.如权利要求1所述的方法,其特征在于,所述源通知所述目标所述最小分组大小的增加;以及所述目标发起所述抖动缓冲器的大小的相应增加。
4.如权利要求3所述的方法,其特征在于,所述源的所述最小分组大小设置在所述目标所设置的最小分组大小与最大分组大小之间。
5.如上述任一权利要求所述的方法,其特征在于,所述源包括IP网络中的终端、服务器和网关其中之一。
6.如上述任一权利要求所述的方法,其特征在于,所述目标包括IP网络中的终端、服务器和网关其中之一。
7.如上述任一权利要求所述的方法,其特征在于,所述网络采用基于因特网协议的语音传输(VoIP)。
8.如上述任一权利要求所述的方法,其特征在于,所述音频通信包括话音通信。
全文摘要
一种控制网络上音频通信的提供的方法,该网络包括至少两个端点(1、3),其中至少一个端点作为源,至少一个端点作为目标,所述方法包括在源上设置所需的最大和最小分组大小;在目标上设置所需的最大和最小分组大小;确定最小发送分组大小为源设置的所需最小值和目标设置的所需最小值中较大的值;在目标中把抖动缓冲器设置为针对所确定的最小发送分组大小的适当大小;以及发送音频分组,其大小大于或等于所确定的最小发送分组大小。
文档编号H04L12/64GK1592276SQ200410076930
公开日2005年3月9日 申请日期2004年8月31日 优先权日2003年9月2日
发明者E·霍尔瓦斯, K·克拉霍菲, G·-D·施帕尔 申请人:西门子公司