当前位置:网站首页>专利 >正文

在接收器终端提供话音分组缓冲器的连续自适应控制的方法和装置的制作方法

专利名称:在接收器终端提供话音分组缓冲器的连续自适应控制的方法和装置的制作方法
技术领域
本发明一般地涉及电信设备和终端,具体地涉及连接到分组交换网络而且能比如在VoIP(基于网际互联协议的话音)呼叫期间接收包含话音的数据分组的终端。虽然主要在接收和播放包含话音的分组这一背景中进行描述,但是本发明也应用于包含视频信号的分组,而且一般而言应用于如下分组,该分组传送要在基本上连续和基本上一致的时间顺序中(即以基本上既没有中断也没有不连续的方式)呈现给收听者或者观看者的时间有序内容。话音内容和视频内容是时间有序内容的两个主要但非限制性的例子。
背景技术
在比如通用分组无线电系统(GPRS)无线系统的分组交换系统中,由于数据分组到达时间的变化所造成的不确定可能对系统性能有显著影响。分组到达时间变化的原因包括网络资源的拥塞以及连续分组之间的路由变化。当分组如在VoIP系统中那样包含话音数据时,为了获得持续的话音输出,在数据分组接收器处的缓冲深度或者缓冲延迟应当与分组到达时间的变化成比例。
常规的固定初始延迟数据缓冲器可以在某一程度上去除变化。然而,很有可能网络条件将根据网络资源的拥塞、接收终端的位置和网络组件的具体实施而变化。利用常规(固定延迟)的缓冲,无法对有变化的网络条件进行反应。此外,当吞吐量一贯地低时,无法防止接收器缓冲下溢。
出于这些原因,如果在输出话音的缓冲延迟和最小中断方面希望有最佳操作则需要引入某类自适应缓冲器控制。该缓冲器控制应以尽可能平稳的方式改变缓冲延迟。换而言之,缓冲延迟的改变在较长间隔中以同一比率来完成比缓冲延迟在短的间隔中先减少、再增加、再次减少等等更为合乎需要。
至少两种现有技术的缓冲器控制技术已经需要网络端对端延迟的准确知识Ramjee R.(1994),“Adaptive Playout Mechanisms forPacketized Audio Applications in Wide-Area Networks”,发表于IEEEINFOCOM’94,计算机通信学报会议,6月12-13日,加拿大多伦多,Vol.2.pp.680-688;以及Liang Y.J.(2001),“Adaptive Playout SchedulingUsing Time-Scale Modification in Packet Voice Communications”,发表于声学、语音和信号处理学报IEEE国际会议,5月7-11日,盐湖城,Vol.3,pp 1445-1448。然而,为了准确地获得端对端延迟将需要在发送终端和接收终端使用同步时钟,因此目前无法以最为商业可用的终端来准确地获得。
已经提出不需要这类信息的另一技术Telefonaktiebolaget LMEricsson.“Adaptive Jitter Buffering”,WO 00/42749。这一方式尝试在固定的采样间隔估计网络条件。尽管这一方式可能在停顿或者延迟尖峰(中断被认为是缓冲器为空的时间量,或者更确切地说,如果没有引入时间缩放则是缓冲器会为空的时间量)以较短间隔出现时有一些用处,但是如果在连续停顿之间的间隔大于采样间隔,则可能会存在在某一采样间隔期间中不会出现停顿的情况。由此接着是控制机制将减少缓冲延迟,这就与已经出现停顿的情形相悖。如果停顿在下一采样间隔期间出现,则由于缓冲器下溢而造成所不希望的话音停顿。在话音中断之后,缓冲延迟在后继采样间隔期间再次增加。正如可以理解到的,这类操作可能容易造成如下情形缓冲延迟被控制机制减少/增加/减少等等,导致不必要的播放速率波动。此外,在执行缓冲延迟改变(采样间隔)之前必须累积某一固定数目的分组。这就在分组以减少的速率到达时造成较慢的反应时间,以及潜在地增加语音输出中断的可能性,因为缓冲延迟仅在采样间隔之后才增加。在WO 00/42749的方式中,缓冲器延迟的改变通过丢弃或者延迟分组来实现,更具体地说,该改变是在静默时段期间通过添加或者去除包含静默的语音帧来实现的。然而,仅添加或者去除静默会造成静默时段与语音时段之间时间关系的改变,这可能导致在句子之间以及也可能在词语之间不自然地发出过长或者过短的静默。静默时段的持续时间可能因句子或者因词语而变化,因此可能造成语音的不自然节奏。
一般来说,自适应缓冲器控制应当仅在需要它时才应用。在分组交换网络中的情形可能是这样分组以突发到达,而在每个突发之间有长的(可能数秒)延迟。如果长期的到达间隔平均与创建分组的速率相同则这不成问题。这仅意味着物理缓冲器大小应当在接收器侧足够的长以适应变化。然而,在自适应缓冲器控制的设计中应当对这有所考虑,因为如果缓冲延迟波动则话音的播放速率不应当令人厌烦地波动。
因此可以理解,用以应对包含话音或者视频信号的数据分组的到达时间可变性的当前方式并不令人满意,而且没有充分地解决在VoIP和其它类型的基于数据分组的网络系统中提供自然发声的话音时固有的问题。
在上文引用的共同受让的美国专利申请中,缓冲器控制方式使用了对分组到达中断的估计。尽管颇为适合于在许多网络环境中使用,但是在语音分组以突发方式到达的一些高度动态环境如用于增强型数据速率GSM演进(EDGE)环境中,使用不同类型的缓冲控制机制可能更为适宜。例如,在这类网络中,代表两秒语音的分组可能在很短的间隔期间到达,此后在包含语音的分组到达中可能有两秒停顿。

发明内容
根据这些教学的当前优选实施例来克服上述和其它问题以及实现其它优点。
本发明的一方面是基于以下实现尽管有长的停顿,但是如果音频信号样本的整体到达速率与创建音频信号的速率相同,则收听者不会感受到例如语音的音频信号的不连续。因此,根据本发明,取代了测量分组到达之间的停顿,优选地代之以测量如果没有引入保留延迟则会在音频信号的播放中出现的中断,而且将分组缓冲器控制至少部分地基于这一测量。
换而言之,本发明的目的不是测量输出语音中的中断延迟(即收听者听到的中断),因为那一延迟取决于在分组到达的停顿之前就存在的保留延迟量。优选地代之以测量如果没有引入保留延迟就会听到的中断延迟,而且以这一方式可以确定需要多少保留延迟来覆盖平均中断延迟。
如果根据慢的分组到达速率来减缓语音,则这一修改会影响基本延迟(因为使用了基本偏移),因此在那一情况下,如果到达间隔平均最多约为分组创建间隔的两倍则防止了输出语音的不连续。
公开了一种设备、计算机程序和方法,用以接收和缓冲包含信息的数据分组,该信息代表了要在基本上连续和基本上一致的时间顺序中呈现给个人的时间有序内容,比如话音信号;对信息进行解码以获得样本,以及在生成播放信号之前缓冲该样本。根据分组网络条件对每帧中的样本进行时间缩放从而能够改变播放速率,以便在以与创建述数据分组的速率不同的速率接收数据分组时提供基本上连续的输出信号。时间缩放操作使用基本延迟和保留延迟进行操作,其中在以比创建数据分组的速率更慢的速率接收数据分组时将基本延迟控制为正值,而其中对保留延迟进行管理以在基本延迟变为负的情况下提供对中断的防范。


