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

音频处理方法、装置、电子设备及存储介质与流程

2021-08-10 16:37:00 来源:中国专利 TAG:电子设备 信号处理 音频处理 装置 公开
音频处理方法、装置、电子设备及存储介质与流程

本公开涉及信号处理领域,尤其涉及一种音频处理方法、装置、电子设备及存储介质。



背景技术:

通话场景(例如,会议应用、直播连麦、游戏语音)应用下常使用aec系统消除掉通话对端语音,保留近端语音。对于不同平台手机、pc、macos等一般在aec工作期间会发生时延抖动。通常造成这种抖动的原因是系统采集和播放回调数据不均匀或系统线程调度不均匀导致。然而,aec系统无法感知这种时延抖动,只能依靠内部的声学模型(例如,自适应滤波器)的收敛,而这种情况下会出现漏回声现象。



技术实现要素:

本公开提供一种音频处理方法、装置电子设备及存储介质,以至少解决相关技术中的当存在时延抖动时出现漏回声现象的问题。

根据本公开实施例的第一方面,提供了一种音频处理方法,所述音频处理方法包括:检测音频数据采集和播放过程中是否存在时延抖动;当检测到存在时延抖动时,重置声学回声消除aec系统的状态;利用状态重置后的aec系统执行声学回声消除处理,其中,状态重置后的aec系统比重置前的aec系统对声学回声的消除程度更强。

可选地,所述检测音频数据采集和播放过程中是否存在时延抖动,包括:

用系统时间戳标记采集的第一音频数据和播放的第二音频数据,并根据第一音频数据和第二音频数据的时间戳来检测音频数据采集过程中是否存在时延抖动;以及在没有获取到第二音频数据的情况下对第一音频数据进行缓存,并根据第一音频数据的缓存状态来检测音频数据播放过程中是否存在时延抖动。

可选地,所述根据第一音频数据和第二音频数据的时间戳来确定音频数据采集过程中是否存在时延抖动,包括:当第二音频数据的时间戳不大于第一音频数据的时间戳时,确定音频数据采集过程中存在时延抖动。

可选地,所述根据第一音频数据的缓存状态来检测音频数据播放过程中是否存在时延抖动,包括:当缓存的第一音频数据的量超出预设缓存阈值时,确定音频数据播放过程中存在时延抖动。

可选地,所述当检测到存在时延抖动时,重置声学回声消除aec系统的状态,包括:当检测到存在时延抖动时,设置aec重置标记;在第二音频数据的时间戳大于第一音频数据的时间戳并且存在设置的aec重置标记的情况下,重置aec系统的状态。

可选地,所述重置声学回声消除aec系统的状态,包括:使aec系统中的用于声学回声消除的声学模型处于第一状态,其中,状态重置之前aec系统中的所述声学模型处于第二状态,其中,所述声学模型在第一状态下比在第二状态下对声学回声的消除程度强。

可选地,所述利用状态重置后的aec系统执行声学回声消除处理,包括:利用aec系统中的处于第一状态的声学模型从采集的音频数据中消除播放的音频数据的声学回声。

根据本公开实施例的第二方面,提供了一种音频处理装置,所述音频处理装置包括:检测单元,被配置为检测音频数据采集和播放过程中是否存在时延抖动;状态重置单元,被配置为当检测到存在时延抖动时,重置声学回声消除aec系统的状态;回声消除单元,被配置为利用状态重置后的aec系统执行声学回声消除处理,其中,状态重置后的aec系统比重置前的aec系统对声学回声的消除程度更强。

可选地,所述检测音频数据采集和播放过程中是否存在时延抖动,包括:用系统时间戳标记采集的第一音频数据和播放的第二音频数据,并根据第一音频数据和第二音频数据的时间戳来检测音频数据采集过程中是否存在时延抖动;以及在没有获取到第二音频数据的情况下对第一音频数据进行缓存,并根据第一音频数据的缓存状态来检测音频数据播放过程中是否存在时延抖动。

可选地,所述根据第一音频数据和第二音频数据的时间戳来确定音频数据采集过程中是否存在时延抖动,包括:当第二音频数据的时间戳不大于第一音频数据的时间戳时,确定音频数据采集过程中存在时延抖动。

可选地,所述根据第一音频数据的缓存状态来检测音频数据播放过程中是否存在时延抖动,包括:当缓存的第一音频数据的量超出预设缓存阈值时,确定音频数据播放过程中存在时延抖动。

