用于控制话音质量的方法和设备的制造方法

文档序号:10660820阅读:451来源:国知局
用于控制话音质量的方法和设备的制造方法
【专利摘要】本公开涉及用于在移动性情形的情况下具体地通过控制端到端延时并且改进话音质量来控制话音质量的方法和设备。用于控制接收音频帧与处理音频帧之间的端到端延时的方法包括:接收包括至少一个已编码音频帧的数据分组;在分组缓冲器中存储接收到的数据分组;从所述分组缓冲器获取接收到的数据分组,并且将所述至少一个已编码音频帧解码为音频采样;以及处理所述音频采样,其中,调度从所述分组缓冲器获取接收到的数据分组并且对所述至少一个已编码音频帧进行解码基于关于所述音频采样的音频质量以及接收所述数据分组与处理所述音频采样之间的延时的目标准则,以及其中,所述调度在时间上动态地并且平滑地偏移,以避免音频失真。
【专利说明】
用于控制话音质量的方法和设备
技术领域
[0001]本公开涉及一种用于控制接收音频帧与处理音频帧之间的端到端延时的方法和设备。本公开还涉及一种用于在移动终端中使用的媒体处理电路以及一种用于调整移动终端的媒体处理电路中的抖动缓冲器大小的方法。具体地说,本公开涉及一种用于与话音增强、编解码与基于采样的抖动缓冲管理之间的精细粒度同步和自适应调度组合的在下行链路中使用基于采样的抖动缓冲管理和共享PCM缓冲器来使LTE上的语音和IP上的语音端到端媒体延迟最小化的方法。具体地说,本公开还涉及在高移动性情形中的改进的LTE上的语音、IP上的语音和视频抖动缓冲管理。
【背景技术】
[0002]分组交换网络上的媒体呼叫的实现方式必须应对网络抖动,S卩,传送时间将变化,并且分组可能没有按顺序到达。为了应对这些问题,接收机侧上的媒体引擎通常使用JBM(抖动缓冲管理)系统。为了预测能够保护不受抖动的最优缓冲量但不多于必要地增加端到端延时,已经有不同的策略。实际上,所有这些实现方式都尝试基于新近的但为过去的信息针对未来短期而预测网络行为。
[0003]必须不断地改进媒体处理中(具体地说,无线通信网络中,具体地说,IP上的语音(VoIP)系统中,具体地说LTE上的语音(VoLTE)系统中)所采用的方法和设备。可能期望改进媒体处理中(具体地说,移动接收机中)的端到端延时。
【附图说明】
[0004]包括附图以提供各方面的进一步理解,并且合并附图而且构成该说明书的一部分。附图示出各方面并且连同说明书一起服务于解释各方面的原理。其它方面以及各方面的很多期望优点由于通过参照以下详细描述而变得更好理解,因此将容易地领会它们。类似的标号指定对应的相似部分。
[0005]图1是包括基站110和移动终端120的无线通信网络100的示意图。
[0006]图2是根据本公开的用于控制接收音频帧与处理音频帧之间的端到端延时的方法200的示意图。
[0007]图3是根据本公开的音频处理系统的控制部分300的示意图。
[0008]图4是根据本公开的用于在音频处理系统中调度的活动400的示意图。
[0009]图5是根据本公开的用于调度图4中所描述的活动的调度系统500的示意图。
[0010]图6是根据本公开的用于控制接收音频帧与处理音频帧之间的端到端延时的设备600的示意图。
[0011]图7是根据本公开的用于调整移动终端的媒体处理电路中的抖动缓冲器的大小的方法700的示意图。
[0012]图8是根据本公开的媒体处理系统800的示意图。
[0013I图9是示出根据本公开的抖动缓冲管理控制实体905的活动900的示意图。
[0014]图10是根据本公开的用于在移动终端中使用的媒体处理电路1000的示意图。
[0015]图11是根据本公开的抖动缓冲配置设备1100的示意图。
[0016]图12是根据本公开的媒体帧1200的示意图。
【具体实施方式】
[0017]在以下【具体实施方式】中,参照附图,附图形成其一部分并且是通过可以实践本公开的说明性具体方面的方式而示出的。应理解,可以在不脱离本公开的范围的情况下,可以利用其它方面,并且进行结构或逻辑改变。因此,并非在限制性的意义上进行以下详细描述,本公开的范围由所附权利要求限定。
[0018]在此所描述的方法和设备可以基于端到端延时以及端到端延时的控制。端到端延迟或端到端延时指代经由网络(或系统或设备)从源到目的地传输分组所花费的时间。应理解,结合所描述的方法进行的注解对于被配置为执行方法的对应设备也可以保持成立,并且反之亦然。例如,如果描述具体方法步骤,则即使在附图中并未明确描述或示出用于执行所描述的方法步骤的单元,对应设备也可以包括该单元。此外,应理解,在此所描述的各个示例性方面的特征可以彼此组合,除非另外具体地说明。
[0019]可以在分组交换网络(具体地说,基于IP(互联网协议)的网络)中实现在此所描述的方法和设备。可以在有线通信网络和无线通信网络(具体地说,基于互联网协议上的语音(VoIP)的通信网络,具体地说,基于长期演进上的语音(VoLTE)的通信网络)中实现在此所描述的方法和设备。可以在无线通信网络(例如LTE、UMTS(全球移动通信系统)和3GPP(第3代伙伴项目)系统)中实现在此所描述的方法和设备。可以进一步在移动设备(或移动站或用户装备(UE))或基站(NodeB'eNodeB)中实现以下所描述的方法和设备。所描述的设备可以包括集成电路和/或无源设备,并且可以根据各种技术而制造。例如,电路可以设计为逻辑集成电路、模拟集成电路、混合信号集成电路、光电路、存储器电路和/或集成无源电路。
[0020]在此所描述的方法和设备可以被配置为发送和/或接收无线电信号。无线电信号可以是或可以包括无线电发送设备(或无线电发射机或接收机)通过处于大约3Hz至大约300GHz的范围中的射频所辐射的射频信号。频率范围可以与用于产生并且检测无线电波的交变电流电信号的频率对应。
[0021]在此所描述的方法和设备可以用于控制抖动缓冲管理。在几乎所有通信链路的设计中,抖动是显著的但通常不期望的因素。在分组交换网络中,抖动是网络上的分组延时的随时间的变化性中所测量的延时的变化。抖动缓冲器用于抵抗分组交换网络中因排队而引入的抖动,使得可以确保通过网络传输的媒体(例如音频或视频)的连续播放。抖动缓冲器可以抵抗的最大抖动等于在开始播放媒体流之前引入的缓冲延迟。抖动缓冲管理用于控制并且管理抖动缓冲器。
[0022]在此所描述的方法可以包括AMR(自适应多速率)编解码器、EVS(根据3GPP TS26.444的增强语音服务)编解码器、WSOLA(基于波形相似度的重叠相加)以及PS0LA(音调同步重叠相加)编解码器。AMR音频编解码器是针对话音编码所最优的音频压缩格式。AMR话音编解码器包括多速率窄带话音编解码器,其按具有开始于7.4kbit/s的长途质量话音的范围从大约4.75kbit/s到大约12.2kbit/s的可变比特率对窄带信号(大约200-3400HZ)进行编码。AMR由3GPP采用作为标准话音编解码器,并且现在广泛用在GSM、UMTS和LTE中。其使用链路适配以基于链路状况从八个不同的比特率之一进行选择。AMR还表示用于存储使用AMR编解码器的说话音频的文件格式。PSOLA是对于话音处理并且更具体地话音合成所使用的数字信号处理技术。PSOLA可以用于修改话音信号的音调和持续时间。PSOLA通过将话音波形划分为小重叠分段而工作。为了改变信号的音调,分段移动得进一步分开(用于降低音调)或更靠近在一起(用于增加音调)。为了改变信号的持续时间,于是多次重复分段(用于增加持续时间),或消除一些分段(用于降低持续时间)。然后通过使用重叠相加技术来组合分段。
[0023]在此所描述的方法和设备可以使用POLQA话音信号分析。POLQA覆盖模型,以通过数字话音信号分析来预测话音质量。这些目标测度的预测应尽可能接近主观侦听测试中所获得的主观质量评分。通常,预测平均意见评分(MOS) WOLQA使用真实话音作为测试激励,以用于评估电话网络。
[0024]在此所描述的方法和设备可以基于RTP(实时传送协议)分组。RTP定义用于通过IP网络传递音频和视频的标准化分组格式。RTP是针对流数据的端到端实时传送而设计的。该协议有助于抖动补偿和数据的乱序到达的检测,它们在IP网络上的传输期间都是普遍的。
[0025]在此所描述的方法和设备可以包括PCM(脉冲编码调制)采样和PCM缓冲器。PCM是用于以数字方式表示所采样的模拟信号的技术。PCM是例如在计算机、压缩盘和数字电话中使用的针对数字音频应用的标准格式。在PCM流中,按均匀间隔有规律地对模拟信号的幅度进行采样,并且将每个采样量化为数字步长的范围内最接近的值。
[0026]图1是包括基站110和移动终端120的无线通信网络100的示意图。在基站110与移动终端或用户设备(UE)120之间的无线通信中,发送信号102可以由基站110发送并且由UE120接收作为接收信号104ο由于抖动对基站110与UE 120之间的传输路径108的影响,接收信号104可能经受延迟变化,S卩,发送信号102的分组106可能随着时间经历延时的变化,并且一些或所有分组106可能是乱序(out-of-order)接收到的。基站110与UE 120之间的传输路径108可以包括图1中未描述的很多网络部件。在接收信号104的接收与接收信号104的播放之间,在UE 120中可能出现其它抖动影响。
[0027]图2是根据本公开的用于控制接收音频帧与处理音频帧之间的端到端延时的方法200的示意图。方法200包括:接收(201)包括至少一个已编码音频帧的数据分组。方法200包括:在分组缓冲器中存储(202)接收到的数据分组。方法200包括:从分组缓冲器获取(203)接收到的数据分组,并且将所述至少一个已编码音频帧解码为音频采样。方法200包括:处理(204)音频采样,其中,调度从分组缓冲器获取(203)接收到的数据分组并且对所述至少一个已编码音频帧进行解码是基于关于音频采样的音频质量以及接收数据分组与处理音频采样之间的延时的目标准则,并且其中,所述调度在时间上动态地并且平滑地偏移,以避免音频失真。因此,方法200通过使得能够进行各种音频活动的动态的、平滑的和自适应的调度来控制端到端延时。可以在缓冲增加或降低的顶端上动态地调整音频回放和编解码器解码触发:并且该操作将甚至在不存在抖动的情况下也使得能够降低端到端延时。
[0028]调度从分组缓冲器获取(203)接收到的数据分组并且对所述至少一个已编码音频帧进行解码可以基于对所述至少一个已解码音频帧进行时间缩放,以关于最小延时将接收到的数据分组的处理移动到最优位置中。对所述至少一个已解码音频帧进行时间缩放可以包括例如以下关于图3所描述的帧压缩309,以用于减少接收数据分组与处理音频采样之间的延时。对所述至少一个已编码音频帧进行时间缩放可以包括例如以下关于图3所描述的帧扩展317,以用于增加接收数据分组与处理音频采样之间的延时。对所述至少一个已编码音频帧进行时间缩放可以包括例如以下关于图3所描述的关于帧压缩和帧扩展的空闲(idle)活动313,以用于保持接收数据分组与处理音频采样之间的延时。
[0029]时间缩放可以用于偏移所述调度,以便修改所述至少一个已解码音频帧的位置。时间缩放可以基于话音帧压缩和话音帧扩展之一。方法200还可以包括:基于与接收到的数据和播放数据之间的延时有关的统计信息(例如RTP统计)来确定最优调度。方法200还可以包括:基于在接收速率和/或重传速率的基础上的调制解调器统计来确定最优调度。时间缩放可以基于例如以下关于图5所描述的移除以及添加话音的音调时段之一。时间缩放可以基于例如以下关于图5所描述的音调同步重叠和相加。数据分组可以是异步接收到的数据分组的流的一部分。方法200还可以包括:确定接收数据分组的流中的各相应数据分组与处理各相应数据分组的音频采样之间的延时的统计。该统计可以用于调度。
[0030]从分组缓冲器获取接收到的数据分组并且对所述至少一个已编码音频帧进行解码并处理音频采样可以基于例如以下关于图4所描述的主时钟。可以通过调整从分组缓冲器获取接收到的数据分组以及对所述至少一个已编码音频帧进行解码的时钟定时来执行从分组缓冲器获取(203)接收到的数据分组并且对所述至少一个已编码音频帧进行解码的调度。可以通过调整处理音频采样的时钟定时来执行调度。
[0031]方法200还可以包括:确定接收到的数据分组与所处理的音频采样之间的延时。方法200还可以包括:确定音频采样的音频质量。方法200还可以包括:调度从分组缓冲器获取(203)接收到的数据分组并且对所述至少一个已编码音频帧进行解码,使得音频质量大于第一阈值,并且接收数据分组与处理音频采样之间的延时小于第二阈值。
[0032]确定音频质量可以基于用于通过数字话音信号分析来预测话音质量的模型,具体地说,基于感知主观侦听质量评估(POLQA)。本公开中所描述的方法和设备使一般地说,IP上的语音,具体地说,LTE上的语音中的端到端延迟最小化。本公开中所描述的方法和设备可以与音频系统的VOIP下行链路(DL)处理有关。归因于能够进行话音帧的时间缩放(压缩和扩展)、共享下行链路PCM缓冲器以及“下行链路话音增强、基于采样的抖动缓冲管理和编解码器子系统”之间的精细粒度同步的基于自适应采样的抖动缓冲管理,可以确保RTP分组接收与关联PCM回放之间的最小延时。在具有或没有网络抖动的多数网络状况中,下行链路延时得以最小化,而不使得话音质量降级。
[0033]本公开中所描述的构思依赖于以下音频子系统的自适应同步方式的组合使用:用于能够进行话音帧的时间缩放(压缩和扩展)的基于采样的抖动缓冲管理(SJBM)、下行链路编解码器(例如用于VoLTE的DL AMR或EVS解码器)、下行链路话音增强子系统、以及DL编解码器/SJBM与以下所描述DL话音增强子系统之间共享的共享下行链路PCM缓冲器。
[0034]图3是根据本公开的音频处理系统的控制部分300的示意图。控制部分300包括抖动缓冲管理实体301,用于分组推送/拉取处理。抖动缓冲管理实体301负责RTP分组推送302和RTP分组拉取304处理。控制部分300包括分组统计实体303,用于收集与RTP分组接收及其关联播放之间的分组延迟有关的信息。在一个示例中,延迟测量的粒度可以优于lms。分组统计实体303可以由RTP分组推送302事件触发。
[0035]控制部分300还包括最优延迟计算实体305,其被配置为:对于每个接收到的帧306,基于分组统计实体303所确定的分组统计来计算最优延迟。最优延迟计算实体305被配置为:推导用于应对网络抖动的最优缓冲量和用于降低延时的SJBM和DL编解码器活动的最优调度,并且发出用于话音帧的压缩309、扩展317或无改变313的命令。取决于目标准则,如果超过目标准则(307(>0)),则发出用于压缩309的命令,如果计算出的延迟小于目标(315(〈O)),则发出用于扩展317的命令,如果实现目标准则(311(>0)),则发出用于无改变313的命令。
[0036]分组统计实体303可以针对每个RTP分组精确地测量RTP分组接收302与所嵌入的话音净荷的播放304之间的延迟。接着,可以由分组统计实体303推导/导出(derive)统计并动态地进行更新。归因于这些统计,在可以在VoLTE系统中典型地每例如20ms (或例如40ms)发生的每一话音帧处理之前,最优延迟计算实体305不但可以确定用于应对网络抖动的最优缓冲量,还可以关于最低延时确定各个音频活动的最优调度。通过获知一些音频活动应偏移达多少TARGETED毫秒,可以发出话音帧时间缩放命令。可以通过添加或移除一个音调时段来对话音帧进行时间缩放,由此确保对话音帧的最小听觉改变,并且甚至在静默时段不可用的情况下也能够进行适配(或能够进行更快的适配,而无需等待静默时段)。在话音帧的时间缩放之后,可以对用于下一话音帧处理的唤醒进行编程并对准,以匹配时间缩放后的话音帧的新的长度。
[0037]图4是根据本公开的在音频处理系统中调度的活动400的示意图。图4表示在VoLTE呼叫(或Vo IP呼叫)期间所调度的不同音频活动401、402、403。
[0038]在每一RTP分组接收410时触发活动1(401)。所以,其为异步活动(即使理想地没有网络抖动,其也应在典型的VoLTE系统上每20ms或40ms发生)。当接收到RTP分组(410)时,分组被推送或存储到SJBM(基于采样的抖动缓冲管理)缓冲器中,除非其接收得太迟,在其预期播放时间之后。
[0039]活动2(402)与可以在VoLTE系统上典型地每20ms (或40ms)发生的话音帧解码有关。从SJBM缓冲器获取RTP分组。AMR或EVS净荷被解码为PCM(脉冲编码调制)采样,并且可以被转发到DL话音增强系统。在此,并非每20ms调度该活动402,而是可以动态地控制并适配调度。其可以小于20ms或大于20ms,这取决于活动2(402)的处理相对于活动3(403)偏移多少。
[0040]活动3(403)与DL话音增强有关。该操作可以在特定DSP上执行,但不限于该架构。每例如lms,DL话音增强可以获取PCM采样,以便进行处理。不同系统可以使用不同粒度(例如5ms、1ms或任何其它值)。粒度越小,针对下行链路延时最小化的结果可以越好。话音增强可以是与数字信号处理有关的活动,以便例如针对话音信号的波形、延迟、编码等增强话音信号。
[0041 ] 可以从同一主时钟412或中断导出活动2(403)和3(403)的调度,以避免不想要的调度漂移。
[0042]在示例中,主时钟412例如每I毫秒对每一硬件中断(MASTER IT)进行时钟定时。接着,活动2(402)可以在话音帧压缩之后每SJBM中断(SJBM IT)毫秒(例如每N倍MASTER IT毫秒,其中,N是可配置的整数(例如每20ms或16ms))进行时钟定时,并且在每一话音帧处理之后进行更新。活动3(403)可以每DSP中断(DSP IT)毫秒(例如每N倍MASTERIT毫秒,其中,N是可配置的整数(例如每Ims))进行时钟定时,并且在呼叫期间固定。
[0043]在图5上,活动1(401)标识有前缀“r”,具体地说“rl”(对于RTP分组接收),活动2(402)标识有前缀“s”,具体地说“si”(对于SJBM),活动3(403)标识有前缀“d”,具体地说“dl”(对于DSP话音增强)。
[0044]图5是根据本公开的用于调度图4中所描述的活动的调度系统500的示意图。
[0045]在图5中,描述用于减少延时的详细模块。在此所使用的特定数量与不考虑网络抖动的情况的说明性示例对应,并且其示出SJBM(基于采样的抖动缓冲管理)可以如何用于减少下行链路延时(甚至在不存在网络抖动的情况下)。同样可以使用与不同网络状况对应的其它数量。
[0046]作为说明,考虑不存在网络抖动的情况。RTP分组502每20ms到达(图5中的rl),但这些RTP分组502的接收与它们的(例如,在服编解码器511中的)对应播放之间的延迟(不包括UE上的有效DL处理)是6ms。可以发出用于话音帧压缩的命令504(图5中的Si)。(例如VoLTE系统上的AMR解码器503或EVS解码器)从RTP缓冲器501获取RTP分组506并且进行解码,并且DL解码器503可以传递20ms的pcm采样508。接着,帧可以凭借PSOLA算法505进行压缩(512),移除话音帧中的一个音调时段。在此假设在4ms时检测到音调时段,20ms话音帧可以被压缩为16ms的PCM采样,其被存储在PCM缓冲器507中。
[0047]现在,并非20ms后触发下一 AMR解码503(或EVS解码),而是可以通过将SJBM中断510设置为16ms,16ms后调度下一 AMR解码503(或EVS解码)。接着,该调度可以回到每20ms进行AMR解码503(或EVS解码)的调度。以此方式,实现了活动2(以上关于图4所描述的sl、s2、s3、s4、s5)相对于活动3(以上关于图4所描述的dl、d2、d3)的偏移,这使得在该示例中能够减少延时达4ms。在该偏移之后,可以在2ms延迟(不包括UE上的有效DL处理)而非6ms的情况下测量RTP分组。可以通过仅添加或移除一个音调时段来平滑地执行下行链路音频活动的偏移,由此确保在适配发生的帧期间的最小失真。该处理是动态的,并且可以取决于所收集的统计以及所使用的策略而一再重复,以执行DL音频活动调度的调整。
[0048]每DSP(数字信号处理)中断516,DSP话音增强实体509可以从PCM缓冲器507得到PCM采样514,处理这些采样,并且将它们传递到Hff编解码器511,以用于播放。替代地,PCM采样514可以直接传送到Hff编解码器511,而不经过DSP话音增强实体509。
[0049]在此,示出从相对低的延迟开始的单个步骤。然而,为了处理远更大的延迟,可以执行若干相似和连续步骤(例如在此所描述的步骤),以使得延时最小化。为了更好理解匹配VoLTE系统的典型设置,在此所提供的数值是说明性的,并且已经是固定的,但同样可以使用任何其它值。
[0050]SJBM通常用于压缩/扩展帧,以增加或减少缓冲量,从而保护免受网络抖动,但在此,我们在没有网络抖动的情况下也使用SJBM,以减少下行链路延时。
[0051 ] 共享下行链路PCM缓冲器507、精细粒度同步系统以及编解码器和SJBM活动的不同调度已经添加在已有的SJBM的顶端,以使得能够降低延时。该调度可以在呼叫期间动态地适配,并且可以在每一帧处改变。
[0052]基于在VoIP呼叫期间所收集的统计,在每一话音帧处理之前,不仅确定用于应对网络抖动的最优缓冲量,还确定调度不同音频活动的最优方式,使得能够最小化下行链路延时。
[0053]接着,归因于基于采样的抖动缓冲管理的时间缩放特征,可以执行自适应机制,将一些音频活动相对于其它音频活动偏移。
[0054]在不使用本公开中所描述的基于自适应采样的抖动缓冲管理的情况下,可能需要附加缓冲,导致附加延时。
[0055]在不使用下行链路话音增强子系统、基于采样的抖动缓冲管理与编解码器子系统之间的精细粒度同步和调度的情况下,可能体验到更低的话音质量和/或更高的端到端延时。在没有音频调度活动的动态适配的情况下,话音帧处理可能更慢地适配。
[0056]甚至在没有抖动的情况下也可以使用本公开中所描述的SJBM(基于采样的抖动缓冲管理),以减少VoIP下行链路延时。
[0057]根据本公开的方法和设备可以提供改进的性能的使用情况是例如具有或没有网络抖动的VoIP情形。这些方法和设备也能够处理具有或没有静默时段的情形,以无缝地适配并且减少延时,而不使得话音质量降级。
[0058]根据本公开的方法和设备适合于基于调制解调器的解决方案(其中,VoIP引擎嵌入在调制解调器中,因此典型地用于低端解决方案)以及基于应用处理器的解决方案(其中,VoIP引擎嵌入在应用处理器中,因此典型地用于高端解决方案)。根据本公开的方法和设备在这两种情况下是可用的。
[0059]本公开中所描述的方法和设备实现用于在不使得话音质量降级的情况下减少VoLTE中的总体端到端延迟的解决方案。
[0060]图6是根据本公开的用于控制接收音频帧与处理音频帧之间的端到端延时的设备600的示意图。
[0061]设备600包括分组缓冲器601、解码器603、音频处理器605和调度器607。分组缓冲器601被配置为:接收包括至少一个已编码音频帧的数据分组602。解码器603被配置为:从分组缓冲器601获取接收到的数据分组604并且将所述至少一个已编码音频帧解码为音频采样606 ο音频处理器605被配置为:处理音频采样606。调度器607被配置为:基于关于音频采样606的音频质量以及分组缓冲器601进行的接收数据分组602与音频处理器605进行的处理音频采样606之间的延时的目标准则,对从分组缓冲器601获取接收到的数据分组604并且解码所述至少一个已编码音频帧进行调度。调度器607被配置为:在时间上动态地并且平滑地偏移调度,以避免音频失真。
[0062]设备600还可以包括音频缓冲器(例如以上关于图5所描述的音频缓冲器507),其耦合在解码器603与音频处理器605之间。解码器603可以被配置为:在音频缓冲器507中存储音频采样606 ο音频处理器605可以被配置为:从音频缓冲器507获取音频采样606。
[0063]调度器607可以被配置为:调整用于在音频缓冲器507中存储音频采样的解码器603的存取速率、用于从音频缓冲器507获取音频采样606的音频处理器605的存取速率以及对音频缓冲器507的拉取请求的存取速率中的至少一个。
[0064]调度器607可以被配置为:基于第一时钟来调整解码器603的存取速率,并且基于第二时钟来调整音频处理器605的存取速率。第一时钟和第二时钟可以得自主时钟,或者可以根据任何另外同步机制进行同步。
[0065]调度器607可以被配置为:基于调整用于对所述至少一个已编码音频帧进行解码的解码器603的时间缩放,对从分组缓冲器601获取接收到的数据分组604并且解码所述至少一个已编码音频帧进行调度。解码器603可以包括话音解码器(例如AMR解码器503或EVS(增强语音服务)解码器)和/或话音时间缩放器(例如PSOLA压缩器505或例如以上关于图5所描述的WSOLA压缩器)。设备600可以执行以上关于图2至图5所描述的方法。
[0066]以上关于图1至图6所描述的方法和设备可以基于与使得端到端延时最小化有关的构思。可以通过以下问题来描述该构思:作为开始点,在不存在抖动的情境中使用基于采样的抖动缓冲管理实体(通常用于解决抖动问题),以消除端到端延时。其为这样的系统想法:能够进行音频播放、SJBM&编解码器活动以及音频DSP话音增强活动的动态和自适应调度,使得端到端延时在VoIP呼叫期间保持为最小。可以观察到以下事实:音频播放、SJBM拉取、编解码器解码和音频DSP话音增强的调度是静态的,并且典型地每20(或40ms)发生。SJBM时间缩放能力仅用于增加或减少JBM缓冲量:它们既不改变播放的速率也不改变SJBM拉取活动的速率,也不改变编解码器解码活动的速率,且不改变与音频DSP交换数据的速率。根据本公开的方法和设备使得能够进行音频活动的动态调度,其中,对会在VoIP呼叫期间在任何时间点发生的活动进行平滑和自适应定位/偏移。可以通过实现以上关于图1至图6所描述的方法和设备来实现在VoIP呼叫期间的音频活动的这种动态的、自适应的和平滑的调度。关键项涉及:能够测量调度的次优程度;能够在VoIP呼叫期间在任何时间点,在请求时偏移SJBM/编解码器活动;能够平滑地/静默地偏移音频活动,而没有音频假声。整个系统的粒度是重要的:SJBM/编解码器子系统与DSP/话音增强子系统之间的缓冲越小,对于音频数据交换,就能够越好地减少端到端延时。可以通过使用具有修改的SJBM的根据本公开的方法和设备来展示较低的端到端延时,其甚至在一点也不存在抖动的情况下也提供改进。原型化已经完成并且已经示出优良性能。
[0067]图7是根据本公开的用于调整移动终端的媒体处理电路中的抖动缓冲器的大小的方法700的示意图。方法700包括:对来自接收到的无线电信号的至少一个已编码媒体帧进行解分组(701)。方法700包括:在抖动缓冲器中存储(702)解分组的至少一个已编码媒体帧。方法700包括:从抖动缓冲器获取(703)至少一个已编码媒体帧,并且将所述至少一个已编码媒体帧解码为媒体米样。方法700包括:基于指不移动终端的移动性状态的?目息来确定(704)抖动模型。方法700包括:基于指示移动性状态的信息的历史来调整(705)抖动模型。方法700包括:基于抖动模型来调整(7 06)抖动缓冲器的大小。指示移动性状态的信息的历史可以包括实际的和过去的移动性状态信息以及从该移动性状态信息导出的其它信息(例如统计)。历史可以存储在存储器中。
[0068]指示移动终端的移动性状态的信息可以包括关于移动终端的速度的信息。指示移动终端的移动性状态的信息可以包括与移动终端有关的以下信息中的一个或多个:速度或速率信息、位置信息(例如室内或室外信息)、环境信息、时间信息、速度的改变或加速度信息、关于移动终端连接到的网络的信息。调整抖动缓冲器的大小可以基于在指示移动终端的移动性状态的信息的基础上所估计的网络抖动。方法700还可以包括:估计网络抖动作为可以从指示移动终端的移动性状态的信息导出的周期函数。
[0069]该方法700的基本原理可以包括:检测高移动性情形,并且对专用于这些情形的抖动进行建模。这使得能够进行更好的JBM决策,从而带来改进的话音和/或视频质量。
[0070]以下示例示出在3GPP网络的典型情况下的情形,但其可以转换到通过分组交换网络进行媒体(语音或视频)发送和接收的任何网络。在LTE或3G HSPA系统的情况下,当例如在高速路上的用户正从一个eNodeB(或3G中的NodeB或2G术语中的基站)移动到其它eNodeB时,发生以下步骤:当靠近eNode-B时,无线电信号质量是良好的,而当移动离开时,无线电信号质量降低,导致设备与eNodeB之间的LTE或3G HARQ重传,以应对信号质量恶化。这些重传导致网络抖动增加。接着,由于移动得更靠近新的eNodeB,无线电质量增加,导致HARQ重传越来越少。也就是说,从抖动的观点来看,抖动增加,然后降低,并且该现象是周期性重复的。
[0071]通过将使用中的外部信息(例如速度、GPS信息和/或无线电技术)提供给JBM,可以检测这些振荡的抖动行为,使得将更容易预测将来短期未来中的网络行为。这种机制并非与JBM机制矛盾,而是被推荐用在现有JBM机制的顶端,以使得能够在高移动性情形的情况下更快且更好地稳定JBM行为。
[0072]例如,智能电话、平板以及甚至越来越多的低端设备可以提供这种速度和GPS信息。该情况也可以扩大到具有或没有GPS的车辆中的任何嵌入式系统。本公开中所描述的方法因此可以适合于对于大量设备改进高移动性情形中的JBM行为。
[0073]根据本公开的方法和设备将附加信息提供给JBM,使得能够以更高效、更快并且精确的方式来处理高移动性情形。因此,JBM变为有情境意识的。
[0074]当检测到这种使用情况时,可以估算抖动改变的幅度和周期性,以便高效地设置缓冲量。这可以限制对付可能持久地改变的抖动所需的JBM适配的数量。
[0075]根据本公开的方法和设备在高移动性情形的情况下改进VoLTE和VoIP话音质量。根据本公开的方法和设备也可以应用于任何视频JBM。因此,根据本公开的方法和设备不限于音频,并且同样可以改进视频质量。
[0076]根据本公开的方法和设备可以应用在音频和视频会话服务以及音频和视频流送服务中。
[0077]图8是根据本公开的媒体处理系统800的示意图。所示的示图描述可以如何将速度信息806从高层次操作系统801获取到抖动缓冲管理实体817。
[0078]媒体处理系统800可以包括高层次操作系统801、电话/VoIP应用803、VoIP引擎807、LTE调制解调器805和播放设备809(例如外放扬声器或屏幕)JoIP引擎807可以耦合在LTE调制解调器805与播放设备809之间的媒体路径中。电话/VoIP应用803可以耦合在高层次操作系统801与VoIP引擎807之间的管理路径中。高层次操作系统801可以包括位置服务GPS提供器811,用于将移动性信息(例如移动设备的GPS信息)提供给电话/VoIP应用803中所实现的位置侦听器813。更新速度线程815可以实现于电话/VoIP应用803中,以从位置侦听器813查询(804)移动性信息。
[0079]VoIP引擎807可以包括:RTP解分组器,用于对从LTE调制解调器805接收到的RTP分组进行解分组;抖动缓冲器823,用于存储解分组的RTP分组;以及解码器821,用于将从抖动缓冲器823获取的分组解码为播放设备809可以播放的媒体采样808(例如音频或视频)。VoIP引擎807还可以包括抖动缓冲管理实体817,用于控制抖动缓冲器823的大小。抖动缓冲管理实体817可以从电话/VoIP应用803的更新速度线程815接收移动性信息806,并且可以基于在此所描述的该移动性信息来调整抖动缓冲器823的大小。
[0080]一旦JBM 817检测到高移动性使用情况,振荡抖动(包括抖动增加的增加周期以及抖动减少的周期)的概率就非常高。可以检查这种假设,并且如果确认,则用于导出可以使得能够进行改进的话音质量的、用于JBM817的更适当的设置。
[0081]图8是具有基于分组的抖动的设置的代表,但该设置的一般化可以包括解码器821之后的任何抖动。以下关于图9描述JBM 817用于处理高移动性情形的不同模块。
[0082]在图8中,启用高层次OS框架801(包括可以用于提供移动设备的GPS数据的位置服务GPS提供器811)与VoIP引擎807之间的连接。来自位置服务GPS提供器811的信息(即移动设备的GPS数据或移动性数据)对于VoIP引擎807是可用的。
[0083]为了针对更好的话音质量而改进JBM设置和行为,可以例如通过执行VoIP驱动测试来收集来自现场的信息,以使用速度信息进行优化。
[0084]图9是示出根据本公开的抖动缓冲管理控制实体905的活动900的示意图。在第一模块“1”901中,获取外部信息。在第二模块“2”902中,估算分组抖动统计。在第三模块“3”903中,估计网络抖动作为周期函数。在第四模块“4” 904中,执行抖动缓冲管理(JBM)缓冲。在第五模块“5”中,JBM控制实体905从第四模块“4” 904JBM缓冲接收信息,并且更新第二模块902的分组抖动统计。可以如以下所描述的那样执行这五个块或活动。
[0085]在模块1(901)中,外部部件将使得能够检测高移动性使用情况的信息提供给可以与以上关于图8所描述的JBM实体817对应的JBM实体(表示为JBM控制实体905)。
[0086]在模块2(902)中,收集分组延迟统计,以估计抖动模型。在静态和步行情形中,可以使用(几秒的)相对小的滑动窗口或一阶滤波器来估计当前抖动。当应对抖动改变时,使用较大的滑动窗口可能导致附加延时。在这些低移动性情形的情况下,通常不会体验到明显的周期性抖动现象。
[0087]当进入高移动性情形时,可以使用较大的滑动窗口,使得能够收集足够的统计以描述周期性抖动现象。取决于速度演进,也可以调整滑动窗口的深度。
[0088]在模块3(903)中,可以导出与该振荡抖动行为对应的模型。作为时间的函数的网络抖动可以被近似为由其幅度和周期表征的周期函数。用于循环抖动变化近似的简单模型是幅度和周期。例如,该模型可以容易地扩展以对子现象或子循环进行建模。
[0089]在模块3(903)处所估计的两个最重要的参数可以是抖动幅度和抖动周期。抖动幅度是具有最高传送时间的分组与具有最低传送时间的分组之间的差,其中,传送时间可以典型地取决于用于使得传输成功的重传的数量。抖动周期是抖动的两个峰值之间逝去的时间。这使得能够调整用于收集统计的滑动窗口的深度。
[0090]抖动幅度还可以用在模块4(904)处。抖动周期可以用于进一步细化在模块2(902)处的处理。如果所收集的统计不匹配任何循环抖动函数,则可以进一步使用默认的JBM设置。
[0091]图9中所描述的机制可以提供现有系统的改进,例如,以用于当且仅当检测到循环抖动图案时触发特定处理。
[0092]在模块4(904)中,基于模块3(903)中导出的该网络抖动模型,可以推导UE抖动缓冲量,以使得能够例如以需要最小JBM适配量的方式来一次全部处理所有循环变化,S卩,避免JBM缓冲以及缓冲量的反复增加和减少,这使得能够应对最大容忍丢失。在一个示例中,AMR编解码器可以容忍最大百分之一丢失,而没有对话音质量的影响。其它编解码器(例如ILBC)可以容忍高达百分之五丢失。在用于应对抖动的缓冲量设置在使得能够处理例如百分之99的分组延迟的最小值处的情况下,没有因缓冲导致的额外延时可以用在达到该目标真正需要的操作的顶端上。
[0093]在模块5(905)中,只要高移动性情形持续,就可以执行估算并调整循环网络抖动的模型。否则,当离开高移动性情形时,可以恢复用于抖动监控的默认设置。可以使用适合于对网络抖动进行快速反应的更小的统计滑动窗口。以此方式,可以导出在这些高度不稳定的抖动情形中可以非常稳定的JBM设置。
[0094]可以避免在高移动性使用情况下典型的与每一 JBM适配关联的JBM覆盖问题和延时问题。可以确保更好的话音质量。较低延时可以带来呼叫中的各用户之间的改进的交互性。较低的JBM适配量可以带来分组丢失的减少和/或与JBM适配关联的话音帧压缩和扩展的减少。
[0095]图10是根据本公开的在移动终端中使用的媒体处理电路1000的示意图。
[0096]媒体处理电路1000包括解分组器1001、抖动缓冲器1003、解码器1005以及抖动缓冲管理器(又称为抖动缓冲管理实体1007)。解分组器1001被配置为:对来自接收到的无线电信号的至少一个已编码媒体帧1002进行解分组。抖动缓冲器1003被配置为:存储解分组的至少一个已编码媒体帧1004。解码器1005被配置为:从抖动缓冲器1003获取所述至少一个已编码媒体帧1006,并且将所述至少一个已编码媒体帧1006解码为媒体采样1008。抖动缓冲管理实体1007被配置为:基于指示移动终端的移动性状态的信息来确定抖动模型,基于指示移动性状态的信息的历史来调整抖动模型,并且基于的抖动模型来调整抖动缓冲器1003的大小,例如以上关于图8和图9所描述的。
[0097]抖动缓冲管理实体1007可以包括对位置服务提供实体的接口,用于接收指示例如以上关于图8所描述的移动终端的移动性状态的信息1010。抖动缓冲管理实体1007可以被配置为:至少基于与移动终端有关的例如以上关于图8所描述的以下信息中的至少一个来调整抖动缓冲器1003的大小:速度或速率信息、位置信息、环境信息、时间信息、速度的改变或加速度信息。
[0098]媒体处理电路1000可以实现以上关于图7至图9所描述的方法700和技术。可以基于与在VoIP或IP上的多媒体高移动性使用情况的情形中改进的质量(话音或视频)有关的构思而描述关于图7至图12所描述的方法和设备。该构思包括以下问题:第一问题可以是检测移动终端处于移动性使用情况下。可以凭借例如GPS或任何其它定位系统来完成该操作。第二问题与在可以检测到高移动性情形的情况下如何推导用于抖动管理的有用模型有关。该模型将在移动性使用情况的情形中使得能够改进话音质量。关键问题可以涉及:检测移动性使用情况;构建将使得能够进行更好的抖动预测的、专用于移动性使用情况的抖动模型;对于抖动管理使用该模型,使得其在移动性使用情况期间能够得到改进的话音质量;在高移动性使用情况期间动态地更新抖动模型;使用完整框架或系统描述来处理移动性使用情况并且改进针对IP上的语音或视频通信的话音质量。接着,可以将不同技术应用于从调制解调器获取信息,以改进抖动模型的精度,并且例如通过预测在(短期)未来中的抖动行为,使得能够进行更好的预期和预测。
[0099]图11是根据本公开的抖动缓冲配置设备1100的示意图。抖动缓冲配置设备1100可以与以上关于图10所描述的抖动缓冲管理器1007对应。抖动缓冲配置设备1100包括抖动适配控制单元1105(控制部分)、抖动适配单元1107(执行抖动适配控制单元所采取的决策的执行部分)、移动性和环境监视器1103、抖动缓冲器配置数据库1101、蜂窝协议栈1109、WLANl 111、定位系统1113 (例如GPS、GL0NASS等)、加速计或陀螺仪1115以及其它单元(图11中未描述)。
[0100]移动性和环境监视器1103可以从各个子模块(例如从蜂窝协议栈1109、WLAN1111、定位系统1113、加速计或陀螺仪1115以及其它单元)接收信息。移动性和环境监视器1103可以基于来自不同模块1109、1111、1113、1115(蜂窝协议栈、WLAN、GNSS、加速计等)的信息来确定环境和移动性描述符。环境和移动性描述符可以确定位置、移动性类型(行人、车辆、列车、飞机等)、环境类型(室内、室外城市、室外非城市等)、无线电配置类型(蜂窝技术、无线电运营商类型等)。
[0101]环境和移动性描述符可以被提供给抖动适配控制单元1105。JBM适配控制单元1105可以对特定环境/移动性中的JBM大小和适配的数量进行一些统计。接着,其可以确定用于该类型的环境的最优配置并存储它。一旦同一环境和移动性描述符被给到抖动适配单元1107,接着就可以应用最优配置。只要不存在环境/移动性改变,就可以不执行适配。这样可以避免在抖动的情况下的多次适配,并且因此减少对语音质量的影响。
[0102]以下,描述抖动缓冲管理器1007的示例,其可以与关于图11所描述的抖动缓冲配置设备1100对应。抖动缓冲管理器1007可以使用蜂窝信息来预期JBM适配。CPS(蜂窝协议栈)部件1109可以提供例如以下项的信息:切换速率/切换类型、切换中断时间、针对测量的触发(潜在地产生切换)等。切换与网络控制对应,所以网络可以触发或可以不触发切换。将需要定义正确配置,以避免如果不触发切换则太频繁地进行JBM适配。CPS部件1109可以进一步提供关于对接收速率/网络重传的统计的信息,即,按时、lreTx(第一传输重复)、2reTX(第二传输重复)接收到多少数据。
[0103]基于该信息,JBM适配控制单元1105可以确定是否需要适配,并且如果需要,则需要何种适配。例如,在HO(切换)的情况下,数据的突发可能出现在切换完成之后,但这可能不必然影响统计,因为其为准时事件。
[0104]典型地,在触发硬HO之前,网络等待与特定事件关联的UE测量报告(MR)。在网络处理该MR之后,通常将存在中断时间,之后是在中断时间期间网络无法传递的分组的突发式传递(如果无线电运营商被配置在确认模式下)。通过同样通知JBM,JBM可以以更快的方式预期并设置将有助于更平滑地在HO期间以及之后处理音频播放的配置。切换请求的周期性可以有助于确定抖动的周期性,这对于JBM是非常有用的信息。基于协议栈配置,可以预先获知将与VoLTE网络上体验到的典型抖动有关的与例如HARQ重传有关的最大延迟。
[0105]以下,描述抖动缓冲管理器1007的另一示例,其可以与关于图11所描述的抖动缓冲配置设备1100对应。抖动缓冲管理器1007可以基于无线电链路抖动和核心网络抖动而应用低级/高级适配。对于抖动的贡献可以划分为与无线电链路有关的抖动和与核心网络有关的抖动。
[0106]UE可以基于HARQ统计来良好地估计无线电链路对全局抖动的贡献。UE可以确定用于DL(下行链路)数据的HARQ ACK/NACK的数量。在示例性配置中,在两次传输之间有平均8ms。接着,抖动缓冲适配单元1105可以基于在RTP时间戳的基础上的抖动统计以及在无线电链路的基础上的抖动来控制抖动缓冲器大小和播放时间(或用于播放的音频DSP)。该解决方案的优点如下:对于基于无线电等级统计(比基于RTP的统计更频繁)来改变无线电状况的更快适配;以及由于改变无线电状况而在没有不必要的适配的情况下的基于核心网络抖动的抖动缓冲器大小管理。因此,可以(例如在MAC等级每8ms而非在RTP等级每20或40ms)收集更多的统计。因此,可以获得更多信息,可以获得更多统计,更快地产生更多受训练的判断。可以获知确切故障,即,没有retx (重传)、具有I次retx、具有2次retx等的tx(传输)的数量。这是在无线电等级处将要发生的情况以及驱动有助于JBM 1007采取最佳判断的无线电抖动的情况的十分精确的图景。
[0107]图12是根据本公开的媒体帧1200的示意图。媒体帧1200可以包括多个DRX周期,每个DRX周期具有40ms的示例性持续时间。初始播放时间1210可以包括接收时段1204,并且可选地第一重传时段1206、第二重传时段1208以及其它重传时段(图12中未描述)。
[0108]以下,描述抖动缓冲管理器1007的另外示例。抖动缓冲管理器1007可以与以上关于图11所描述的抖动缓冲配置设备1100对应。JBM 1007可以对准蜂窝RX(接收)窗口。为了加速初始配置,RX时隙1204、1206、1208的位置可以用于确定播放中断位置。如图12的示图中所描述的那样,一旦设置用于頂S呼叫的专用EPS运营商,就获知“onDurat1nStart”1202和“onDurat1nTimer”值的位置。数据的接收将发生在“onDurat1nPer1d”中。在接收问题的情况下,网络可以重传若干次,对于接收音频帧带来延迟。作为初始配置1210,可以然后基于“01^11瓜^0113七3代”1202的位置和内部处理时间(即传播1212、1^13解封装、解码1214)来初始化播放时间。为了处于安全侧上并且直接容纳网络重传,当配置初始播放时间时,可以考虑重传1206、1208。这样使得能够直接开始于能够以最优方式来处理最大数量的HARQ(混合自动重复请求)重传的配置。当假设不存在将导致无线电网络抖动的顶端上的核心网络抖动的核心网络拥塞问题时,仅添加JBM缓冲可以是足够的。
[0109]根据本公开的方法和设备提供改进的抖动缓冲管理,以克服与针对未来短期中的网络行为在过去短期中所收集的信息之间的差异有关的问题。可以通过应用根据本公开的方法和设备来克服以下问题:用于达到稳定状态的收敛时间(关于JBM设置,并且尤其关于JBM缓冲)、用于从稳定状态退出并且应对新的变化的延时(作为新的网络情形和行为的结果)、以及在时段性现象的情况下在没有收敛到正确和稳定状态的情况下的振荡行为。
[0110]根据本公开的方法和设备提供用于处理以下网络抖动时段性地并且有规律地增加并且减少的情况的机制。JBM将以某种延时来跟随该行为,带来次优过程,并且可能绝不收敛到稳定状态。在JBM尝试非常快速地以最小延时来跟随网络变化的情况下,这样可能带来使用多于所需的缓冲或时段性音频失真。通过基于移动性信息而调整抖动缓冲器大小,根据本公开的方法和设备可以将JBM驱动到稳定状态。
[0111]根据本公开的方法和设备提供用于通过附加信息和增加的精度来预测对于现有JBM实现方式难以处理的一些情形的机制。具体地说,在与振荡行为对应的网络抖动的情况下,在此所描述的方法和设备提供改进的JBM性能。JBM性能对于车辆、列车、公共汽车等中的IP上的所有媒体(音频和视频)并且对于VoLTE用途在高移动性情形中得以改进,带来使用中的设备的有规律并且快速的移动(例如,比移动行人更快)。
[0112]本公开可以还支持计算机程序产品,其包括计算机可执行代码或计算机可执行指令,其当执行时使得至少一个计算机执行并且计算在此所描述的步骤(具体地说,如以上关于图2和图7所描述的方法200和700以及以上关于图1至图10所描述的技术)。该计算机程序产品可以包括可读存储介质,其在其上存储程序代码,以用于由计算机使用。程序代码可以执行如以上关于图2所描述的方法200或如以上关于图7所描述的方法700。
[0113]示例
[0114]以下示例涉及其它实施例。示例I是一种用于控制接收音频帧与处理音频帧之间的端到端延时的方法,所述方法包括:接收包括至少一个已编码音频帧的数据分组;在分组缓冲器中存储接收到的数据分组;从所述分组缓冲器获取接收到的数据分组,并且将所述至少一个已编码音频帧解码为音频采样;以及处理所述音频采样,其中,对从所述分组缓冲器获取接收到的数据分组并且解码所述至少一个已编码音频帧的调度基于针对所述音频采样的音频质量以及接收数据分组与处理音频采样之间的延时的目标准则,并且其中,所述调度在时间上动态地并且平滑地偏移,以避免音频失真。
[0115]在示例2中,示例I的主题内容可以可选地包括:对从所述分组缓冲器获取接收到的数据分组并且解码所述至少一个已编码音频帧的调度基于对所述至少一个已解码音频帧进行时间缩放,以便将接收到的数据分组的处理移动到关于最小延时的最优位置中。
[0116]在示例3中,示例2的主题内容可以可选地包括:对所述至少一个已解码音频帧进行时间缩放包括以下操作中的至少一个:帧压缩,用于减少接收所述数据分组与处理所述音频采样之间的延时;帧扩展,用于增加接收所述数据分组与处理所述音频采样之间的延时;以及关于帧压缩和帧扩展的空闲活动,用于保持接收所述数据分组与处理所述音频采样之间的延时。
[0117]在示例4中,示例2至3中任一项的主题内容可以可选地包括:所述时间缩放用于偏移所述调度,以便修改所述至少一个已解码音频帧的位置。
[0118]在示例5中,示例2至4中任一项的主题内容可以可选地包括:时间缩放基于话音帧压缩和话音帧扩展之一。
[0119]在示例6中,示例I至5中任一项的主题内容可以可选地包括:基于以下信息中的至少一个来确定最优调度:关于接收到的数据与所播放的数据之间的延时的统计,基于接收速率和重传速率中的至少一个的调制解调器统计。
[0120]在示例7中,示例I至6中任一项的主题内容可以可选地包括:所述数据分组是异步接收到的数据分组的流的一部分。
[0121]在示例8中,示例7的主题内容可以可选地包括:确定接收所述数据分组的流中的相应数据分组与处理所述相应数据分组的音频采样之间的延时的统计;以及使用所述统计进行所述调度。
[0122]在示例9中,示例I至8中任一项的主题内容可以可选地包括:从所述分组缓冲器获取接收到的数据分组并且对所述至少一个已编码音频帧进行解码以及处理所述音频采样基于主时钟。
[0123]在示例10中,示例I至9中任一项的主题内容可以可选地包括:通过调整以下项中的至少一个来执行对从所述分组缓冲器获取接收到的数据分组并且解码所述至少一个已编码音频帧的调度:对从所述分组缓冲器获取接收到的数据分组并且解码所述至少一个已编码音频帧进行的时钟定时;以及对处理所述音频采样进行的时钟定时。
[0124]在示例11中,示例I至10中任一项的主题内容可以可选地包括:确定接收到的数据分组与所处理的音频采样之间的延时;确定所述音频采样的音频质量;以及对从所述分组缓冲器获取接收到的数据分组并且解码所述至少一个已编码音频帧进行调度,使得所述音频质量大于第一阈值,并且接收所述数据分组与处理所述音频采样之间的延时小于第二阈值。
[0125]在示例12中,示例11的主题内容可以可选地包括:处理所述音频采样包括:基于以下项中的至少一个来初始化所述音频采样的播放时间:指示所述音频帧的开始的位置,所述音频帧的重传的数量,内部处理时间,包括所述音频帧的数据分组的重传。
[0126]示例13是一种用于控制接收音频帧与处理音频帧之间的端到端延时的设备,所述设备包括:分组缓冲器,被配置为:接收包括至少一个已编码音频帧的数据分组;解码器,被配置为:从所述分组缓冲器获取接收到的数据分组,并且将所述至少一个已编码音频帧解码为音频采样;音频处理器,被配置为:处理所述音频采样;以及调度器,被配置为:基于针对所述音频采样的音频质量以及所述分组缓冲器进行的接收所述数据分组与所述音频处理器进行的处理所述音频采样之间的延时的的目标准则,对从所述分组缓冲器获取接收到的数据分组并且解码所述至少一个已编码音频帧进行调度,其中,所述调度器(607)被配置为:在时间上动态地并且平滑地偏移所述调度,以避免音频失真。
[0127]在示例14中,示例13的主题内容可以可选地包括:音频缓冲器,耦合在所述解码器与所述音频处理器之间,其中,所述解码器被配置为:将在所述音频缓冲器中存储所述音频采样,所述音频处理器被配置为:从所述音频缓冲器获取所述音频采样。
[0128]在示例15中,示例14的主题内容可以可选地包括:所述调度器被配置为:调整用于在音频缓冲器中存储音频采样的所述解码器的存取速率、用于从音频缓冲器获取音频采样的所述音频处理器的存取速率以及对音频缓冲器的拉取请求的存取速率中的至少一个。
[0129]在示例16中,示例15的主题内容可以可选地包括:所述调度器被配置为:基于第一时钟来调整所述解码器的存取速率,并且基于第二时钟来调整所述音频处理器的存取速率,其中,所述第一时钟和所述第二时钟是从主时钟或任何另外同步机制导出的。
[0130]在示例17中,示例13至16中任一项的主题内容可以可选地包括:所述调度器被配置为:基于调整用于对所述至少一个已编码音频帧进行解码的所述解码器的时间缩放,来对从分组缓冲器获取接收到的数据分组并且解码所述至少一个已编码音频帧进行调度。
[0131]在示例18中,示例13至17中任一项的主题内容可以可选地包括:所述解码器包括话音解码器和话音时间缩放器中的至少一个。
[0132]示例19是一种用于调整移动终端的媒体处理电路中的抖动缓冲器的大小的方法,所述方法包括:对来自接收到的无线电信号的至少一个已编码媒体帧进行解分组;在抖动缓冲器中存储解分组的至少一个已编码媒体帧;从所述抖动缓冲器获取所述至少一个已编码媒体帧,并且将所述至少一个已编码媒体帧解码为媒体采样;基于指示所述移动终端的移动性状态的信息来确定抖动模型;基于指示所述移动性状态的信息的历史来调整所述抖动模型;以及基于所述抖动模型来调整所述抖动缓冲器的大小。
[0133]在示例20中,示例19的主题内容可以可选地包括:指示所述移动终端的移动性状态的信息包括与所述移动终端有关的以下信息中的至少一个:速度或速率信息、位置信息、环境信息、时间信息、速度的改变或加速度信息。
[0134]在示例21中,示例19至20中任一项的主题内容可以可选地包括:基于在指示所述移动终端的移动性状态的信息的基础上所估计的网络抖动,来调整所述抖动缓冲器的大小。
[0135]在示例22中,示例21的主题内容可以可选地包括:估计所述网络抖动作为从指示所述移动终端的移动性状态的信息导出的周期函数。
[0136]示例23是一种在移动终端中使用的媒体处理电路,所述媒体处理电路包括:解分组器,被配置为对来自接收到的无线电信号的至少一个已编码媒体帧进行解分组;抖动缓冲器,被配置为:存储解分组的至少一个已编码媒体帧;解码器,被配置为:从所述抖动缓冲器获取所述至少一个已编码媒体帧,并且将所述至少一个已编码媒体帧解码为媒体采样;以及抖动缓冲管理实体,被配置为:基于指示所述移动终端的移动性状态的信息来确定抖动模型,基于指示移动性状态的信息的历史来调整所述抖动模型,并且基于所述抖动模型来调整所述抖动缓冲器的大小。
[0137]在示例24中,示例23的主题内容可以可选地包括:所述抖动缓冲管理实体包括对位置服务提供实体的接口,用于接收指示所述移动终端的移动性状态的信息。
[0138]在示例25中,示例23至24中任一项的主题内容可以可选地包括:所述抖动缓冲管理实体被配置为:基于与所述移动终端有关的以下信息中的至少一个来调整所述抖动缓冲器的大小:速度或速率信息、位置信息、环境信息、时间信息、速度的改变或加速度信息。
[0139]示例26是一种计算机可读介质,在其上存储有计算机指令,所述计算机指令当由计算机执行时使所述计算机执行示例I至12之一所述的方法或示例19至22之一所述的方法。
[0140]示例27是一种用于控制接收音频帧与处理音频帧之间的端到端延时的设备,所述设备包括:接收装置,用于接收包括至少一个已编码音频帧的数据分组;存储装置,用于在分组缓冲器中存储接收到的数据分组;获取装置,用于从所述分组缓冲器获取接收到的数据分组;解码装置,用于将所述至少一个已编码音频帧解码为音频采样;以及处理装置,用于处理所述音频采样,其中,对从所述分组缓冲器获取接收到的数据分组并且解码所述至少一个已编码音频帧的调度基于针对所述音频采样的音频质量以及接收所述数据分组与处理所述音频采样之间的延时的目标准则。
[0141]在示例28中,示例27的主题内容可以可选地包括:调度装置,用于基于对所述至少一个已编码音频帧进行时间缩放,来对从所述分组缓冲器获取接收到的数据分组并且解码所述至少一个已编码音频帧进行调度。
[0142]在示例29中,示例28的主题内容可以可选地包括:所述调度装置被配置为:基于对所述至少一个已编码音频帧进行重新编码,来对所述至少一个已编码音频帧进行时间缩放。
[0143]示例30是一种用于控制接收音频帧与处理音频帧之间的端到端延时的系统,所述系统包括:分组缓冲器,被配置为:接收包括至少一个已编码音频帧的数据分组;解码器,被配置为:从所述分组缓冲器获取接收到的数据分组,并且将所述至少一个已编码音频帧解码为音频采样;音频处理器,被配置为:处理所述音频采样;以及调度器,被配置为:基于针对所述音频采样的音频质量以及所述分组缓冲器进行的接收所述数据分组与所述音频处理器进行的处理所述音频采样之间的延时的目标准则,对从所述分组缓冲器获取接收到的数据分组并且解码所述至少一个已编码音频帧进行调度。
[0144]在示例31中,示例30的主题内容可以可选地包括:音频缓冲器,耦合在所述解码器与所述音频处理器之间,其中,所述解码器被配置为:在所述音频缓冲器中存储所述音频采样,所述音频处理器被配置为:从所述音频缓冲器获取所述音频采样。
[0145]在示例32中,示例30的主题内容可以可选地包括:所述系统是片上系统。
[0146]示例33是一种用于调整移动终端的媒体处理电路中的抖动缓冲器的大小的设备,所述设备包括:用于对来自接收到的无线电信号的至少一个已编码媒体帧进行解分组的装置;用于在抖动缓冲器中存储解分组的至少一个已编码媒体帧的装置;用于从所述抖动缓冲器获取所述至少一个已编码媒体帧并且将所述至少一个已编码媒体帧解码为媒体采样的装置;用于基于指示所述移动终端的移动性状态的信息来调整所述抖动缓冲器的大小的
目.ο
[0147]在示例34中,示例33的主题内容可以可选地包括:指示所述移动终端的移动性状态的信息包括关于所述移动终端的速度的信息。
[0148]示例35是一种在移动终端中使用的媒体处理系统,所述媒体处理系统包括:解分组器,被配置为:对来自接收到的无线电信号的至少一个已编码媒体帧进行解分组;抖动缓冲器,被配置为:存储解分组的至少一个已编码媒体帧;解码器,被配置为:从所述抖动缓冲器获取所述至少一个已编码媒体帧,并且将所述至少一个已编码媒体帧解码为媒体采样;以及抖动缓冲管理实体,被配置为:基于指示所述移动终端的移动性状态的信息来调整所述抖动缓冲器的大小。
[0149]在示例36中,示例35的主题内容可以可选地包括:所述抖动缓冲管理实体包括对位置服务提供实体的接口,用于接收指示所述移动终端的移动性状态的信息。
[0150]在示例37中,示例36的主题内容可以可选地包括:所述系统是片上系统。
[0151]在示例38中,示例23至25中任一项的主题内容可以可选地包括:所述抖动缓冲管理实体耦合到移动性监视器,以用于接收关于以下项中的至少一个的信息:位置、移动性类型、环境类型、无线电配置类型。
[0152]在示例39中,示例23至25中任一项的主题内容可以可选地包括:所述抖动缓冲管理实体耦合到蜂窝协议栈,以用于接收关于以下项中的至少一个的信息:切换速率、切换类型、切换中断时间、用于测量的触发、关于接收速率的统计、关于网络重传的统计。
[0153]在示例40中,示例23至25中任一项的主题内容可以可选地包括:所述抖动缓冲管理实体被配置为:基于接收到的关于与无线电链路有关的抖动以及与核心网络有关的抖动中的至少一个的信息来调整所述抖动缓冲器的大小。
[0154]此外,虽然可能已经关于仅若干实现方式之一公开了本公开的特定特征或方面,但对于任何给定的或特定的应用可以期望并且有利的是,该特征或方面可以与其它实现方式的一个或多个其它特征或方面组合。此外,在术语“包括”、“具有”、“带有”或它们的其它变形用在【具体实施方式】或权利要求中的程度上,这些术语意图通过与术语“囊括”相似的方式是包含性的。此外,应理解,可以在分立式电路、部分集成电路或完整集成电路或编程装置中实现本公开的各方面。此外,术语“示例性”、“例如”和“比如”仅表示为示例,而非最佳或最优。
[0155]虽然已经在此说明并且描述了具体方面,但本领域技术人员应理解,在不脱离本公开的范围的情况下,对于所示出并且描述的具体方面可以替换各种替选和/或等同实现方式。本发明意图覆盖在此所讨论的具体方面的任何改动和变形。
【主权项】
1.一种用于控制接收音频帧与处理音频帧之间的端到端延时的方法,所述方法包括: 接收包括至少一个已编码音频帧的数据分组; 在分组缓冲器中存储接收到的数据分组; 从所述分组缓冲器获取接收到的数据分组,并且将所述至少一个已编码音频帧解码为音频采样;以及 处理所述音频采样, 其中,对从所述分组缓冲器获取接收到的数据分组并且解码所述至少一个已编码音频帧的调度基于针对所述音频采样的音频质量以及接收所述数据分组与处理所述音频采样之间的延时的目标准则,以及 其中,所述调度在时间上动态地并且平滑地偏移,以避免音频失真。2.如权利要求1所述的方法, 其中,对从所述分组缓冲器获取接收到的数据分组并且解码所述至少一个已编码音频帧的调度基于对所述至少一个已解码音频帧进行时间缩放,以便将对接收到的数据分组的处理移动到关于最小延时的最优位置中。3.如权利要求2所述的方法, 其中,对所述至少一个已解码音频帧进行时间缩放包括以下操作中的至少一个: 帧压缩,用于减少接收所述数据分组与处理所述音频采样之间的延时, 帧扩展,用于增加接收所述数据分组与处理所述音频采样之间的延时,以及关于帧压缩和帧扩展的空闲活动,用于保持接收所述数据分组与处理所述音频采样之间的延时。4.如权利要求2或3所述的方法, 其中,所述时间缩放用于偏移所述调度,以便修改所述至少一个已解码音频帧的位置。5.如权利要求2或3所述的方法, 其中,时间缩放基于话音帧压缩和话音帧扩展之一。6.如权利要求1或2所述的方法,包括: 基于以下信息中的至少一个来确定最优调度: 关于接收到的数据与所播放的数据之间的延时的统计, 基于接收速率和重传速率中的至少一个的调制解调器统计。7.如权利要求1或2所述的方法, 其中,所述数据分组是异步接收到的数据分组的流的一部分。8.如权利要求7所述的方法,还包括: 确定接收所述数据分组的流中的各相应数据分组与处理所述各相应数据分组的音频采样之间的延时的统计;以及使用所述统计进行所述调度。9.如权利要求1或2所述的方法, 其中,从所述分组缓冲器获取接收到的数据分组并且对所述至少一个已编码音频帧进行解码以及处理所述音频采样基于主时钟。10.如权利要求1或2所述的方法, 其中,通过调整以下项中的至少一个来执行对从所述分组缓冲器获取接收到的数据分组并且解码所述至少一个已编码音频帧的调度: 对从所述分组缓冲器获取接收到的数据分组并且解码所述至少一个已编码音频帧进行的时钟定时;以及 对处理所述音频采样进行的时钟定时。11.如权利要求1或2所述的方法,还包括: 确定接收到的数据分组与所处理的音频采样之间的延时; 确定所述音频采样的音频质量;以及 对从所述分组缓冲器获取接收到的数据分组并且解码所述至少一个已编码音频帧进行调度,使得所述音频质量大于第一阈值,并且接收所述数据分组与处理所述音频采样之间的延时小于第二阈值。12.如权利要求1或2所述的方法, 其中,处理所述音频采样包括:基于以下项中的至少一个来初始化所述音频采样的播放时间: 指示所述音频帧的开始的位置, 所述音频帧的重传的数量, 包括所述音频帧的数据分组的重传, 内部处理时间。13.—种用于控制接收音频帧与处理音频帧之间的端到端延时的设备,所述设备包括: 分组缓冲器,被配置为:接收包括至少一个已编码音频帧的数据分组; 解码器,被配置为:从所述分组缓冲器获取接收到的数据分组,并且将所述至少一个已编码音频帧解码为音频采样; 音频处理器,被配置为:处理所述音频采样;以及 调度器,被配置为:基于针对所述音频采样的音频质量以及所述分组缓冲器进行的接收所述数据分组与所述音频处理器进行的处理所述音频采样之间的延时的目标准则,对从所述分组缓冲器获取接收到的数据分组并且解码所述至少一个已编码音频帧进行调度,其中,所述调度器被配置为:在时间上动态地并且平滑地偏移所述调度,以避免音频失真。14.如权利要求13所述的设备,还包括: 音频缓冲器,耦合在所述解码器与所述音频处理器之间,其中,所述解码器被配置为:在所述音频缓冲器中存储所述音频采样,所述音频处理器被配置为:从所述音频缓冲器获取所述音频采样。15.—种用于调整移动终端的媒体处理电路中的抖动缓冲器的大小的方法,所述方法包括: 对来自接收到的无线电信号的至少一个已编码媒体帧进行解分组; 在抖动缓冲器中存储解分组的至少一个已编码媒体帧; 从所述抖动缓冲器获取所述至少一个已编码媒体帧,并且将所述至少一个已编码媒体帧解码为媒体采样; 基于指示所述移动终端的移动性状态的信息来确定抖动模型; 基于指示所述移动性状态的信息的历史来调整所述抖动模型;以及 基于所述抖动模型来调整所述抖动缓冲器的大小。16.如权利要求15所述的方法, 其中,指示所述移动终端的移动性状态的信息包括与所述移动终端有关的以下信息中的至少一个: 速度或速率信息, 位置信息, 环境信息, 时间信息, 速度的改变或加速度信息。17.如权利要求15或16所述的方法,还包括: 基于在指示所述移动终端的移动性状态的信息的基础上所估计的网络抖动,来调整所述抖动缓冲器的大小。18.如权利要求17所述的方法,还包括: 将所述网络抖动估计为从指示所述移动终端的移动性状态的信息导出的周期函数。19.一种在移动终端中使用的媒体处理电路,所述媒体处理电路包括: 解分组器,被配置为:对来自接收到的无线电信号的至少一个已编码媒体帧进行解分组; 抖动缓冲器,被配置为:存储解分组的至少一个已编码媒体帧; 解码器,被配置为:从所述抖动缓冲器获取所述至少一个已编码媒体帧,并且将所述至少一个已编码媒体帧解码为媒体采样;以及 抖动缓冲管理实体,被配置为:基于指示所述移动终端的移动性状态的信息来确定抖动模型,基于指示移动性状态的信息的历史来调整所述抖动模型,并且基于所述抖动模型来调整所述抖动缓冲器的大小。20.如权利要求19所述的媒体处理电路, 其中,所述抖动缓冲管理实体包括对位置服务提供实体的接口,用于接收指示所述移动终端的移动性状态的信息。21.—种计算机可读介质,在其上存储有计算机指令,所述计算机指令当由计算机执行时使所述计算机执行如权利要求1至12之一或权利要求15至18之一所述的方法。22.—种用于控制接收音频帧与处理音频帧之间的端到端延时的设备,所述设备包括: 接收装置,用于接收包括至少一个已编码音频帧的数据分组; 存储装置,用于在分组缓冲器中存储接收到的数据分组; 获取装置,用于从所述分组缓冲器获取接收到的数据分组; 解码装置,用于将所述至少一个已编码音频帧解码为音频采样;以及 处理装置,用于处理所述音频采样, 其中,对从所述分组缓冲器获取接收到的数据分组并且解码所述至少一个已编码音频帧的调度基于针对所述音频采样的音频质量以及接收所述数据分组与处理所述音频采样之间的延时的目标准则。23.如权利要求22所述的设备,包括: 调度装置,用于基于对所述至少一个已编码音频帧进行时间缩放,来对从所述分组缓冲器获取接收到的数据分组并且解码所述至少一个已编码音频帧进行调度。24.一种在移动终端中使用的媒体处理系统,所述媒体处理系统包括: 解分组器,被配置为:对来自接收到的无线电信号的至少一个已编码媒体帧进行解分组; 抖动缓冲器,被配置为:存储解分组的至少一个已编码媒体帧; 解码器,被配置为:从所述抖动缓冲器获取所述至少一个已编码媒体帧,并且将所述至少一个已编码媒体帧解码为媒体采样;以及 抖动缓冲管理实体,被配置为:基于指示所述移动终端的移动性状态的信息来调整所述抖动缓冲器的大小。25.如权利要求24所述的系统, 其中,所述抖动缓冲管理实体耦合到移动性监视器,以用于接收关于以下项中的至少一个的信息:位置、移动性类型、环境类型、无线电配置类型。
【文档编号】H04L7/00GK106027480SQ201610101583
【公开日】2016年10月12日
【申请日】2016年2月24日
【发明人】P·温格特纳, E·塞尔, C·博格昂特, J·帕龙
【申请人】英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1