当结合附图来阅读时,这些教学的上述和其它方面将会在下面对具体实施方式
的详细描述中变得更为清楚明显,在附图中图1是对根据本发明的自适应缓冲器延迟控制的高级描述进行图示的系统框图和过程流程图;图2是对图1的估计更新块进行图示的系统框图和过程流程图;
图3是对图1的缓冲延迟更新块进行图示的系统框图和过程流程图;图4是对图1的缓冲延迟控制块进行图示的系统框图和过程流程图;图5是对图4的确定时间缩放偏移块进行图示的系统框图和过程流程图;图6是对图1的时间缩放块进行图示的系统框图和过程流程图;图7是对图6的时序一致块进行图示的系统框图和过程流程图;图8是作为适用于实施图1-7中所示的发明的一个实施例的移动台和无线网络的简化框图;图9示出了用于对运用本发明的第一例子进行说明的曲线图集,该例子具体而言是基本延迟控制的例子,该基本延迟控制具有其后跟随有慢链路的快速启动;以及图10示出了用于对运用本发明的第二例子进行说明的曲线图集,该例子具体而言是在长的停顿之间具有高到达速率(突发链路)的保留延迟控制的例子。
具体实施例方式
无论所关注的信号是语音、音乐、某一其它类型的可听信号或者视频信号或者一般而言任何时间有序信号,都可以使用下文描述的自适应缓冲器控制机制。因此,尽管在本公开中使用了术语话音,但是对术语话音的使用不应当理解为仅意味着人类发声。
一般来说,自适应缓冲器控制应当仅在有需要时才影响话音信号。这一概念涉及到其它纠错方法,该方法仅在已经出现一个或多个错误时才起作用。在分组交换网络中的情形可能是这样,分组以突发到达,而在每个突发之间有长的(例如,数秒)延迟。如果长期的到达间隔平均与生成话音分组的速率相同,则这一点不成问题,而且仅意味着物理缓冲器大小应当在接收器侧足够地长以适应变化。然而,在自适应控制系统的设计中应当对这有所考虑,因为如果缓冲延迟波动则话音的播放速率不应当令人厌烦地波动。
基于软件的自适应控制实体要求基于硬件或者软件的时钟,这是因为需要分组的到达时间。将这一时钟实施为以话音帧间隔进行递增的计数器将是最简便的。然而,如果希望更准确的时序,则应当将时钟实施为更精确的软件计数器或者硬件时钟。在以下讨论中考虑了软件计数器,但是这不是对于本发明之实践的限制。而且,假设话音分组在发送器处被顺序编号,使得分组的相对创建时间可以根据顺序编号来确定。
图1是根据本发明的自适应缓冲器控制技术的逻辑流程图。在图1中,缓冲延迟被认为是分组的播放点(该分组中第一帧的播放时间瞬间)与该分组的到达时间之差。目的在于根据两个单独参数来调节缓冲延迟(a)分组的到达间隔和(b)中断。缓冲延迟因此被认为是两个分量的组合基本延迟和保留延迟。
基本延迟在这里被认为是由于分组的到达速率而引入的缓冲延迟量。如果分组比创建它们更快地到达,而且分组以与创建它们相同的速率播放,则基本延迟增加。基本延迟是通过根据分组的平均到达间隔调整对它们的播放来进行控制的。分组没有比创建它们更快地播放的原因在于,很有可能由于快速到达,在某一点出现网络缓冲器下溢,这就造成在接收器终端看到的分组到达产生停顿。在分组以快速方式到达的时间期间引入的基本延迟然后可以在这样的停顿期间加以利用,而收听者不会听到话音信号的中断。另一方面,如果分组以比创建它们的速率更慢的速率到达,则分组的播放间隔相对于平均到达间隔有所增加,使得基本延迟保持为正。否则,慢的到达速率将造成语音的不连续。优选地针对会话中具有最大顺序编号的分组中的最后帧来估算基本延迟。
保留延迟在这里被认为是附加延迟,该附加延迟被用作中断的预期并且用作针对中断的防范。中断被认为在基本延迟变为负时出现,这意味着具有会话最大顺序编号的分组中的最后帧的基本延迟已经被消耗了,而中断延迟因此被定义为基本延迟保持为负的时间量。如果保留延迟足以覆盖中断延迟则听不到中断。
话音帧的播放优选地在第二话音分组已经到达之后就立即开始。可以延迟第二分组,使得可以适应对慢链路的反应,因此初始延迟被嵌入到基本延迟而不是保留延迟中。在话音会话期间,修改保留延迟以覆盖中断的平均持续时间。在优选实施例中,这是通过使用话音信号的时间缩放对分组的播放间隔进行修改来实现的。
如图1中所示,自适应控制方法和系统10具有两个组成部分异步部分12和同步部分14。现在对它们进行描述。
异步12异步部分12之所以如此命名是因为它仅在分组到达时才起作用。随着分组到达,将它置于分组缓冲器12A中,而且在12B测量关于该分组的到达间隔。如果已经出现中断,则也测量中断延迟。根据这些测量,在12C更新这些估计(中断延迟、到达间隔)。
同步14在缓冲延迟的控制中使用到达间隔和中断延迟的估计(来自块12C)。在14A更新缓冲延迟的分量,此后时间计数器加一(块14B),该计数器由此对应于一个话音帧的持续时间。在测量到达间隔、中断延迟和缓冲延迟分量时使用时间计数器。根据到达间隔平均来控制基本延迟,使得即使分组比创建它们更慢地到达,缓冲器也不会下溢。另一方面,将保留延迟维持足够大以覆盖中断延迟。通过确定对分组的播放速率均有影响的基本偏移和保留偏移来让控制系统参与时间缩放。根据该偏移来估算时间缩放比率1.00+基本偏移+保留偏移。时间缩放比率是缩放的信号长度与原始的信号长度之比。如果时间缩放比率限制在0.5与2.0之间,则解码次数对于一个话音帧的间隔而言可以是0次、1次或者2次。在块14C、14D、14E、14F和14G的循环之后,在每次解码之后,对样本进行时间缩放而且将之存储于缩放缓冲器14G中。执行解码和时间缩放的循环,直至在缩放缓冲器14G中存在有至少160个样本,此后将缩放缓冲器14G中的最先160个样本传送到音频缓冲器14H以供进一步处理。可以注意到,当话音信号以8,000Hz(8,000Hz×0.02s=160)进行采样时,160个样本对应于20ms话音帧(例如AMR或者GSM话音帧)。整个自适应过程因此对于在它之后发生的任何音频处理是透明的。在优选实施例中,为缩放缓冲器14G而保留的最大大小是480个样本(或者三个话音帧),不过可以适应多于或者少于三个的话音帧。
如果在分组缓冲器12A中没有分组而系统在等待下一个分组到达时,则出现缓冲器下溢。分组缓冲器12A的下溢因此延迟下一个分组的播放点,而它可以被认为是通过时间缩放(插入话音帧)来加长信号。当分组缓冲器12A为满时出现缓冲器上溢,而最先分组需要通过最新分组的到达来重写。在这一情况下,可以跳过一些分组的播放,使得可以维持分组同步。由于去除了话音帧,所以跳过分组顺序编号可以被认为是通过时间缩放来缩短信号。
时间缩放或者缓冲器下溢或者上溢的结果是以不规则的间隔播放分组。为简便起见,优选的是所有端对端延迟的改变都被嵌入于一个定义为虚拟播放点的变量中。本质上,如果以稳定的间隔播放其余分组,而仍然获得与分组的实际不规则播放相同的端对端延迟,则虚拟播放点就是用于会话第一分组的播放点。
话音帧的类型可以是良好帧、不良帧(遗漏)或者等待帧(不增加读顺序编号)。当在分组缓冲器12A中没有帧时,或者当在分组缓冲器12A中有帧、但是延迟了分组缓冲器12A中第一帧的播放时,可能出现等待帧。对于等待帧而言,播放令人舒适的噪声是优选的。当判决是否可以对给定帧进行时间缩放时需要话音帧的类型。时间缩放仅当帧的类型是良好帧时才执行。对不良帧和等待帧不进行时间缩放是优选的,因为这些帧代表话音信号的不连续。
对于在图1中示出的某些块的构造和操作进行更具体的描述。关于延迟测量块12B,使用下式来测量到达间隔(1)到达间隔=当前时间-前一到达时间,其中前一到达时间是前一分组的到达时间。
在中断的情况下,中断延迟测量如下
(2)中断延迟=当前时间-前一播放时间,其中前一播放时间是如果没有引入保留延迟则播放前一帧而且因此是在中断之前的最后一帧的时间。
现在参照图2,对图1的估计更新块12C的构造和操作进行描述。先注意到在更新估计时有两个不同的主要情况。第一情况是在如果尚未出现中断则调用该功能时(块212A过渡到块212B)。在这一情况下,如果到达间隔小于分组创建间隔的三倍(如块212B所确定的那样),则更新到达间隔平均(块212D)。为什么如果分组到达之间的停顿至少三倍于分组创建间隔则不更新到达间隔平均,这有两个主要原因。第一原因在于,在优选实施例中,缩放比率限制为最大到2.00。因此,比分组创建间隔的两倍更大的到达间隔平均没有效果。第二原因在于,话音分组可能以突发到达。在这点上显然的是,到达间隔平均在突发期间为低。然而,当在分组到达之间有长的停顿时,不应当更新到达间隔平均,否则它会暂时地变得大于实际的到达间隔平均,因此造成不必要的信号缩放。
第二估计更新情况是在已经出现中断时(块212A过渡到块212C)。中断延迟估计(块212G、212H)优选地通过使用指数平均来更新。会话的第一中断(如块212C所确定的那样)与后续中断分别地加以估计。之所以优选地这样做是因为第一中断是最可能在每个会话中出现的中断。因此,优选更精确地知道第一中断延迟的估计,使得可以减少由于第一中断而听到不连续的可能性。
在这两种情况下都进行检查以确定基本延迟是否为负(块212E),而且如果为负则可以重置用于估算基本延迟(参见下文的式7)的开始点(块212E过渡到块212F)。这是通过将用于基本延迟的第一顺序编号设置为到达分组的顺序编号、将基本虚拟播放点设置为当前时间,以及将基本延迟设置为等于创建间隔减一来完成的。这确保了下文示出的式7正确地执行基本延迟的测量。在块212I检查到达顺序编号,而且如果它小于用于基本延迟的第一顺序编号,则将那一参数更新为已经到达的分组的顺序编号。另一方面,如果到达的顺序编号大于当前最大的到达的顺序编号,则也更新那一参数。以这一方式确保了基本延迟测量在分组紊乱地到达时也进行工作。基本延迟在中断的情况下可能变为负,而且如果基本延迟已经为负但是到达间隔小于创建间隔的三倍则也可能为负。在这一情况下不将其视为中断而视为慢的到达速率。
重要的是注意到,到达间隔平均不对应于实际的到达间隔平均,因为没有将中断和停顿纳入考虑之中。结果,可以考虑反映出在中断或者停顿之间的到达间隔平均。在图2的描述中讨论了在停顿期间不更新到达间隔平均的原因。当已经出现中断时不更新到达间隔平均的原因在于,在这一方式中,影响缓冲延迟行为的两个问题是相分离的,即在链路接通时分组的到达间隔平均以及当链路在足以使分组缓冲器12A下溢的时间段内暂时地关断时由中断引起的延迟,如果没有引入保留延迟的话。已经发现这很好地对应了分组交换网络的性质,正是由于该性质,通常到达间隔平均最有可能接近它在中断或者停顿出现之前的情况。
仍然参照图2,而且更特别地是到达间隔平均更新块212D,优选地仅当尚未出现中断或者停顿时才更新到达间隔平均。随着第一分组到达,将到达间隔平均设置为等于创建间隔。对于后续分组,通过使用如下的指数平均来更新该平均(3)到达间隔平均i+1=0.125×到达间隔+0.875×到达间隔平均i。
式(4)和式(5)用于更新第一中断和后续中断(分别是块212H和212G)。先关于是否应当初始化中断延迟估计来进行确定。如果中断延迟平均为零则初始化该估计。如果初始化,则中断延迟平均被设置为所测量的中断延迟,而平均偏差被设置为零。如果没有初始化,则通过使用如下的指数平均来更新该估计(4)中断延迟平均i+1=0.25×中断延迟+0.75×中断延迟平均i,以及(5)中断延迟MDi+1=0.25×|中断延迟-中断延迟平均|+0.75×中断延迟MDi,其中MD是平均偏差。
当出现中断而中断平均不为零但是平均偏差为零时,则平均偏差初始化如下(6)中断延迟MD=|中断延迟-中断延迟平均|/2。
以这一方式,如果初始值为零,则平均偏差更快地收敛到有效值。
可以认为,环境在连续会话之间没有显著地改变,因此中断延迟估计可以用来在后继会话中发挥作用。然而,如果在会话期间没有出现中断,则优选地将该平均一分为二,使得最终它将收敛到零。立即将方差设置为零。以这一方式确保了如果状况有改进则该估计将对应于这一行为。会话应当足够地长以便进行除以二的操作,而在这一方式中,对于不大可能出现中断情况的短会话而言,不必毫无目的地将该平均一分为二。有效会话的长度可以例如是五秒,在该会话之后可以出现将第一中断延迟和后续中断延迟一分为二。
现在参照图3,对图1的缓冲延迟更新块14A的构造和操作进行描述。
先注意到没有使用缓冲延迟本身而是使用它的分量(基本延迟和保留延迟)。因此不必计算缓冲延迟。然而,如果希望检查该过程的整体完整性,则可以计算缓冲延迟而且将其与其分量之和做比较。
为在会话期间目前到达的具有最大顺序编号的分组的最后帧来估算基本延迟。为简便起见,优选的是,与到达间隔平均有关的所有基本延迟修改都被嵌入到定义为基本虚拟播放点的一个变量中。本质上,如果以有规则的间隔播放其余分组,而仍然得到与分组的实际不规则播放相同的基本延迟,则基本虚拟播放点就是用于在基本延迟的当前估算时段中第一到达分组的播放点。换句话说,基本虚拟播放点是基本延迟的当前估算时段的第一顺序编号应当已经进行播放的时间,使得式(7)可以用来为即将来临的分组计算延迟。正如上文关于图2所讨论的那样,基本延迟的估算时段开始于在基本延迟已经变为负之后第一分组到达的时间瞬间。
基本虚拟播放点先通过简单地将虚拟播放点改变添加到当前基本虚拟播放点值来进行更新。在这一更新之后,虚拟播放点改变被设置为零。
基本延迟代表了在会话中目前到达的具有最大顺序编号的分组中的最后话音帧在没有保留延迟的情况下在播放之前会在分组缓冲器12A中等待的时间量。
(7)基本延迟=基本虚拟播放点+创建间隔×(最大的到达顺序编号-用于基本延迟的第一顺序编号)+创建间隔-1-当前时间。
在块314A中求解式7之后,在块314B确定基本延迟是否已经变为负。如果没有变为负,则控制传递到块314C,其中让前一播放时间等于当前时间。然而,如果基本延迟已经变为负,则控制传递到块314D,其中测试保留延迟以确定它是否大于零,而且如果大于零则控制传递到块314E以递减保留延迟。以这一方式,当基本延迟为负时保留延迟就被消耗了。然后控制传递到块314F,其中确定当前时间是否等于还是大于前一分组到达时间加上分组创建间隔的三倍。如果是这样,则在块314G检测到中断,否则认为该延迟归因于慢的到达速率并且因此它对于到达间隔平均估计具有影响。对于比创建间隔的三倍更小的停顿,根据到达间隔平均进行缩放将防止确定出现中断。
现在参照图4,对图1的缓冲延迟控制块14E的构造和操作进行描述,该缓冲延迟控制块操作用以管理缓冲延迟的高级控制。时间缩放比率是三个分量之和1.00+基本偏移+保留偏移。这对应于相对于到达间隔平均来控制基本延迟和相对于平均中断来控制保留延迟这一概念。如果已知分组流的最后分组已经到达(例如一个或多个尾部分组已经到达),则无需修改话音信号的播放速率并且因此基本偏移和保留偏移均设置为零(块414A过渡到块414B)。否则,如果最后帧尚未到达,则解码帧的类型可确定接着要执行的动作。
在块414C,如果正确地接收来自分组缓冲器12A的帧,则控制传递到块414D以确定改变次数计数器是否应当减一,而且如果需要减一,则在块414E执行减一。接着确定计数器的次数是否已经递减到零,这将意味着如在块414G中所确定的那样可以改变缩放偏移,这一点将在下文中结合图5进行讨论,否则就在块414H中将基本偏移和保留偏移设置为零。回到块414C,在缓冲器中有帧但是找不到下一帧的情况下,该帧被认为是不良帧。在缓冲器中根本没有帧的情况下,帧类型就称为等待帧。在这两种情况下,在块414I中将基本偏移和保留偏移设置为零,而在块414J中将次数改变计数器的设置为值二。在这一情况下,系统在最后的不连续之后等待两个帧,因为如果针对包含不连续的话音进行时间缩放,则该时间缩放可能无法以最佳方式进行工作。
现在参照图5,对图4的确定时间缩放偏移块414G的构造和操作进行描述。当设置了实际的时间缩放比率时使用时间缩放偏移。时间缩放比率是三个分量之和1.00+基本偏移+保留偏移。当前优选地允许时间缩放因子在0.5与2.00之间,使得播放速率让收听者听起来很自然。
该系统先在块514A确定所需的保留延迟量,使得可以补偿下一中断。由于第一中断与其它中断相分离,所以所需保留延迟量也取决于是否已经出现第一中断。更具体来说,如果尚未出现第一中断,则所需(必需的)保留延迟为(8)所需保留延迟=第一中断延迟平均+B×第一中断延迟MD,否则(9)所需保留延迟=中断延迟平均+C×中断延迟MD。
在式(8)和式(9)中,常数B和C的值是防护与端对端延迟之间的折衷。例如,B的合理值可以是二,而C的合理值可以是一。以这一方式,对于在多数会话中出现的第一中断将有更多防护。确定时间缩放偏移的方式取决于是否已经中断会话。
如果中断尚未出现,则控制传递到块514C以相对于到达间隔平均来设置基本偏移,然后传递到块514D以对基本偏移施加限制(在0与1之间),然后传递到块514E,其中确定所要求的播放点改变。最后,控制传递到块514F以确定保留偏移。
如上文讨论过的那样,基本延迟被认为是由于分组的到达速率而引入的缓冲延迟量。因此,在块514C相对于到达间隔平均来设置对基本延迟进行控制的基本偏移(10)基本偏移=(到达间隔平均/创建间隔)-1。
上式(10)仅在到达间隔平均大于创建间隔时才使用。如果到达间隔平均小于创建间隔,则基本偏移将为负。然而,在这样的情况下,很有能会由于在网络侧处的缓冲下溢而带来停顿,因此播放速率不应当增加。出于这一原因,如果到达间隔平均小于创建间隔则将基本偏移设置为零。基本偏移优选地上限为值一(块514D)。通过使用由式(10)获得的基本偏移,可以防止缓冲器的下溢(如果没有中断而且到达间隔平均不大于创建间隔的约两倍),因为分组没有比它们平均到达的速率更快地进行播放。
为了使得保留延迟朝着预期值收敛,对取决于所要求的播放点改变量的保留偏移进行估算。所要求的播放点改变(A)在块514E中确定如下(11)所要求的播放点改变=所需的保留延迟-保留延迟。
上式(11)仅在保留延迟大于零时才使用,否则将所要求的播放点改变设置为零。之所以这样的原因在于如果保留延迟为负,则表示缓冲先前已经上溢(因为保留延迟减少了由于缓冲器上溢而跳过的帧数目),而增加保留延迟将仅仅增加进一步上溢的可能性。
通过使用所要求的播放点改变,在块514F调节保留延迟,使得它与所需的保留延迟相联系。表1说明了所要求的播放点改变量如何影响保留延迟的调节。当满足前两行的条件时,根据在它们下面的值来设置保留偏移。第一行使得保留偏移与所需数量相关,而第二行确保了保留偏移和基本偏移的组合将总是为最大值1.00,因此将时间缩放比率上限为2.00。例如,如果所需的播放点改变是九帧,而基本偏移是0.875,则将保留偏移设置为0.125。
表1.根据所需播放点改变的保留偏移所要求的播放点改变>=负 0 1 8 16基本偏移<=任意 任意0.875 0.75 0.5
保留偏移 -0.12500.1250.250.5现在描述如果已经中断会话(从判决块514B起的“是”路径)则如何确定缩放比率。先在块514G中将基本偏移设置为零。这对应于单独地补偿中断和到达间隔平均这一概念。接着在块514H调节所需的保留延迟(12)所需的保留延迟i+1=所需的保留延迟i-(当前时间-前一播放时间)。
通过使用式(12),从所需的保留延迟中减去中断目前已经经历的持续时间。在一些情况下,所需的保留延迟在求解式(12)之后可能为负,并且出于这一原因将该值下限为零。接着在块514I确定所需的保留延迟是否大于当前保留延迟。如果是则仍然需要为当前中断增加保留延迟,而且保留便宜设置如下(13)保留便宜=(所需的保留延迟/保留延迟)-1+D。
通过使用常数值D,可以更快地实现所需的保留延迟。D的合理值是0.25。式(13)仅在保留延迟大于零时才使用,否则将保留偏移设置为一。将保留便宜上限为一,使得最大时间缩放比率为二。
如果当前保留延迟等于或者大于所需的保留延迟,则无需为当前中断增加保留延迟。然而,该系统可以开始为下一中断累积保留延迟。先确定对于下一中断而言已经存在多少保留延迟(14)用于下一中断的保留延迟=保留延迟-所需的保留延迟。
用于下一中断的所需保留延迟量然后估算如下(15)所需的下一保留延迟=中断平均+C×中断MD。
现在,所要求的播放点改变(B)在块514K确定如下(16)所要求的播放点改变=所需的下一保留延迟-用于下一中断的保留延迟。
此后,在表1中描述的过程被用来确定保留偏移(在块514F)。由于该系统已经预备好下一中断,而当前中断仍在出现,所以也需要引入更多保护以防备当前中断。如果在当前中断之后尚未使用全部保留延迟,则残留的保留延迟可以用于下一中断。
现在参照图6,对图1的时间缩放块14F的构造和操作进行描述。适当的时间缩放算法被用于这一过程,而且一般来说,时间缩放是具体实施的问题。适当的时间缩放算法的非限制性例子可以在如下文献中找到“Some Improvements on the Synchronized-overlap-add Methodof Time Scale Modification for Use in Real-time Speech Compression andNoise Filtering”,Wayman J.L,声学、语音和信号处理IEEE学报,元月,Vol.36,pp.139-140(1988);“An overlap-add technique Based uponWaveform Similarity(WSOLA)for High Quality Time-scale Modificationof Speech”,Verhelst W.,声学、语音和信号处理IEEE国际会议,4月27-30号,美国明尼阿波利斯,Vol.2,pp.554-557(1993);或者“A NewError Concealment Technique for Audio Transmission with Packet Loss”,Stenger A.,欧洲信号处理会议,意大利里雅斯特,9月10-13日,pp.1965-1968(1996)。
在块614B中调用时间缩放算法之前,时间缩放比率在块614A中设置如下(17)时间缩放比率=1.00+基本偏移+保留偏移。
由于时间缩放操作,在块614C保持时序一致(在下文结合图7进行讨论)。如果解码帧的类型是等待帧或者不良帧,则使该帧通行经过使用比率1.00的时间缩放算法块614B。
在块614B中对时间缩放算法的每次调用之后,将输出样本复制到缩放缓冲器14G。当针对当前20ms间隔最后一次调用时间缩放时,缩放缓冲器14G中的最先160个样本被移到音频缓冲器14H以供进一步处理(见图1的块14H)。
现在参照图7,对图6的时序一致块614C的构造和操作进行描述,为了保持一致的时序,采取以下动作。先在块714A确定解码帧是否为等待帧。如果不是,则在块714B修改延迟。用于基本延迟和保留延迟的引入样本如下所示(18)基本缩放样本i+1=基本缩放样本i+160×基本偏移;以及(19)保留缩放样本i+1=保留缩放样本i+160×保留偏移。
接着,可以将保留延迟的改变作为帧的整数纳入考虑之中(20)保留延迟改变=int(保留缩放样本/160),其中int=整数,(21)保留延迟i+1=保留延迟i+保留延迟改变。
未考虑的保留缩放帧的数量如下(22)保留缩放样本i+1=保留缩放样本i-保留延迟改变×160。
对于基本延迟,该改变被嵌入到基本虚拟播放点中(23)基本延迟改变=int(基本缩放样本/160);以及(24)基本虚拟播放点改变i+1=基本虚拟播放点改变i+基本延迟改变。
未考虑的基本缩放样本的数量如下(25)基本缩放样本i+1=基本缩放样本i-基本延迟改变×160。
在块714A,如果确定帧是等待帧,则读顺序编号没有增加,而且它因此将下一顺序编号的播放点向上移动一帧。
然后在块714D确定是否在前一缓冲器下溢之后已经启动了播放。如果在前一缓冲器下溢之后尚未开始播放,而下一分组已经到达,则基本延迟还未消耗并且因此该等待帧在时间上将基本延迟的虚拟播放点(块714E)向前移动。在这一情况下,基本虚拟播放点加一。
如果已经开始播放,则控制代之以传递到块714F,其中确定以下条件之一是否为真保留延迟是否为负,或者在缓冲器中是否至少有一个帧。如果保留延迟为负,则表示缓冲器在会话期间上溢。从这一上溢起,然后接着是缓冲器下溢,而在缓冲器下溢期间的时间将造成负的保留延迟朝着零增加。因此通过为每个等待帧将保留延迟加一来考虑到这一点(块714G)。其它情形是即使在缓冲器中有帧,仍然不从缓冲器提取帧。这一情形可能在重新同步分组流时出现。同样在这一情况下,在块714G将保留延迟加一。
图8示出了适合于实施本发明的无线通信系统50的非限制性实施例的简化框图。无线通信系统50包括至少一个移动台(MS)100。图8也示出了示例性网络运营商60,该运营商例如具有用于连接到电信网络如公共分组数据网络或者PDN的节点30、至少一个基站控制器(BSC)40或者等效装置以及也称为基站(BS)的多个基站收发器(BTS)50,该基站收发器根据预定空中接口标准在前向或者下行链路方向上发送物理和逻辑信道到移动台100。从移动台100到网络运营商也存在着对起始于移动站的接入请求和业务进行传送的反向或者上行链路通信路径。小区3与每个BTS 50相关联,其中一个小区在任何给定时间将被视为服务小区,而一个或多个邻近小区将被视为相邻小区。较小的小区(例如微小区)也是可用的。
空中接口标准可以遵循任何适当的标准或者协议,而且可以实现语音和数据业务,比如实现因特网70接入和网页下载的数据业务。在本发明的当前优选实施例中,空中接口标准是使得能够通过MS 100来实现VoIP功能的空中接口标准,因此假设从因特网70到达的IP分组包含用于在MS 100进行回放的语音信号样本(即VoIP分组55)。然而,正如先前指出的那样,到达的IP分组可能包含其它信息,比如音乐或者视频信号,或者一般而言包含内容播放速率可以修改的任何时间有序内容。
移动台100通常包括控制单元或者控制逻辑,比如微控制单元(MCU)120,该单元具有耦合到显示器140之输入的输出和耦合到键盘或者小键盘160之输出的输入。移动台100可以是手持无线电电话,比如蜂窝电话或者个人通信器。移动台100也可以容置于在使用期间连接到另一设备的卡或者模块之内。例如,移动台100可以容置于PCMCIA或者类似类型的卡或者模块中,该卡或者模块在使用期间安装于便携数据处理器如膝上型或者笔记本计算机或者甚至是可由用户佩戴的计算机之内。
假设MCU 120包括有或耦合到某类存储器130,该存储器包括用于存储操作程序和其它信息的非易失性存储器以及用于暂时存储所需数据、高速暂存存储器(scratchpad memory)、接收的分组数据、待发送的分组数据等的易失性存储器。出于本发明的目的,假设操作程序使得MCU 120能够执行实施根据本发明的自适应话音播放和缓冲方法所要求的软件例程、层和协议以及经由显示器140和小键盘160提供与用户的适当用户接口(UI)。虽然未示出,但是通常提供麦克风和扬声器用于使得用户能够以常规方式进行话音呼叫以及根据本发明使得来自图1的音频缓冲器14H的话音信号能够向MS 100的用户播放。
移动站100也包含无线部分,该无线部分包括数字信号处理器(DSP)180或者等效的高速处理器或者逻辑以及无线收发器,该无线收发器包括都耦合到天线240以便与网络运营商通信的发送器200和接收器220。提供至少一个本地振荡器如频率合成器(SYNTH)260用于调谐收发器。通过天线240发送和接收数据,比如数字化语音数据以及分组数据。
参照图1-7描述的各块可以用硬件、软件或者硬件和软件的组合来不同地加以实施。在优选实施例中,在MCU 120的控制和管理之下,使用存储器130中的存储单元来实施各种缓冲器,比如分组缓冲器12A、缩放缓冲器14G和音频缓冲器14H,以及通过MCU 120在执行从存储器130读取的程序指令的同时分别实施各种功能块,比如解码、缓冲延迟控制和时间缩放块14D、14E和14F。然而,应当注意,在一些实施例中可以使用DSP 180来实施整体自适应控制功能(包括话音信号修改)。
基于以上描述,应当理解,运用本发明的一个优点在于话音信号中断的可能性与传统的缓冲技术相比可以显著地减少。利用传统的缓冲,引入的缓冲延迟在某些情形中可能多余地大,或者另一方面又太小。因此,利用传统的缓冲,感知的话音质量变成在引入的缓冲延迟与实际体验的输出话音中断之间的折衷。通过使用本发明的自适应缓冲器控制技术,可以避免这一折衷。利用根据本发明的自适应缓冲器控制,仅引入了必要的缓冲延迟量,因为根据分组的到达间隔和分组内容播放的中断来实现缓冲延迟。
通过运用本发明可以实现的自适应话音缓冲和播放控制仅在需要之时才影响播放信号。这一概念总体上很好地与纠错方法相关联,该纠错方法一般而言通常仅在已经出现错误时才起作用。尽管在到达分组的平均吞吐量不理想时话音播放可能比原来更慢或者更快,但是这与输出话音时常发生的中断相比不那么让收听者感到厌烦。
通过运用本发明可以实现的自适应话音缓冲和播放控制利用了指数估计,这与如在一些现有技术的方式中那样使用采样间隔形成对照。因此,与一个采样间隔的分辨率相对照,可以利用一个话音帧的时间分辨率(例如20ms)来进行判决,由此提供更严密和更准确的控制。中断延迟的估计在连续中断之间的间隔相对长的环境中能够维持持续的语音输出。
总而言之,正如上文具体描述过的那样,基本延迟是由于分组的到达速率而引入的缓冲延迟之分量。根据到达间隔平均来控制基本延迟。如果分组比创建它们更快地到达,则分组以与创建它们相同的速率进行播放,因此基本延迟逐渐地增加。优选的是,分组没有比创建它们更快地进行播放,因为很有可能由于分组比创建它们更快地到达这一事实,在某一点将出现网络缓冲器下溢,而这又造成到达接收器终端的分组的停顿。然后可以在停顿期间使用在快速到达分组的时段期间累积的基本延迟,而且如果基本延迟的总量覆盖该停顿则听不到中断。另一方面,如果分组比创建它们更慢地到达,则增加分组的播放间隔,使得基本延迟不会变为负,而负的基本延迟将最终被体验为播放信号的中断。
保留延迟是缓冲延迟的附加分量,该附加分量用作针对中断的防范。当基本延迟变为负时认为出现中断。因此中断延迟被定义为基本延迟保持为负的时间量。然而,如果保留延迟覆盖了该中断的时段则听不到中断。优选地在第二话音分组已经到达之后立即启动话音帧的播放。等待第二话音分组的到达,使得可以执行对慢链路的反应,并且因此将初始延迟嵌入到基本延迟而不是保留延迟中。在话音会话期间修改保留延迟以便覆盖中断的平均持续时间。这是通过使用话音信号的时间缩放对分组的播放间隔进行修改来实现的。
在下文中是运用本发明的两个例子。在这些例子中假设一个分组包括八个20ms语音帧,因此在连续分组之间的创建时间为160ms(8×20ms)。
基本延迟控制的例子其后跟随有慢链路的快速启动(图9)数个分组在时间瞬间零到达,根据基本延迟初始地增加到1420ms这一事实可以看到这一点。这一高的到达速率使得平均到达间隔小于160ms。在这一快速开始之后,分组以如下速率到达,该速率一贯地慢于创建分组的速率(平均间隔是240),并且因此到达间隔平均开始增加(在快链路状况之后收敛到正确值需要一些时间)而基本延迟减少。当到达间隔平均超过创建间隔(也就是160ms)时,基本偏移变得大于零,造成时间缩放比率大于1.00。因此,基本延迟没有同样快地减少,因为分组比原来创建它们更慢地进行播放。在时间瞬间5000ms,到达间隔平均已经收敛以便接近正确值。由于使用固定点算法,基本偏移值没有准确地对应于到达间隔平均,并且因此基本延迟继续缓慢地减少。然而,基本延迟和保留延迟(保留延迟在这里为零)之和没有变为负,因此听不到中断。在这一情况下,没有来自前一会话的中断估计,因此没有使用保留延迟。下一例子将描述对保留延迟的使用。
保留延迟控制的例子在长的停顿之间的高到达速率(图10)数个分组在时间瞬间零到达,而基本延迟初始地增加到940ms。跟随这之后的是700ms停顿,在该停顿期间基本延迟减少。可以看出,一开始到达的分组中包含的语音样本的数量足以防止基本延迟在该停顿期间变为负,因此没有检测到中断。这意味着,即时没有保留延迟,基本延迟仍然具有足以覆盖分组到达中此第一停顿的值。在该停顿之后另一分组突发到达。到达间隔平均仅在停顿(该停顿大于分组创建间隔的三倍)之间进行更新,并且因此获得160ms以下的值。因此基本偏移为零。在先前会话中检测到中断,并且因此在存储器中有中断估计,根据该估计来确定所需的保留延迟。根据所需的保留延迟来设置保留偏移,因此时间缩放比率大于一。正如所能看到的,保留延迟开始朝着所需的保留延迟收敛。在时间瞬间4600ms检测到中断,基本延迟在这里变为负。从那一瞬间起,保留延迟开始减少,因为它现在被用来覆盖中断。然而,与此同时开始针对下一中断的准备,这也对于当前中断提供了附加防护。在第一中断结束(在时间瞬间5600,新的分组在这时到达)之后,确定仍然需要用来对可能的后续中断进行覆盖的保留延迟。利用这一方法,防止了缓冲器下溢,可以根据基本延迟和保留延迟在整个会话期间保持为正这一事实看到这一点。如果在这一情况下代之以使用传统的固定延迟缓冲,则收听者将会听到从基本延迟变为负的时间瞬间(在这一例子中为4600ms)开始的一秒中断。
以上描述已经通过示例性和非限制性例子提供了对发明人当前构思用于实施本发明的最佳方法和装置的完全和启发性的描述。然而,在结合附图和所附权利要求进行阅读时,根据上述描述,各种修改和适应对于本领域技术人员是明显的。仅仅作为一些例子而言,本领域技术人员可以尝试使用其它相似或者等效的时间持续时间、样本数目、缓冲器大小、比率等。此外,在本发明的无线实施例中,链路可以包括光链路,而不需要包括RF链路。同样,终端可以具有到网络的有线连接。然而,对本发明的教学进行的所有这些及相似修改仍然将落入本发明的范围之内。
另外,尽管上文主要在移动电话如蜂窝电话终端或者移动台100的背景中进行描述,但是本发明可以应用于任何终端,该终端可以连接到分组交换网络而且能接收分组和播放话音(或者一些其它时间有序内容)。因此,这些教学也可应用于例如袖珍型PC、膝上型PC和桌上型PC以及应用于具有话音功能或者更一般地具有音频功能的个人管理器和个人数字助理(PDA)。另外,同样如上文指出的,本发明可以应用于具有至少一个分组接收终端或者设备的那些系统,其中所接收的分组传送要在基本上连续和基本上一致的时间顺序中(即以基本上没有中断和不连续的方式)呈现给收听者或者观看者的时间有序内容。话音内容和视频内容是时间有序内容的两个非限制性例子。
另外,本发明的一些特征在没有对其它特征的对应使用时仍然可以不失其优点地加以使用。因此,以上描述应当被视为仅仅对本发明的原理进行说明而不是对本发明进行限制。
权利要求
1.一种用以对耦合到分组网络的设备进行操作的方法,包括接收和缓冲包括话音信息的数据分组;对所述话音信息进行解码以获得话音样本;以及在生成话音播放信号之前缓冲所述解码的话音样本,其中根据分组网络条件对每帧中所述解码的话音样本进行时间缩放以调节缓冲延迟从而能够改变话音播放速率,以便在以与创建所述数据分组的速率不同的速率接收所述数据分组时提供基本上连续的输出话音信号,其中所述缓冲延迟包括基本延迟和保留延迟,在以比创建所述数据分组的速率更慢的速率接收所述数据分组时将所述基本延迟控制在正值的情况,而对所述保留延迟进行管理以在所述基本延迟变为负的情况下提供针对中断的防范。
2.如权利要求1所述的方法,包括基本上异步的部分和基本上同步的部分,所述基本异步部分确定数据分组到达延迟,而所述基本同步部分响应于所述异步部分的操作以基于每帧中所述解码的话音样本的时间缩放来控制所述缓冲延迟。
3.如权利要求1所述的方法,其中分组缓冲器的延迟是分组在所述分组的第一帧的播放之前在所述分组缓冲器中驻留的时间段。
4.如权利要求3所述的方法,还包括根据是否已经出现中断、以及如果已经出现中断则根据是第一中断还是后续中断来修正对平均到达间隔、中断和所述基本延迟中至少一个的估计。
5.如权利要求1所述的方法,其中在第二话音分组到达之后启动话音帧的播放。
6.如权利要求1所述的方法,其中在话音会话期间修改所述保留延迟以便覆盖中断的平均持续时间。
7.如权利要求6所述的方法,其中修改所述保留延迟包括通过时间缩放来修改话音分组的播放间隔。
8.如权利要求1所述的方法,还包括将所接收的话音帧的类型检测为不良帧、等待帧和良好帧之一,以及其中基本偏移值和保留偏移值的重新设置的出现时序是至少部分根据所检测的帧类型的。
9.一种耦合到分组网络的设备,包括接收器,用于接收和缓冲包括话音信息的数据分组;解码器,用于对所述话音信息进行解码以获得话音样本;缓冲器,用于在生成话音播放信号之前缓冲所述解码的话音样本,还包括时间缩放功能,设置于所述解码器与所述缓冲器之间,用于对每帧中解码的话音样本进行时间缩放以调节缓冲延迟从而能够改变话音播放速率,以便在以与创建所述数据分组的速率不同的速率接收所述数据分组时提供基本上连续的输出话音信号,其中所述缓冲延迟包括基本延迟和保留延迟,在以比创建所述数据分组的速率更慢的速率接收所述数据分组时将所述基本延迟控制在正值的情况,而对所述保留延迟进行管理以在所述基本延迟变为负的情况下提供针对中断的防范。
10.如权利要求9所述的设备,包括基本上异步的部分和基本上同步的部分,所述基本异步部分确定数据分组到达延迟,而所述基本同步部分响应于所述异步部分的操作以基于每帧中所述解码的话音样本的时间缩放来控制所述缓冲延迟。
11.如权利要求9所述的设备,其中接收分组缓冲器的缓冲延迟是分组在所述分组的第一帧的播放之前在所述分组缓冲器中驻留的时间段。
12.如权利要求11所述的设备,还包括如下单元,所述单元用以根据是否已经出现中断、以及如果已经出现中断则根据是第一中断还是后续中断来修正对平均到达间隔、中断和所述基本延迟中至少一个的估计。
13.如权利要求9所述的设备,其中在第二话音分组到达之后启动话音帧的播放。
14.如权利要求9所述的设备,其中在话音会话期间修改所述保留延迟以便覆盖中断的平均持续时间。
15.如权利要求14所述的设备,其中修改所述保留延迟包括通过时间缩放来修改话音分组的播放间隔。
16.如权利要求9所述的设备,还包括检测器,所述检测用以将所接收的话音帧的类型检测为不良帧、等待帧和良好帧之一,以及其中基本偏移值和保留偏移值的重新设置的出现时序是至少部分根据所检测的帧类型的。
17.一种实施于计算机可读介质上的计算机程序,用于指引数据处理器对耦合到分组交换网络的设备进行操作,所述设备通过如下操作来进行操作接收和缓冲包括话音信息的数据分组;对所述话音信息进行解码以获得话音样本;以及在生成话音播放信号之前缓冲所述解码的话音样本,其中根据分组网络条件对每帧中所述解码的话音样本进行时间缩放以调节缓冲延迟从而能够改变话音播放速率,以便在以与创建所述数据分组的速率不同的速率接收所述数据分组时提供基本上连续的输出话音信号,其中所述缓冲延迟包括基本延迟和保留延迟,在以比创建所述数据分组的速率更慢的速率接收所述数据分组时将所述基本延迟控制在正值的情况,而对所述保留延迟进行管理以在所述基本延迟变为负的情况下提供针对中断的防范。
18.如权利要求17所述的计算机程序,包括基本上异步的部分和基本上同步的部分,所述基本异步部分确定数据分组到达延迟,而所述基本同步部分响应于所述异步部分的操作以基于每帧中所述解码的话音样本的时间缩放来控制所述缓冲延迟。
19.如权利要求17所述的计算机程序,其中分组缓冲器的延迟是分组在所述分组的第一帧的播放之前在所述分组缓冲器中驻留的时间段。
20.如权利要求19所述的计算机程序,还包括根据是否已经出现中断、以及如果已经出现中断则根据是第一中断还是后续中断来修正对平均到达间隔、中断和所述基本延迟中至少一个的估计。
21.如权利要求17所述的计算机程序,其中在第二话音分组到达之后启动话音帧的播放。
22.如权利要求17所述的计算机程序,其中在话音会话期间修改所述保留延迟以便覆盖中断的平均持续时间。
23.如权利要求22所述的计算机程序,其中修改所述保留延迟包括通过时间缩放来修改话音分组的播放间隔。
24.如权利要求17所述的计算机程序,还包括将所接收的话音帧的类型检测为不良帧、等待帧和良好帧之一,以及其中基本延迟偏移值和保留延迟偏移值的重新设置的出现时序是至少部分根据所检测的帧类型的。
25.如权利要求17所述的计算机程序,其中所述设备包括用于通过无线链路耦合到所述分组交换网络的接收器。
26.如权利要求17所述的计算机程序,其中所述设备包括用于通过有线链路耦合到所述分组交换网络的接收器。
27.如权利要求17所述的计算机程序,其中所述设备包括蜂窝电话,所述蜂窝电话具有用于无线地耦合到所述分组交换网络的RF接收器。
28.一种实施于计算机可读介质上的计算机程序,用于指引数据处理器对耦合到分组交换网络的设备进行操作,所述设备通过如下操作来进行操作接收和缓冲包括信息的数据分组,所述信息代表了要在基本上连续和基本上一致的时间顺序中呈现给个人的时间有序内容;对所述信息进行解码以获得样本;以及在生成播放信号之前缓冲所述样本,其中根据分组网络条件对每帧中的所述样本进行时间缩放从而能够改变播放速率,以便在以与创建所述数据分组的速率不同的速率接收所述数据分组时提供基本上连续的输出信号,其中对所述样本进行时间缩放以调节基本延迟和保留延迟,在以比创建所述数据分组的速率更慢的速率接收所述数据分组时将所述基本延迟控制在正值的情况,而对所述保留延迟进行管理以在所述基本延迟变为负的情况下提供对呈现所述时间有序内容时的中断的防范。
29.如权利要求28所述的计算机程序,包括基本上异步的部分和基本上同步的部分,所述基本异步部分确定数据分组到达延迟,而所述基本同步部分响应于所述异步部分的操作以控制所述基本延迟和所述保留延迟的值。
30.如权利要求28所述的计算机程序,还包括根据是否已经出现中断、以及如果已经出现中断则根据是第一中断还是后续中断来修正对平均到达间隔、中断和所述基本延迟中至少一个的估计。
31.如权利要求28所述的计算机程序,还包括将所接收的帧的类型检测为不良帧、等待帧和良好帧之一,以及其中基本偏移值和保留偏移值的重新设置的出现时序是至少部分根据所检测的帧类型的。
32.一种包括用于耦合到分组网络的接口的设备,包括接收器,用于包括信息的数据分组,所述信息代表了要在基本上连续和基本上一致的时间顺序中呈现给个人的时间有序内容;解码器,用于对所述信息进行解码以获得样本;缓冲器,用于在生成播放信号之前存储所述样本;以及缩放器,用于根据分组网络条件对每帧中的样本进行时间缩放从而能够改变播放速率,以便在以与创建所述数据分组的速率不同的速率接收所述数据分组时提供基本上连续的输出信号,所述缩放器通过基本延迟和保留延迟进行操作,在以比创建所述数据分组的速率更慢的速率接收所述数据分组时将所述基本延迟控制在正值的情况,而对所述保留延迟进行管理以在所述基本延迟变为负的情况下提供针对中断的防范。
33.如权利要求32所述的设备,其中所述设备包括基本上异步的部分和基本上同步的部分,所述基本异步部分确定数据分组到达延迟,而所述基本同步部分响应于所述异步部分的操作以控制所述缩放器的操作。
34.如权利要求32所述的设备,还包括估计器,所述估计器可操作用以根据是否已经出现中断、以及如果已经出现中断则根据是第一中断还是后续中断来修正对平均到达间隔、中断和所述基本延迟中至少一个的估计。
35.如权利要求32所述的设备,还包括检测器,所述检测器用以将所接收的帧的类型检测为不良帧、等待帧和良好帧之一,以及其中基本偏移值和保留偏移值的重新设置的出现时序是至少部分根据所检测的帧类型的。
36.如权利要求32所述的设备,其中所述数据分组包括基于IP的话音分组。
37.如权利要求32所述的设备,其中所述设备包括具有基于IP的话音功能的蜂窝电话。
38.一种实施于计算机可读介质上的计算机程序,用于指引数据处理器对耦合到网络的设备进行操作以便从所述网络接收信号样本和在播放之前自适应地缓冲所述信号样本,所述设备执行操作包括从所述网络接收包含分组的信号样本;以及根据分组的到达间隔和根据播放中断来调节缓冲延迟参数,其中所述缓冲延迟参数的值是根据分组的播放点与所述分组的到达时间之差,而且是基本延迟和保留延迟的组合,其中所述基本延迟代表由于分组的到达速率而引入的缓冲延迟量,使得如果分组比创建它们更快地到达,而且所述分组以与创建它们相同的速率进行播放,则增加所述基本延迟,其中在分组到达的停顿期间消耗在其中所述分组比创建它们更快地到达的时间期间所引入的所述基本延迟以避免播放中断;以及其中所述保留延迟代表附加延迟,所述附加延迟被用于对会在所述基本延迟变为负时出现的播放中断的预期,以及被用于针对所述播放中断的防范。
39.如权利要求38所述的计算机程序,其中从所述网络接收的所述分组包括基于IP的话音分组。
40.如权利要求38所述的计算机程序,其中所述设备包括蜂窝电话。
41.如权利要求38所述的计算机程序,其中针对目前已经接收的具有最大分组顺序编号的分组的最后帧来估算所述基本延迟。
42.如权利要求38所述的计算机程序,其中基本延迟修改与分组到达间隔平均有关,而且被嵌入于基本虚拟播放点变量中,如果以有规律的间隔播放其余分组,而仍然获得与分组的实际不规则播放相同的基本延迟值,则所述基本虚拟播放点变量代表了与用于在所述基本延迟的当前估算时段中的第一到达分组的播放点相对应的播放点。
43.如权利要求42所述的计算机程序,其中所述基本延迟被估算为等于基本虚拟播放点+创建间隔×(最大到达顺序编号-用于基本的第一顺序编号)+创建间隔-1-当前时间。
44.如权利要求43所述的计算机程序,其中所述基本延迟的估算时段开始于在所述基本延迟已经变为负之后第一分组到达的时间瞬间。
45.如权利要求42所述的计算机程序,其中通过将虚拟播放点改变添加到当前基本虚拟播放点值以及将所述虚拟播放点改变设置为零,来先更新所述基本虚拟播放点。
46.一种用于耦合到分组网络的设备,包括用于接收包括信息的数据分组的装置,所述信息代表了要在基本上连续和基本上一致的时间顺序中呈现给个人的时间有序内容;用于对所述信息进行解码以获得样本的装置;用于在生成播放信号之前存储所述样本的装置;以及用于根据分组网络条件对每帧中的样本进行时间缩放从而能够改变播放速率以便在以与创建所述数据分组的速率不同的速率接收所述数据分组时提供基本上连续的输出信号的装置,所述时间缩放装置通过基本延迟和保留延迟进行操作,在以比创建所述数据分组的速率更慢的速率接收所述数据分组时将所述基本延迟控制在正值的情况,而对所述保留延迟进行管理以在所述基本延迟变为负的情况下提供针对中断的防范。
47.如权利要求46所述的设备,其中所述设备包括基本上异步的装置和基本上同步的装置,所述基本异步装置用于获得数据分组到达延迟,而所述基本同步装置用于响应于所述异步装置的操作以控制所述时间缩放装置的操作。
48.如权利要求46所述的设备,还包括用于根据是否已经出现中断、以及如果已经出现中断则根据是第一中断还是后续中断来修正对平均到达间隔、中断和所述基本延迟中至少一个的估计的装置。
49.如权利要求46所述的设备,还包括用于将所接收的帧的类型检测为不良帧、等待帧和良好帧之一的装置,以及其中基本偏移值和保留偏移值的重新设置的出现时序是至少部分根据所检测的帧类型。
50.如权利要求46所述的设备,其中所述数据分组包括基于IP的话音分组。
51.如权利要求46所述的设备,其中所述设备包括具有基于IP的话音功能的蜂窝电话。
全文摘要
公开了一种设备、计算机程序和方法,用以接收和缓冲包含信息的数据分组,该信息代表了要在基本上连续和基本上一致的时间顺序中呈现给个人的时间有序内容,比如话音信号;对信息进行解码以获得样本,以及在生成播放信号之前缓冲样本。根据分组网络条件对样本进行时间缩放从而能够改变播放速率,以便在以与创建述数据分组的速率不同的速率接收数据分组时提供基本上连续的输出信号。时间缩放操作通过基本延迟和保留延迟进行操作,在以比创建数据分组的速率更慢的速率接收数据分组时将基本延迟控制在正值的情况,而对保留延迟进行管理以在基本延迟变为负的情况下提供对中断的防范。
文档编号G10L21/04GK1969321SQ200580019322
公开日2007年5月23日 申请日期2005年4月22日 优先权日2004年4月28日
发明者雅尼·马尔利拉 申请人:诺基亚公司