可选地,所述当检测到存在时延抖动时,重置声学回声消除aec系统的状态,包括:当检测到存在时延抖动时,设置aec重置标记;在第二音频数据的时间戳大于第一音频数据的时间戳并且存在设置的aec重置标记的情况下,重置aec系统的状态。

可选地,所述重置声学回声消除aec系统的状态,包括:使aec系统中的用于声学回声消除的声学模型处于第一状态,其中,状态重置之前aec系统中的所述声学模型处于第二状态,其中,所述声学模型在第一状态下比在第二状态下对声学回声的消除程度强。

可选地,所述利用状态重置后的aec系统执行声学回声消除处理,包括:利用aec系统中的处于第一状态的声学模型从采集的音频数据中消除播放的音频数据的声学回声。

根据本公开实施例的第三方面,提供了一种电子设备,包括:至少一个处理器;存储计算机可执行指令的至少一个存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如上所述的音频处理方法。

根据本公开实施例的第四方面,提供了一种存储指令的计算机可读存储介质,其特征在于,当所述指令由至少一个处理器执行时,促使所述至少一个处理器执行如上所述的音频处理方法。

根据本公开实施例的第五方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令被处理器执行时实现如上所述的音频处理方法。

本公开的实施例提供的技术方案至少带来以下有益效果:本公开的实施例通过检测时延抖动并在检测到存在时延抖动时重置aec系统状态,并利用状态重置后的aec系统执行声学回声控制处理来避免漏回声。由于状态重置后的aec系统比重置前的aec系统对声学回声的消除程度更强,所以可以有效地避免漏回声。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的示例实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1是本公开的示例性实施例可以应用于其中的示例性系统架构;

图2是本公开示例性实施例的音频处理方法的流程图;

图3是本公开示例性实施例的aec系统的示意图;

图4是示出本公开示例性实施例的音频处理方法的示例的示意图;

图5是示出本公开示例性实施例的音频处理装置的框图;

图6是根据本公开示例性实施例的电子设备的框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括a和b之中的至少一个”即包括如下三种并列的情况:(1)包括a;(2)包括b;(3)包括a和b。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。

图1示出了本公开的示例性实施例可以应用于其中的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息(例如视频数据上传请求、视频数据下载请求)等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如音视频通话软件、音视频录制软件、即使通信软件、会议软件、邮箱客户端、社交平台软件等。终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏并且能够进行音视频播放、录制、编辑等的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。

终端设备101、102、103可以安装有图像采集装置(例如摄像头),以采集视频数据。实践中,组成视频的最小视觉单位是帧(frame)。每一帧是一幅静态的图像。将时间上连续的帧序列合成到一起便形成动态视频。此外,终端设备101、102、103也可以安装有用于将电信号转换为声音的组件(例如扬声器)以播放声音,并且还可以安装有用于将模拟音频信号转换为数字音频信号的装置(例如,麦克风)以采集声音。

服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上所安装的多媒体应用提供支持的后台服务器。后台服务器可以对所接收到的音视频数据上传请求等数据进行解析、存储等处理,并且还可以接收终端设备101、102、103所发送的音视频数据下载请求,并将该音视频数据下载请求所指示的音视频数据反馈至终端设备101、102、103。

需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。

需要说明的是,本公开实施例所提供的音频处理方法通常由终端设备执行,但是也可由服务器执行,或者也可以由终端设备和服务器协作执行。相应地,音频处理装置可设置在终端设备中、服务器中或者设置在终端设备和服务器两者中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器,本公开对此并无限制。

图2是本公开示例性实施例的音频处理方法的流程图。

参照图2,在步骤s210,检测音频数据采集和播放过程中是否存在时延抖动。例如,实际通话场景中,无论是近端利用麦克风采集音频数据还是通过扬声器播放来自远端(对端)的音频数据,由于回调数据不均匀或线程调度不均匀,都可能导致音频数据采集和播放过程中存在时延抖动。当存在时延抖动时,声学回声消除aec系统无法感知这种抖动,而只能依靠其内部声学模型(例如,自适应滤波器,但不限于此)的收敛,但是声学模型的收敛过程需要花费一定的时间,而在此期间很可能无法及时有效地对播放的音频数据的声学回声进行消除或压制,从而导致声学回声从近端泄露到对端(即,出现漏回声现象),这会导致对端听到的音频数据的效果变差,影响通话质量。

为便于更好地理解本公开,下面参照图3首先对aec系统进行简要介绍。

