用于控制抖动缓冲器的方法和抖动缓冲器控制电路
技术领域
当前的通信系统中进行连接用于传输连续的数据流,例如用于语音、视像和/或多媒体的通信,还以日益增长的规模通过面向分组的通信网络,譬如LAN(局域网)、MAN(城域网)或者WAN(广域网)来进行。基于这些技术的有例如所谓的因特网电话,所述的因特网电话也称作“IP语音”(VoIP)。
背景技术
为了经面向分组的通信网络传输连续的数据流,把该数据流划分为各个要传输的数据分组中,所述的的数据分组分别设有目标地址和计时标记。在从面向分组的通信网络退出时把这些从数据分组重新结合成连接的数据流。由于在面向分组的通信网络中数据分组原则上相互独立地传输,数据分组一般不以等距离的时间间隔并且还常常在不按其原始的序列到达退出点。为了补偿这样的传输时间波动,大多把数据分组或者其数据内容在结合数据流前中间存储在所谓的抖动缓冲器中,从这个所谓的抖动缓冲器中以恒定的时间间隔读出数据或者其数据内容。以这种方式可以将以不规则的时间间隔到达的数据分组再重建为连续的数据流。这种抖动缓冲器的一个缺点在于,由于中间存储而附加地延迟数据传输。在此数据分组的平均中间存储期应当尽可能地减少到最小。然而在此要注意,不要把平均中间存储期选择得过小,因为不然的话,迟缓到达的数据分组可能就不再可以按抖动缓冲器的时间上的输出序列编排。当一个数据分组才到达时,如果在原始的发射序列中在其后续的数据分组已经由抖动缓冲器输出,对于该延迟到达的数据分组正常的输出时间点已经被删除掉了,从而摒弃了该数据分组。抖动缓冲器控制的目标还在于,在还可以接受的数据损失率的附加条件下把平均的中间存储期降低到最低。
迄今为了控制抖动缓冲器测量由中间存储决定的传输延迟的平均值,并且借助于第一控制电路调节到设定的延迟。在此,所述的设定的延迟可以固定的预定,或可以通过第二控制电路这样地控制:在还可接受的分组损失率的条件下,把传输延迟降低到最小。然而预定固定的设定延迟却限制了抖动缓冲器控制的灵活性,而附加地控制设定延迟的缺点在于,需要第二控制电路。由于两个相互影响的控制电路使得控制显著地复杂。此外,在这种情况下还可能出现稳定性的问题。
发明内容
本发明的任务是,提出用于控制抖动缓冲器的方法和抖动缓冲器控制电路,所述方法允许能够在只有很少的数据分组损失的条件下自适应地降低缓冲引起的平均传输延迟。
该任务具有权利要求1的特征的方法以及通过具有权利要求6的特征的抖动缓冲器控制电路来完成。
为了控制用于缓冲数据分组流而设置的抖动缓冲器,对数据分组流的数据分组测取各自的由缓冲引起的传输延迟。从测取的传输延迟连续地推导出加权的延迟平均值,其中较小的传输延迟比较大的传输延迟较强地加权。取决于该连续推导出的加权延迟平均值然后这样地控制抖动缓冲器的读出速度:使得推导出的加权的延迟平均值作为控制参数调整到预定的设定延迟。
构成加权的延迟平均值时很小的传输延迟的强加权相应于迟缓到达的数据分组的强加权。这就是说,加权的延迟平均值不表示所有缓冲的数据分组的平均的传输延迟,相反地更多是表示对延迟到达的数据分组的传输延迟的尺度。通过把迟缓到达的数据分组的缓冲引起的延迟期调整到预定的设定延迟可以以简单的方式保证,对也迟缓到达的数据分组仍被缓冲寄存。
超过平均值迟缓出现的数据分组通过其较强的加权导致降低加权的延迟平均值。该数据分组刚刚还在读出时间点前不久嵌入到抖动缓冲器里,并且因而具有特别小的传输延迟的再补偿到设定的延迟。这又再次引起抖动缓冲器的读出速度的降低,如此地把加权的延迟平均值补偿到设定的延迟,如果由此在其正常的输出时间点之前在抖动缓冲器中嵌入了更强延迟的数据分组,就再次降低读出速度。否则就在很大的程度上保持读出速度恒定,或者在停止可比较地迟缓的数据分组时加快读出速度。
通过控制加权的延迟平均值使抖动缓冲器的平均传输延迟自动地适应于迟缓到达的数据分组的延迟期。以此方式可以在保持很小的并且在需要的时候可调节的数据损失率的条件下使缓冲器引起的传输延迟最小。这样就只需要单个控制电路,提供了本发明的重要优点。
本发明的有利的实施形式和扩展在从属的权利要求中指出。
根据本发明的一个有利的实施例可以从此前导出的加权延迟平均值和当前测取的传输延迟推导出新加权的延迟平均值。以此方式可以显著地降低所需要的计算费用。
此外还可以把当前测取的传输延迟与此前导出的加权的延迟平均值比较,并且取决于比较结果得出当前测取的传输延迟的加权。优选地如果当前测取的传输延迟小于此前推导出的加权的平均值,可以用第一预定的加权值加权当前测取的传输延迟,并且,如果当前测取的传输延迟大于此前推导出的加权的平均值,可以用第二预定的加权值加权当前测取的传输延迟。在此,第一加权值大于第二加权值。以此方式把一定的位于至此时为止的加权的延迟平均值的超过凭据值的迟缓的数据分组强加权,从而自动地使加权的延迟平均值适应于迟缓到达的数据分组。
通过适当地选择第一和第二加权值可以按需要调节抖动缓冲控制的特定控制速度。在此,选择第一加权值优其是对抖动缓冲器控制用以响应特别强地迟缓的数据分组的速度起作用。相反,选择第二加权值尤其是对抖动缓冲器控制用以响应特别迟缓的数据分组的停止速度起作用。
附图说明
下面借助于本发明的一个实施例详细地说明本发明的实施例。在此示意性附图分别是:
图1一种抖动缓冲器和
图2一种抖动缓冲器控制电路。
具体实施方式
在图1中示意性地示出抖动缓冲器JP,向中间存储器传送优选地以因特网协议为基础的数据流的的数据分组DP1、…、DP2、…、DP3,所述的数据流例如是用于实时通信的语音通信、视像通信和或多媒体通信。所述数据分组DP1、…、DP2、…、DP3各包含一个计时标志,所述的计时标志指出数据分组流中的有关数据分组的最初的时间位置。在该实施例中假定,数据分组DP1、DP2和DP3按指定的序列产生,但是由于传输时间波动以DP3、DP2和DP1的序列抵达在抖动缓冲器JP处。从而由于超过平均水平快速的传输数据分组DP3而使其超前数据分组DP2,而数据分组DP1由于其特别大的延迟落后于数据分组DP2。
作为有用数据内容数据分组DP1包含通信数据D1,数据分组DP2包含通信数据D2,而数据分组DP3包含通信数据D3。对于此实施例假定通信数据D1、D2和D3是VoIP通信数据(VoIP:IP语音),所述的VoIP通信数据分别包含语音信号的数字抽样值。
抖动缓冲器JP具有许多存储位置P1、…、PN,所述的存储位置按指定的序列周期性地读出。为了把数据分组DP1、DP2和DP3或其有用数据内容D1、D2和D3重新恢复成其原始的序列,把它们按数据分组DP1、DP2、DP3的计时标志的顺序中间存储在抖动缓冲器JP的存储位置P1、…、PN上。从而把抵达的数据分组DP1、DP2及DP3的数据内容D1、D2及D3插入到根据数据分组DP1,DP2以及DP3的计时标志确定的存储位置P1、…、PN-1及PN中。与之相应地把特别早出现的数据分组,在此例中为DP3,的数据内容,在此例中是D3,插入到较后边的的存储位置,在此例中为PN-1,把具有平均传输时间的数据分组,在此例为DP2,的数据内容,在此例中是D2,插入到中间的存储位置,在此例中为PM,把迟缓出现的数据分组,在此例中为DP1,的数据内容,在此例中是D1,插入到较前边的的存储位置,在此例中为P2。以此方式数据内容D1、D2和D3并且从而把语音信号的抽样值从抖动缓冲器JP按其最初的时间序列输出。
图2中示意性地示出用于控制抖动缓冲器JP的抖动缓冲器电路。在此图中用与图1中的标号一致的标号示出相同的对象。通过控制抖动缓冲器JP应当在一方面把过迟到达并且从而要废弃的数据分组的数量降低到最少,而在另一方面把缓冲引起的数据分组平均传输延迟降低到最少。作为过迟到达的数据分组在这个相互关系中标示出在其到达时已经删除了相应的存储位置的的输出时间点的数据分组。换言之,缓冲引起的传输延迟应当尽可能地小,但是却要大得足以避免可觉察到的分组损失。
所述的抖动缓冲器控制电路具有:测取装置EE用于测取或测量各个数据分组的传输延迟dp;求均值装置ME,用于连续地从测取的传输延迟dp推导加权的延迟平均值d1;以及控制装置RE,用于依据加权的延迟平均值d1控制抖动缓冲器JP的读出速度。所述的测取装置EE对每个数据分组DP1、…DP2、…DP3测取其接收时间点trec以及从抖动缓冲器JP输出的有关数据分组的第一抽样值的输出时间点tout。由此得出有关数据分组的传输延迟为dp=tout-trec。这实质上相应于有关数据分组的数据内容在抖动缓冲器JP中的逗留时间。得出的数据分组PD1、…PD2、PD3的传输延迟dp由所述的测取装置EE转交给求均值装置ME,从中求均值装置ME连续地计算加权的延迟平均值d1并且把所述的延迟平均值d1转交给控制装置RE。控制装置RE把到达的加权的延迟平均值d1与预定的设定延迟s d1比较并且据此控制用之从抖动缓冲器JP读出抽样值的读出节拍CLK,其方式是:把加权的延迟平均值d1调整到设定的延迟s d1。为了使读出的抽样值的数据速率与后接的通信应用同步,可以把由所述控制决定的读出节拍CLK的轻微波动通过向抽样值流嵌入或者从抽样值流摒弃个别的抽样值加以补偿,或者通过变换抽样速率补偿。
通过测取装置EE、求均值装置ME和控制装置RE可以实现用于作为控制参数把加权的延迟平均值d1调整到预定的设定延迟s d1的控制电路。测取装置EE、求均值装置ME和控制装置RE可以优选地在微处理系统上实施成面向对象编程意义上的程序模块或者程序对象。
加权的延迟平均值d1通过求均值装置ME以递推的方式计算。对于每个缓冲的数据分组DP1、…DP2、…DP3,从当前测取的传输延迟dp以及从此前计算的加权的延迟平均值dload按计算公式d1=(1-s).dload+s.dp计算出新的加权的延迟平均值d1。该式中s是用之把当前测取的传输延迟dp变换成加权的延迟平均值d1的权重。对于每个到达的数据分组都借助于由该传输延迟dp与以前加权的延迟平均值dload比较来确定权重S。在此s=β1如果dp<dload,并且s=β2如果dp>=dload,式中β1是预定的第一加权值,而β2是预定的第二加权值,其中β1显著地大于β2。从而计算新的延迟平均值d1时,把小于此前的加权的延迟平均值dload的传输延迟值dp,比大于或等于此前的加权的延迟平均值dload的传输延迟dp更强地加权。
通过较强加权较小的传输延迟dp,在构成加权的延迟平均值d1时超平均地强加权迟缓到达的数据分组,在此例中为DP1。从而加权的延迟平均值d1对于迟缓到达的数据分组实质上产生一个尺度。其中通过抖动缓冲器控制电路不是使用传输延迟dp的平均值,而是使用迟缓的数据分组的传输延迟的尺度作为控制参数,于是抖动缓冲器JP自动地控制,使得迟缓出现的数据分组刚好不丢失。
通过适当地选择各个加权值β1和β2可以调节控制电路的控制速度,并且从而适应不同的传输性能。在此通过第一加权值β1影响控制电路用之响应特别延迟的数据分组的速度。相反通过第一加权值β2影响控制电路用之响应未到的延迟的数据分组停止的速度。此外通过β1和β2的商确定加权的延迟平均值d1在什么程度上向短的传输延迟dp推移。通过这个商间接地影响分组损失率。通过加大该商数一般可降低分组损失率。
在典型的传输条件下表明较好是第一加权值β1在0.1的数量级,第二加权值β2在0.001的数量级。在典型的数据分组传输时间分配中这样地选择加权值β1和β2导致数量级在0.1-1%的可接受的分组损失率。
由于β1显著地大于β2,该加权的延迟平均值d1调节得快于小的传输延迟dp并且在迟缓的数据分组停止时缓慢地退回。从而缓冲引起的传输延迟可以按比例地加快,就是说以较少的分组损失,适应于迟缓的数据分组数量或者延迟的增加。以此方式把平均的缓冲引起的传输延迟自动地调节到一个最低值,尽管传输延迟本身没有用作控制参数,其中同时保持较低的分组损失率。与公知的现有技术不同,为此只需要一个控制电路。