喜欢就赞一下

上一篇
下一篇

相关推荐

    专利名称:军鼓拉码结构的制作方法技术领域:本实用新型是一种军鼓上的配件,特别是一种用于将军鼓上的拉 簧拉绷紧,并在军鼓不断被敲击的情况下拉簧仍不会松弛的军鼓拉码 结构。背景技术:现有技术中的军鼓拉码结构,在拉簧被拉绷紧后,由于军鼓不断 被敲

    专利发布时间:2025-05-15阅读:(75)

    专利名称:对流散热式盘式节能灯泡的制作方法技术领域:对流散热式盘式节能灯泡技术领域[0001]本实用新型涉及一种节能灯,特别是涉及一种对流散热式盘式节能灯泡。背景技术:[0002]荧光灯问世以来,成为主流的室内照明光源,尤其是节能灯的使用越

    专利发布时间:2025-05-15阅读:(74)

    专利名称:一种封框胶固化装置的制作方法技术领域:本实用新型涉及显示技术领域,具体地,涉及一种封框胶固化装置。背景技术:液晶显示器(LCD:Liquid Crystal Display)因其体积小、功耗低、无福射等特点已成为目前平板显示器中的

    专利发布时间:2025-05-15阅读:(85)

    专利名称:导光板、背光源及液晶显示装置的制作方法技术领域:本实用新型涉及液晶显示技术领域,特别是涉及一种导光板、背光源及其液晶显示装置。背景技术:导光板广泛用于液晶显示设备中。目前普通应用的侧入式背光源如图1所示,在发光二极管LED灯条2点

    专利发布时间:2025-05-15阅读:(65)

    专利名称:摆动火焰电子蜡烛的制作方法技术领域:本实用新型涉及电子蜡烛技术领域,尤其涉及一种摆动火焰电子蜡烛。背景技术:目前的电子蜡烛多采用固定的火焰头设计,但由于火焰头不会摆动,难以达到真蜡烛的烛光摇曳效果。为了模拟真蜡烛的火焰头摆动,申请

    专利发布时间:2025-05-15阅读:(75)

    二胡滑轮弓的制作方法【专利摘要】本实用新型属于乐器制作的领域,尤其是二胡滑轮弓。二胡是独具魅力拉弦类民族乐器,音色接近人声,具很高情感渲染力,既能表现深沉、凄婉的意境,也能声绘壮丽雄浑的气场。演奏二胡,运弓的力度、速度及平稳度直接影响二胡演

    专利发布时间:2025-05-15阅读:(75)