如图3所示,远端语音传送到系统,此时系统的扬声器会重放远端的信号,同时会给aec系统一份远端语音数据。另外,麦克风会采集近端语音,与此同时麦克风还可能采集到扬声器播放的远端语音的声学回声,它们共同构成近端信号。近端信号被输入到aec,aec基于远端语音以及近端信号,通过其中的用于消除声学回声的声学模型获得远端语音的类似的声学回声,然后,从近端信号中减去该声学回声,从而得到压制或消除了远端语音的声学回声后的近端语音。随后,系统可将近端语音发送到远端。例如,在直播通话或会议通话过程中,可基于以上过程,利用aec从麦克风采集的信号中尽可能地消除扬声器播放的来自远端的语音信号,即,使播放的音频信号尽量少地进入到近端系统将发送给远端的输出信号中。在对aec系统的工作原理进行介绍之后,返回参照图2继续对本公开实施例的音频处理方法进行描述。

具体地,在步骤s210,可用系统时间戳标记采集的第一音频数据和播放的第二音频数据,并根据第一音频数据和第二音频数据的时间戳来检测音频数据采集过程中是否存在时延抖动。这里,采集的第一音频数据可以是近端麦克风采集的音频数据,其包括近端用户自己的音频数据以及扬声器播放的来自远端的音频数据的声学回声。播放的第二音频数据可以是扬声器播放的来自于远端或对端的音频数据。例如,当第二音频数据的时间戳不大于第一音频数据的时间戳时,确定音频数据采集过程中存在时延抖动。这是因为,只有第二音频数据的时间戳大于第一音频数据的时间戳时,才能够满足扬声器播放远端音频后麦克风才能采集到播放的远端音频的声学回声这一因果关系,而如果不能满足以上因果关系,则表明音频数据的采集过程中可能出现了时延抖动。

此外,在步骤s210,还可以在没有获取到第二音频数据的情况下对第一音频数据进行缓存,并根据第一音频数据的缓存状态来检测音频数据播放过程中是否存在时延抖动。例如,当缓存的第一音频数据的量超出预设缓存阈值时,确定音频数据播放过程中存在时延抖动。这是因为当缓存的第一音频数据的量超出预设缓存阈值时,表明一段时间内不曾获取到播放的语音数据,那么很可能音频数据的播放过程中出现了时延抖动。

在步骤s220,当检测到存在时延抖动时,重置声学回声消除aec系统的状态。具体地,在步骤s220,当检测到存在时延抖动时,可设置aec重置标记,在第二音频数据的时间戳大于第一音频数据的时间戳并且存在设置的aec重置标记的情况下,可以重置aec系统的状态。具体而言,重置aec系统的状态可以是例如使aec系统中的用于声学回声消除的声学模型处于第一状态。这里,状态重置之前aec系统中的所述声学模型可处于第二状态,并且所述声学模型在第一状态下比在第二状态下对声学回声的消除程度强。消除程度强表明在第一状态下可以比在第二状态下更多的消除播放的第二音频数据的声学回声。这里,第一状态可以是声学模型重新进入快速收敛状态或初始状态,此时,声学模型对于声学回声的消除程度更强,例如,当声学模型是自适应滤波器时,此时滤波器的滤波阈值可以更大,这样可以更好地过滤掉声学回声,虽然可能会对采集的近端音频有部分损失,但是却可以有效地避免声学回声泄露到对端。第二状态可以是声学模型的稳定状态,此时,虽然声学模型也能够消除或压制远端音频数据的声学回声,但是消除或压制程度会弱于第一状态时的消除或压制程度。

在重置aec系统的状态之后,在步骤s230,可利用状态重置后的aec系统执行声学回声消除处理。如上所述,状态重置后的aec系统比重置前的aec系统对声学回声的消除程度更强。具体地,根据示例性实施例,在步骤s230,可以利用aec系统中的处于第一状态的声学模型从采集的音频数据中消除播放的音频数据的声学回声。例如,可以利用aec系统中的处于第一状态的声学模型估计播放的音频数据的声学回声,并且利用估计出的声学回声,从采集的音频数据中消除播放的音频数据的声学回声。

以上已经参照图2并结合图3描述了根据本公开实施例的音频处理方法,根据上述音频处理方法,通过检测音频采集和播放过程中是否存在时延抖动并在检测到存在时延抖动时重置aec系统状态,并且利用状态重置后的aec系统执行声学回声控制处理,可以有效地避免漏回声现象。

图4是示出本公开示例性实施例的音频处理方法的示例的示意图。为便于直观理解以上参照图2描述的根据本公开实施例的音频处理方法,下面进一步参照图4对上述音频处理处理方法的示例进行简要描述。

