CN1902864A - 在接收终端上提供分组的平滑自适应管理的方法和设备 - Google Patents
在接收终端上提供分组的平滑自适应管理的方法和设备 Download PDFInfo
- Publication number
- CN1902864A CN1902864A CNA2004800338099A CN200480033809A CN1902864A CN 1902864 A CN1902864 A CN 1902864A CN A2004800338099 A CNA2004800338099 A CN A2004800338099A CN 200480033809 A CN200480033809 A CN 200480033809A CN 1902864 A CN1902864 A CN 1902864A
- Authority
- CN
- China
- Prior art keywords
- packet
- grouping
- time
- buffer
- voice
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/062—Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
- H04J3/0632—Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6481—Speech, voice
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)
- Telephonic Communication Services (AREA)
Abstract
在这里公开的是一种用于与分组交换网络相耦合,以便接收包含了语音或视频信息之类的按时间排序的内容的数据分组的设备和方法。根据一种用于对耦合到分组网络并能借助IP来传送语音的设备进行操作的方法,以及一种根据该方法来进行操作的设备,其中公开的是:接收和缓冲那些包含了语音信息的数据分组;对语音信息进行解码,以便获取语音采样;以及在产生语音播出信号之前缓冲那些经过解码的语音采样,其中对经过解码的语音采样进行作为分组网络状态函数的时间缩放处理,以便调整缓冲延迟以及改变语音播出速率,由此,无论接收数据分组的速率如何改变,都可以提供基本连续的输出语音信号。
Description
技术领域
本发明主要涉及电信设备和终端,尤其涉及与分组交换网络相连并能接收例如VoIP(借助网际协议的语音传递)呼叫的含有语音的分组的终端。虽然在这里主要是在接收与播出含有语音的分组的环境中进行描述的,但是本发明同样适用于包含视频信息的分组,并且一般来说,本发明适于传递按时间排序的内容的分组,其中所述内容预期会在一个实质连续和均匀的时间序列中(也就是以一种实质上不会中断和不连续的方式)呈现给听众或观众。语音内容和视频内容是按时间排序的内容中的两种基本类型,但是所述内容并不局限于此。
背景技术
在例如通用分组无线电系统(GPRS)的分组交换系统中,数据分组到达时间的变化所导致的不确定性有可能严重影响到系统性能。导致分组到达时间发生变化的原因包括网络资源拥塞以及连续分组之间的路由改变。正如在VoIP系统中那样,当分组包含语音数据以获取连续语音输出时,在数据分组接收机上,缓冲深度或缓冲延迟与分组到达时间的变化必须是成比例的。
常规的固定初始延迟数据缓冲器是可以在某种程度上消除这种改变的。然而,网络状态的变化有可能取决于网络资源拥塞、接收终端位置以及网络组件的具体实施方式。对常规的(固定延迟)缓冲处理来说,该处理无法对不断变化的网络状态作出反应。此外,在吞吐量始终很低的时候也无法防止接收机缓冲器下溢。
出于这些原因,如果希望在输出语音的缓冲延迟以及最小中断方面实现优化操作,那么有必要引入某种自适应缓冲管理。这种缓冲管理应该能以一种尽可能平滑的方式来改变缓冲延迟。换句话说,与在很短的时间间隔中首先降低缓冲延迟,然后提升缓冲延迟,然后再次降低缓冲延迟……的情况相比,如果是在较长的时间间隔中以相同比率来改变缓冲延迟,那将是非常理想的。为了防止出现这些波动,有必要对现行的网络状态做出尽可能精密的估计。并且非常重要的是,为了完成这种估计,首先需要限定对其应该执行此类估计的重要网络特性。
目前,在现有技术中至少有两种缓冲管理技术是需要准确了解网络的端到端延迟的:Ramjee R.(1994),“Adaptive Playout Mechanismsfor Packetized Audio Applications in Wide-Area Networks”,IEEE INFOCOM′94,The Conference on Computer CommunicationsProceedings,6月12~13日,Toronto,第2卷第680~688页,Canada;以及Liang Y.J.(2001),“Adaptive Playout SchedulingUsing Time-Scale Modification in Packet Voice Communications”,IEEE International Conference on Acoustics,Speech,and SignalProcessing Proceedings,5月7~11日,Salt Lake City,第3卷第1445-1448页,USA。
由于当前无法准确了解网络的端到端延迟,因此,目前提出了另一种不需要该信息的技术:Telefonaktiebolaget LM Ericsson,“Adaptive Jitter Buffering”,WO00/42749。该方法尝试在固定采样间隔中估计网络状态。当中断(延迟峰值)出现在相对较短的间隔中的时候,这种方法具有些许用途,然而,如果连续中断之间的间隔大于采样间隔,那么有可能出现某个采样间隔中没有发生中断的情况。这样一来,与出现中断时相反,控制机制将会减小缓冲延迟。现在,如果在下一个采样间隔中出现中断,那么它会导致在语音中因为缓冲器下溢而出现不希望的中断。在语音中断之后,在后续采样间隔中,缓冲延迟将会再次增大。可以预见的是,这种操作很容易致使控制机制不断地降低/增大/降低缓冲延迟,而这将会导致播出速率发生不必要波动。此外,在执行缓冲延迟变更(采样间隔)之前还必须累积固定数量的分组。而这将会导致分组达到某个降低速率时的反应时间减慢,并且由于缓冲延迟只在采样间隔之后才会增大,因此上述情况还可能会增大中断概率。在WO00/42749的方法中,缓冲器延迟的改变是通过丢弃或延迟分组来完成的,更具体地,这种改变是在静默阶段中通过添加或删除包含静默信息的语音帧来进行的。然而,仅仅添加或删除静默信息将会导致静默阶段与说话阶段之间的时间关系改变,进而导致在句子乃至单词之间不自然地出现很长或很短的静默。静默阶段的持续时间有可能随着句子或是随着单词的不同而改变,由此将会产生不自然的语音节奏。
通常,自适应缓冲管理应该是在需要时才应用的。在分组交换网络中,这种状态即为分组以突发形式到达并且在各个突发之间存在很长的(有可能是几秒)延迟。如果长期到达间隔平均值与创建分组的速率相同,那么上述状态是不存在问题的。而这仅仅意味着接收机一端的物理缓冲器的大小应该足够长,以便适应这种变化。尽管如此,在设计自适应管理的过程中还是必须对此加以考虑,这是因为语音的播出速率不应该在缓冲延迟波动的情况下出现令人感到烦恼的起伏。
由此可以了解,用于对包含语音或视频信号的数据分组的到达时间的易变性进行处理的当前方法无法令人感到满意,此外,当在VoIP以及基于数据分组的其他类型的网络系统中提供自然发声的语音时,当前方法无法彻底解决其中固有的问题。
发明内容
前述问题以及其他问题是根据本发明的当前优选实施例来克服的,其他优点也是根据本发明的当前优选实施例来实现的。
在这里公开了一种用于与分组交换网络相耦合,以便接收包含例如语音或视频信息的按时间排序的内容的数据分组的方法和设备。根据一种用于对连接到分组网络并能借助IP来传送语音的设备进行操作的方法,以及一种根据该方法来进行操作的设备,其中公开的是:接收和缓冲那些包含了语音信息的数据分组;对语音信息进行解码,以便获取语音采样;以及在产生语音播出信号之前缓冲所解码的语音采样,其中所解码的语音采样根据分组网络的状态而进行时间缩放,以便调整缓冲延迟以及改变语音播出速率,由此,无论所接收的数据分组的速率如何改变,都可以提供实质上连续的输出语音信号。
在这里还具有一个用于测量和估计数据分组到达延迟的实质上异步的组件,以及一个对所述异步组件的操作做出响应,从而控制缓冲延迟的实质上同步的组件,其中缓冲延迟是基于每一个语音帧间隔(例如在每一个20ms的间隔)中确定的缩放比率而以同步方式控制的。
接收机分组缓冲器的缓冲延迟是作为指定的分组播出时间与分组到达时间之间的差值确定的,并且该方法还包括修改关于缓冲延迟、分组中断延迟以及分组到达间隔的估计,其中所述估计是根据测量得到的缓冲延迟以及到达间隔来更新的。
在本优选实施例中,该方法估计缓冲延迟等于虚拟播出点与分组创建间隔次数(输入分组序列号,小于第一个分组的序列号)之和减去输入分组的到达时间。在一个会话中,端到端延迟会因为语音或其他信号的时间缩放、缓冲溢出或是缓冲下溢而改变,而虚拟播出点也会发生变化。这其中的一个结果是导致在不稳定的间隔上播出分组。为了简单起见,所有的端到端延迟变化都可以与一个被定义为是虚拟播出点的变量相关联。实质上,如果在稳定的间隔上播出剩余分组,但却仍旧导致产生与实际非稳定播出分组时的情况相同的端到端延迟,那么该虚拟播出点是一个本该用于会话中的第一个分组的播出点。
优选地,解码处理包括检测所接收的语音帧的类型是坏帧、非帧或好帧中的哪一种,并且只有在检测出所接收到的语音帧是好帧的时候才会执行时间缩放。“坏帧”可以视为是不能使用的帧,这是因为它会因为滞后到达或是因为内容错误而被丢弃。“非帧”状态表示缓冲器是空的,而“好帧”状态则意味着从缓冲器中提取了一个有效的帧。
本发明的一个特征在于:分组到达间隔平均值以及中断平均值这两个与分组吞吐量相关联的概念是单独对待的。与常规方法相比,借助于这种单独处理,有可能减少缩放比率的波动。同时由于估计了到达间隔平均值,因此可以更精确地将缩放比率设定成某个值,使得在网络链路具有始终很低或很高的分组吞吐量的时候缓冲延迟基本保持恒定。
在本发明中,通过使用关于网络状态参数的指数估计,可以避免使用如WO00/42749中提出的常规的采样间隔。此外,在连续中断之间的间隔相对较长的时候,会话中的中断延迟估计能够保持基本连续的语音。
附图说明
通过结合附图来阅读下文中关于优选实施例的详细描述,可以更清楚地了解这些教导的前述及其他方面,其中:
图1是根据本发明的自适应分组缓冲管理系统的高级图示;
图2表示了图1所示的延迟测量块所执行的延迟测量处理;
图3显示了图1中的延迟估计块所执行的延迟估计处理;
图4表示了图1中的缓冲延迟控制块的结构;
图5表示了图4中的确定缩放比率块的整体结构和操作。
图6表示了根据所需要的播出点变化的示范性缩放比率偏移;
图7表示了图1中的时间缩放块的整体结构和操作;
图8是用于实施图1~7中所示发明的移动站和无线网络的简化框图;
图9A和9B分别是绘制了延迟与分组编号的对比关系,尤其是绘制了绝对网络延迟的示范值以及缓冲延迟的图表;以及
图10是在说明虚拟播出点变化时所使用的图示。
具体实施方式
在详细论述本发明之前,首先在这里为本发明定义若干术语和短语。
缩放比率是所缩放的时间(time scaled)与原始信号长度之比。
时间缩放是这样一种操作,其中根据一个希望的缩放比率而删除或复制输入采样,以使输入与输出采样数量之间的比率与预期的缩放比率相对应。在执行语音采样的时候,其中将会顾及到语音的强周期性,以使频谱信息不会发生根本上的变化。时间缩放可以在复制或删除一个或多个周期的时候实现。此外,时间缩放也可以视为是在语音中的静默间隔中添加或删除静默信息。
语音分组是一种数据结构,其中包含了与一个或多个语音帧相对应的经过编码的参数。
解码块是一个功能单元,它从每一个语音帧的语音分组中提取经过编码的参数,并且根据所提取的参数来执行解码处理(例如AMR或GSM)。
中断延迟是连续分组之间的延迟,该延迟足够长,由此可以将其视为是分组到达中的一个中断。
播出点是从分组缓冲器中提取出分组的第一帧的时刻。
虚拟播出点(参见图10)在一个会话中发生变化,其中端到端延迟会因为语音的时间缩放、缓冲器溢出或是缓冲器下溢而改变。这样一个结果是在不稳定的间隔中播出分组。为了简单起见,所有端到端延迟变化可以嵌入或是关联于一个被定义为虚拟播出点的变量。实质上,如果在稳定的间隔上播出剩余分组,但却仍旧导致与实际不稳定地播出分组时的情况相同的端到端延迟,那么该虚拟播出点是一个本该用于会话中的第一个分组的播出点。
缓冲延迟是在播出分组中的第一个帧之前所述分组停留在分组缓冲器中的时间周期。换句话说,缓冲延迟是分组中的第一个帧的播出点与该分组的到达时间之间的时间。
正如上文中所指出的那样,虽然下文中的描述是在对包含了语音信息的数据分组进行接收的环境中进行的,但是应该了解,非常有利的是,本发明也可以与包括视频信息在内的其他类型的数据分组内容结合使用。在视频信息的情况下,下文中描述的时间缩放操作可以通过插入或删除视频帧或采样来执行。如果视频和音频部分是被独立控制的,那么可以通过使每一个部分的虚拟播出点保持相等来实现声像吻合。
作为引言,在本发明的当前优选实施例中,其中使用了时间缩放方法来执行分组缓冲延迟中的改变,该方法提供了改变语音播出速率的可能性,而没有在语音的频谱或频率内容中引入显著的变化。
根据本发明,在第一个分组到达之后即可开始播出语音帧。因此,初始缓冲延迟为零,并且该延迟会在需要的时候增大,以便适应分组到达过程中的变化。作为选择,所述播出的开始时间也可以延迟,直至初始缓冲延迟足够大为止。在播出语音的过程中,通过对分组吞吐量中的变化做出反应,可以将缓冲延迟保持在预期的等级。优选地,对缓冲延迟的控制是以网络特性估计为基础的,并且所述反应是通过修改播出语音的速率而产生的。优选地,这种修改是通过使用一种时间缩放方法来完成的。此外,如下文中详细描述的那样,整个自适应缓冲管理包含了两个主要的组件,其中一个是异步的,另一个则是同步的。
简要的说,只有在分组到达的时候才会执行异步组件,因此,该组件是以一种与系统操作异步的方式执行的(假设分组到达时间与系统操作是异步的)。在分组到达的时候,该分组将会保存在分组缓冲器中,并且这时将会为这个分组测量缓冲延迟,其中所述缓冲延迟是分组的播出时间点与分组的到达时间之间的差值。在进行了这个测量之后,关于延迟(缓冲延迟、中断延迟、到达间隔)的估计将会更新。同步组件是在长度为一个语音帧的同步间隔上执行的,其中举例来说,对于AMR或GSM语音帧的是大小为20s的间隔。所使用的估计则用于控制缓冲延迟,以使缓冲延迟保持在一个足够大的等级上,从而与分组到达变化相适应。这种情况下的控制机制提供了与时间缩放相关联的信息,以便确定缩放信号的比率。此外,在每一个间隔中,执行语音解码操作的次数取决于所请求的播出速率。
图1是根据本发明的自适应分组缓冲管理系统10的高级图示。图1中的图示可以视为是对硬件(HW)框图、软件(WS)流程图进行描述,或者最好将其视为是对HW与SW的组合进行描述。应该指出的是,由于分组到达时间是可以优先获得的信息,因此,SW实体自身需要基于HW或SW的时钟11。时钟11可以作为一个在20ms的间隔(也就是以创建用于编码的语音帧的速率)上递增的计数器来加以实现,然而如果希望得到的是更精确的定时,那么时钟11也可以作为一个更精确的SW计数器或是HW时钟来实现。此外,较为优选的是,语音分组是在发送方按顺序编号的。
在这里设想自适应分组缓冲管理系统10包含了一个异步部分或组件10A,以及一个同步部分或组件10B。优选地,语音帧的播出是在第一个语音分组到达之后立即开始的。因此,初始缓冲延迟为零,并且它会在一个语音会话中增大,以便覆盖分组到达时间的变化。此外,通过对分组吞吐量的变化做出反应,可以将缓冲延迟保持在希望的等级。这个处理则是通过使用语音信号的时间缩放来完成的,其中所述时间缩放能够改变播出语音的速率。
如上所述,只有在分组到达的时候才会使用异步组件10A。在分组到达的时候,该分组将会在分组到达或会话中断块13的控制下置入分组缓冲器12,并且缓冲延迟是在块14中测量的。在执行了这个测量之后,块16将会更新这些估计(缓冲延迟、中断延迟、到达间隔)。而等式(1)则可用于为输入分组计算缓冲延迟:
缓冲延迟=虚拟播出点+分组创建间隔×(输入分组序列号-第一个分组的序列号)-输入分组的到达时间(等式1)
在对信号进行时间缩放的时候,虚拟播出点也会产生相应的变化。
如上所述,对同步组件10B来说,其中在块18的缓冲延迟控制中使用了这些估计,以便将缓冲延迟保持在一个足够大的值,从而适应于分组到达过程中的变化。控制块18向解码块20提供一个用于指示解码数量的输出18A,并且向时间缩放块22提供一个缩放比率输出18B(经过缩放的信号长度与原始信号长度之间的比率)。举例来说,如果所允许的比率介于0.5与2.0之间,那么在一个单独的20ms的间隔中,解码次数可以是0、1或2次。一旦对采样进行了时间缩放,那么它们将被置入一个缩放缓冲器24。该缩放缓冲器24的充满度是根据所使用的缩放比率而改变的,由此,控制块18将会使用缩放缓冲器24的当前大小(与当前条目的数量相对应)(由箭头24A指示),以便确保每20ms都会向音频缓冲器26提供至少160个采样,此外还确保缩放缓冲器24不会溢出。在这种情况下,当在8,000Hz的频率上采样语音信号的时候,160个采样与20ms的帧持续时间是对应的(也就是说,8,000Hz×0.02s=160)。在每一个20ms的间隔中,会向音频缓冲器26传送语音信号的106个采样,以便进行进一步的处理。由此,整个自适应处理对于其后进行的任何音频处理而言都是透明的。
应该指出的是,在这里对于20ms的间隔以及160个采样的引用都是示范性的,这是因为这些数值分别代表了关于常规语音帧的创建时间以及语音帧中的采样数量的示例。
如来自时间缩放块22的输出信号22A所示,在对信号进行时间缩放或者是缓冲器下溢或溢出的时候,虚拟播出点将会产生相应的变化。如果在分组缓冲器12中没有分组并且下一个分组尚未到达,那么将会出现缓冲器下溢的情况。由此,缓冲器12的下溢将会延迟下一个分组的播出点,并且可以将其视为是通过时间缩放(插入语音帧)延长了语音信号。当在缓冲器12上没有剩下可用空间并且最近到达的一个或多个分组将要重写最早的一个或多个分组的时候,这时将会出现缓冲器溢出。在这种情况下,通常较为优选的是跳过至少一个分组的播出,由此可以保持与输入分组相同步。跳过分组序列号的处理可以视为是通过时间缩放(删除语音帧)来缩短语音信号。
在解码块20上检测的所接收的语音帧的类型可以是坏帧、非帧(也就是缓冲器下溢或非帧)或好(有效)帧中的某一种。在确定是否应该对某个帧进行时间缩放的时候,时间缩放块22将会使用这个信息,并且该信息是由解码块20的输出20A提供的。只有在将帧类型指示成好帧的时候才会执行时间缩放。优选地,对一个被指示为坏帧的帧来说,由于所述帧代表的是语音信号中的不连续性,因此不会对其进行时间缩放。此外,由于在缓冲器12下溢的时候使用块22的时间缩放算法是没有意义的,因此不应该对非帧执行时间缩放。
图2表示的是图1中的延迟测量块14所执行的整个延迟测量处理。在这里为每一个到达的分组测量了分组缓冲器12的延迟(缓冲延迟)(14B)。如果在语音会话中存在中断,那么在对该中断做出响应(参见图5中关于响应的描述)之前将会更新缓冲延迟。这样一来,缓冲延迟将会与当前的分组到达情形相对应。此外,在这里还会测量分组的到达间隔(14C)。而虚拟播出点则是通过向当前虚拟播出点值中添加虚拟播出点变化(如时间缩放决22的输出22A所示)来更新的(14A)。如上所述,虚拟播出点是本来应该播出第一个分组的时间,因此可以用上文中给出的等式(1)来为输入分组计算缓冲延迟。
如果通过计算缓冲器12中的分组数量而测量了缓冲延迟,那么在分组丢失的情况下以及分组以序列号顺序之外的其它顺序到达的情况下,该结果将会是不准确的。由此优选使用一种不同的方法,该方法在此类环境中是非常准确的。
此外,就此而论,图9A和9B分别显示了关于绝对网络延迟以及缓冲延迟的实例。可以看出的是,缓冲延迟与网络延迟是成反比的,并且这两个测量由此都会包含与延迟变化相关的信息。在为后续分组计算播出点的时候,其中将会使用第一个分组的播出点(参见图10)。对第i个分组来说,其播出点是:Tpi,n=Tc*(Ni-Nl)+Tpl,n,其中i是接收分组的编号,n是播出点变化的编号,Tc是分组的创建间隔,以及Ni是第i个接收分组的序列号。那么,对第i个分组而言,其缓冲延迟是:di=Tpi,n-Tai,其中Tai是第i个分组的到达时间。
在本发明的当前优选实施例中,为使块14能够测量缓冲延迟,其中使用了输入分组的到达时间、序列号以及创建间隔。
在上文中,缓冲延迟是相对于等式(1)来显示的,而到达间隔则可以使用以下的等式(2)来进行测量:
(2)到达间隔=输入分组的到达时间-先前到达的分组的到达时间
图3显示的是图1中的延迟估计块16所执行的整个延迟估计处理。通常,在更新延迟估计的时候要考虑两种独立的主要情况。第一种情况是在没有分组到达并且自先前分组到达(块16A和块16B)之后经过了一定的时间的时候调用延迟估计(块16)功能,其中所述时间是分组创建间隔的两倍(例如2×20ms=40ms)。在检测到中断的时候,这时将会测量缓冲延迟,而这相当于有一个分组到达并且该分组的序列号与先前到达的分组的序列号(加1)相同。在这种方式中,缓冲延迟为如同下一个分组将会在该特殊时间到达一样的延迟。优选地,缓冲延迟平均值将会复位到最后测得的缓冲延迟的值,并且这样一来,缓冲延迟平均值将会等于当前的缓冲延迟,而平均偏差则不会得到更新。通过对这种情况加以考虑,可以确保在检测到会话中断的时候将缓冲延迟平均值复位到缓冲延迟的当前值。当在确定中断的过程中使用缩放比率的时候,就需要用到经过更新的缓冲延迟值。
第二种情况是在新分组到达的时候调用延迟估计(块16)功能。在块16C,其中将会确定在连续分组之间是否存在足够大的延迟,这样一来,如果到达间隔大于分组创建间隔的两倍,那么该延迟可以视为是一个中断。
如果在分组到达过程中存在中断,那么在块16D中将会通过使用指数平均来更新中断延迟估计,并且在块16F上会将缓冲延迟平均值复位成缓冲延迟的当前值,由此所述平均值将会立即开始进行新的测量。而平均偏差则不会更新,此外到达间隔平均值也不会更新。
返回到块16E,如果没有出现中断,那么将会通过使用指数平均来更新到达间隔平均值。在块16G,其中将会判定估计模式是峰值(spike)模式还是正常模式。如果到达间隔平均值小于创建间隔,则将该模式视为峰值模式。如果将模式视为是峰值模式,那么缓冲延迟将会复位到最后测得的值(块16F),并且平均偏差是不会更新的。优选地,如果到达间隔平均值小于创建间隔,则不会更新平均偏差,因为这样做将会不必要地增大所需要的缓冲延迟(参见下文中的等式(11))。如果分组到达模式不是峰值模式,即该模式是正常模式,那么在块16H上将会通过使用指数平均来更新缓冲延迟平均值以及平均偏差。
非常重要的是,到达间隔平均值并不与实际到达间隔平均值相对应,这是因为其中并未对中断加以考虑。因此,它可以被视为是关于中断之间的到达间隔平均值的记录或记忆。借助这种方式,可以将两个影响缓冲延迟状态的重大问题分离开来。也就是说,链路接通时的分组到达间隔与链路(临时)断开时由中断引入的延迟是相互分离的。而这种方法恰恰与分组交换网络的特性相对应,在所述网络中往往存在这样一种情况,即分组到达时隔平均值与分组到达过程中出现中断之前的值是基本相等的。
现在将对块16H的功能(更新缓冲延迟估计)进行更详细的描述。当第一个分组到达的时候,缓冲延迟估计将被设置为零。此后,缓冲延迟平均值以及平均偏差(MD)将会通过使用下列等式(3)、(4)和(5)而被更新。应该指出的是,这些等式中显示的值仅仅是建议,等式(6)、(8)和(9)中的值同样也是如此,所使用的实际值则是收敛率与精确度之间的一种折衷。此外还应该指出,在计算平均偏差的时候将会用到缓冲延迟平均值。
(3)缓冲延迟平均值=0.25×缓冲延迟+0.75×缓冲延迟平均值;
(4)缓冲延迟MD=0.125×|缓冲延迟-缓冲延迟平均值|+0.875×缓冲延迟MD。
如果复位缓冲延迟平均值,那么可以通过使用等式(5)而将缓冲延迟平均值设置成缓冲延迟的当前值。平均偏差则不会发生变化。
(5)缓冲延迟平均值=缓冲延迟
现在将对块16E的功能(更新到达间隔平均值)进行更详细的描述。到达间隔平均值仅仅在没有出现中断的时候才会更新。这其中首先将会进行检查,以便确定是否应该初始化所述到达间隔平均值。如果应该的话,那么作为选择,在这里可以对其进行设置,使之与第一个到达分组的创建时间相对应,或者也可以根据第一和第二个到达的分组之间的到达间隔来对其进行设置。优选地,该平均值是通过如等式(6)中那样使用指数平均来更新的:
(6)到达间隔平均值=0.125×到达间隔+0.875×到达间隔平均值。
现在将对块16D的功能(更新中断延迟估计)进行更详细的描述。如等式(7)所示,所述中断延迟是最后测得的到达间隔与分组创建间隔之间的差值:
(7)中断延迟=到达间隔-分组创建间隔。
在这里将会测试是否应该对中断延迟估计进行初始化。如果中断延迟平均值为零,则对该估计进行初始化。如果进行初始化,那么中断延迟平均值将被设置成最后测得的中断延迟,并且平均偏差将被设置为零。如果不进行初始化,则根据等式(8)和(9)并且通过使用指数平均来更新这些估计:
(8)中断延迟平均值=0.25×中断延迟+0.75×中断延迟平均值;
(9)中断延迟MD=0.125×|中断延迟-中断延迟平均值|+0.875×中断延迟MD。
通常情况下,网络环境在连续的语音会话之间是保持相对稳定的,由此在后续的语音会话中可以使用这些中断延迟估计(至少是在最开始的时候)。然而,如果在语音会话过程中没有出现中断,那么最好将该平均值减半,使之最终收敛为零。优选地,如果在会话过程中没有出现中断,则立即将平均偏差设置为零。这样可以确保在状态改善的时候使中断延迟估计与改善的状态相对应。优选地,所述会话足够长,以便能够将所述估计减半,由此,如果会话的持续时间很短,以至于没有发生中断,那么不会无意义地将所述平均值减半。其中举例来说,有效会话的长度可以是至少5秒左右,其中将所述估计减半的处理可以在所述有效会话之后进行。
现在将结合图4来对图1中的块18的功能(缓冲延迟控制)进行更详细的描述,其中图4显示的是用于缓冲延迟的控制结构。在块18C中,解码次数是在每个20ms的间隔上确定的。块18C与确定缩放比例块18D进行协作,在下文中将会参考图5来详细描述所述块18D。缩放缓冲器的大小(来自缩放缓冲块24的输出24A)被用于确保在进行时间缩放之后始终至少存在某个预定数量的采样(例如160个采样),但是不会超过缩放缓冲器24可以保持的采样数量。如果缩放缓冲器24的当前大小(也就是存储容量)是至少160个采样,那么在块20中没有必要执行解码操作。如果只有不到160个采样,并且如果缩放比率至少为1,那么可以确定的是,对每一次解码处理而言,在进行了时间缩放22之后始终存在至少160个采样,由此,块20将会执行一次解码操作。如果只有不到160个采样,并且如果缩放比率小于1,那么每一次时间缩放将会产生不到160个采样,并且由此将会执行两次解码处理。这样则表明,应为缩放缓冲器24保留的最大大小是480个采样(也就是60ms)。
现在将结合图5来描述图4中的确定缩放比率块18D的操作,其中图5显示的是确定缩放比率块18D的整体结构和操作。正如在块19A所确定的那样,确定缩放比率的方式取决于会话是否曾经中断过。首先,在这里将要描述的是如何在会话当前并未中断的情况下确定该比率(块19B、19C、19D以及19E)。
如上所述,缩放比率是经过缩放的信号长度与原始信号长度之间的比率,并且在块19B中首先会相对于到达间隔平均值并以等式(10)的方式来对其进行设置,从而确定该比率:
(10)缩放比率=到达间隔平均值/分组创建间隔
由于语音是以一个与其到达速率相同的速率来播出的,因此,通过使用借助等式(10)获取的缩放比率,可以使缓冲延迟保持恒定(对这种情况而言,假设在分组到达过程中没有发生中断)。
为了促使缓冲延迟收敛到某个希望的值,在缩放比率中添加了一个偏移,该偏移值是所需要的播出点变化量的函数。首先,所需要的缓冲延迟是根据等式(11)获取的:
(11)所需要的缓冲延迟=中断延迟平均值+B×中断延迟MD+C×缓冲延迟MD。
在等式(11)中,关于常量B和C的值的设置是保护延迟与端到端延迟之间的一个折衷。例如,对于B和C来说,它们的一个适当的值可以是3。然而,所需要的缓冲延迟的最大值不应该大于缓冲器的物理大小所允许的最大值。
然后,由块19C根据等式(12)来确定所需要的播出点变化:
(12)所需要的播出点变化=所需要的缓冲延迟-缓冲延迟平均值。
由于缓冲延迟平均值比当前缓冲延迟更为稳定,并且预期目标是促使缩放比率尽可能稳定(无波动),因此较为优选的是使用所述缓冲延迟平均值。
通过使用所需要的播出点变化,块19D可以对缩放比率进行调整,以使偏移量与所需要的数量相关。图6表示所需要的播出点变化如何影响缩放比率调整。举例来说,如果所需要的播出点变化是0.08s,那么从到达间隔平均值中计算的缩放比率将会递增一个大小为0.25的偏移。界限+0.25之间的区域表示的是一个迟滞区域。迟滞区域越宽,缩放比率的波动就越小,然而获取所需要的缓冲延迟的精度也会越低。因此,图6所示的具体的值有可能需要一种依赖于本发明的实施细节的调整。
对于上文所述的缩放比率偏移确定过程来说,其中存在一种异常。
如果到达间隔平均值小于0.75,那么即使所需要的播出点变化大于零,缩放比率也会小于1.00。然而在这种情况下,由于网络侧的缓冲器下溢,因此很有可能出现中断,由此,当所需要的播出点变化大于零的时候,语音播出速率不应小于1.00。为了防止出现这种情况,如果所需要的播出点变化大于零,那么较为优选的是将缩放比率的下限设置成1.00(块19E使缩放比率的限度与某个合理的值相适应)。
再次参考图5,尤其是块19A,现在将要描述的是如何在会话中断的情况下确定缩放比率。如果已经得知用于当前语音会话的最后一个分组已经到达(块19F),那么缩放比率最大应该为1.00,并且在块19G中将其设置成1.00、如果希望将端到端延迟减至最小,那么同样应该在当前语音会话的末端将缩放比率设置成小于1.00。
假设会话中的最后一个分组尚未到达,在块19H中,其中将会确定中断延迟估计是否为零,如果为零的话,那么在块19I,缩放比率将被设定成某个最大可允许值(例如2.00)。这样一来,如果没有关于分组到达中断的在先估计,那么分组缓冲器12下溢的可能性将会降低。在块19H,如果中断估计不等于零,那么在块19J,缩放比率是根据等式(13)来设定的:
(13)缩放比率=(所需要的缓冲延迟-分组创建间隔)/缓冲延迟平均值。
这样做将会设定缩放比率,使之覆盖中断的平均值。
这时可以假设当前语音会话已经中断了一段时间,这段时间与分组创建间隔是对应的。实际上,分组在两倍于分组创建间隔的时间中均未到达,但是正如正常情况中一样,在这里并未将第一个间隔计算进来。此外,正如以上在图3的描述中论述的那样,此时的缓冲延迟平均值与当前的缓冲延迟是对应的。
只有在所需要的缓冲延迟与分组创建间隔之间的差值大于缓冲延迟平均值的时候,才有必要使用等式(13),否则缩放比率将被设定成1.00。优选地,只有在中断的开端才会设置缩放比率,并且所述缩放比率会在中断的持续过程中得到保持。这样一来,在频繁出现中断的情况下可以确保语音信号的播出速率保持相对恒定。
优选地,在块19E上将缩放比率限定到适当的值,例如0.5与2.00之间的值,由此不会发现令听众感到不快的语音播出速率。然而,缩放比率的确切值最好通过经验来确定,并且有可能是取决于听众的。
如先前所述,到达间隔平均值与所需要的播出点变化的组合将会防止缩放比率出现不必要的波动。这种处理可通过使用若干个实例来加以说明。首先,假设在中断之后跟随了一个快速链路,其次,假设中断之后跟随了一个慢速链路,第三,假设中断之后跟随了一个正常链路。
在第一种情况中,分组到达间隔被认为是很快的,相应地,缩放比率要小于1。由于缓冲延迟会在中断过程中减小,因此所需要的播出点变化将会大于零,这样一来,缩放比率的最小值等于1。由此,非常明显的是,由于分组到达速率要高于播出这些分组的速率,因此,缓冲延迟会朝着适应平均中断所需要的某个值增加。在出现中断的时候,如果当前的缓冲延迟足以覆盖平均中断的持续时间,那么语音信号将是以1.00的比率播出的。
在第二种情况(慢速链路)中,到达间隔平均值将会导致缩放比率大于1,并且大于0.06s的必要播出点变化将会强化这种情况,由此缓冲延迟会开始朝着希望值移动。这样一来,可以推断的是,在中断过程中以及中断之间,缩放比率将会保持大于或等于1。
在第三种情况(正常链路)中,到达间隔平均值与创建间隔是相等的,因此,相应地,缩放比率也是一致的。然而,如果所需要的播出点变化大于0.06秒,那么最终的缩放比率是1.25。同样,缓冲延迟将会开始朝着某个希望值增加。
图7更详细地表示了图1中的时间缩放块22。适合的时间缩放算法包含了以下文献所公开的算法,但是并不局限于此:Wayman J.L.(1988),“Some Improvements on the Synchronized-overlap-addMethod of Time Scale Modification for Use in Real-time SpeechCompression and Noise Filtering”,IEEE Transactions onAcoustics,Speech and Signal Processing,1月,第36卷第139~140页;Verhelst W.(1993),“An Overlap-add technique Basedon Waveform Similarity(WSOLA)for High Quality Time-scaleModification of Speech”,IEEE International Conference onAcoustics,Speech,and Signal Processing,4月27~30日,Minneapolis,第2卷第554~557页,USA;以及Stenger A.(1996),“A New Error Concealment Technique for Audio Transmission withPacket Loss”,European Signal Processing Conference,Trieste,9月10~13日,第1965~1968页,Italy。
以上描述的时间缩放算法的各种具体优化方式都是可以使用的,但是常规算法同样是可以使用的。
选定的时间缩放算法是根据缩放比率来修改信号的(参见图5)。在输入信号中,其中删除或再生(复制)了一定数量的采样,以使输入与输出信号长度之间的比率与所需要的缩放比率相对应(块22B)。在块22C中,通过根据删除或复制的采样数量来修改虚拟播出点变化(图1中的输出22A),可以使定时保持一致。如果图1显示的输入20A所指示的解码帧的类型是非帧或坏帧,则使之经过比率为1.00的时间缩放算法。缩放缓冲器24的下溢将会导致无帧状态,并且它会将下一个分组的播出点向前移动20ms,由此将这种处理视为是对语音信号执行了大小为160次采样的时间缩放,并且在块22C中将会以等价方式来修改虚拟播出点变化。
在每一次调用块22中的时间缩放算法之后,输出采样将被输入到缩放缓冲器24。在最后一次为当前的20ms间隔调用了时间缩放算法之后,所述缩放缓冲器中的最早的160个采样将会移动到音频缓冲器26中,以便进行进一步处理。
图8显示的是适合实施本发明的无线通信系统50的非限定性实施例的简化框图。无线通信系统50包括至少一个移动站(MS)100。此外,图8还显示了一个示例性的网络运营商60,其中举例来说,该运营商具有一个用于与例如公共分组数据网络或是PDN之类的电信网络相连的节点30,至少一个基站控制器(BSC)40或等价设备,以及多个基站收发信台(BTS)50,这些基站收发信台也称为基站(BS),它们将会根据预定的空中接口标准而在连至移动站100的前向或下行链路方向上向移动站100传送物理和逻辑信道。从移动站100到网络运营商的反向或上行链路通信路径同样是存在的,该路径传送的是移动站发出的接入请求或业务量。小区3与每一个BTS50相关联,其中在任何指定时间都会将某一个小区视为是服务小区,而将一个或多个邻接的小区视为是相邻小区。此外,更小的小区(例如微微小区)也是可以使用的。
空中接口标准可以遵照任何一种适当的标准或协议,并且允许提供语音和数据业务量,例如接入具有数据业务量能力的因特网70以及Web页下载。在本发明的当前优选实施例中,空中接口标准是一个能使MS100实现VoIP功能的标准,由此,假设来自因特网70的IP分组包含了用于在MS100上回放的语音信号采样(也就是VoIP分组55)。然而,如先前所述,到来的IP分组有可能包含其他信息,例如视频信息。
通常,移动站100包含了控制单元或是控制逻辑,例如输出与显示器140的输入相耦合并且输入与键盘或数字键盘160的输出相耦合的微控制单元(MCU)120。移动站100可以是手持的无线电电话,例如蜂窝电话或个人通信器。移动站100还可以包含在某个卡或是模块内部,并且在使用过程中,所述卡或模块是与另一个设备相连的。例如,移动站10可以包含在PCMCIA或相似类型的卡或模块内部,而在使用过程中,所述PCMCIA或是相似类型的卡或模块将会安装在膝上型计算机或笔记本计算机之类的便携式数据处理器内部,甚至安装在用户可穿戴的计算机上。
假设MCU120包含或是耦合到某种类型的存储器130,其中该存储器包括:用于存储操作程序以及其他信息的非易失存储器,以及用于临时存储必要数据、中间结果存储、所接收的分组数据、所要传送的分组数据等等的易失存储器。对本发明来说,其中通过采用操作程序以使MCU120能够执行软件例程、分层以及协议,其中所述软件例程、分层以及协议是实施根据本发明的自适应语音播出和缓冲方法所必需的,此外,该操作程序还能借助显示器140以及小键盘160来为用户提供合适的用户界面(UI)。虽然并未显示,但是在这里通常提供了麦克风和扬声器,以使用户能够以常规方式来执行语音呼叫,此外还能根据本发明而向MS100的用户播出那些来自图1中的音频缓冲器26的语音信号。
移动站100还包括一个无线部分,该部分包含了数字信号处理器(DSP)180或是等价的高速处理器或逻辑电路,以及一个无线收发信机,其中所述无线收发信机包含了一个发射机200和一个接收机220,所述发射机和接收机都与天线240相耦合,以便与网络运营商进行通信。此外,在这里还提供了至少一个逻辑振荡器,例如频率合成器(SYNTH)260,以便对收发信机进行调谐。而那些诸如数字化语音和分组数据之类的数据是经由天线240而被发射和接收的。
参考图1~7所描述的各种块可以在硬件、软件或是软硬件组合中以各种方式来加以实现。在一种典型的情况中,各种语音缓冲器是在MCU120的控制和管理之下通过使用存储器130中的位置来实现的,并且例如解码块20和时间缩放块22之类的各种功能块都是由MCU120在执行那些从存储器130中读取的程序指令的时候实现的。然而,应该指出的是,在某些实施例中,全部的自适应管理功能(包括语音信号修改)最好使用DSP180来实现。
根据上文中的描述可以了解,与传统的缓冲技术相比,使用本发明的优点在于显著减少了语音信号中出现中断的概率。对传统的缓冲处理来说,在某些情况中,所引入的缓冲延迟有可能过大,另一方面又有可能过小。因此,对传统的缓冲处理而言,所察觉的语音质量将会成为所引入的缓冲延迟与输出语音中实际遭遇的中断之间的折衷。通过使用本发明的自适应缓冲管理技术,可以避免这种折衷。通过根据本发明的自适应缓冲管理,由于缓冲深度与包含语音的分组的到达过程中的最近中断是关联的,因此所引入的仅仅是必要数量的缓冲延迟。
在本发明的优选实施例中,由于缓冲延迟可以在语音周期中连续改变,因此,语音周期与静默周期之间的时间关系不会受到影响,不连续性也可以得到避免。
只有在需要的时候,使用本发明所实现的自适应语音缓冲和播出管理才会影响到语音信号。通常,这个概念很好地与纠错方法相关联,而所述纠错方法通常只在出现差错的时候才会运作。当到达分组的平均吞吐量不很理想的时候,语音播出有可能要慢于或快于原始语音,但是对听众来说,这种情况要比输出语音中的持续中断更令人好受一些。
假设以稳定的播出速率来使用音频源,如果在终端上是以始终慢于创建分组速率的速率来接收语音分组的,那么通过使用本发明,输出语音的速度应该慢于原始语音速度。假设替代使用一个产生了随机输出中断的音频源,并且在终端上以一个高于创建语音分组速率的速率来接收中断之间的语音分组,以使到达间隔的长期平均值近似于分组创建时间周期,那么使用本发明只在输出语音的速度方面产生基本上无法察觉的波动。
本发明适用于任何VoIP终端,并且一般来说,本发明适应于互联网或是其他任何分组交换网络,由此,本发明并不仅限于与上文中参考图8所描述的移动站100以及网络50的实施例相结合使用。
当语音吞吐量发生显著变化的时候,通过使用本发明,有可能在终端上实现连续的输出语音。由此,在与分组交换网络相连的设备中,通过使用本发明,可以改善观察到的输出语音质量,其中包含分组的语音信号是经由该网络而被接收的。
上文中的描述借助示例性的非限制实例而为发明人目前设想的用于执行本发明的最佳方法和设备提供全面和内容丰富的描述。然而,在结合附图以及附加权利要求而对上文中的描述进行阅读的时候,根据上文的描述,各种修改和改装对相关领域的技术人员而言都是显而易见的。举例来说,本领域技术人员可以尝试使用其他那些相似或等价的持续时间、采样数量、缓冲器大小、比率等等。另外,在本发明的无线实施例中,链路也可以包含光学链路,而不必包含RF链路。此外,终端可以具有连至网络的有线连接。尽管如此,关于本发明的教导的所有此类及相似修改仍旧落入本发明的范围以内。
此外,虽然以上主要是在蜂窝电话终端或移动站100之类的移动电话的环境中进行描述的,本发明同样可以应用于任何一个能与分组交换网络相连并且能够接收和播出分组中的语音的终端。由此,举例来说,这些教导同样适用于袖珍式PC、膝上型PC以及台式PC,而且还适用于个人组织器以及个人数字助理(PDA),其中所述个人组织器以及个人数字助理(PDA)具有语音能力,并且更概括的是音频能力。
此外,如上所述,本发明适用于那些具有至少一个分组接收终端或设备的系统,其中所接收的分组传送的是预定在一个基本连续和基本相同的时间序列中(也就是以一种基本上没有中断和不连续性的方式)呈现给听众或观众的按时间排序的内容。语音内容和视频内容是按时间排序的内容中的两个非限制性的实例。
此外,非常有利的是,本发明的某些特征可以在没有相应使用其他特征的情况下得到应用。同样,上文中的描述只被视为是对本发明的原理进行描述,而不是对其进行限制。
Claims (35)
1.一种用于对耦合到分组网络并且能够借助IP来进行语音传送的设备进行操作的方法,包括:
接收并缓冲那些包含了语音信息的数据分组;
对语音信息进行解码,以便获取语音采样;以及
在产生语音播出信号之前,缓冲那些经过解码的语音采样,其中
当接收数据分组的速率不同于创建数据分组的速率的时候,将会对经过解码的语音采样实施作为分组网络状态函数的时间缩放处理,以便调整缓冲延迟,从而能够改变语音播出速率,由此提供基本连续的输出语音信号。
2.根据权利要求1所述的方法,包括用于确定数据分组到达延迟的实质上异步的组件,以及对异步组件的操作做出响应从而根据解码语音采样的时间缩放来控制缓冲延迟的实质上同步的组件。
3.根据权利要求1所述的方法,其中分组缓冲器的缓冲延迟是在播出分组中的第一个帧之前,分组停留在分组缓冲器中的时段。
4.根据权利要求3所述的方法,还包括修正至少关于分组中断延迟平均值以及平均偏差、分组到达间隔平均值、缓冲延迟平均值以及平均偏差的估计。
5.根据权利要求3所述的方法,还包括测量缓冲延迟,该缓冲延迟等于虚拟播出点与分组创建间隔次数(输入分组序列号减去第一个分组的序列号)之和减去输入分组的到达时间。
6.根据权利要求3所述的方法,还包括测定缓冲延迟,该缓冲延迟是虚拟播出点的函数,其中如果剩余分组以稳定的速率播出,但却仍旧导致与实际不稳定播出分组的情况相同的端到端延迟,那么该虚拟播出点即为本该用于语音会话中的第一个分组的播出点。
7.根据权利要求6所述的方法,其中在对解码语音采样进行时间缩放或者接收分组缓冲器下溢或溢出的时候,相应地改变虚拟播出点。
8.根据权利要求1所述的方法,其中解码包括检测出所接收的语音帧的类型是坏帧、非帧还是好帧,并且其中只有在检测到所接收的语音帧是好帧的情况下才执行时间缩放。
9.一种能够借助IP来传递语音的设备,该设备与分组网络相耦合,其中包括:
接收机,用于接收和缓冲那些包含语音信息的数据分组;
解码器,用于解码语音信息,以便获取语音采样;
缓冲器,用于在产生语音播出信号之前缓冲解码的语音采样;还包括:
插入在所述解码器与所述缓冲器之间的时间缩放功能,用于在接收数据分组的速率不同于创建数据分组的速率的时候对解码的语音采样实施作为分组网络状态函数的时间缩放处理,以便调整缓冲延迟,从而能够改变语音播出速率,由此提供基本连续的输出语音信号。
10.根据权利要求9所述的设备,包括用于确定数据分组到达延迟的实质上异步的组件,以及对异步组件的操作做出响应从而根据解码语音采样的时间缩放来控制缓冲延迟的实质上同步的组件。
11.根据权利要求9所述的设备,其中接收的分组缓冲器的缓冲延迟是在播出分组中的第一个帧之前,分组停留在分组缓冲器中的时段。
12.根据权利要求11所述的设备,还包括修正至少关于分组中断延迟平均值以及平均偏差、分组到达时间间隔平均值、缓冲延迟平均值以及平均偏差的估计的装置。
13.根据权利要求11所述的设备,还包括用于估计缓冲延迟的装置,该缓冲延迟等于虚拟播出点与分组创建间隔次数(输入分组序列号减去第一个分组的序列号)之和减去输入分组的到达时间。
14.根据如权利要求11所述的设备,还包括用于估计缓冲延迟的装置,该缓冲延迟是虚拟播出点的函数,其中如果剩余分组以稳定的速率播出,但却仍旧导致与实际不稳定播出分组的情况相同的端到端延迟,那么该虚拟播出点即为本该用于语音会话中的第一个分组的播出点。
15.根据权利要求14所述的设备,其中在对解码语音采样进行时间缩放或者分组缓冲器下溢或溢出的时候,相应地改变虚拟播出点。
16.根据权利要求9所述的设备,其中所述解码器包括用于检测出所接收的语音帧的类型是坏帧、非帧还是好帧的装置,并且所述功能只有在检测到所接收的语音帧是好帧的情况下才会运作。
17.一种包含在计算机可读介质中的计算机程序,该程序指示数据处理器对耦合到分组交换网络的设备进行操作,其中包括:
用于接收和缓冲那些包含了按时间排序的内容的数据分组的程序代码,其中所述数据分组预期在一个基本连续和基本相同的时间序列中呈现给用户;
用于对内容进行解码以便获取那些用于在采样播出周期中为用户进行演示的采样的程序代码;以及
用于在以不同于创建数据分组的速率接收数据分组的时候,对分组网络状态做出响应,以便对采样进行时间缩放,从而能够改变播出速率,由此提供基本连续和相同的演示的程序代码。
18.根据权利要求17所述的计算机程序,还包括用于确定数据分组到达延迟的实质上异步的组件,以及对异步组件的操作做出响应,从而根据所述时间缩放来控制缓冲延迟的实质上同步的组件。
19.根据权利要求17所述的计算机程序,其中所述按时间排序的内容包括语音信号,并且其中分别根据数据分组是以快于还是慢于创建数据分组的速率到达的情况,通过删除或是复制采样中的一个操作来对所述采样进行时间缩放。
20.根据权利要求17所述的计算机程序,其中所述按时间排序的内容包括视频信号,其中分别根据数据分组是以快于还是慢于创建数据分组的速率到达的情况,通过删除或是插入视频帧或采样中的一个操作来对所述采样进行时间缩放。
21.根据权利要求20所述的计算机程序,其中视频和音频是独立控制的,并且通过使每一个的虚拟播出点保持时间同步而使视频与音频同步。
22.根据权利要求17所述的计算机程序,还包括用于为每一个到达分组测量延迟的程序代码,如果在一个或多个分组的到达过程中出现中断,那么所述程序代码至少将会更新缓冲延迟值、虚拟播出点值以及中断延迟值。
23.根据权利要求17所述的计算机程序,其中在第一个分组到达的时候,缓冲延迟值将被设置为零,此外还包括用于更新缓冲延迟平均值的程序代码,以及使用经过更新的缓冲延迟平均值、缓冲延迟平均偏差值。
24.根据权利要求17所述的计算机程序,还包括用于为每一个到达分组测量延迟的程序代码,如果在分组到达过程中检测到中断,那么所述程序代码会通过使用指数平均来至少更新中断延迟平均值,如果没有在分组到达过程中检测到中断,那么所述程序代码会通过使用指数平均来至少更新到达间隔平均值。
25.根据权利要求17所述的计算机程序,其中所述设备包括通过无线链路耦合到分组交换网络的接收机。
26.根据权利要求17所述的计算机程序,其中所述设备包括通过有线链路耦合到分组交换网络的接收机。
27.根据权利要求17所述的计算机程序,其中所述设备包括具有RF接收机的蜂窝电话,用于以无线方式耦合到分组交换网络。
28.一种用于对耦合到分组网络的设备进行操作的方法,包括:
接收并缓冲数据分组,其中所述数据分组包含了代表按时间排序的内容的信息,所述按时间排序的内容预期是在一个基本连续和基本相同的时间序列中呈现给个人的;
对信息进行解码,以便获取采样;以及
在产生播出信号之前,缓冲这些采样,其中
当接收数据分组的速率不同于创建数据分组的速率的时候,对所述采样实施作为分组网络状态函数的时间缩放处理,以便调整缓冲延迟,从而能够改变语音播出速率,由此提供基本连续的输出信号。
29.根据权利要求28所述的方法,还包括用于确定数据分组到达延迟的实质上异步的组件,以及对异步组件的操作做出响应,从而根据所述解码采样的时间缩放来控制缓冲延迟的实质上同步的组件。
30.根据权利要求28所述的方法,其中所述按时间排序的内容包括语音信号,并且其中分别根据数据分组是以快于还是慢于创建数据分组的速率到达的情况,通过删除或是复制采样中的一个操作来对所述采样进行时间缩放。
31.根据权利要求28所述的方法,其中所述按时间排序的内容包括视频信号,其中分别根据数据分组是以快于还是慢于创建数据分组的速率到达的情况,通过删除或是插入视频帧或采样中的一个操作来对所述采样进行时间缩放。
32.一种设备,该设备包含了用于耦合到分组网络的接口,其中包括:
接收机,用于接收数据分组,其中所述数据分组包含了代表按时间排序的内容的信息,所述按时间排序的内容预期是在一个基本连续和基本相同的时间序列中呈现给个人的;
解码器,用于对信息进行解码,以便获取采样;以及
缓冲器,用于在产生播出信号之前存储这些采样;以及
缩放器,用于在接收数据分组的速率不同于创建数据分组的速率的时候,对采样实施作为分组网络状态函数的时间缩放处理,以便调整缓冲延迟,从而能够改变语音播出速率,由此提供基本连续的输出信号。
33.根据权利要求32所述的设备,其中所述设备还包括用于确定数据分组到达延迟的实质上异步的组件,以及对异步组件的操作做出响应,从而根据解码采样的时间缩放来控制缓冲延迟的实质上同步的组件。
34.根据权利要求32所述的设备,其中所述按时间排序的内容包括语音信号,并且其中分别根据数据分组是以快于还是慢于创建数据分组的速率到达的情况,通过删除或是复制采样中的一个操作来对所述采样进行时间缩放。
35.根据权利要求32的设备,其中所述按时间排序的内容包括视频信号,其中分别根据数据分组是以快于还是慢于创建数据分组的速率到达的情况,通过删除或是插入视频帧或采样中的一个操作来对所述采样进行时间缩放。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/696,252 | 2003-10-29 | ||
US10/696,252 US7457282B2 (en) | 2003-10-29 | 2003-10-29 | Method and apparatus providing smooth adaptive management of packets containing time-ordered content at a receiving terminal |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1902864A true CN1902864A (zh) | 2007-01-24 |
Family
ID=34550089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004800338099A Pending CN1902864A (zh) | 2003-10-29 | 2004-10-21 | 在接收终端上提供分组的平滑自适应管理的方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7457282B2 (zh) |
EP (1) | EP1678577A4 (zh) |
JP (1) | JP2007511939A (zh) |
CN (1) | CN1902864A (zh) |
WO (1) | WO2005043272A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111447253A (zh) * | 2020-02-28 | 2020-07-24 | 清华大学 | 缓冲区管理方法、系统、设备及存储介质 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7274740B2 (en) * | 2003-06-25 | 2007-09-25 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
US9325998B2 (en) * | 2003-09-30 | 2016-04-26 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
US20040156327A1 (en) * | 2004-02-11 | 2004-08-12 | Yankielun Norbert E. | System employing wireless means for governing operation of an apparatus and methods of use therefor |
US8018850B2 (en) | 2004-02-23 | 2011-09-13 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
JP4311312B2 (ja) * | 2004-09-10 | 2009-08-12 | 日本電気株式会社 | 時系列データ管理方法およびプログラム |
US7797723B2 (en) * | 2004-10-30 | 2010-09-14 | Sharp Laboratories Of America, Inc. | Packet scheduling for video transmission with sender queue control |
US8356327B2 (en) * | 2004-10-30 | 2013-01-15 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
US7784076B2 (en) * | 2004-10-30 | 2010-08-24 | Sharp Laboratories Of America, Inc. | Sender-side bandwidth estimation for video transmission with receiver packet buffer |
US7675946B2 (en) * | 2005-08-22 | 2010-03-09 | Infosys Technologies, Ltd. | System and method for managing playout time in packet communication network |
US20070067480A1 (en) * | 2005-09-19 | 2007-03-22 | Sharp Laboratories Of America, Inc. | Adaptive media playout by server media processing for robust streaming |
US9544602B2 (en) * | 2005-12-30 | 2017-01-10 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
US7652994B2 (en) * | 2006-03-31 | 2010-01-26 | Sharp Laboratories Of America, Inc. | Accelerated media coding for robust low-delay video streaming over time-varying and bandwidth limited channels |
US7796999B1 (en) | 2006-04-03 | 2010-09-14 | Sprint Spectrum L.P. | Method and system for network-directed media buffer-size setting based on device features |
US7894488B2 (en) * | 2006-04-13 | 2011-02-22 | Cisco Technology, Inc. | Apparatus and method for monitoring quality metrics associated with a wireless network |
US8121115B2 (en) * | 2006-07-10 | 2012-02-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Compressed delay packet transmission scheduling |
US8483243B2 (en) | 2006-09-15 | 2013-07-09 | Microsoft Corporation | Network jitter smoothing with reduced delay |
US8861597B2 (en) * | 2006-09-18 | 2014-10-14 | Sharp Laboratories Of America, Inc. | Distributed channel time allocation for video streaming over wireless networks |
US7652993B2 (en) * | 2006-11-03 | 2010-01-26 | Sharp Laboratories Of America, Inc. | Multi-stream pro-active rate adaptation for robust video transmission |
US8165224B2 (en) * | 2007-03-22 | 2012-04-24 | Research In Motion Limited | Device and method for improved lost frame concealment |
US7969929B2 (en) * | 2007-05-15 | 2011-06-28 | Broadway Corporation | Transporting GSM packets over a discontinuous IP based network |
US8675853B1 (en) | 2007-06-20 | 2014-03-18 | West Corporation | System, method, and computer-readable medium for diagnosing a conference call |
NZ593645A (en) * | 2009-02-09 | 2014-01-31 | Ericsson Telefon Ab L M | Method and arrangement in a wireless communication system |
NZ593644A (en) * | 2009-02-09 | 2014-03-28 | Ericsson Telefon Ab L M | Method and arrangement in a wireless communication system |
US8611337B2 (en) * | 2009-03-31 | 2013-12-17 | Adobe Systems Incorporated | Adaptive subscriber buffering policy with persistent delay detection for live audio streams |
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 |
WO2014039843A1 (en) * | 2012-09-07 | 2014-03-13 | Apple Inc. | Adaptive jitter buffer management for networks with varying conditions |
GB2532042B (en) * | 2014-11-06 | 2017-02-08 | Imagination Tech Ltd | Pure delay estimation |
US10560373B2 (en) * | 2017-04-06 | 2020-02-11 | Gvbb Holdings S.A.R.L. | System and method for timely and uniform distribution for real-time packet transmission |
TWI690440B (zh) * | 2018-10-17 | 2020-04-11 | 財團法人車輛研究測試中心 | 基於支持向量機之路口智慧駕駛方法及其系統 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69631393T2 (de) * | 1995-03-29 | 2004-10-21 | Hitachi Ltd | Dekoder für komprimierte und multiplexierte Bild- und Audiodaten |
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 |
US6452950B1 (en) | 1999-01-14 | 2002-09-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptive jitter buffering |
US6549587B1 (en) * | 1999-09-20 | 2003-04-15 | Broadcom Corporation | Voice and data exchange over a packet based network with timing recovery |
US6377931B1 (en) * | 1999-09-28 | 2002-04-23 | Mindspeed Technologies | Speech manipulation for continuous speech playback over a packet network |
US7281053B2 (en) * | 2000-10-13 | 2007-10-09 | Aol Llc | Method and system for dynamic latency management and drift correction |
EP1349342A1 (en) | 2002-03-28 | 2003-10-01 | Alcatel | A method, an output unit, a terminal, and computer program products for reconstructing a continuous data stream at the receiving point of a packet network |
-
2003
- 2003-10-29 US US10/696,252 patent/US7457282B2/en not_active Expired - Fee Related
-
2004
- 2004-10-21 EP EP04791735A patent/EP1678577A4/en not_active Withdrawn
- 2004-10-21 JP JP2006537460A patent/JP2007511939A/ja active Pending
- 2004-10-21 CN CNA2004800338099A patent/CN1902864A/zh active Pending
- 2004-10-21 WO PCT/IB2004/003460 patent/WO2005043272A2/en active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111447253A (zh) * | 2020-02-28 | 2020-07-24 | 清华大学 | 缓冲区管理方法、系统、设备及存储介质 |
CN111447253B (zh) * | 2020-02-28 | 2021-06-25 | 清华大学 | 缓冲区管理方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP1678577A4 (en) | 2007-05-30 |
WO2005043272A2 (en) | 2005-05-12 |
WO2005043272A3 (en) | 2006-08-17 |
US7457282B2 (en) | 2008-11-25 |
JP2007511939A (ja) | 2007-05-10 |
US20050094622A1 (en) | 2005-05-05 |
EP1678577A2 (en) | 2006-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1902864A (zh) | 在接收终端上提供分组的平滑自适应管理的方法和设备 | |
US7424026B2 (en) | Method and apparatus providing continuous adaptive control of voice packet buffer at receiver terminal | |
JP2007511939A5 (zh) | ||
JP4504429B2 (ja) | 端末間のボイスオーバインターネットプロトコルのメディアの待ち時間を管理する方法および装置 | |
US7319703B2 (en) | Method and apparatus for reducing synchronization delay in packet-based voice terminals by resynchronizing during talk spurts | |
EP2055055B1 (en) | Adjustment of a jitter memory | |
JP2006135974A (ja) | 適応的バッファ遅延を有する音声受信機 | |
KR102419595B1 (ko) | 재생 지연 조절 방법 및 이를 적용한 전자 장치 | |
US10743222B2 (en) | Facilitation of handover coordination based on voice activity data | |
CN1901431A (zh) | 一种丢帧隐藏方法和装置 | |
EP1584042A2 (en) | Resynchronizing drifted data streams with a minimum of noticeable artifacts | |
US20120284021A1 (en) | Concealing audio interruptions | |
EP2070294B1 (en) | Supporting a decoding of frames | |
CN1268080C (zh) | 用于在电信系统中发送信息的方法 | |
EP2351371A1 (en) | Method for buffering streaming data and a terminal device | |
WO2010049879A1 (en) | Method for buffering streaming data and a terminal device | |
EP2487920A2 (en) | Apparatus, and associated method, by which to play out media data pursuant to a media data service | |
Huang et al. | Robust audio transmission over internet with self-adjusted buffer control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |