CN1352846A - 自适应抖动缓存 - Google Patents

自适应抖动缓存 Download PDF

Info

Publication number
CN1352846A
CN1352846A CN99816428.3A CN99816428A CN1352846A CN 1352846 A CN1352846 A CN 1352846A CN 99816428 A CN99816428 A CN 99816428A CN 1352846 A CN1352846 A CN 1352846A
Authority
CN
China
Prior art keywords
grouping
buffer
time
arrival
receiving node
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
Application number
CN99816428.3A
Other languages
English (en)
Other versions
CN1134947C (zh
Inventor
S·伦德奎斯特
M·奥尔松
J·尼格伦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN1352846A publication Critical patent/CN1352846A/zh
Application granted granted Critical
Publication of CN1134947C publication Critical patent/CN1134947C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • H04J3/0632Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

在分组通信系统中,抖动缓存器中所需的时延通过基于由所存储分组到达时间所导出的分组传输时延的估计偏差而改变抖动缓存器大小的方法和装置来确定,使得在没有过多时延的情况下能够将平滑数据提供给应用程序。偏差缓存器存储被存储分组的到达时间的偏差,而分组传输时延的估计偏差由该存储的偏差导出。抖动缓存器的大小在不连续分组传输期间能优先地改变。

Description

自适应抖动缓存
                       背景
本发明涉及电信,更具体而言是涉及使用互联网协议的分组网络,甚至更具体而言是涉及将这些网络中分组传送的时延减到最小。
在不可靠互联网协议(IP)网络上发送实时数据流的应用程序存在许多需要克服的问题,包括长和可变的时延以及丢失和失序的分组。今天,这些问题可通过使用诸如实时协议(RTP)和抖动缓存器来减少。
RTP是在组播或单播网络业务上提供适于应用程序传输实时数据,如音频、视频或仿真数据的端到端网络传输功能的实时传输协议。RTP不做资源预留,也不保证实时业务的服务质量。RTP提供序列编号,以告知接收节点分组是按序到达还是按任何其它方式。通过控制协议(RTCP)增强数据传输,以便允许以一种可升级到大型的组播网络中的方式进行数据传送监视,并提供最小控制和识别功能。RTP和RTCP被设计为独立于下面的传输层和网络层。RTP在H.Schulzrinne等人的Request for Comments 1889"RTP:A TransportProtocol for Real-Time applications"(请求评注1889“RTP:关于实时应用程序的传输协议”)中作了详细说明,http://194.52.182.96/rfc/rfc1889.html(1996年2月1日)。
抖动缓存器在接收节点中是用于将分组分类到正确序列中并根据需要对分组进行延时以补偿其网络时延中的偏差的存储器。RTP规范在6.3.1节和附录A.8中讨论了这样的两次到达间时间间隔的抖动,提供用以组成RTP数据分组两次到达间时间间隔的统计偏差的32位估计值,该抖动以时标单位计并表示为无符号整数。两次到达间时间间隔的抖动J被定义为分组间距的差值D的平均偏差(平滑的绝对值),该分组间距差值为一对分组的分组间距在接收方处相对于发送方处的差值。如以下方程所示,它等于两个分组的“相对转接时间”中的差值;相对转接时间是指分组的RTP时标和接收器在到达时间上的时标之间的差值,这是以相同单位测量的。如果Si是来自分组i的RTP时标,而Ri以RTP时标单位计的关于分组i的到达时间,那么对于两个分组i和j,D可以表示为:
D(i,j)=(Rj-Ri)-(Sj-Si)=(Rj-Sj)-(Ri-Si)两次到达间时间间隔的抖动在从源端接收到每个数据分组i时使用关于那个分组和按到达顺序的前一个分组i-1的差值D进行连续计算,依据的公式为:
J=J+(|D(i-1,i)|-J)/16这个算法是最佳的一阶估算器,而增益参数1/16在保持合理的收敛速度的同时提供了良好的噪声减少率。
现在的问题是要确定在抖动缓存器中需要的延迟时间,以实现在没有过多时延的情况下获得提供给应用程序的平滑数据。这个问题能严重影响使用互联网/内联网作为传输话音骨干网的话音通信。此外,当IP电话用户数量增加时,关于更灵活使用网络带宽的需要将变得越来越重要。
在移动蜂窝电话和无线基站间的通信中,通常使用一种称为不连续传输(DTX)的技术,主要用于节省移动站的电池能量。简而言之,DTX意味着如果发送器没有任何新数据要发送就不发送任何数据。当移动站检测到用户没有在说话时,该移动站仅发送含有背景噪声的静音指示(SID)帧。SID帧一般以大约480毫秒周期发送,而在SID帧之间移动站不作任何发送。
使用DTX来节省带宽的思想已在IMTC IP承载话音业务论坛技术委员会(V61P 1A 1.0)中提出,但有关它的实现还没有进行讨论。而且在IP网络上使用DTX时还存在一些需要解决的特殊情况。
                         概述
本申请人的发明解决了确定在抖动缓存器中需要的延迟时间的问题,并实现了在没有过多时延的情况下获得提供给应用程序的平滑数据的目的。因此,本申请人的发明改善了使用互联网/内联网作为传输语音骨干网的话音通信,同时更智能地使用网络带宽。
在本发明的一个方面,在分组通信系统中提供了一个含有可变大小的抖动缓存器的接收节点,该抖动缓存器存储到达接收节点的分组,并将存储的分组释放给正在接收节点中执行的应用程序,其中每个分组都有各自的序号,存储的分组被周期地释放,抖动缓存器中的每个条目具有多种状态中的一种状态;此外接收节点还含有一个基于由已存储分组到达时间导出的分组传输时延的估计偏差来改变抖动缓存器大小的处理器。
接收节点可进一步包含一个偏差缓存器,它存储了已存储分组到达时间的偏差,第一个到达分组的释放时间是基于第一个分组的到达时间和初始时延的,而分组传输时延的估计偏差由已存储的偏差导出。
抖动缓存器的条目状态可以是空闲、忙和已使用,空闲状态表明没有到达的分组存储在抖动缓存器的那个位置中,忙状态表明一个到达的分组存储在抖动缓存器的那个位置中,而已使用状态表明一个存储在那个位置中的到达的分组正被释放给应用程序。于是,到达的分组可存储在标为忙状态的各个位置中;分组可被释放以响应应用程序的查询;并当应用程序向抖动缓存器查询下一个分组时,该分组相应的位置可变为已使用状态,而先前到达的分组的各自位置可变为空闲状态。
处理器在接收节点处于不连续传输模式时可以减少抖动缓存器的大小,从而避免丢弃带有语音信息的已到达分组。因而接收节点可包含一个用以存储到达接收节点的被选分组的DTX缓存器。至少基于以下条件之一选择到达的分组:正到达的分组是否是一个语音周期之后第一个到达的并带有全部的噪声信息,以及该正到达的分组是否含有噪声更新信息、在一个语音周期之后到达以及带有各自的、紧接早先前到达的带有语音信息的分组序号之后的序号。然后处理器在分组被选择时改变抖动缓存器的大小,从而避免丢弃含有语音信息的分组。
在本发明的另一个方面,提供了一种在分组通信系统中将到达接收节点的分组存储在缓存器中并向在接收节点中执行的应用程序释放到达分组的方法。该方法包括确定将第一个到达的分组释放给应用程序的时间Tr的步骤,时间Tr等于第一个分组的到达时间Ta加上一个初始时延,在等待要从缓存器释放的第一个到达分组时,将当前时间与时间Tr进行比较并在时间Tr已经过去时释放第一个到达的分组,接着在第一个到达的分组被释放后,按第一个时间间隔周期地释放存储的分组。
这种比较可被执行以响应来自应用程序按第二个时间间隔周期发生的查询,在第一个到达的分组之后到达的已存储分组可被释放以响应来自应用程序按第一个时间间隔周期发生的查询,而第一个间隔可能至少与第二个间隔一样长。同样,第一个间隔也可能基本上等于到达分组之间的传输间隔。
在本发明又一方面,提供一种在分组通信系统中调整存储到达接收节点的分组的缓存器大小的方法。该方法包括的步骤有:对多个其具有的序号比存储在缓存器中最早到达分组的序号小的到达分组计数;将该数值与接受的丢失参数进行比较,如果该数值大于接受的丢失参数,就增大变化指示计数器,而如果该数值等于或小于接受的丢失参数,就减少变化指示计数器;当变化指示计数器到达指示器的顶端参数时,如果缓存器还没有处于其最大的允许值就增加缓存器的大小;而当变化指示计数器到达指示器的底端参数时,如果缓存器还没有处于其最小的允许值就减少缓存器的大小。
确定缓存器大小的步骤可通过确定一个与分组序列的第一个分组到达时间有关的期望分组到达时间来执行;确定分组到达时间偏差;确定作为分组在缓存器中将被延迟的时间的测量时延;确定基于到达时间偏差和接受的丢失参数的期望时延;以及确定基于期望时延和测量时延的缓存器的大小。
到达时间偏差可存储在偏差缓存器中,并进行分类与标准化。此外,测量的时延可为具有被存储在偏差缓存器中的到达时间偏差的分组进行累加,而期望时延则基于被存储的、标准化的到达时间偏差和接受的丢失参数来确定。然后根据期望时延和自累加的测量时延导出的平均测量时延来确定缓存器的大小。
当接收节点处于不连续传输模式时可以减少缓存器的大小,从而避免丢弃带有语音信息的到达分组。于是这种方法可包含将到达接收节点的被选分组存储在DTX缓存器中的步骤。至少基于以下条件之一选择一个到达的分组:到达的分组是否是在一个语音周期之后第一个到达并带有全部噪声信息的,以及该到达的分组是否含有噪声更新信息、在一个语音周期之后以及具有各自的、紧接先前到达的带有语音信息的分组序号之后的序号。然后当分组被选择时改变缓存器的大小,从而避免丢弃带有语音信息的分组。
                        附图简述
本发明及其目的与优点将通过结合附图阅读描述来获得理解,其中:
图1描述了分组的头标格式;
图2A、2B描述了一个具有抖动缓存器的接收节点;
图3描述了一种在抖动缓存器中存储和释放分组的方法;
图4描述了一种确定何时改变抖动缓存器大小的方法;
图5描述了一种确定抖动缓存器改变的大小的方法;
图6A、6B描述了一个用于存储分组到达时间偏差的缓存器;
图7A描述了在抖动缓存器中关于分组的测量的时延;
图7B描述了确定缓存器改变的大小的原理;以及
图8A、8B描述了使用不连续分组传输的抖动缓存器的运行。
                         详述
本申请人的发明解决了确定抖动缓存器中所需的延迟时间的问题,以实现在没有过多延迟的情况下将平滑数据提供给应用程序。本申请人的解决方案仅需要被提供以一个初始时延值,此后它通过测量到达时间的偏差和众多到达过迟的分组来使自己适应适当的时延。本申请人的解决方案是基于假定发送器按接收器已知的间隔,如规则间隔,来发送数据分组的。
依照本申请人的发明,自适应抖动缓存器存储到达IP网络上的一个节点的数据分组并处理迟到或失序的数据分组。发送器使用如RTP协议在网络上发送数据分组,这样RTP提供每个分组中各自的序号,以此告知接收缓存器到达分组应该按什么序列被输入缓存器。
作为一个实用协议的实例,RTP分组的头标格式由图1加以说明,图的上部显示了比特位置以及八位字节数。每个头标含有至少12个八位字节,组成以下固定头标字段:
版本(V):2比特
填充(P):1比特
扩展(X):1比特
作用源(CSRC)计数(CC):4比特
标记(M):1比特
净荷类型(PT):7比特
序号:16比特
时间标记:32比特
同步源(SSRC):32比特
CSRC列表:0-15项,每项32比特最开始的12个八位字节出现在每个RTP分组中,而CSRC列表标识符仅当被RTP混合器插入时才出现。固定头标字段的细节在RTP技术说明的5.1节中进行了描述。这里注意到PT字段识别RTP净荷格式并通过即将使用该净荷的应用程序来确定净荷的解释便足够了。一种简档规定了净荷类型代码到净荷格式的一种默认静态映射。其它的净荷类型代码可被动态定义。RTP发送器在任一给定时间发送一个单RTP净荷类型。
对每个被发送的RTP数据分组使序号加1,而且序号可被接收器用来检测分组丢失以及恢复分组序列。序号初始值是随机的(不可预知的)以使对于加密的已知明文的攻击更加困难,即使源端本身不加密也会如此,因为分组可能流过一个对其加密的翻译器。因此,应当理解,发送器不必使用RTP而仅在分组中提供适当的序号即可。
依照本申请人的发明,接收节点确定从自适应抖动缓存器向应用程序释放到达分组的时间。接收节点1的配置在图2A中以示意性的方式进行了很好的描述,而接收节点1中的抖动缓存器10的配置则在图2B中有更为详细的描述。节点1接收被提供给接收节点中一个处理器CPU的到达分组的流或序列2。如图2A所示,处理器执行组成分组被导向的应用程序的指令以及组成控制抖动缓存器10和将在下文详述的偏差缓存器20(若提供的话)的方法的指令。缓存器10、20位于接收节点1中提供的存储器中。
图2B显示了被存储在抖动缓存器10中箭头A所示的各自位置上的入数据分组5、6、7……的序列。已经到达的分组从缓存器10释放给箭头B所示的应用程序。图2B描述了已到达的分组3、4已被存储在缓存器10的位置中的情况。缓存器10中的位置针对以下解释的理由被标识成空闲、已使用或忙。
图3描述了存储入分组和释放已到达分组给应用程序的过程。这种方法的一个重要方面就是计算释放第一个到达分组给应用程序的时间Tr(步骤302)。其实,这个如下所述决定的时间是第一个分组到达的时间Ta加上一个指定的初始时延,该初始时延是期望时延Td的初始估计值。
当应用程序等待要从抖动缓存器10中释放的数据时,应用程序可按一个短的时间间隔(步骤304)周期性地查询缓存器。只要应用程序没有从抖动缓存器得到数据分组,应用程序就不会做任何事情。每次应用程序为向缓存器查询第一个数据分组时,缓存器就比较当前时间t和第一个分组的释放时间Tr(步骤306)。应当理解更多的分组,即在第一个到达的分组后到达的分组,能在第一个分组已被释放之前的步骤304、306期间到达。释放时间过去后,缓存器将第一个数据分组给应用程序,下次应用程序发送一个短间隔或“快速”查询给抖动缓存器10(步骤308),或者可能更精确地给接收节点中控制抖动缓存器10的处理器。
在将第一个分组送给应用程序后,优选地,当释放分组时不需要做更多的时间比较。入分组被存储在如下所述的抖动缓存器中(步骤310),只要应用程序查询分组便将分组提供给该应用程序(步骤312、314)。这些针对更多数据的查询能够以它们之间的某一时间间隔到达抖动缓存器10,该时间间隔基本等于或长于“快速”查询之间的时间间隔(即这些查询比起针对第一个到达分组的查询要慢)。以上所提到的接收器已知的慢查询间的时间间隔不必远小于分组间的传输时间间隔。在一个简单的通信系统中,分组以规则的时间间隔进行传输,即传输时间间隔基本上彼此完全相等。实际上,优选地,慢查询间的时间间隔最好基本上等于分组传输的间隔。
应当理解,快查询和慢查询不需要由应用程序引起,而更一般的是如来自一个定时器或多个定时器的任何信号,该定时器能使得第一个到达的分组和/或随后到达的分组被释放给应用程序。
再参考图2B,每个抖动缓存器条目可处于三种不同状态中的一种状态:空闲、忙和已使用。空闲状态说明没有到达的分组被存储在缓存器中的那个位置;忙状态说明一个到达的分组被存储在那个位置;而已使用状态说明存储在那个位置的已到达的分组正被释放给应用程序或由其访问。根据读指针的值从抖动缓存器10中释放分组,该读指针的值在每次收到从应用程序来的查询时用以表明要访问哪个缓存器的位置。应当理解,读指针其实不过是一个循环计数器,其中的每个计数值对应于抖动缓存器中一个相应的位置。
当分组从抖动缓存器释放给应用程序时,条目状态按以下方式变化。实际到达的第一个分组存储在标记为忙状态的位置,并且读指针被初始化以指向那个位置。如上所述,在第一个到达的分组已释放给应用程序后,该位置变为已使用状态。这通常对将当前正被应用程序访问的分组(即处于已使用状态的缓存器条目)视为缓存器10中的第一个分组有利。当到了应用程序取下一个分组的时候,现为已使用状态的条目变为空闲状态,而缓存器中的下一个条目(由读指针所标识的)由忙状态转换到已使用状态。如果缓存器中的下一个条目为空闲状态,则没有分组送给应用程序(因为没有到达的分组存储在该位置),且指示下一次应用程序为分组而查询缓存器时要读的那个缓存器位置的读指针前移。如果入分组的序号小于已使用状态分组的序号,则入分组将被视为到达过迟而被丢弃。
可以方便地用四个参数配置适合于改变通信条件的抖动缓存器特征的本申请人的方法:采样间隔是在执行缓存器大小变化计算前测量到的数据分组数。可接受丢失是在改变缓存器大小前的一个采样间隔内可接受的由于时延而丢失的数据分组数。指示器顶端和指示器底端参数用于控制该方法的灵敏度。应用于本申请人方法的这些和其它参数一般可在任何时候按要求进行更改。
这些参数和变化指示计数器用于如图4流程图所述的确定何时改变缓存器大小的本申请人方法中,图4流程图首先设置参数并将变化指示计数器初始化为零(步骤402)。这个方法有时能在接收分组的应用程序提示下执行,但现在应认为该方法优选地当分组被接收时连续运行。
抖动缓存器10将入分组存储在各自的存储器位置中(步骤404),并检查缓存器是否已接收到采样间隔参数所指定的分组数(步骤406)。当接收到的分组数大于采样间隔参数时,到达过迟的分组数,即那些带有的序号比正被应用程序访问的分组(即已使用状态中的缓存器条目)的序号小的到达分组数,从一个丢失分组计数器中读出(步骤408)。“丢失分组”计数只包括延时的分组,而不包括丢失的分组。丢失分组计数器在相应于采样间隔参数的采样间隔起始处初始化为零后收到每个分组时进行更新。
用于采样间隔的丢失分组计数与接受的丢失参数进行比较(步骤410)。如果丢失分组计数大于接受的丢失参数,则变化指示计数器加1(步骤412)。如果丢失分组计数等于或小于接受的丢失参数,则变化指示计数器减1(步骤414)。在某些情况下,当丢失分组计数等于接受的丢失参数时,不减少变化指示计数器值是有益的。例如这些情况包括当应用程序要求更多的关于减少抖动缓存器大小的警告时。分组在抖动缓存器大小减少时被丢弃,因此更多的告警通常适于避免在网络传输时延中存在快速增/减变化时过多地丢弃分组。如果执行这一步,则用于图4所描述的方法中的接受的丢失参数必须不为零。
当变化指示计数器到达指示器顶端参数时(步骤416),若抖动缓存器10还没有处于其最大允许尺寸,此时便增加该抖动缓存器10的大小(步骤418)。当变化指示计数器到达指示器底端参数时(步骤420),若缓存器还没有处于其最小允许尺寸,此时便减小该缓存器的大小(步骤422)。目前应当认为与抖动缓存器中的最长时延对应的最大缓存器大小依赖于应用程序。此外,应当注意如果接受的丢失参数为零,那么抖动缓存器的最长时延与最长的期望时延Td相同。例如,对于双向话音或视频通信,一秒钟的时延都认为是不可接受的,而这种时延甚至更长的时延对于数据文件传输和单向视频通信却是可以接受的。目前应当认为最小的缓存器大小典型地为一个分组,即最短的时延Td典型地为分组传输间隔。应当想到最小的缓存器大小可能是零个分组,即分组可能一到达就被立即释放(Td≈0),但是这将要求通信网络在传输时延中如果有则具有极小偏差。
一旦确定了抖动缓存器10的大小将按图4所述的方法进行变化,则缓存器新的大小(步骤418或步骤422)就能由图5所述的方法确定,与图4所述方法一样该方法以抖动缓存器10将入分组存储于各自存储器位置开始(步骤502)。此时,不需要检查缓存器是否已收到采样间隔参数所指定的分组数,虽然如果要求的话能这么做。
在采样间隔期间,每个分组的到达时间与这个分组序列的第一个分组的到达时间进行比较。通过使分组传输间隔与连续分组序号之间差值的乘积加上第一个分组的到达时间,就能确定相对于第一个分组到达时间的某一特定分组的预期到达时间(步骤504)。这个序号为n的分组的预期到达时间Tan由以下表达式给出:
Tan=ti·(Nn-N1)+Ta1其中Ta1是第一个分组的到达时间,ti是分组传输间隔,Nn是当前到达的分组序号,以及N1是第一个分组的序号。本方法不使用序列中第一个分组的到达时间,而是使用当前采样间隔中第一个分组的到达时间。此外作为步骤504的一部分,测量的时延将按以下更为详细的说明进行累积。
当分组n到达时,分组n的到达时间偏差v是根据以下表达式确定的:
v=Tactualn-Tan其中Tactualn是分组实际到达时间。依照本发明的一个方面,这个偏差可存储在偏差缓存器20中(步骤506)。优选地,用于存储偏差的缓存器20从抖动缓存器10中分离出来,并具有与采样间隔长度相同的大小,因此偏差一个接一个地被存储起来直到缓存器20已满(步骤508)。如图6A所述,缓存器20的第一个条目代表这个采样间隔的第一个分组,而最后一个条目代表这个采样间隔的最后一个分组。缓存器20的偏差条目被进行分类和标准化(步骤510)使得图6B所述的最小值为零。
应当理解一般不需要使用偏差缓存器20,并且期望时延,即抖动缓存器的大小,能够在每个分组到达时根据每个分组各自的偏差v被确定。因此,步骤506、508、510的方法在某种程度上可被视为基于单个偏差操作,即到达分组之一的偏差。
基于缓存器20的内容或刚才所述的单个偏差,期望时延Td能被确定(步骤512)。图6B所述的实例显示了到达时间偏差为17个时间单位。这说明如果接受的丢失参数设为零(意味着不能丢失分组),那么在这个采样间隔期间抖动缓存器10中的期望时延Td为17个时间单位。如果接受的丢失参数设为1(意味着一个分组能被丢失),那么在这个采样间隔期间抖动缓存器中的期望时延Td为13个时间单位。期望时延Td一般由以下表达式给出:
Td=缓存器(采样间隔-接受的丢失)如果缓存器20使用基于1的索引机制,其中缓存器的第一个条目编为索引1,第二个条目编为索引2等等。
在采样间隔期间,一个累积的测量的时延能通过如上所提到的方法连同步骤504进行保存。测量的时延是当前到达的分组在缓存器中将被延迟的时间,如图7A所示。采样间隔内分组的测量时延能在分组到达时累积起来以导出被如下使用的平均测量的时延Md。
根据本申请人的发明,期望时延Td和测量的时延Md被用来确定任何必要的抖动缓存器尺寸变化的大小(步骤514)。图7B以图解的方式描述了在不使到达分组(Ta)被认为延迟的情况下如何通过(Td/2-Md)时间单位来改变当前抖动缓存器10的大小。
分组到达时间偏差如图7B中的横坐标所示。Ta是当应用程序请求新的数据分组时分组到达的时间偏差。当应用程序以规则时间间隔请求分组时,Ta中的偏差将不存在或可忽略不计。直线Dl和Du表示采样间隔内的分组在其到达时间中偏差范围的下限和上限,而Dl和Du间的短竖线表示单个分组的偏差。应当理解Du是关于按前面表达式中的期望时延Td所选择的分组的偏差。如果Dl-Du的范围包括采样间隔期间的所有偏差,那么Td就为接受的丢失值为零的那个值。Md为平均测量的时延,它可通过在这个采样间隔期间实际到达的分组,即按时到达(在Dl-Du范围内)和过迟到达的分组的累加测量时延并除以分组数来获得。
步骤514的目的是移动Dl以使其尽可能地接近Ta,即在不丢失分组的情况下最小化抖动缓存器中的测量的时延,按照下列表达式:
时延修改=Td/2-Md
时延修改值表明了抖动缓存器的大小应被增加或减少的时间单位数。这个值被四舍五入为最接近分组传输间隔倍数的值,然后除以传输间隔以得到抖动缓存器中所需的或多或少的分组数。
如步骤516所示,抖动缓存器大小通过依照步骤514所确定的数值拒绝应用程序最近到达的分组而增加,并通过依照步骤514所确定的数值丢弃多个分组来减少。应当理解从步骤510到516都与步骤418和422相一致。这样,抖动缓存器的大小便适应在采样间隔期间存在的通信条件。
调节抖动缓存器大小的本申请人的方法结合DTX可方便地执行,如上所述的DTX意味着当发送器没有任何新数据要发送时将不发送任何分组。如果使用这种方法,则将有一段时期抖动缓存器不接收任何新数据,因此有可能在不丢弃分组的情况下减少缓存器的大小。
如果分组来自语音应用程序,如IP网络之上的话音业务,那么就提供了带有自适应抖动缓存器的DTX的另一个优点。自适应抖动缓存器有时能改变自身大小,并当缓存器大小减少时某些语音帧将被丢弃。这会干扰语音声码器,使语音失真。不过,在DTX期间丢弃或丢失分组,如静音,可避免干扰。如上所述,当用户不说话时,发送器只周期地发送包含背景噪声的SID帧。一般地,为语音应用程序使用带有自适应抖动缓存器的DTX需要在接收节点1的存储器的一个单独位置中而不是在抖动缓存器10中存储SID帧。
以下描述了带有自适应抖动缓存器的DTX在按照全球移动通信系统(GSM)标准的通信系统中的应用。这样的通信系统在本领域里是众所周知的,因此这里就不再详述了。应当理解,DTX可以在分组携带除了语音和噪声信息以外的信息时使用,应当理解这意味着更一般而言,任何用于通信系统中的第一和第二种类型信息都使用DTX。
在GSM系统的DTX中,象移动站这样的发送器产生两种SID帧或分组并将它们发送给无线基站(RBS),该无线基站可以是如上所述的接收节点1或者它可以简单地向接收节点1转发分组。一种SID分组类型包含全部的噪声信息,而另一种SID分组类型仅包含噪声的更新。一般地,一个全噪声SID分组在一个静音周期内被第一个发送,随后,在除以下要更详细说明的情况外发送噪声更新SID分组。
当RTP分组或移动站可以自己产生这种分组时,RBS可重新格式化从移动站接收的分组,但是无论如何,带有语音或SID数据的每个RTP分组的净荷含有两个标志的空间:表明净荷是否带有语音或SID数据的SID标志,和识别分组是完全噪声SID分组还是噪声更新SID分组的TAF标志。因此,节点通过检测这些包含在分组中的标志或信息单元能够发现完全噪声SID分组与噪声更新SID分组间的区别。
RBS向IP网络发送从移动站接收的SID分组,通过两个标志来表明净荷是否为SID数据,如果是,该SID数据是更新还是完全噪声信息。因为完全噪声SID非常重要,又因为语音数据作为用户数据报(UDP)分组进行发送,因此可通过不止一次地发送分组,或者几次一起,或者例如当SID丢失正常发生时及当发送下一个噪声更新SID分组时发送,来减少丢失SID的风险。UDP是IP标准协议,它使位于第一个处理器上的应用程序能够使用IP传递分组来向位于第二个处理器上的应用程序发送数据报。
RBS或其他接收节点1检测净荷是否带有语音或SID数据,如果分组是SID分组,那么分组就存储在不同于以上所述的抖动缓存器10的接收节点存储器区域中。同样如上所述,在一个静音周期内的第一个SID分组通常十分重要,因为它带有背景噪声的全部信息。没有这个信息,接收节点中的声码器就不能重建噪声。
在目前的GSM系统中,象移动站这样的发送器需要至少约24个语音帧或分组的一个周期以便能准备一个带有全部噪声信息的SID分组。因此,在一个静音周期期间,如果发送器检测到一个短语音脉冲串(如少于24个语音分组的脉冲串),发送器将在短语音脉冲串后发送最后一个噪声更新SID而不是完全噪声SID。这有时在DTX标准中被称为“余音”情况,它是接收节点不应移至DTX模式的情况,即不应将正到达的(SID)分组引导给抖动缓存器之外的存储器位置(参见图8B)。因此,存在两种接收节点1应移至DTX模式时的情况,即应将正到达的(SID)分组引导给存储器位置而不是抖动缓存器。(参见图8A)
在第一种情况,当第一个到达的SID分组在一个语音周期后带有全部的噪声信息时接收节点应移至DTX模式。在第二种情况,当噪声更新SID分组在一个语音周期后到达并且它的序号为(先前的)语音帧序号的下一个或随后的一个时,接收节点应移至DTX模式。这两种情况通过图8A进行了描述,它描述了抖动缓存器10和三种类型分组:DTX(SID)分组D、语音分组S以及过迟的、丢失的或未接受到的分组X。从图8A应当理解到,因为除了“余音”情况以外语音分组没有在完全噪声SID和噪声更新SID之间出现,所以在7个语音分组序列后到达的分组D应为噪声更新SID分组。在已经移至DTX模式后,在最后一个语音分组之后到达的SID分组按预定的过程释放给应用程序。在GSM系统中,应用程序将仅发送一个特定的SID分组给如移动电话这样的接收节点一次。当处于DTX模式时,接收节点在带有语音信息的分组到达时移出DTX模式。
除了图8A所述的两种情况以外,分组不应释放给应用程序,即当节点正在接收噪声更新SID以及最后一个分组丢失时。这样导致的情况与IP网络中语音分组丢失的情况相似,如图8B所示,从中可以看出在分组D之前到达的分组X可能已经是一个完全噪声SID,这使分组D成为噪声更新SID。如果是这种情况,即当完全噪声SID已经丢失时,由于接收的信息将难以恢复,所以不应将接收节点移至DTX模式。
不管接收节点是否移至DTX模式,抖动缓存器都不应对在接收SID分组期间丢失的分组计数。换句话说,目前应当认为如图4、5所述的方法在SID分组正在到达时不应执行,除非到抖动缓存器大小能够基于先前的、在DTX期间到达的非SID分组而改变的程度。
假设分组正在到达RBS以便向移动站传输,则在静音周期开始的第一个SID分组通常在RBS和移动站间建立的业务信道中被发送给移动站。在静音周期期间所有其他的SID帧通常在控制信道,特别是慢关联控制信道(SACCH)中被发送。如果第一个SID帧是完全噪声SID帧,则它仅向移动站发送一次,但是如果最后一个被发送的SID帧是完全噪声SID帧,而噪声更新SID帧还未到达且又到了在SACCH中向移动站发送新的SID帧的时间,那么就可能存在问题。因此,此时,带有表明在噪声中没有变化的信息的噪声更新SID帧应根据本申请人发明的一个方面进行发送。这个SID可称为Δ(delta)0SID分组或帧,而含有Δ(delta)0 SID的帧在需要时可动态(实时地)被硬编码或生成。
本领域普通的技术人员应当理解,在不脱离本发明必要特征的情况下,能采用其他特定形式进行实施。因此如上所述的实施方案在各方面都应被认为是起说明作用的而不是限制性的。本申请人发明的范围由下面的权利要求确定,并且该范围内所有的改变形式都被规定为包含在其中。

Claims (15)

1.一种分组通信系统中的接收节点包括:
具有可变尺寸的抖动缓存器,它存储到达接收节点的分组,并向在接收节点中执行的应用程序释放已存储的分组,其中每个分组有各自的序号,存储的分组被周期释放,并且抖动缓存器中的每个条目具有多种状态中的一种状态;以及
基于由被存储分组到达时间导出的分组传输时延的估计偏差来改变抖动缓存器大小的处理器。
2.权利要求1的接收节点,进一步包含一个存有被存储分组到达时间偏差的偏差缓存器,其中第一个到达的分组被释放的时间是基于该第一个分组到达时间和初始延迟时间的,并且分组传输时延的估计偏差由存储的偏差导出。
3.权利要求1的接收节点,其中抖动缓存器条目的状态为空闲、忙和已使用,空闲状态表明没有到达的分组被存储在抖动缓存器中的那个位置,忙状态表明一个到达的分组存储在抖动缓存器中的那个位置,而已使用状态表明存储在那个位置的到达分组正被释放给应用程序。
4.权利要求3的接收节点,其中到达的分组存储在标记为忙状态的各自的位置中;分组被释放以响应应用程序的查询;以及当应用程序为下一个分组查询抖动缓存器时,分组各自的位置变为已使用状态而先前到达的分组的各自位置变为空闲状态。
5.权利要求1的接收节点,其中处理器在接收节点处于不连续传输模式时减少抖动缓存器的大小,从而避免丢弃带有语音信息的到达分组。
6.权利要求5的接收节点,进一步包含一个存储到达接收节点的被选分组的DTX缓存器;其中到达分组的选择基于以下至少一个条件:到达的分组是否在一个语音周期后第一个到达并带有完全噪声信息,以及该到达的分组是否含有噪声更新信息、在一个语音周期后到达以及带有相应的、紧接先前到达的带有语音信息的分组序号之后的序号;以及处理器在分组正被选择时减少抖动缓存器的大小,从而避免丢弃带有语音信息的分组。
7.一种在分组通信系统中将到达接收节点的分组存储在缓存器中并向在接收节点中执行的应用程序释放该到达分组的方法,包含的步骤有:
确定向应用程序释放第一个到达分组的时间Tr,其中时间Tr是第一个分组的到达时间Ta加上一个初始时延;
当等待从缓存器释放第一个到达的分组时,将当前时间与时间Tr进行比较并在时间Tr过去时释放该第一个到达的分组;以及
在第一个到达的分组释放后,按第一个时间间隔周期地释放存储的分组。
8.权利要求7的方法,其中执行比较以响应来自应用程序的以第二个时间间隔周期发生的查询,释放在第一个到达分组之后到达的存储分组以响应来自应用程序的以第一个时间间隔周期发生的查询,而第一个时间间隔至少与第二个时间间隔一样长。
9.权利要求7的方法,其中第一个时间间隔基本上等于到达分组间的传输间隔。
10.一种在分组通信系统中调整存储到达接收节点的分组的缓存器大小的方法,包括的步骤有:
对已到达的多个分组计数,这些分组的序号小于存储在缓存器中最早到达分组的序号;
比较该序号与接受的丢失参数;
如果该序号高于接受的丢失参数,就增大变化指示计数器,而如果该序号等于或低于接受的丢失参数,就减少变化指示计数器;
当变化指示计数器到达指示器顶端参数时,如果缓存器还没有处于其最大允许尺寸就增加缓存器的大小;以及
当变化指示计数器到达指示器底端参数时,如果缓存器还没有处于其最小允许尺寸就减少缓存器的大小。
11.权利要求10的方法,其中该序号在缓存器已经存储了多个由采样间隔参数指定的分组时被比较。
12.权利要求10的方法,进一步包括通过执行以下步骤来确定缓存器大小的步骤:
确定与分组序列的第一个分组到达时间有关的期望分组到达时间;
确定关于分组的到达时间偏差;
确定分组在缓存器中将被延迟的时间的测量时延;
基于到达时间偏差和接受的丢失参数确定期望时延;以及
基于期望时延和测量的时延确定缓存器大小。
13.权利要求12的方法,其中到达时间偏差存储在偏差缓存器中,存储的到达时间偏差被进行分类和标准化,对具有被存储在偏差缓存器中的到达时间偏差的分组累积测量的时延,基于已分类的、标准化的到达时间偏差和接受的丢失参数来确定期望时延,以及基于期望时延和由累积的测量时延导出的平均测量时延来确定缓存器的大小。
14.权利要求10的方法,其中抖动缓存器的大小在接收节点处于不连续传输模式时减少,从而避免丢弃带有语音信息的到达分组。
15.权利要求14的方法,进一步包括在DTX缓存器中存储到达接收节点的被选分组的步骤;其中到达分组的选择基于以下至少一个条件:到达的分组是否是在一个语音周期后第一个到达并带有完全噪声信息的,以及该到达的分组是否含有噪声更新信息、在一个语音周期后到达以及带有相应的、紧接先前到达的带有语音信息的分组序号之后的序号;以及抖动缓存器的大小在分组正被选择时减少,从而避免丢弃带有语音信息的分组。
CNB998164283A 1999-01-14 1999-12-28 自适应抖动缓存 Expired - Fee Related CN1134947C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/231886 1999-01-14
US09/231,886 US6452950B1 (en) 1999-01-14 1999-01-14 Adaptive jitter buffering

Publications (2)

Publication Number Publication Date
CN1352846A true CN1352846A (zh) 2002-06-05
CN1134947C CN1134947C (zh) 2004-01-14

Family

ID=22871010

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB998164283A Expired - Fee Related CN1134947C (zh) 1999-01-14 1999-12-28 自适应抖动缓存

Country Status (5)

Country Link
US (1) US6452950B1 (zh)
JP (1) JP2002535885A (zh)
CN (1) CN1134947C (zh)
AU (1) AU756474B2 (zh)
WO (1) WO2000042749A1 (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1320805C (zh) * 2003-09-17 2007-06-06 上海贝尔阿尔卡特股份有限公司 一种分组交换网络自适应抖动缓冲区调整方法
CN101048990A (zh) * 2004-10-27 2007-10-03 艾利森电话股份有限公司 具有用于抖动缓存器的多个重放指针的终端
CN100359887C (zh) * 2003-05-09 2008-01-02 华为技术有限公司 用rtp数据包的时戳进行排序以消除其抖动延时的方法
CN100421413C (zh) * 2004-12-28 2008-09-24 华为技术有限公司 一种无线链路控制子层发送缓存大小的调整方法
CN100426783C (zh) * 2004-04-02 2008-10-15 华为技术有限公司 适配网络尖峰的动态抖动缓存的实现方法
CN100426784C (zh) * 2004-06-25 2008-10-15 腾讯科技(深圳)有限公司 一种解决网络抖动的方法
CN100525281C (zh) * 2003-12-09 2009-08-05 华为技术有限公司 语音传输过程中实现动态调整抖动缓存的方法
CN1960315B (zh) * 2005-10-31 2010-08-25 康佳集团股份有限公司 流媒体去抖动方法
CN102263721A (zh) * 2010-05-31 2011-11-30 中兴通讯股份有限公司 上行信号的时偏估计方法、基站和ofdma系统
CN102469356A (zh) * 2010-11-05 2012-05-23 乐金电子(中国)研究开发中心有限公司 一种网络电视视频播放方法及网络电视视频接收端
CN101523822B (zh) * 2006-09-28 2012-06-27 京瓷株式会社 语音传输装置
CN101049032B (zh) * 2004-05-05 2012-07-18 艾利森电话股份有限公司 Hsdpa流控制数据帧时延rnc参考时间
CN101529771B (zh) * 2006-08-17 2013-04-24 杜比实验室特许公司 广播网络中的分组排队丢失的瞬态分析
CN103152649A (zh) * 2013-01-30 2013-06-12 北京佳讯飞鸿电气股份有限公司 一种流媒体分发传输分级别自动减帧控制方法
CN101873266B (zh) * 2004-08-30 2015-11-25 高通股份有限公司 用于语音ip传输的自适应去抖动缓冲器
CN110856028A (zh) * 2018-08-20 2020-02-28 上海途擎微电子有限公司 一种媒体数据的播放方法、设备及存储介质

Families Citing this family (154)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6661811B1 (en) * 1999-02-12 2003-12-09 Koninklijke Philips Electronics N.V. Method of and apparatus for communicating isochronous data
US6765931B1 (en) * 1999-04-13 2004-07-20 Broadcom Corporation Gateway with voice
US7423983B1 (en) 1999-09-20 2008-09-09 Broadcom Corporation Voice and data exchange over a packet based network
US6785230B1 (en) * 1999-05-25 2004-08-31 Matsushita Electric Industrial Co., Ltd. Audio transmission apparatus
JP3506960B2 (ja) * 1999-08-03 2004-03-15 シャープ株式会社 パケット処理装置及びパケット処理プログラムを記録した記憶媒体
US6580694B1 (en) * 1999-08-16 2003-06-17 Intel Corporation Establishing optimal audio latency in streaming applications over a packet-based network
US6658027B1 (en) * 1999-08-16 2003-12-02 Nortel Networks Limited Jitter buffer management
US6980569B1 (en) * 1999-10-18 2005-12-27 Siemens Communications, Inc. Apparatus and method for optimizing packet length in ToL networks
US6859460B1 (en) * 1999-10-22 2005-02-22 Cisco Technology, Inc. System and method for providing multimedia jitter buffer adjustment for packet-switched networks
US6993007B2 (en) * 1999-10-27 2006-01-31 Broadcom Corporation System and method for suppressing silence in voice traffic over an asynchronous communication medium
US6665317B1 (en) * 1999-10-29 2003-12-16 Array Telecom Corporation Method, system, and computer program product for managing jitter
US6683889B1 (en) * 1999-11-15 2004-01-27 Siemens Information & Communication Networks, Inc. Apparatus and method for adaptive jitter buffers
US6747999B1 (en) * 1999-11-15 2004-06-08 Siemens Information And Communication Networks, Inc. Jitter buffer adjustment algorithm
US6693921B1 (en) * 1999-11-30 2004-02-17 Mindspeed Technologies, Inc. System for use of packet statistics in de-jitter delay adaption in a packet network
AU2094201A (en) * 1999-12-13 2001-06-18 Broadcom Corporation Voice gateway with downstream voice synchronization
US6785234B1 (en) * 1999-12-22 2004-08-31 Cisco Technology, Inc. Method and apparatus for providing user control of audio quality
FI108692B (fi) * 1999-12-30 2002-02-28 Nokia Corp Menetelmä ja laite datapakettien prosessoinnin ajoittamiseksi
US7058568B1 (en) * 2000-01-18 2006-06-06 Cisco Technology, Inc. Voice quality improvement for voip connections on low loss network
US6757273B1 (en) * 2000-02-07 2004-06-29 Nokia Corporation Apparatus, and associated method, for communicating streaming video in a radio communication system
US6687752B1 (en) * 2000-03-01 2004-02-03 Ezenial Inc. Dynamic RTP/RTCP timestamp validation
CA2299943A1 (en) * 2000-03-03 2001-09-03 Shane M. Rogers Apparatus for adjusting a local sampling rate based on the rate of reception of packets
US6700895B1 (en) * 2000-03-15 2004-03-02 3Com Corporation Method and system for computationally efficient calculation of frame loss rates over an array of virtual buffers
US9736209B2 (en) 2000-03-17 2017-08-15 Facebook, Inc. State change alerts mechanism
US7624172B1 (en) 2000-03-17 2009-11-24 Aol Llc State change alerts mechanism
US7246057B1 (en) * 2000-05-31 2007-07-17 Telefonaktiebolaget Lm Ericsson (Publ) System for handling variations in the reception of a speech signal consisting of packets
US7346005B1 (en) * 2000-06-27 2008-03-18 Texas Instruments Incorporated Adaptive playout of digital packet audio with packet format independent jitter removal
US7373413B1 (en) * 2000-06-28 2008-05-13 Cisco Technology, Inc. Devices and methods for minimizing start up delay in transmission of streaming media
US6862298B1 (en) * 2000-07-28 2005-03-01 Crystalvoice Communications, Inc. Adaptive jitter buffer for internet telephony
US6816492B1 (en) * 2000-07-31 2004-11-09 Cisco Technology, Inc. Resequencing packets at output ports without errors using packet timestamps and timestamp floors
US7391760B1 (en) * 2000-08-21 2008-06-24 Nortel Networks Limited Method and apparatus for efficient protocol-independent trunking of data signals
JP2002077233A (ja) * 2000-08-25 2002-03-15 Matsushita Electric Ind Co Ltd リアルタイム情報受信装置
US7281053B2 (en) * 2000-10-13 2007-10-09 Aol Llc Method and system for dynamic latency management and drift correction
US8023421B2 (en) 2002-07-25 2011-09-20 Avaya Inc. Method and apparatus for the assessment and optimization of network traffic
US7720959B2 (en) 2000-10-17 2010-05-18 Avaya Inc. Method and apparatus for characterizing the quality of a network path
US7487237B2 (en) 2000-10-17 2009-02-03 Avaya Technology Corp. Load optimization
US7363367B2 (en) * 2000-10-17 2008-04-22 Avaya Technology Corp. Systems and methods for robust, real-time measurement of network performance
US7080161B2 (en) 2000-10-17 2006-07-18 Avaya Technology Corp. Routing information exchange
US7756032B2 (en) 2000-10-17 2010-07-13 Avaya Inc. Method and apparatus for communicating data within measurement traffic
US7336613B2 (en) 2000-10-17 2008-02-26 Avaya Technology Corp. Method and apparatus for the assessment and optimization of network traffic
US7349994B2 (en) 2000-10-17 2008-03-25 Avaya Technology Corp. Method and apparatus for coordinating routing parameters via a back-channel communication medium
ATE459154T1 (de) 2000-10-17 2010-03-15 Avaya Technology Corp Verfahren und vorrichtung zur optimierung der leistung und des kosten in einem internetzwerk
JP4110734B2 (ja) * 2000-11-27 2008-07-02 沖電気工業株式会社 音声パケット通信の品質制御装置
SE0004839D0 (sv) * 2000-12-22 2000-12-22 Ericsson Telefon Ab L M Method and communication apparatus in a communication system
US7787447B1 (en) 2000-12-28 2010-08-31 Nortel Networks Limited Voice optimization in a network having voice over the internet protocol communication devices
US6904059B1 (en) * 2001-03-06 2005-06-07 Microsoft Corporation Adaptive queuing
US20020172229A1 (en) * 2001-03-16 2002-11-21 Kenetec, Inc. Method and apparatus for transporting a synchronous or plesiochronous signal over a packet network
ATE353503T1 (de) * 2001-04-24 2007-02-15 Nokia Corp Verfahren zum ändern der grösse eines zitlerpuffers zur zeitausrichtung, kommunikationssystem, empfängerseite und transcoder
US6977905B1 (en) * 2001-06-01 2005-12-20 Cisco Technology, Inc. Network with self regulating quality of service (QoS)
US6741603B2 (en) 2001-07-09 2004-05-25 Overture Networks, Inc. Use of a circular buffer to assure in-order delivery of packets
US6757292B2 (en) * 2001-07-11 2004-06-29 Overture Networks, Inc. Automatic adjustment of buffer depth for the correction of packet delay variation
US6728209B2 (en) 2001-07-25 2004-04-27 Overture Networks, Inc. Measurement of packet delay variation
US6865388B2 (en) * 2001-08-09 2005-03-08 Hughes Electronics Corporation Dynamic queue depth management in a satellite terminal for bandwidth allocations in a broadband satellite communications system
US6665283B2 (en) * 2001-08-10 2003-12-16 Motorola, Inc. Method and apparatus for transmitting data in a packet data communication system
US7697447B2 (en) * 2001-08-10 2010-04-13 Motorola Inc. Control of jitter buffer size and depth
US6977948B1 (en) * 2001-08-13 2005-12-20 Utstarcom, Inc. Jitter buffer state management system for data transmitted between synchronous and asynchronous data networks
US7319703B2 (en) * 2001-09-04 2008-01-15 Nokia Corporation Method and apparatus for reducing synchronization delay in packet-based voice terminals by resynchronizing during talk spurts
US7110416B2 (en) * 2001-09-04 2006-09-19 Nokia Corporation Method and apparatus for reducing synchronization delay in packet-based voice terminals
US6937622B2 (en) * 2001-09-10 2005-08-30 Intel Corporation Determining phase jitter and packet inter-arrival jitter between network end points
US20040233931A1 (en) * 2001-09-12 2004-11-25 Ron Cohen Method for calculation of jitter buffer and packetization delay
US7428223B2 (en) * 2001-09-26 2008-09-23 Siemens Corporation Method for background noise reduction and performance improvement in voice conferencing over packetized networks
US7170901B1 (en) * 2001-10-25 2007-01-30 Lsi Logic Corporation Integer based adaptive algorithm for de-jitter buffer control
GB0129386D0 (en) * 2001-12-07 2002-01-30 Nokia Corp Transmission timing
US20030115320A1 (en) * 2001-12-19 2003-06-19 Yarroll Lamonte H.P. Method for tuning voice playback ratio to optimize call quality
US7079486B2 (en) * 2002-02-13 2006-07-18 Agere Systems Inc. Adaptive threshold based jitter buffer management for packetized data
US7099820B1 (en) * 2002-02-15 2006-08-29 Cisco Technology, Inc. Method and apparatus for concealing jitter buffer expansion and contraction
US8520519B2 (en) * 2002-09-20 2013-08-27 Broadcom Corporation External jitter buffer in a packet voice system
US7630409B2 (en) * 2002-10-21 2009-12-08 Lsi Corporation Method and apparatus for improved play-out packet control algorithm
US7640306B2 (en) 2002-11-18 2009-12-29 Aol Llc Reconfiguring an electronic message to effect an enhanced notification
US7394833B2 (en) * 2003-02-11 2008-07-01 Nokia Corporation Method and apparatus for reducing synchronization delay in packet switched voice terminals using speech decoder modification
US20060182030A1 (en) * 2003-05-05 2006-08-17 Harris John M Method and apparatus for transmitting data in a packet data communication
US7474624B2 (en) * 2003-05-29 2009-01-06 Motorola, Inc. Method and apparatus for reducing delay jitter
US7450593B2 (en) * 2003-06-23 2008-11-11 Intel Corporation Clock difference compensation for a network
KR100557215B1 (ko) * 2003-08-19 2006-03-10 삼성전자주식회사 유에스비 디바이스의 엔드포인트 제어 장치 및 그 방법
US20050047396A1 (en) * 2003-08-29 2005-03-03 Helm David P. System and method for selecting the size of dynamic voice jitter buffer for use in a packet switched communications system
GB2405773B (en) * 2003-09-02 2006-11-08 Siemens Ag A method of controlling provision of audio communication on a network
US7457282B2 (en) 2003-10-29 2008-11-25 Nokia Corporation Method and apparatus providing smooth adaptive management of packets containing time-ordered content at a receiving terminal
DK1683305T3 (da) * 2003-11-11 2010-04-26 Ericsson Telefon Ab L M Tilpasning af playout-buffer baseret på lyd-burst-længde
US20050114118A1 (en) * 2003-11-24 2005-05-26 Jeff Peck Method and apparatus to reduce latency in an automated speech recognition system
US7231559B2 (en) * 2003-12-17 2007-06-12 Sony Corporation Outage predictor for communication link
US7525952B1 (en) * 2004-01-07 2009-04-28 Cisco Technology, Inc. Method and apparatus for determining the source of user-perceived voice quality degradation in a network telephony environment
US7756233B2 (en) 2004-03-10 2010-07-13 Mitsubishi Denki Kabushiki Kaisha Data receiving device and data receiving method
FR2867932A1 (fr) * 2004-03-18 2005-09-23 France Telecom Mesure de debit en reception pour un terminal
US7440430B1 (en) * 2004-03-30 2008-10-21 Cisco Technology, Inc. Jitter buffer management for mobile communication handoffs
DE102004018200A1 (de) * 2004-04-15 2005-11-10 Deutsche Thomson-Brandt Gmbh Verfahren zum Verarbeiten einer Folge von Datenpaketen in einer Empfängervorrichtung sowie Empfängervorrichtung
US7424026B2 (en) 2004-04-28 2008-09-09 Nokia Corporation Method and apparatus providing continuous adaptive control of voice packet buffer at receiver terminal
WO2006029399A2 (en) * 2004-09-09 2006-03-16 Avaya Technology Corp. Methods of and systems for network traffic security
US8559466B2 (en) * 2004-09-28 2013-10-15 Intel Corporation Selecting discard packets in receiver for voice over packet network
US20060077902A1 (en) * 2004-10-08 2006-04-13 Kannan Naresh K Methods and apparatus for non-intrusive measurement of delay variation of data traffic on communication networks
US7801127B2 (en) 2004-10-25 2010-09-21 Ineoquest Technologies, Inc. System and method for creating a sequence number field for streaming media in a packet-based networks utilizing internet protocol
US7370126B2 (en) * 2004-11-03 2008-05-06 Cisco Technology, Inc. System and method for implementing a demand paging jitter buffer algorithm
US8218439B2 (en) * 2004-11-24 2012-07-10 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive buffering
KR20060084720A (ko) * 2005-01-20 2006-07-25 엘지전자 주식회사 피티티 단말기의 음성 유디피 패킷 수신 방법
US20060187970A1 (en) * 2005-02-22 2006-08-24 Minkyu Lee Method and apparatus for handling network jitter in a Voice-over IP communications network using a virtual jitter buffer and time scale modification
US20060203737A1 (en) * 2005-03-04 2006-09-14 Sprint Communications Company L.P. Traffic delay processing
US7583707B2 (en) * 2005-03-25 2009-09-01 Cisco Technology, Inc. System, method and apparatus for controlling a network post-demultiplexing function
US7599399B1 (en) 2005-04-27 2009-10-06 Sprint Communications Company L.P. Jitter buffer management
US7916742B1 (en) 2005-05-11 2011-03-29 Sprint Communications Company L.P. Dynamic jitter buffer calibration
US7894489B2 (en) * 2005-06-10 2011-02-22 Symmetricom, Inc. Adaptive play-out buffers and adaptive clock operation in packet networks
KR100739710B1 (ko) * 2005-06-14 2007-07-13 삼성전자주식회사 패킷의 손실 타입을 판별하는 방법 및 장치
US7701980B1 (en) * 2005-07-25 2010-04-20 Sprint Communications Company L.P. Predetermined jitter buffer settings
JP4761078B2 (ja) * 2005-08-29 2011-08-31 日本電気株式会社 マルチキャストノード装置とマルチキャスト転送方法ならびにプログラム
US7746847B2 (en) * 2005-09-20 2010-06-29 Intel Corporation Jitter buffer management in a packet-based network
US7742413B1 (en) * 2006-02-01 2010-06-22 Sprint Communications Company, L.P. Utilizing a null jitter buffer to monitor session traffic
US8213444B1 (en) 2006-02-28 2012-07-03 Sprint Communications Company L.P. Adaptively adjusting jitter buffer characteristics
JP4983054B2 (ja) * 2006-03-10 2012-07-25 富士通株式会社 サーバ装置及び同装置におけるバッファ制御方法
TWI305101B (en) * 2006-03-10 2009-01-01 Ind Tech Res Inst Method and apparatus for dynamically adjusting playout delay
US7908147B2 (en) 2006-04-24 2011-03-15 Seiko Epson Corporation Delay profiling in a communication system
US7653778B2 (en) 2006-05-08 2010-01-26 Siliconsystems, Inc. Systems and methods for measuring the useful life of solid-state storage devices
US7680099B2 (en) * 2006-08-22 2010-03-16 Nokia Corporation Jitter buffer adjustment
US7573907B2 (en) * 2006-08-22 2009-08-11 Nokia Corporation Discontinuous transmission of speech signals
US8213316B1 (en) * 2006-09-14 2012-07-03 Avaya Inc. Method and apparatus for improving voice recording using an extended buffer
US8472320B2 (en) * 2006-12-06 2013-06-25 Telefonaktiebolaget Lm Ericsson (Publ) Jitter buffer control
US8549236B2 (en) * 2006-12-15 2013-10-01 Siliconsystems, Inc. Storage subsystem with multiple non-volatile memory arrays to protect against data losses
US7596643B2 (en) * 2007-02-07 2009-09-29 Siliconsystems, Inc. Storage subsystem with configurable buffer
US8619642B2 (en) * 2007-03-27 2013-12-31 Cisco Technology, Inc. Controlling a jitter buffer
ATE485641T1 (de) * 2007-06-28 2010-11-15 Global Ip Solutions Gips Ab Verfahren und empfänger zur bestimmung eines jitterspeicherniveaus
FI120284B (fi) * 2007-07-20 2009-08-31 Tellabs Oy Huojuntapuskurin täyttöasteen säätö
EP2215785A4 (en) * 2007-11-30 2016-12-07 ERICSSON TELEFON AB L M (publ) ESTIMATED READING TIME
US7821958B2 (en) * 2007-12-21 2010-10-26 Belair Networks Inc. Method for estimating and monitoring timing errors in packet data networks
CN101926134B (zh) * 2008-01-25 2013-06-19 艾利森电话股份有限公司 用于网络节点的简单适配抖动缓冲器算法
US8281369B2 (en) * 2008-03-12 2012-10-02 Avaya Inc. Method and apparatus for creating secure write-enabled web pages that are associated with active telephone calls
US8879464B2 (en) 2009-01-29 2014-11-04 Avaya Inc. System and method for providing a replacement packet
US9525710B2 (en) * 2009-01-29 2016-12-20 Avaya Gmbh & Co., Kg Seamless switch over from centralized to decentralized media streaming
US8238335B2 (en) 2009-02-13 2012-08-07 Avaya Inc. Multi-route transmission of packets within a network
JP5408608B2 (ja) * 2009-03-02 2014-02-05 公立大学法人大阪市立大学 暗号トラヒック識別装置及びそれを備える暗号トラヒック識別システム
US7936746B2 (en) * 2009-03-18 2011-05-03 Avaya Inc. Multimedia communication session coordination across heterogeneous transport networks
CN102292943B (zh) 2009-03-31 2015-03-11 飞思卡尔半导体公司 分组通信系统中的接收节点和用于管理分组通信系统中的接收节点中的缓冲器的方法
US8611337B2 (en) * 2009-03-31 2013-12-17 Adobe Systems Incorporated Adaptive subscriber buffering policy with persistent delay detection for live audio streams
US20100265834A1 (en) * 2009-04-17 2010-10-21 Avaya Inc. Variable latency jitter buffer based upon conversational dynamics
US8094556B2 (en) * 2009-04-27 2012-01-10 Avaya Inc. Dynamic buffering and synchronization of related media streams in packet networks
US8553849B2 (en) 2009-06-17 2013-10-08 Avaya Inc. Personal identification and interactive device for internet-based text and video communication services
US8355338B2 (en) * 2009-07-14 2013-01-15 Hong Kong Applied Science And Technology Research Institute Co. Ltd. Method of processing sequential information in packets streamed over a network
US8800049B2 (en) * 2009-08-26 2014-08-05 Avaya Inc. Licensing and certificate distribution via secondary or divided signaling communication pathway
JP5443918B2 (ja) * 2009-09-18 2014-03-19 株式会社ソニー・コンピュータエンタテインメント 端末装置、音声出力方法および情報処理システム
EP2302845B1 (en) 2009-09-23 2012-06-20 Google, Inc. Method and device for determining a jitter buffer level
KR20110090596A (ko) * 2010-02-04 2011-08-10 삼성전자주식회사 지터 보정 방법 및 장치
GB201003206D0 (en) * 2010-02-25 2010-04-14 Skype Ltd Method of estimating congestion
US8904033B2 (en) * 2010-06-07 2014-12-02 Adobe Systems Incorporated Buffering media content
US8630412B2 (en) 2010-08-25 2014-01-14 Motorola Mobility Llc Transport of partially encrypted media
US8477050B1 (en) 2010-09-16 2013-07-02 Google Inc. Apparatus and method for encoding using signal fragments for redundant transmission of data
JP5469028B2 (ja) * 2010-09-17 2014-04-09 矢崎総業株式会社 通信システム
JP5583563B2 (ja) * 2010-12-06 2014-09-03 オリンパス株式会社 データ処理装置
US8751565B1 (en) 2011-02-08 2014-06-10 Google Inc. Components for web-based configurable pipeline media processing
JP6163741B2 (ja) * 2012-11-30 2017-07-19 ヤマハ株式会社 ネットワーク受信用バッファのバッファサイズ決定方法及び装置並びにネットワークセッションシステム
CN103888381A (zh) 2012-12-20 2014-06-25 杜比实验室特许公司 用于控制抖动缓冲器的装置和方法
US9420475B2 (en) * 2013-02-08 2016-08-16 Intel Deutschland Gmbh Radio communication devices and methods for controlling a radio communication device
CN105099795A (zh) * 2014-04-15 2015-11-25 杜比实验室特许公司 抖动缓冲器水平估计
US9806967B2 (en) * 2014-05-30 2017-10-31 Sony Corporation Communication device and data processing method
CN104702807B (zh) * 2015-03-27 2017-04-12 北京理想固网科技股份有限公司 一种VoIP通信系统
US9634947B2 (en) 2015-08-28 2017-04-25 At&T Mobility Ii, Llc Dynamic jitter buffer size adjustment
US10412779B2 (en) * 2015-09-18 2019-09-10 Whatsapp Inc. Techniques to dynamically configure jitter buffer sizing
US9749178B2 (en) 2015-09-18 2017-08-29 Whatsapp Inc. Techniques to dynamically configure target bitrate for streaming network connections
KR102063976B1 (ko) * 2018-01-31 2020-01-09 한국철도기술연구원 무선통신 시스템에서 mcptt 서비스에 대한 발언전달시간 및 음성품질 개선을 위한 가변 버퍼링 방법 및 장치
CN113037853B (zh) * 2021-03-22 2023-01-06 北京字节跳动网络技术有限公司 数据处理方法、装置、设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4942547A (en) * 1985-04-11 1990-07-17 Honeywell Bull, Inc. Multiprocessors on a single semiconductor chip
US4977582A (en) * 1988-03-31 1990-12-11 At&T Bell Laboratories Synchronization of non-continuous digital bit streams
US4958341A (en) * 1988-03-31 1990-09-18 At&T Bell Laboratories Integrated packetized voice and data switching system
AU1572995A (en) 1994-02-11 1995-08-29 Newbridge Networks Corporation Method of dynamically compensating for variable transmission delays in packet networks
US5566208A (en) * 1994-03-17 1996-10-15 Philips Electronics North America Corp. Encoder buffer having an effective size which varies automatically with the channel bit-rate
US5825771A (en) 1994-11-10 1998-10-20 Vocaltec Ltd. Audio transceiver
US5604793A (en) 1995-08-03 1997-02-18 Dialogic Corporation Tone blocking using variable delay buffer
US6360271B1 (en) * 1999-02-02 2002-03-19 3Com Corporation System for dynamic jitter buffer management based on synchronized clocks
US6259677B1 (en) * 1998-09-30 2001-07-10 Cisco Technology, Inc. Clock synchronization and dynamic jitter management for voice over IP and real-time data

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100359887C (zh) * 2003-05-09 2008-01-02 华为技术有限公司 用rtp数据包的时戳进行排序以消除其抖动延时的方法
CN1320805C (zh) * 2003-09-17 2007-06-06 上海贝尔阿尔卡特股份有限公司 一种分组交换网络自适应抖动缓冲区调整方法
CN100525281C (zh) * 2003-12-09 2009-08-05 华为技术有限公司 语音传输过程中实现动态调整抖动缓存的方法
CN100426783C (zh) * 2004-04-02 2008-10-15 华为技术有限公司 适配网络尖峰的动态抖动缓存的实现方法
CN101049032B (zh) * 2004-05-05 2012-07-18 艾利森电话股份有限公司 Hsdpa流控制数据帧时延rnc参考时间
CN100426784C (zh) * 2004-06-25 2008-10-15 腾讯科技(深圳)有限公司 一种解决网络抖动的方法
CN101873266B (zh) * 2004-08-30 2015-11-25 高通股份有限公司 用于语音ip传输的自适应去抖动缓冲器
CN101048990B (zh) * 2004-10-27 2016-10-26 艾利森电话股份有限公司 具有用于抖动缓存器的多个重放指针的终端
CN101048990A (zh) * 2004-10-27 2007-10-03 艾利森电话股份有限公司 具有用于抖动缓存器的多个重放指针的终端
CN100421413C (zh) * 2004-12-28 2008-09-24 华为技术有限公司 一种无线链路控制子层发送缓存大小的调整方法
CN1960315B (zh) * 2005-10-31 2010-08-25 康佳集团股份有限公司 流媒体去抖动方法
CN101529771B (zh) * 2006-08-17 2013-04-24 杜比实验室特许公司 广播网络中的分组排队丢失的瞬态分析
CN101523822B (zh) * 2006-09-28 2012-06-27 京瓷株式会社 语音传输装置
CN102263721A (zh) * 2010-05-31 2011-11-30 中兴通讯股份有限公司 上行信号的时偏估计方法、基站和ofdma系统
CN102263721B (zh) * 2010-05-31 2015-08-12 中兴通讯股份有限公司 上行信号的时偏估计方法、基站和ofdma系统
CN102469356A (zh) * 2010-11-05 2012-05-23 乐金电子(中国)研究开发中心有限公司 一种网络电视视频播放方法及网络电视视频接收端
CN103152649A (zh) * 2013-01-30 2013-06-12 北京佳讯飞鸿电气股份有限公司 一种流媒体分发传输分级别自动减帧控制方法
CN103152649B (zh) * 2013-01-30 2016-01-06 北京佳讯飞鸿电气股份有限公司 一种流媒体分发传输分级别自动减帧控制方法
CN110856028A (zh) * 2018-08-20 2020-02-28 上海途擎微电子有限公司 一种媒体数据的播放方法、设备及存储介质
CN110856028B (zh) * 2018-08-20 2021-12-14 上海途擎微电子有限公司 一种媒体数据的播放方法、设备及存储介质

Also Published As

Publication number Publication date
JP2002535885A (ja) 2002-10-22
AU756474B2 (en) 2003-01-16
WO2000042749A1 (en) 2000-07-20
AU2138400A (en) 2000-08-01
US6452950B1 (en) 2002-09-17
CN1134947C (zh) 2004-01-14

Similar Documents

Publication Publication Date Title
CN1134947C (zh) 自适应抖动缓存
JP5507266B2 (ja) 複数のインターフェースを介するビデオストリーム
US8982847B2 (en) Packet aggregation
CN101213802B (zh) 用于控制移动通信系统中的语音业务速率的方法和装置
CN105188121B (zh) 不连续传输和接收
US8165613B2 (en) Method and apparatus for transmitting data using information on communication environment
US20040199659A1 (en) Information processing apparatus, information processing method, data communication system and program
CN101523822B (zh) 语音传输装置
US6937562B2 (en) Application specific traffic optimization in a wireless link
CN1310457C (zh) 用于码速率适配的方法、装置与系统
US20120120813A1 (en) Monitoring of Delay in Packet-Switched Networks
WO2003019961A1 (en) Selecting an operational mode of a codec
RU2005123415A (ru) Адаптивный способ оценивания скорости передачи мультимедийных данных
Zhao et al. A scalable and accurate nonsaturated IEEE 802.11 e EDCA model for an arbitrary buffer size
WO2007024648A2 (en) Methods and apparatus for differential encoding
US7450593B2 (en) Clock difference compensation for a network
CN101572905B (zh) 传输时间间隔的调整方法和装置
US8521862B2 (en) Wireless channel allocation in a base station processor
JP2008519528A (ja) QoSイネーブルされたWLANを介して階層化ビデオを伝送するシステム及び方法
WO2017000131A1 (en) Http streaming aware cross-layer optimization and application-aware ran signaling
CN1339212A (zh) 重构媒体的方法和装置
CN1798085A (zh) 一种无线链路控制子层发送缓存大小的调整方法
CN110913421B (zh) 一种语音包数量的确定方法及装置
US7633947B2 (en) Method and apparatus for performing active packet bundling in a Voice over-IP communications system based on source location in talk spurts
US7693065B2 (en) Packet transceiver system and method

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20040114

Termination date: 20141228

EXPY Termination of patent right or utility model