如图4所示,在麦克风采集音频数据(在下文中,被简称为采集数据,也即以上提到的第一音频数据)之后,可确定是否有播放的音频数据(在下文中,被简称为播放数据,也即以上提到的第二音频数据),即,是否能够获取到播放的音频数据。如果没能获取到播放数据,则此时可以将采集数据放入缓存。接下来,可以确定缓存的采集数据是否超过预设缓存阈值,如果超过,则表明此时音频播放过程中存在时延抖动,否则处理结束。当检测到存在时延抖动,可以设置aec重置标记(也可被称为aec重置标志),随后可输出近端语音(即,近端用户自己产生的语音,其中不包括远端语音的声学回声)。

如果有播放数据,即,如果能够获取到播放数据,则此时可以读取采集(或缓存)数据和播放数据,并判断播放数据时间戳是否大于采集数据时间戳。这里,播放数据时间戳和采集数据时间戳是之前在播放音频数据和采集音频数据时分别标记的。如果播放数据时间戳不大于采集数据时间戳,说明此时音频采集过程中存在时延抖动,在这种情况下,可以直接丢弃远端数据,并且设置aec重置标记,同时可以输出近端语音。

如果播放数据时间戳大于采集数据时间戳,则进一步确定是否有aec重置标记,如果有,则重置aec系统的状态,并利用状态重置后的aec执行aec处理。而如果没有aec重置标记,则直接进行aec处理。在aec处理之后,可以输出近端语音,至此处理结束。以上已经对重置aec系统的状态以及执行aec处理进行过介绍,这里不再赘述。

在上述音频处理方法的示例中,通过采集播放时间戳和缓存状态提前判断音频采集和播放过程中是否存在时延抖动,然后在存在时延抖动的情况下通过主动重置aec系统的状态来达到让aec进入能够更强地消除远端回声的状态,从而可以避免时延抖动时造成的漏回声现象。

图5是示出本公开示例性实施例的音频处理装置的框图。

参照图5,音频处理装置500可包括检查单元501、状态重置单元502和回声消除单元503。具体而言,检测单元501可检测音频数据采集和播放过程中是否存在时延抖动。状态重置单元502可当检测到存在时延抖动时,重置声学回声消除aec系统的状态。回声消除单元503可利用状态重置后的aec系统执行声学回声消除处理。这里,状态重置后的aec系统比重置前的aec系统对声学回声的消除程度更强。

由于图2所示的音频处理方法可由图5所示的音频处理装置500来执行,并且检测单元501、状态重置单元502和回声消除单元503可分别执行与图2中的步骤s210、步骤s220和步骤s230对应的操作,因此,关于图5中的各单元所执行的操作中涉及的任何相关细节均可参见关于图2至图4的相应描述,这里都不再赘述。

此外,需要说明的是,尽管以上在描述音频处理装置500时将其划分为用于分别执行相应处理的单元,然而,本领域技术人员清楚的是,上述各单元执行的处理也可以在音频处理装置500不进行任何具体单元划分或者各单元之间并无明确划界的情况下执行。此外,音频处理装置500还可包括其他单元,例如,存储单元等。

图6是根据本公开示例性实施例的电子设备的框图。

参照图6,电子设备600可包括至少一个存储器601和至少一个处理器602,所述至少一个存储器存储计算机可执行指令,计算机可执行指令在被至少一个处理器执行时,促使至少一个处理器602执行根据本公开实施例的音频处理方法。

作为示例,电子设备可以是pc计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。

在电子设备中,处理器可包括中央处理器(cpu)、图形处理器(gpu)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。

处理器可运行存储在存储器中的指令或代码,其中,存储器还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。

存储器可与处理器集成为一体,例如,将ram或闪存布置在集成电路微处理器等之内。此外,存储器可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器和处理器可在操作上进行耦合,或者可例如通过i/o端口、网络连接等互相通信,使得处理器能够读取存储在存储器中的文件。

此外,电子设备还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备的所有组件可经由总线和/或网络而彼此连接。

根据本公开的实施例,还可提供一种存储指令的计算机可读存储介质,其中,当所述指令由至少一个处理器执行时,促使所述至少一个处理器执行根据本公开示例性实施例的音频处理方法。这里的计算机可读存储介质的示例包括:只读存储器(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-rlth、bd-re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态硬盘(ssd)、卡式存储器(诸如,多媒体卡、安全数字(sd)卡或极速数字(xd)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的指令或计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。

根据本公开的实施例中,还可提供一种计算机程序产品,该计算机程序包括计算机指令,所述计算机指令被处理器执行时实现根据本公开示例性实施例的音频处理方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文章

  • 日榜
  • 周榜
  • 月榜