一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

音频处理方法和装置、音频处理模型的训练方法和装置与流程

2022-10-13 04:50:17 来源:中国专利 TAG:


1.本公开涉及音频传输技术领域,尤其涉及一种音频处理方法和装置、音频处理模型的训练方法和装置。


背景技术:

2.在音频传输领域,例如基于voip(voice over internet protocol)的实时语音通信应用中,由于网络的不稳定(抖动和丢包),通常会在接收端运用一个jitter buffer(抖动缓冲区)起到缓冲的目的,以保持接收端音频播放的连续性。
3.相关技术中,可以使用信号处理的方式动态调整jitter buffer的长度。该方式取最近的一个时间窗口,统计该窗口内iat(inter arrival time,包间到达时延)的概率分布,得到一个能够覆盖大部分情况的时长,作为jitter buffer的目标长度。为了应对突发的抖动,还会检测iat的峰值,将过大的峰值记录到峰值队列中。为了与时间窗口相统一,峰值队列中的每个元素均只能停留一个时间窗口的时长,超时则移除。每次进行概率统计得到目标长度后,若峰值队列中有元素,就选择其中的最大值作为新的目标长度,据此调整jitter buffer的长度,否则就按照概率统计得到的目标长度调整。
4.这种方法需要按照统计窗口进行周期性的概率分布统计,因而只能处理周期性的突发抖动,并且周期长度不能超过时间窗口的长度。同时,这种方法对jitter buffer长度的估计有滞后性,当抖动发生时,由于统计特性还在被上一个抖动状态主导,导致jitter buffer调整的速度慢于实际。


技术实现要素:

5.本公开提供一种音频处理方法和装置、音频处理模型的训练方法和装置,以至少解决相关技术中的如何降低抖动缓冲区的动态调整延迟的问题,也可不解决任何上述问题。
6.根据本公开的第一方面,提供了一种音频处理方法,所述音频处理方法包括:在接收目标音频的多个音频包的过程中,获取网络服务质量特征;将所述网络服务质量特征输入音频处理模型,得到推荐长度;其中,所述音频处理模型是根据音频样本、接收所述音频样本过程中获取的所述网络服务质量特征、所述音频样本经抖动缓冲处理得到的接收音频训练得到的;根据所述推荐长度,调整抖动缓冲区;根据调整后的抖动缓冲区,对接收到的音频包进行抖动缓冲处理。
7.可选地,所述获取网络服务质量特征,包括:在满足设定条件的情况下,获取所述网络服务质量特征;其中,所述设定条件包括以下至少之一:接收到音频包、接收到音频包且没有调整抖动缓冲区的连续次数达到设定次数、距离上次调整抖动缓冲区经历了设定时长。
8.可选地,所述根据所述推荐长度,调整抖动缓冲区,包括:根据上次平滑处理得到的修正长度和当前的所述推荐长度,对当前的所述推荐长度进行平滑处理,得到当前的修
正长度;将抖动缓冲区的长度调整至所述当前的修正长度。
9.可选地,所述音频处理模型通过以下步骤训练得到:在接收所述音频样本的多个音频包的过程中,基于所述音频处理模型对抖动缓冲区进行动态调整,并根据动态调整后的抖动缓冲区,对接收到的各个音频包进行抖动缓冲处理,得到所述接收音频;根据所述音频样本和所述接收音频,确定损失;基于所述损失调整所述音频处理模型的参数,以对所述音频处理模型进行训练。
10.可选地,所述根据所述音频样本和所述接收音频,确定损失,包括:根据所述音频样本和所述接收音频,确定音质损失和延迟损失;根据所述音质损失和所述延迟损失,确定所述损失。
11.可选地,所述根据所述音质损失和所述延迟损失,确定所述损失,包括:获取所述音质损失对应的音质权重,以及所述延迟损失对应的延迟权重;根据所述音质权重和所述延迟权重,确定所述音质损失和所述延迟损失的加权和,作为所述损失。
12.可选地,接收到的音频包是对所述音频样本的多个音频包进行网损模拟处理后得到的。
13.根据本公开的第二方面,提供了一种音频处理模型的训练方法,所述训练方法包括:在接收音频样本的多个音频包的过程中,多次获取网络服务质量特征;将每次获取的所述网络服务质量特征输入所述音频处理模型,得到相应的推荐长度;根据得到的多个所述推荐长度,动态调整抖动缓冲区;根据动态调整后的抖动缓冲区,对接收到的各个音频包进行抖动缓冲处理,得到接收音频;根据所述音频样本和所述接收音频,确定损失;基于所述损失调整所述音频处理模型的参数,以对所述音频处理模型进行训练。
14.可选地,所述根据所述音频样本和所述接收音频,确定损失,包括:根据所述音频样本和所述接收音频,确定音质损失和延迟损失;根据所述音质损失和所述延迟损失,确定所述损失。
15.可选地,所述根据所述音质损失和所述延迟损失,确定所述损失,包括:获取所述音质损失对应的音质权重,以及所述延迟损失对应的延迟权重;根据所述音质权重和所述延迟权重,确定所述音质损失和所述延迟损失的加权和,作为所述损失。
16.可选地,接收到的音频包是对所述音频样本的多个音频包进行网损模拟处理后得到的。
17.可选地,所述根据得到的多个所述推荐长度,动态调整抖动缓冲区,包括:对每次得到的所述推荐长度,根据上次平滑处理得到的修正长度和当前的所述推荐长度,对当前的所述推荐长度进行平滑处理,得到当前的修正长度,并将抖动缓冲区的长度调整至所述当前的修正长度。
18.可选地,所述获取网络服务质量特征,包括:在满足设定条件的情况下,获取所述网络服务质量特征;其中,所述设定条件包括以下至少之一:接收到音频包、接收到音频包且没有调整抖动缓冲区的连续次数达到设定次数、距离上次调整抖动缓冲区经历了设定时长。
19.根据本公开的第三方面,提供了一种音频处理装置,所述音频处理装置包括:获取单元,被配置为:在接收目标音频的多个音频包的过程中,获取网络服务质量特征;推荐单元,被配置为:将所述网络服务质量特征输入音频处理模型,得到推荐长度;其中,所述音频
处理模型是根据音频样本、接收所述音频样本过程中获取的所述网络服务质量特征、所述音频样本经抖动缓冲处理得到的接收音频训练得到的;调整单元,被配置为:根据所述推荐长度,调整抖动缓冲区;处理单元,被配置为:根据调整后的抖动缓冲区,对接收到的音频包进行抖动缓冲处理。
20.可选地,所述获取单元还被配置为:在满足设定条件的情况下,获取所述网络服务质量特征;其中,所述设定条件包括以下至少之一:接收到音频包、接收到音频包且没有调整抖动缓冲区的连续次数达到设定次数、距离上次调整抖动缓冲区经历了设定时长。
21.可选地,所述调整单元还被配置为:根据上次平滑处理得到的修正长度和当前的所述推荐长度,对当前的所述推荐长度进行平滑处理,得到当前的修正长度;将抖动缓冲区的长度调整至所述当前的修正长度。
22.可选地,所述音频处理模型通过以下步骤训练得到:在接收所述音频样本的多个音频包的过程中,基于所述音频处理模型对抖动缓冲区进行动态调整,并根据动态调整后的抖动缓冲区,对接收到的各个音频包进行抖动缓冲处理,得到所述接收音频;根据所述音频样本和所述接收音频,确定损失;基于所述损失调整所述音频处理模型的参数,以对所述音频处理模型进行训练。
23.可选地,所述根据所述音频样本和所述接收音频,确定损失,包括:根据所述音频样本和所述接收音频,确定音质损失和延迟损失;根据所述音质损失和所述延迟损失,确定所述损失。
24.可选地,所述根据所述音质损失和所述延迟损失,确定所述损失,包括:获取所述音质损失对应的音质权重,以及所述延迟损失对应的延迟权重;根据所述音质权重和所述延迟权重,确定所述音质损失和所述延迟损失的加权和,作为所述损失。
25.可选地,接收到的音频包是对所述音频样本的多个音频包进行网损模拟处理后得到的。
26.根据本公开的第四方面,提供了一种音频处理模型的训练装置,所述训练装置包括:获取单元,被配置为:在接收音频样本的多个音频包的过程中,多次获取网络服务质量特征;推荐单元,被配置为:将每次获取的所述网络服务质量特征输入所述音频处理模型,得到相应的推荐长度;调整单元,被配置为:根据得到的多个所述推荐长度,动态调整抖动缓冲区;处理单元,被配置为:根据动态调整后的抖动缓冲区,对接收到的各个音频包进行抖动缓冲处理,得到接收音频;计算单元,被配置为:根据所述音频样本和所述接收音频,确定损失;调参单元,被配置为:基于所述损失调整所述音频处理模型的参数,以对所述音频处理模型进行训练。
27.可选地,所述计算单元还被配置为:根据所述音频样本和所述接收音频,确定音质损失和延迟损失;根据所述音质损失和所述延迟损失,确定所述损失。
28.可选地,所述计算单元还被配置为:获取所述音质损失对应的音质权重,以及所述延迟损失对应的延迟权重;根据所述音质权重和所述延迟权重,确定所述音质损失和所述延迟损失的加权和,作为所述损失。
29.可选地,接收到的音频包是对所述音频样本的多个音频包进行网损模拟处理后得到的。
30.可选地,所述调整单元还被配置为:对每次得到的所述推荐长度,根据上次平滑处
理得到的修正长度和当前的所述推荐长度,对当前的所述推荐长度进行平滑处理,得到当前的修正长度,并将抖动缓冲区的长度调整至所述当前的修正长度。
31.可选地,所述获取单元还被配置为:在满足设定条件的情况下,获取所述网络服务质量特征;其中,所述设定条件包括以下至少之一:接收到音频包、接收到音频包且没有调整抖动缓冲区的连续次数达到设定次数、距离上次调整抖动缓冲区经历了设定时长。
32.根据本公开的第五方面,提供了一种电子设备,所述电子设备包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的音频处理方法或音频处理模型的训练方法。
33.根据本公开的第六方面,提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的音频处理方法或音频处理模型的训练方法。
34.根据本公开的第七方面,提供了一种计算机程序产品,包括计算机指令,所述计算机指令被至少一个处理器执行时实现根据本公开的音频处理方法或音频处理模型的训练方法。
35.本公开的实施例提供的技术方案至少带来以下有益效果:
36.根据本公开的实施例的音频处理方法、音频处理装置、音频处理模型的训练方法和音频处理模型的训练装置,基于经训练得到的音频处理模型,实现抖动缓冲区的动态调整,不依赖于概率统计,一方面能够快速给出适宜的抖动缓冲区的推荐长度,从而降低相关技术中包间到达时延概率统计带来的系统延迟,另一方面,由于不受概率统计的统计周期限制,既能够适应于各种周期长度的周期性突发抖动,又能够适应于非周期性突发抖动,可兼顾不同场景,提升了方案的普适性。
37.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
38.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
39.图1是示出相关技术中的音频处理方法的流程示意图。
40.图2是示出根据本公开的示例性实施例的音频处理方法的流程图。
41.图3是示出根据本公开的示例性实施例的音频处理方法及音频处理模型的训练方法的流程示意图。
42.图4是示出根据本公开的示例性实施例的网络服务质量特征的组织方式示意图。
43.图5是示出根据本公开的示例性实施例的音频处理模型的训练方法的流程图。
44.图6是示出根据本公开的示例性实施例的音频处理装置的框图。
45.图7是示出根据本公开的示例性实施例的音频处理模型的训练装置的框图。
46.图8是示出根据本公开的示例性实施例的电子设备的框图。
具体实施方式
47.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
48.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
49.在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括a和b之中的至少一个”即包括如下三种并列的情况:(1)包括a;(2)包括b;(3)包括a和b。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
50.在基于voip的实时语音通信应用中,音频以多个音频包的形式被逐个发送,例如每采集到20ms的音频,就将之转换为一个音频包,向接收端发送。由于网络的不稳定(抖动和丢包),通常会在接收端运用一个jitter buffer(抖动缓冲区)起到缓冲的目的。例如,传输网络如果突发了50ms的抖动,当使用一个60ms的jitter buffer时,在接收端用户处,不会感知到音频卡顿。所以,通过引入一个60ms延迟的jitter buffer,可以对小于60ms的抖动带来的音频不连续进行缓冲,从而达到不影响接收端音频播放连续性的目的。
51.相关技术中,可以使用信号处理的方式动态调整jitter buffer的长度,对于上例就是jitter buffer的长度不一定恒定为60ms。参照图1,该动态调整的方式是,取最近的一个时间窗口t,统计该窗口内iat的概率分布,得到一个能够覆盖大部分情况的时长(例如95分位数),作为jitter buffer的目标长度。为了应对突发的抖动,还会检测iat的峰值,将满足峰值条件的iat(比如大于某个固定值或者大于目标长度的2倍的iat)记录到峰值队列中。为了与时间窗口相统一,峰值队列中的每个元素均只能停留一个时间窗口t的时长,超时则移除。每次进行概率统计得到目标长度后,若峰值队列中有元素,就选择其中的最大值作为新的目标长度,据此调整jitter buffer的长度,否则就按照概率统计得到的目标长度调整。
52.图1中的动态调整jitter buffer部分的虚线框描述了jitter buffer的变化对解析音频的影响,输入代表音频包到达jitter buffer,也就是接收端接收到音频包,输出代表从jitter buffer中提取并解析音频包,实现音频播放。应理解,这里的播放可以是接收端利用自带的扬声器进行播放,也可以是输出到其他外接扬声设备进行播放。当传输网络不稳定时,客观表现为qos(quality of service,服务质量)指标差,此时jitter buffer会被调长,使得音频包的解析延迟加长;当传输网络稳定,qos指标好时,jitter buffer就会被调短,使得音频包的解析延迟缩短。当jitter buffer变化时,由于每个音频包通常只对应10ms数量级的时长,可通过调整音频包的播放速度来适应,使得人耳听不出异常。具体来说,可以在jitter buffer突然变长,解析出的音频包数量不足时放慢播放速度,可jitter buffer突然变短,解析出的音频包数量较多时加快播放速度,减小播放延迟。
53.这种使用信号处理的方式动态调整jitter buffer长度的方法,需要按照统计窗口进行周期性的概率分布统计,对jitter buffer长度的估计有滞后性,当抖动发生时,由于统计特性还在被上一个抖动状态主导,导致jitter buffer调整的速度慢于实际。根据本公开的示例性实施例提出了一种基于经训练得到的音频处理模型,动态调整jitter buffer长度的方案,不依赖于概率统计,一方面能够快速给出适宜的jitter buffer推荐长度,从而降低iat概率统计带来的系统延迟,另一方面,由于不受概率统计的统计周期限制,既能够适应于各种周期长度的周期性突发抖动,又能够适应于非周期性突发抖动,可兼顾不同场景,提升了方案的普适性。
54.下面,将参照图2至图8具体描述根据本公开的示例性实施例的音频处理方法、音频处理装置、音频处理模型的训练方法、音频处理模型的训练装置。
55.图2是示出根据本公开的示例性实施例的音频处理方法的流程图。图3是示出根据本公开的示例性实施例的音频处理方法及音频处理模型的训练方法的流程示意图。应理解,根据本公开的示例性实施例的音频处理方法可以在诸如智能手机、平板电脑、个人电脑(pc)的终端设备中实现,这些终端设备具体是音频传输中的接收端。
56.参照图2和图3,在步骤201,在接收目标音频的多个音频包的过程中,获取网络服务质量特征。
57.可选地,步骤201中获取网络服务质量特征的操作包括:在满足设定条件的情况下,获取网络服务质量特征;其中,设定条件包括以下至少之一:接收到音频包、接收到音频包且没有调整抖动缓冲区的连续次数达到设定次数、距离上次调整抖动缓冲区经历了设定时长。通过配置设定条件,能够在接收音频包的过程中,每当满足设定条件,就触发抖动缓冲区的调整,从而实现抖动缓冲区的动态调整。在实际传输中,每接收到一个音频包,往往都会附带有相应的反映网络状态的指标。可从这些指标中选择一些,作为网络服务质量指标,以据此确定出前述的网络服务质量特征。对于抖动缓冲区的调整,可以是每次接收到音频包时都进行,以实现实时调整,有助于提升对突发抖动的响应速率;也可以间隔一定数量的音频包才进行一次调整,也就是前述的连续次数达到设定次数,设定次数就是连续不计算的音频包的数量,可适当减少计算量;还可以在上次调整抖动缓冲区后经历了设定时长时才进行调整,即按照设定时长做周期性调整,可实现相对均匀的调整。当然,在不矛盾的情况下,也可以将上述的几个设定条件结合在一起,从不同角度限制调整时机,有助于提升方案的灵活性。以设定条件同时包括接收到音频包、距离上次调整抖动缓冲区经历了设定时长为例,可以在上次调整到当前时刻所经历的时长达到设定时长,且期间接收到新的音频包的情况下,认为满足设定条件,此时受到音频包的接收时间影响,可能不会实现严格的周期性调整。以设定条件同时包括接收到音频包且没有调整抖动缓冲区的连续次数达到设定次数、距离上次调整抖动缓冲区经历了设定时长为例,可以在该连续次数达到设定次数,且距离上次调整抖动缓冲区所经历的时长大于或等于设定时长时,认为满足设定条件,此时同样可能不会实现严格的周期性调整。
58.图4是示出根据本公开的示例性实施例的网络服务质量特征的组织方式示意图。参照图4,网络服务质量特征为按音频包排布的向量,包括t时刻的音频包的多个网络服务质量指标,包括但不限于丢包率p
t
(下标t代表t时刻,下同)、包间到达时延iat
t
、带宽b
t
、传输时延d
t
、发送端音频码率、接收端音频质量。带宽可以直接反映网络传输能力;丢包率、包
间到达时延、传输时延则可以借助音频包的接收情况反映网络服务质量;由于发送端可能会根据发送端的网络状况(上行)来改变码率,在网络不佳时降低码率,所以发送端音频码率可以体现发送端的网络状况;接收端音频质量则可以从最终的音频质量角度来反映网络服务质量。通过选择丰富多样的网络服务指标,能够为音频处理模型的计算提供更多信息,进而输出一个更加综合的推荐长度。
59.可选地,获取的网络服务质量特征是根据网络服务质量指标得到的,这些网络服务质量指标的选择可结合时间进行。作为示例,可直接选择最新的网络服务质量指标,既具有代表性,又能够简化网络服务质量特征,减少计算量,提升响应速率。也可以筛选出网络服务质量指标在最近的至少两个不同长度(例如1s、5s、10s)的历史周期内的统计值,统计值例如为平均值、中位数或众数。此时能够更全面地了解网络服务质量指标的历史变化情况,有助于音频处理模型得到更合理的推荐长度。举例来说,若传输网络的质量一直较好,突然发生了抖动,那么可以推测这只是暂时的抖动,很快就会恢复,所以可以得到一个较小的推荐长度,以减少抖动缓冲区剧烈缩小而需要相应地大幅降低已解析音频包的播放速度的情况发生;若传输网络此前存在频繁的抖动,则可以推测抖动暂时无法消除,可以得到一个较大的推荐长度,以满足缓冲需求。当然,也可以同时选择最新的指标数据和最近的至少两个不同长度的历史周期内的指标数据,以更全面地体现网络质量的变化情况。
60.返回参照图2和图3,在步骤202,将网络服务质量特征输入音频处理模型,得到推荐长度。其中,音频处理模型是根据音频样本、接收音频样本过程中获取的网络服务质量特征、音频样本经抖动缓冲处理得到的接收音频训练得到的。通过利用经训练得到的音频处理模型来确定抖动缓冲区的推荐长度,并在后续步骤中据此动态调整抖动缓冲区,一方面能够快速给出适宜的抖动缓冲区的推荐长度,从而降低相关技术中包间到达时延概率统计带来的系统延迟,另一方面,由于不受概率统计的统计周期限制,既能够适应于各种周期长度的周期性突发抖动,又能够适应于非周期性突发抖动,可兼顾不同场景,提升了方案的普适性。
61.音频处理模型具体为深度学习网络。作为示例,参照图3,该模型由两层通过lstm(long short-term memory,长短期记忆)实现的rnn(recurrent neural network,循环卷积神经网络)和一层dense(全连接层)组成,图3中每层网络在括号中标注的数字为对应层使用的节点数(超参数)。使用rnn可以对时序特征进行建模。网络的输出为推荐长度,是预测的即时最佳抖动缓冲区长度。
62.在步骤203,根据推荐长度,调整抖动缓冲区。
63.在一些实施例中,可选地,步骤203可执行为将抖动缓冲区的长度调整为推荐长度,也就是直接按照模型的输出结果进行调整,使得方案简洁,响应迅速。
64.在另一些实施例中,可选地,步骤203包括:根据上次平滑处理得到的修正长度和当前的推荐长度,对当前的推荐长度进行平滑处理,得到当前的修正长度;将抖动缓冲区的长度调整至当前的修正长度。该实施例可理解为对推荐长度进行了修正,使得抖动缓冲区的长度可以根据需求发生稳定渐变,而不会在计算出的推荐长度与当前抖动缓冲区的实际长度差异较大时发生长度突变,可避免抖动缓冲区变化剧烈而需要相应地大幅调整已解析音频包的播放速度的情况发生,保障了系统的稳定性。作为示例,可利用如下的平滑函数对推荐长度进行平滑处理:
65.j
smooth
(t)=(1-τ)
·
j(t) τ
·jsmooth
(t-1)
66.其中,j
smooth
(t)代表t时刻平滑处理后得到的修正长度,τ为预设的时间常数,τ的取值范围是[0,1),j(t)代表t时刻的推荐长度。平滑函数的初始条件为:
[0067]jsmooth
(0)=j0[0068]
其中,j0为预设值,代表初始的抖动缓冲区长度。
[0069]
在步骤204,根据调整后的抖动缓冲区,对接收到的音频包进行抖动缓冲处理。参见上文介绍可知,此步骤就是将到达接收端的音频包先存储在抖动缓冲区中,待抖动缓冲区存满后,再一次性提取抖动缓冲区中的全部音频包,进行解析和播放,在抖动缓冲区未存满时,不提取其中的音频包,并合理控制已解析的音频的播放速度,可实现音频缓冲,对接收到的音频包进行连续播放。
[0070]
接下来对音频处理模型的训练过程进行简要介绍,详细的介绍参见下文中图5相关内容。
[0071]
可选地,音频处理模型通过以下步骤训练得到:在接收音频样本的多个音频包的过程中,基于音频处理模型对抖动缓冲区进行动态调整,并根据动态调整后的抖动缓冲区,对接收到的各个音频包进行抖动缓冲处理,得到接收音频;根据音频样本和接收音频,确定损失;基于损失调整音频处理模型的参数,以对音频处理模型进行训练。在训练阶段,通过对接收到的音频包执行抖动缓冲处理,也就是基于实时的抖动缓冲区,进行音频包的解析和播放,可在解析出接收到的全部音频包后,最终得到在接收端播放的整段音频,将之记为接收音频。通过将整段的音频样本与相应的接收音频进行对比,可方便、直观地反映音频处理模型调整抖动缓冲区的效果,再据此调整音频处理模型的参数,就可以实现模型的训练。此外,由于是在最后得到整个接收音频后才调整模型参数,而不必在动态调整抖动缓冲区的过程中调整模型参数,可简化调整参数的操作,减少计算量,降低计算负荷。
[0072]
可选地,根据音频样本和接收音频,确定损失,包括:根据音频样本和接收音频,确定音质损失和延迟损失;根据音质损失和延迟损失,确定损失。接收音频受低质量的传输网络的负面影响,相对于发送端发出的原始的音频样本可能存在音质降低或延迟升高,而合理调整抖动缓冲区有助于削弱这种负面影响。通过确定接收音频相对于音频样本的音质损失和延迟损失,进而确定损失,可以全面评价音频处理模型的调整效果。
[0073]
可选地,根据音质损失和延迟损失,确定损失,包括:获取音质损失对应的音质权重,以及延迟损失对应的延迟权重;根据音质权重和延迟权重,确定音质损失和延迟损失的加权和,作为损失。通过为音质损失和延迟损失分别配置自定义的音质权重和延迟权重,并将音质损失和延迟损失的加权和作为损失,能够在对比时赋予音质损失和延迟损失不同的参考价值,使得训练出的音频处理模型能够在权重更大的方面起到更优的调整效果,实现有目标地模型训练,提升了模型训练的灵活性。
[0074]
可选地,接收到的音频包是对音频样本的多个音频包进行网损模拟处理后得到的,网损模拟处理可通过网损仪或者网损模拟软件实现。通过对音频样本的多个原始音频包进行网损条件下的丢包和抖动模拟,可模拟原始的音频包的丢包情况及到达接收端的时间,从而不必真实地在传输网络中传输音频包。一方面,模型的训练需要海量的样本,该操作可以减少对传输网络的占用;另一方面,现实的传输网络质量无法预测,网损模拟处理则能够可控地变换不同的网络质量,有助于提升训练得到的音频处理模型对非稳定传输网络
的适应性。
[0075]
图5是示出根据本公开的示例性实施例的音频处理模型的训练方法的流程图。应理解,根据本公开的示例性实施例的音频处理模型的训练方法可以在诸如智能手机、平板电脑、个人电脑(pc)的终端设备中实现,这些终端设备具体是音频传输中的接收端。
[0076]
参照图3和图5,在步骤501,在接收音频样本的多个音频包的过程中,多次获取网络服务质量特征。参考上文中图2的步骤201的相关描述,可以在每次满足设定条件的情况下,获取网络服务质量特征,实现网络服务质量特征的多次实时获取,从而触发对抖动缓冲区的动态调整,此处不再赘述。
[0077]
可选地,在训练阶段,接收到的音频包是对音频样本的多个音频包进行网损模拟处理后得到的,网损模拟处理可通过网损仪或者网损模拟软件实现。音频样本是发送端发出的原始音频,例如可以是一句语音,音频样本包括多个音频包。这些音频包经过传输网络传输至接收端,受到传输网络的网络质量影响,不同音频包的传输时延(即音频包从发送端到达接收端所消耗的时长)可能有所不同,还可能出现丢包(即音频包丢失),使得接收端接收到的音频包与发送端的音频包在数量和间隔时长(即接收端统计的包间到达时延)上有所不同。通过对音频样本的多个原始音频包进行网损条件下的丢包和抖动模拟,可模拟原始的音频包的丢包情况及到达接收端的时间,从而不必真实地在传输网络中传输音频包。一方面,模型的训练需要海量的样本,该操作可以减少对传输网络的占用;另一方面,现实的传输网络质量无法预测,网损模拟处理则能够可控地变换不同的网络质量,有助于提升训练得到的音频处理模型对非稳定传输网络的适应性。
[0078]
应理解,对于在训练阶段应用网损模拟处理的情况,可以直接记录网损指标时间序列,作为不同时刻的网络服务质量特征。网络服务质量特征的具体内容,参见图4以及上文相关介绍,在此不再赘述。
[0079]
在步骤502,将每次获取的网络服务质量特征输入音频处理模型,得到相应的推荐长度。
[0080]
在步骤503,根据得到的多个推荐长度,动态调整抖动缓冲区。
[0081]
在步骤504,根据动态调整后的抖动缓冲区,对接收到的各个音频包进行抖动缓冲处理,得到接收音频。
[0082]
步骤502到步骤504的操作参考上文中图2的步骤202到步骤204的相关描述,此处不再赘述。在解析出接收到的全部音频包后,最终可得到在接收端播放的整段音频,将之记为接收音频。应理解,对于在训练阶段利用真实网络发送音频样本的情况,步骤503和步骤504就是实时根据每次得到的推荐长度相应调整抖动缓冲区,并对音频包进行抖动缓冲处理;对于在训练阶段应用网损模拟处理的情况,由于可以直接得到整个过程的模拟数据,所以音频样本的多个音频包可以构成一个音频包序列,步骤502可以得到一个推荐长度序列,相应地,步骤503和步骤504可以通过对音频包序列和推荐长度序列进行抖动缓冲逻辑计算来实现,从而得到接收音频。
[0083]
在步骤505,根据音频样本和接收音频,确定损失。通过将整段的音频样本与相应的接收音频进行对比,可方便、直观地反映音频处理模型调整抖动缓冲区的效果。作为示例,损失可表示为如下公式:
[0084]
[0085]
其中,s为音频样本,对于实时语音通信,即为图3所示的原始语音信号,为接收端接收到的音频包序列,对于进行网损模拟处理的情况,就是s经网损模拟处理后得到的音频包序列。dnn为深度学习网络,代表音频处理模型,f为深度学习网络的输入数据,即网络服务质量特征,dnn(f)为推荐长度序列,也就是各次调整抖动缓冲区的时刻的推荐长度构成的序列,当对推荐长度做平滑处理时,则为平滑处理后得到的修正长度,j(
·
)为抖动缓冲逻辑,其输入为音频包序列和推荐长度序列,其输出为接收端播放的接收音频对于实时语音通信,即为图3所示的jitter buffer输出语音信号。audio_quality(
·
)为某种有参考音频质量评测指标,也就是参考s来评测的音频质量。作为示例,可应用polqa(perceptual objective listening quality analysis,客观感知听力质量评估算法),以同时对音质和延迟进行评估。即:
[0086][0087]
应理解,在采用某种有参考音频质量评测指标作为损失时,损失就不再具有字面的负面意义,而具有正面意义,损失最大化(即音频质量最大化)成为训练模型的目标。当然,也可将得到的评测指标再进行负相关的转换,使得损失具有负面意义,例如将一个常数与评测指标的差值作为损失,该常数需大于评测指标的最大值,又如将评测指标的倒数作为损失,使训练模型的目标变为损失最小化。以上负相关的转换仅为示例,并非对本公开的限制。
[0088]
可选地,步骤505具体包括:根据音频样本和接收音频,确定音质损失和延迟损失;根据音质损失和延迟损失,确定损失。接收音频受低质量的传输网络的负面影响,相对于发送端发出的原始的音频样本可能存在音质降低或延迟升高,而合理调整抖动缓冲区有助于削弱这种负面影响。通过确定接收音频相对于音频样本的音质损失和延迟损失,进而确定损失,可以全面评价音频处理模型的调整效果。
[0089]
可选地,根据音质损失和延迟损失,确定损失的步骤包括:获取音质损失对应的音质权重,以及延迟损失对应的延迟权重;根据音质权重和延迟权重,确定音质损失和延迟损失的加权和,作为损失。通过为音质损失和延迟损失分别配置自定义的音质权重和延迟权重,并将音质损失和延迟损失的加权和作为损失,能够在对比时赋予音质损失和延迟损失不同的参考价值,使得训练出的音频处理模型能够在权重更大的方面起到更优的调整效果,实现有目标地模型训练,提升了模型训练的灵活性。作为示例,以损失具有正面意义的情况为例,损失可表示为如下公式:
[0090][0091]
其中,代表音质损失,音质越好,音质损失约大,代表延迟损失,延迟越短,延迟损失越大,音质损失和延迟损失的取值范围应该相当。m不代表任何特定的参数,可以是应用任何方式得到的分数,音质损失例如可应用pesq(perceptual evaluation of speech quality,客观语音质量评估算法)得到,即:
[0092][0093]
此时,可将调整为与相当的取值范围,即0至5。
[0094]
在步骤506,基于损失调整音频处理模型的参数,以对音频处理模型进行训练。根据步骤505确定的损失来调整音频处理模型的参数,就可以实现模型的训练。由于是在最后得到整个接收音频后才调整模型参数,而不必在动态调整抖动缓冲区的过程中调整模型参数,可简化调整参数的操作,减少计算量,降低计算负荷。作为示例,可利用梯度下降法实现参数调整。
[0095]
图6是示出根据本公开的示例性实施例的音频处理装置的框图。应理解,根据本公开的示例性实施例的音频处理装置可以在诸如智能手机、平板电脑、个人电脑(pc)的终端设备中以软件、硬件或软件硬件结合的方式实现,这些终端设备具体是音频传输中的接收端。
[0096]
参照图6,音频处理装置600包括获取单元601、推荐单元602、调整单元603、处理单元604。
[0097]
获取单元601可在接收目标音频的多个音频包的过程中,获取网络服务质量特征。
[0098]
可选地,获取单元601还可在满足设定条件的情况下,获取网络服务质量特征;其中,设定条件包括以下至少之一:接收到音频包、接收到音频包且没有调整抖动缓冲区的连续次数达到设定次数、距离上次调整抖动缓冲区经历了设定时长。
[0099]
推荐单元602可将网络服务质量特征输入音频处理模型,得到推荐长度。其中,音频处理模型是根据音频样本、接收音频样本过程中获取的网络服务质量特征、音频样本经抖动缓冲处理得到的接收音频训练得到的。
[0100]
调整单元603可根据推荐长度,调整抖动缓冲区。
[0101]
可选地,调整单元603还可根据上次平滑处理得到的修正长度和当前的推荐长度,对当前的推荐长度进行平滑处理,得到当前的修正长度;将抖动缓冲区的长度调整至当前的修正长度。
[0102]
处理单元604可根据调整后的抖动缓冲区,对接收到的音频包进行抖动缓冲处理。
[0103]
可选地,音频处理模型通过以下步骤训练得到:在接收音频样本的多个音频包的过程中,基于音频处理模型对抖动缓冲区进行动态调整,并根据动态调整后的抖动缓冲区,对接收到的各个音频包进行抖动缓冲处理,得到接收音频;根据音频样本和接收音频,确定损失;基于损失调整音频处理模型的参数,以对音频处理模型进行训练。
[0104]
可选地,根据音频样本和接收音频,确定损失,包括:根据音频样本和接收音频,确定音质损失和延迟损失;根据音质损失和延迟损失,确定损失。
[0105]
可选地,根据音质损失和延迟损失,确定损失,包括:获取音质损失对应的音质权重,以及延迟损失对应的延迟权重;根据音质权重和延迟权重,确定音质损失和延迟损失的加权和,作为损失。
[0106]
可选地,接收到的音频包是对音频样本的多个音频包进行网损模拟处理后得到的。
[0107]
图7是示出根据本公开的示例性实施例的音频处理模型的训练装置的框图。应理解,根据本公开的示例性实施例的音频处理模型的训练装置可以在诸如智能手机、平板电脑、个人电脑(pc)的终端设备中以软件、硬件或软件硬件结合的方式实现,这些终端设备具体是音频传输中的接收端。
[0108]
参照图7,音频处理模型的训练装置700包括获取单元701、推荐单元702、调整单元703、处理单元704、计算单元705、调参单元706。
[0109]
获取单元701可在接收音频样本的多个音频包的过程中,多次获取网络服务质量特征。
[0110]
可选地,接收到的音频包是对音频样本的多个音频包进行网损模拟处理后得到的。
[0111]
可选地,获取单元701还可在满足设定条件的情况下,获取网络服务质量特征;其中,设定条件包括以下至少之一:接收到音频包、接收到音频包且没有调整抖动缓冲区的连续次数达到设定次数、距离上次调整抖动缓冲区经历了设定时长。
[0112]
推荐单元702可将每次获取的网络服务质量特征输入音频处理模型,得到相应的推荐长度。
[0113]
调整单元703可根据得到的多个推荐长度,动态调整抖动缓冲区。
[0114]
可选地,调整单元703还可对每次得到的推荐长度,根据上次平滑处理得到的修正长度和当前的推荐长度,对当前的推荐长度进行平滑处理,得到当前的修正长度,并将抖动缓冲区的长度调整至当前的修正长度。
[0115]
处理单元704可根据动态调整后的抖动缓冲区,对接收到的各个音频包进行抖动缓冲处理,得到接收音频。
[0116]
计算单元705可根据音频样本和接收音频,确定损失。
[0117]
可选地,计算单元705还可根据音频样本和接收音频,确定音质损失和延迟损失;根据音质损失和延迟损失,确定损失。
[0118]
可选地,计算单元705还可获取音质损失对应的音质权重,以及延迟损失对应的延迟权重;根据音质权重和延迟权重,确定音质损失和延迟损失的加权和,作为损失。
[0119]
调参单元706可基于损失调整音频处理模型的参数,以对音频处理模型进行训练。
[0120]
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0121]
图8是根据本公开的示例性实施例的电子设备的框图。
[0122]
参照图8,电子设备800包括至少一个存储器801和至少一个处理器802,所述至少一个存储器801中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器802执行时,执行根据本公开的示例性实施例的音频处理方法或音频处理模型的训练方法。
[0123]
作为示例,电子设备800可以是pc计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备800并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备800还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
[0124]
在电子设备800中,处理器802可包括中央处理器(cpu)、图形处理器(gpu)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
[0125]
处理器802可运行存储在存储器801中的指令或代码,其中,存储器801还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
[0126]
存储器801可与处理器802集成为一体,例如,将ram或闪存布置在集成电路微处理器等之内。此外,存储器801可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器801和处理器802可在操作上进行耦合,或者可例如通过i/o端口、网络连接等互相通信,使得处理器802能够读取存储在存储器中的文件。
[0127]
此外,电子设备800还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备800的所有组件可经由总线和/或网络而彼此连接。
[0128]
根据本公开的示例性实施例,还可提供一种计算机可读存储介质,当计算机可读存储介质中的指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的示例性实施例的音频处理方法或音频处理模型的训练方法。这里的计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd-rom、cd-r、cd r、cd-rw、cd rw、dvd-rom、dvd-r、dvd r、dvd-rw、dvd rw、dvd-ram、bd-rom、bd-r、bd-r lth、bd-re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态硬盘(ssd)、卡式存储器(诸如,多媒体卡、安全数字(sd)卡或极速数字(xd)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
[0129]
根据本公开的示例性实施例,还可提供一种计算机程序产品,该计算机程序产品包括计算机指令,计算机指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的示例性实施例的音频处理方法或音频处理模型的训练方法。
[0130]
根据本公开的示例性实施例的音频处理方法和装置、音频处理模型的训练方法和装置,基于经训练得到的音频处理模型,实现抖动缓冲区的动态调整,不依赖于概率统计,一方面能够快速给出适宜的抖动缓冲区的推荐长度,从而降低相关技术中包间到达时延概率统计带来的系统延迟,另一方面,由于不受概率统计的统计周期限制,既能够适应于各种周期长度的周期性突发抖动,又能够适应于非周期性突发抖动,可兼顾不同场景,提升了方案的普适性。
[0131]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其
它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0132]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献