CN104036784B - 一种回声消除方法及装置 - Google Patents
一种回声消除方法及装置 Download PDFInfo
- Publication number
- CN104036784B CN104036784B CN201410251052.6A CN201410251052A CN104036784B CN 104036784 B CN104036784 B CN 104036784B CN 201410251052 A CN201410251052 A CN 201410251052A CN 104036784 B CN104036784 B CN 104036784B
- Authority
- CN
- China
- Prior art keywords
- audio
- data
- voice data
- output
- execution
- 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.)
- Active
Links
Landscapes
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
- Telephone Function (AREA)
Abstract
本发明实施例提供了一种回声消除方法及装置,在该方法中,对多路第一音频数据分别降采样以获取第二音频数据,对每路第二音频数据执行音频回声抵消处理以生成对应的实时滤波系数;在对当前时刻待输出的第一音频数据中与上一时刻相比不同的第一音频数据执行音频回声抵消处理时,还设置初始滤波系数;初始滤波系数的获取过程为:确定不同的第一音频数据降采样得到的第二音频数据,获取当前时刻该第二音频数据对应的实时滤波系数,基于该实时滤波系数获取初始滤波系数。可见本发明实施例对当前时刻待输出的第一音频数据中与上一时刻相比不同的第一音频数据执行音频回声抵消时,设置基于连续的音频回声抵消处理中获取的初始滤波系数,提高了滤波效果。
Description
技术领域
本发明涉及音频处理技术,尤其是涉及一种回声消除方法及装置。
背景技术
随着音频处理技术的不断发展,音频通信已经成为人们工作和生活中一种常用的信息交流方式。音频通信实际是由通信一方将音频输入设备接收到的音频数据经过一系列音频处理后向通信另一方输出。其中,在视频会议等通过多个音频输入设备接收多路音频数据的应用场景下,通信一方并不需要将所有的音频输入设备接收的音频数据都输出至通信另一方,而是通过对所有的音频数据执行混音切换,获取到M(M≥1)路待输出的音频数据,例如正有人说话的M个音频输入设备接收的M路音频数据,之后仅输出通过混音切换获取的M路待输出的音频数据。
然而,在音频通信过程中,如果通信一方在同一空间同时设置了音频输入设备和音频输出设备,会使得通信另一方接收的音频数据受到回声的影响,从而影响通话质量。例如,在视频会议中,用户A产生的话音发送给用户B,并经用户B端的扬声器播放,此时用户B端的麦克风会收录该扬声器播放的话音,并传回给用户A,使得用户A好像听到了自己的回声。因此为了消除通信过程中产生的回声,提高通话质量,目前常采用AEC(Audio Echo Cancel,音频回声抵消)技术对音频数据进行处理。
在视频会议等接收多路音频输入数据的应用场景下,现有技术通常采用这样一种消除回声的方式:先将多个音频输入设备接收到的多路音频数据执行混音切换,再对切换后的M路音频数据分别执行AEC处理从而得到回声消除后的输出数据。
然而,由于AEC处理实际上是一种自适应滤波过程,能够根据滤波结果不断调整滤波系数,而这种滤波系数的调整是逐渐逼近的过程,因此当连续滤波时间越长时,其滤波效果即回声消除的效果也越好。显然,由于现有技术先混音切换,再执行AEC,而混音切换得到的M路音频数据往往是不固定 的,例如上一时刻混音切换得到音频数据01和音频数据02,而当前时刻混音切换得到音频数据01和音频数据03,因此对于音频数据03来说,AEC处理连续性较差,滤波系数需要重新逼近,导致滤波效果即回声消除的效果很差。但是可以看出,这种现有技术仅对混音切换技术得到的M路音频数据执行AEC,因此运算量很小,而在回声消除过程中,需要保证较小的运算量从而减轻系统负担、避免延时问题。可见,针对接收多路音频输入数据的应用场景如何实现在保证运算量较小的同时,提高消除回声的效果成为了目前亟待解决的问题。
发明内容
本发明实施例解决的技术问题在于提供一种回声消除的方法及装置,针对接收多路音频输入数据的应用场景,实现在保证运算量较小的同时,提高消除回声的效果。
为此,本发明实施例解决技术问题的技术方案是:
第一方面,本发明实施例提供了一种回声消除方法,对多路第一音频数据分别降采样以获取多路第二音频数据,对每路第二音频数据执行音频回声抵消处理以生成每路第二音频数据所对应的实时滤波系数;
所述方法包括:
获取当前时刻所述多路第一音频数据所对应的混音切换数据;其中,任一路第一音频数据所对应的混音切换数据为该路第一音频数据降采样的第二音频数据执行音频回声抵消处理后的数据;
对所述多路第一音频数据所对应的混音切换数据执行混音切换,以从所述多路第一音频数据中获取当前时刻待输出的第一音频数据;
对所述当前时刻待输出的第一音频数据执行音频回声抵消处理,以获取音频输出数据;其中,在对所述当前时刻待输出的第一音频数据中与上一时刻待输出的第一音频数据相比不同的第一音频数据执行音频回声抵消处理时,还设置音频回声抵消处理过程中的初始滤波系数;
所述初始滤波系数的获取过程为:确定所述不同的第一音频数据降采样得到的第二音频数据,获取当前时刻该第二音频数据所对应的实时滤波系数,基于该实时滤波系数获取初始滤波系数。
在第一方面的第一种可能的实现方式中,所述方法还包括:
对所述音频输出数据执行残留回声抑制。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,若所述当前时刻待输出的第一音频数据中包括有所述不同的第一音频数据,所述方法还包括:
在当前时刻之后的第一时段内,对上一时刻待输出的第一音频数据执行音频回声抵消处理以获取所述第一时段内的音频输出数据;其中,所述第一时段由所述音频输出数据累计达到预设帧数花费的时间确定;
所述对所述当前时刻待输出的第一音频数据执行音频回声抵消处理,以获得音频输出数据包括:
在所述第一时段之后,对所述当前时刻待输出的第一音频数据执行音频回声抵消处理,以获得所述第一时段之后的音频输出数据。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述方法还包括:
在所述第一时段内,暂停执行以下步骤:对所述上一时刻待输出的第一音频数据降采样以及对该降采样得到的第二音频数据执行音频回声抵消处理;
以及,执行以下步骤:对音频回声抵消处理后的所述上一时刻待输出的第一音频数据执行降采样,将该降采样后的数据作为所述上一时刻待输出的第一音频数据所对应的混音切换数据,以用于执行混音切换;
在所述第一时段之后,恢复执行在所述第一时段内暂停的步骤;
以及,执行以下步骤:确定所述上一时刻待输出的第一音频数据降采样得到的第二音频数据,将对该第二音频数据执行音频回声抵消处理后的数据作为所述上一时刻待输出的第一音频数据所对应的混音切换数据,用于执行混音切换。
结合第一方面的第二种或第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述方法还包括:
在所述第一时段内,对所述当前时刻待输出的第一音频数据执行残留回声抑制。
在第一方面的第五种可能的实现方式中,所述当前时刻待输出的第一音频数据为所述多路第一音频数据中,能量最大的至少一路第一音频数据。
在第一方面的第六种可能的实现方式中,所述第二音频数据的采样率为8kHz、16kHz或者32kHz。
第二方面,本发明实施例提供了一种回声消除装置,所述装置包括生成单元、获取单元、混音切换单元和回声抵消单元;
生成单元,用于对多路第一音频数据分别降采样以获取多路第二音频数据,对每路第二音频数据执行音频回声抵消处理以生成每路第二音频数据所对应的实时滤波系数;
获取单元,用于获取当前时刻所述多路第一音频数据所对应的混音切换数据;其中,任一路第一音频数据所对应的混音切换数据为该路第一音频数据降采样的第二音频数据执行音频回声抵消处理后的数据;
混音切换单元,用于对所述多路第一音频数据所对应的混音切换数据执行混音切换,以从所述多路第一音频数据中获取当前时刻待输出的第一音频数据;
回声抵消单元,用于对所述当前时刻待输出的第一音频数据执行音频回声抵消处理,以获取音频输出数据;
其中,所述回声抵消单元在对所述当前时刻待输出的第一音频数据中与上一时刻待输出的第一音频数据相比不同的第一音频数据执行音频回声抵消处理时,还设置音频回声抵消处理过程中的初始滤波系数;
所述初始滤波系数的获取过程为:确定所述不同的第一音频数据降采样得到的第二音频数据,获取当前时刻该第二音频数据所对应的实时滤波系数,基于该实时滤波系数获取初始滤波系数。
在第二方面的第一种可能的实现方式中,所述装置还包括:
第一回声抑制单元,用于对所述音频输出数据执行残留回声抑制。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,若所述当前时刻待输出的第一音频数据中包括有所述不同的第一音频数据,所述回声抵消单元还用于,在当前时刻之后的第一时段内,对上一时刻待输出的第一音频数据执行音频回声抵消处理以获取所述第一时段内的音频输出数据;其中,所述第一时段由所述音频输出数据累计达到预设帧数花费的时间确定;
所述回声抵消单元用于对所述当前时刻待输出的第一音频数据执行音频回声抵消处理,以获取音频输出数据包括:
所述回声抵消单元用于在所述第一时段之后,对所述当前时刻待输出的第一音频数据执行音频回声抵消处理,以获得所述第一时段之后的音频输出数据。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述生成单元还用于,在所述第一时段内,暂停执行以下步骤:对所述上一时刻待输出的第一音频数据降采样以及对该降采样得到的第二音频数据执行音频回声抵消处理;
以及,执行以下步骤:对音频回声抵消处理后的所述上一时刻待输出的第一音频数据执行降采样,将该降采样后的数据作为所述上一时刻待输出的第一音频数据所对应的混音切换数据,以用于执行混音切换;
所述生成单元还用于,在所述第一时段之后,恢复执行在所述第一时段内暂停的步骤;
以及,执行以下步骤:确定所述上一时刻待输出的第一音频数据降采样得到的第二音频数据,将对该第二音频数据执行音频回声抵消处理后的数据作为所述上一时刻待输出的第一音频数据所对应的混音切换数据,用于执行混音切换。
结合第二方面的第二种或第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述装置还包括:
第二回声抑制单元,用于在所述第一时段内,对所述当前时刻待输出的第一音频数据执行残留回声抑制。
在第二方面的第五种可能的实现方式中,所述当前时刻待输出的第一音频数据为所述多路第一音频数据中,能量最大的至少一路第一音频数据。
在第二方面的第六种可能的实现方式中,所述第二音频数据的采样率为8kHz、16kHz或者32kHz。
通过上述技术方案可知,本发明实施例中,对多路第一音频数据降采样得到低采样率的多路第二音频数据,并且对低采样率的每路第二音频数据实时地执行音频回声抵消处理以生成实时滤波系数,从而保证了能够得到基于连续的音频回声抵消处理的滤波系数。而且由于人声的能量主要集中在低频部分,因此低采样率的数据一般具有人声大部分能量,在对低采样率的第二音频数据执行回声抵消处理时的滤波系数,已经能够消除大部分的人声回声。对于当前时刻待输出的第一音频数据中与上一时刻相比不同的第一音频数据,为了保证在音频回声抵消处理过程中滤波系数的连续性,还会设置音频回声抵消处理过程中的初始滤波系数,其中初始滤波系数是根据上述基于连续的音频回声抵消处理的滤波系数所获取的,从而使得滤波系数无需重新收敛,提高了滤波效果。此外,虽然本发明实施例对多路音频数据执行音频回声抵消处理,但是针对的仅是多路低采样率的第二音频数据,因此实现了在保证运算量较小的同时,提高消除回声的效果。
附图说明
图1为本发明提供的回声消除方法第一实施例的流程示意图;
图2为图1所示的实施例中一个循环的数据流向图;
图3为本发明提供的回声消除方法第二实施例的流程示意图;
图4为图3所示的实施例中一个循环的数据流程图;
图5为图3所示的实施例中第一音频数据1的数据流向图;
图6为图3所示的实施例中第一音频数据3的数据流向图;
图7为本发明提供的回声消除方法第三实施例的流程示意图;
图8为图7所示的实施例中第一时段内的一个循环的数据流向图;
图9为本发明提供的回声消除装置第一实施例的结构示意图;
图10为本发明提供的回声消除装置第二实施例的结构示意图;
图11为本发明提供的回声消除装置第三实施例的结构示意图;
图12为本发明提供的回声消除装置第四实施例的结构示意图。
具体实施方式
在视频会议等接收多路音频输入数据的应用场景下,现有技术通常采用这样一种消除回声的方式:将多个音频输入设备接收到的多路音频数据执行混音切换后,再对切换后的M路音频数据分别执行AEC处理从而得到经回声消除后的输出数据。
然而,由于AEC处理实际上是一种自适应滤波过程,能够根据滤波结果不断调整滤波系数,而这种滤波系数的调整是逐渐逼近的过程,因此当连续滤波时间越长时,其滤波效果即回声消除的效果也越好。显然,由于现有技术先混音切换,再执行AEC处理,而混音切换得到的M路音频数据往往是不固定的,例如上一时刻混音切换得到音频数据01和音频数据02,而当前时刻混音切换得到音频数据01和音频数据03,因此对于音频数据02和音频数据03来说,AEC处理连续性较差,滤波系数需要重新逼近,导致滤波效果即回声消除的效果很差。此外,现有技术在执行混音切换时,基于的音频输入数据中可能会存在回声,从而会导致混音切换结果不准确。
为了解决上述问题,一种方案是先对多路音频数据执行AEC处理,再对AEC处理后的多路音频数据执行混音切换从而得到经回声抵消后的输出数据。然而,由于AEC处理的滤波过程中需要构建滤波器,滤波器的阶数等于混响时间与采样率的乘积,显然当混响时间一定时,采样率越大,滤波器就需要越长的阶数,运算量也就越大。目前在视频会议等场景下,通常采用宽频语音技术,采样率一般较高(例如48kHz),此时在对每路音频数据执行AEC处理时,运算量非常大,因此对系统的负担和要求都很高。
可见,现有技术虽然AEC处理连续性较差,滤波系数需要重新逼近,导致滤波效果即回声消除的效果很差,但是由于仅对混音切换技术得到的M路音频数据执行AEC,因此运算量很小,而在回声消除过程中,需要保证较小的运算量从而减轻系统负担、避免延时问题。可见,针对接收多路音频输入数据的应用场景,尤其是高采样率的音频输入数据,如何实现在保证运算量较小的同时,提高消除回声的效果成为了目前亟待解决的问题。
而在本发明实施例中,提供一种回声消除的方法及装置,针对接收多路音频输入数据的应用场景,实现在保证运算量较小的同时,提高消除回声的效果。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
请参阅图1,本发明实施例提供了回声消除方法的第一实施例,在本实施例中,对多路第一音频数据分别降采样以获取多路第二音频数据,对每路第二音频数据执行AEC处理以生成每路第二音频数据所对应的实时滤波系数。
在本实施例中,可以通过多路音频输入设备(例如麦克风)实时地接收多路第一音频数据,一般情况下第一音频数据为高采样率的数据,对实时接收的多路第一音频数据分别降采样。例如图2所示,在某一时刻,接收到N(N>1)路第一音频数据(第一音频数据1、第一音频数据2、…、第一音频数据N),对N路第一音频数据分别降采样,得到N路第二音频数据(第二音频数据1、第二音频数据2、…、第二音频数据N)。其中,对第一音频数据j降采样得到第二音频数据j,N≥j≥1。之后对每路第二音频数据执行AEC处理,从而得到了N路混音切换数据,并且在对每路第二音频数据执行AEC处理时,都能够生成AEC处理的滤波系数。可见,通过循环执行图2所示的上述步骤,能够实时地获取AEC处理后的第二音频数据,以及对每路第二音频 数据执行AEC处理时生成的实时滤波系数。
其中,第一音频数据的采样率一般为48kHz。第二音频数据的采样率一般至少为8kHz,例如可以为8、16或者32kHz等等,本发明实施例对此不做限定。
本实施例具体包括:
S101:获取当前时刻多路第一音频数据所对应的混音切换数据。其中,任一路第一音频数据所对应的混音切换数据为该路第一音频数据降采样的第二音频数据执行AEC处理后的数据。
例如图2所示,第一音频数据j所对应的混音切换数据j为经过AEC处理后的第二音频数据j,其中第二音频数据j为第一音频数据j降采样后的数据。因此在该步骤中,实际上是将当前时刻经过AEC处理后的N路第二音频数据作为N路第一音频数据所对应的混音切换数据。
需要说明的是,这里混音切换数据指的是执行AEC处理后的第二音频数据,同时在执行AEC处理的过程中还会生成实时滤波系数,显然混音切换数据与实时滤波系数并不相同。
S102:对多路第一音频数据所对应的混音切换数据执行混音切换,以从所述多路第一音频数据中获取当前时刻待输出的第一音频数据。
其中,本步骤中当前时刻待输出的第一音频数据具体可以为多路第一音频数据中,能量最大的至少一路第一音频数据。
混音切换指的是从多路音频数据中获取待输出的一路或者多路音频数据。例如,从多路音频数据中选取出正处于激活状态(例如正有人说话)的M个音频设备接收到的M路音频数据,具体可以通过选取M路能量最大的音频数据实现。
由于本发明实施例中,仍然要对原始的第一音频数据执行AEC处理,以保证AEC处理之后的数据不会出现采样率的损失。因此,在本步骤中,实际上是通过对多路混音切换数据执行混音切换,并根据混音切换数据与第一音频数据的对应关系,从多路第一音频数据中确定出待输出的第一音频数据。例如图2所示,对N路混音切换数据执行混音切换,判断出能量最大的2路混音切换数据为混音切换数据2和混音切换数据3,而混音切换数据2和混音 切换数据分别是由第一音频数据2和第一音频数据3经过降采样和AEC处理后得到的,因此最终混音切换得到能量最大的2路第一音频数据为第一音频数据2和第一音频数据3。
需要强调的是,在本实施例中,最终仍然是要对第一音频数据执行AEC处理,而不是对混音切换数据执行AEC处理,这是因为混音切换数据是由第一音频数据降采样和执行AEC处理后得到的,因此采样率较低,如果对混音切换数据执行AEC处理,则会造成采样率的损失,最终使得输出音质较差。因此在图2中,混音切换后输出的实际上是从N路第一音频数据中获取的待输出的第一音频数据。
S103:对当前时刻待输出的第一音频数据执行AEC处理,以获取音频输出数据。
其中,在对当前时刻待输出的第一音频数据中与上一时刻待输出的第一音频数据相比不同的第一音频数据执行AEC处理时,还设置AEC处理过程中的初始滤波系数。
假设上一时刻待输出的第一音频数据为第一音频数据1和第二音频数据2,当前时刻待输出的第一音频数据为第一音频数据2和第二音频数据3。可以看出,第一音频数据2为与上一时刻相比相同的第一音频数据,表示上一时刻已经对第一音频数据2执行了AEC处理,因此在当前时刻,继续对第一音频数据2执行AEC处理。而第一音频数据3为与上一时刻相比不同的第一音频数据,表示上一时刻并没有对第一音频数据3执行AEC处理,因此在当前时刻,开始对第一音频数据3执行AEC处理,为了保证滤波的连续性,本步骤中在对第一音频数据3执行AEC处理时,还设置了AEC处理过程中的初始滤波系数。
初始滤波系数的获取过程为:确定所述不同的第一音频数据降采样得到的第二音频数据,获取当前时刻该第二音频数据所对应的实时滤波系数,基于该实时滤波系数获取初始滤波系数。
在本实施例中,对多路第一音频数据降采样得到多路第二音频数据,对多路第二音频数据执行AEC处理时会生成实时滤波系数,因此在本步骤中设置的初始滤波系数,实际上是基于在上述过程中生成的实时滤波系数获取的, 而这个实时滤波系数又基于连续的AEC处理,从而使得在对不同的第一音频数据开始执行AEC处理时,滤波系数无需重新收敛,从而提高了滤波效果。
并且,实时滤波系数并不是对第一音频数据执行AEC时生成的,而是对降采样得到的第二音频数据执行AEC处理时所生成的。由于人声的能量主要集中在低频部分,因此低采样率的数据一般具有人声大部分能量,例如若第一音频数据的采样率为48kHz,第二音频数据的采样率为8kHz,则第二音频数据的能量能够占第一音频数据的能量的70%左右,因此对低采样率的第二音频数据执行AEC处理时的滤波系数,已经能够实现消除大部分的人声回声。而且,对音频数据执行AEC处理时的运算量,与音频数据的采样率成正比,因此相比于对第一音频数据执行AEC处理,对低采样率的第二音频数据执行AEC处理时,运算量大大减小。例如对8kHz的第二音频数据执行AEC处理时,运算量约为对48kHz的第二音频数据执行AEC处理的1/6。
通过上述技术方案可知,本发明实施例用于接收多路第一音频数据的场景,通过对多路第一音频数据降采样得到低采样率的多路第二音频数据,并且对低采样率的每路第二音频数据实时地执行AEC处理以生成实时滤波系数,从而保证了能够得到基于连续的AEC处理的滤波系数。而且由于人声的能量主要集中在低频部分,因此低采样率的数据一般具有人声大部分能量,对低采样率的第二音频数据执行回声抵消处理时的滤波系数,已经能够消除大部分的人声回声。对于当前时刻待输出的第一音频数据中与上一时刻相比不同的第一音频数据,为了保证在AEC处理过程中滤波系数的连续性,还会设置AEC处理过程中的初始滤波系数,其中初始滤波系数是根据上述基于连续的音频回声抵消处理的滤波系数所获取的,从而使得滤波系数无需重新收敛,提高了滤波效果。此外,虽然本发明实施例实时地对多路音频数据执行AEC处理,但是针对的仅是多路低采样率(例如8、16或者32KHz)的第二音频数据,因此实现了在保证运算量较小的同时,提高消除回声的效果。
同时,本发明实施例中用于执行混音切换的混音切换数据是执行AEC处理后的第二音频数据,因此已经去除了大部分人声回声,相比现有技术中根据未消除回声的音频数据执行混音切换,切换结果更加准确。
在本实施例中,执行AEC处理时,实际上是通过自适应滤波算法模拟 空间回声路径,从而基于回声参考信号和模拟的空间回声路径获取到模拟的回声信号,从而进一步消除模拟的回声信号。其中,自适应滤波算法具体可以为NLMS(Norma lized LeastMean Square,即归一化最小均方算法)、RLS(Recursive Least Squares,即递归式最小二乘算法)、MDF(Multidelay Block Frequency Domain Adaptive Filter,即延迟块频域自适应滤波器)等自适应滤波算法。
在本实施例中,具体可以通过多个音频输入设备接收多路第一音频数据,当通过混音切换确定出待输出的第一音频数据后,对应的音频输入设备对待输出的第一音频数据执行AEC,而其余的音频输入设备,则可以对接收到的第一音频数据执行AEC缓冲区更新以及滤波系数的更新。其中AEC缓冲区更新具体可以通过实时获取第一音频数据实现,而滤波系数更新则是将当前的滤波系数更新为在对所对应的第二音频数据执行AEC处理时生成的实时滤波系数。滤波系数更新的周期可以根据运算量的限制来进行选择,比如有N个音频输入设备,可以让音频输入设备每N帧、或者每N/2帧更新一次滤波系数。
一般情况下,只执行AEC处理时并不能将回声完全滤除,因此在本实施例中,还可以对经过AEC处理后的音频输出数据执行RES(Residual Echo Suppression,即残留回声抑制)。之后将执行了RES后的音频输出数据输出至通信另一方。
由于RES一般是基于混叠的方式,因此输出的数据通常会有几帧的延迟。例如当RES为75%的混叠时,输出的数据约有2帧的延迟,当RES为50%的混叠时,输出的数据约有1帧的延迟。因此在本发明实施例中,当混音切换出的音频数据发生变化时,需要将当前时刻混音切换出的第一音频数据,延迟几帧后输出。下面通过一个实施例具体说明。
实施例二
请参阅图3,本发明实施例提供了回声消除方法的第二实施例,与其他实施例不同的是,在本实施例中,若混音切换出的第一音频数据发生变化时,对当前时刻混音切换确定的第一音频数据延迟输出。
在本实施例中,对N(N>1)路第一音频数据分别降采样以获取N路第二 音频数据,对每路第二音频数据执行AEC处理以生成每路第二音频数据所对应的实时滤波系数。
本实施例具体包括:
S301:获取当前时刻N路第一音频数据所对应的混音切换数据。其中,任一路第一音频数据所对应的混音切换数据为该路第一音频数据降采样的第二音频数据执行AEC处理后的数据。
S302:对N路第一音频数据所对应的混音切换数据执行混音切换,以从N路第一音频数据中获取当前时刻待输出的第一音频数据。
混音切换指的是从多路音频数据中选取出待输出的一路或者多路音频数据。例如,从多路音频数据中选取出正处于激活状态(例如正有人说话)的M个音频设备接收到的M路音频数据,具体可以通过选取M路能量最大的音频数据实现。
例如图4所示,通过混音切换获取到当前时刻待输出的第一音频数据为第一音频数据2和第一音频数据3。
需要强调的是,在本实施例中,最终仍然是要对第一音频数据执行AEC处理,而不是对混音切换数据执行AEC处理,这是因为混音切换数据是由第一音频数据降采样和执行AEC处理后得到的,因此采样率较低,因此如果对混音切换数据执行AEC处理,则会造成采样率的损失,最终使得输出音质较差。因此在图4中,混音切换后输出的实际上是从N路第一音频数据中获取的待输出的第一音频数据。
S303:若当前时刻待输出的第一音频数据中包括与上一时刻相比不同的第一音频数据时,执行S304,若当前时刻待输出的第一音频数据中不包括与上一时刻相比不同的第一音频数据,执行S306。
在本实施例中,当前时刻混音切换出的第一音频数据发生变化时,则需要对当前时刻待输出的第一音频数据延迟几帧后再输出,因此执行S304。例如,当前时刻经过混音切换,获取到待输出的第一音频数据为第一音频数据2和第一音频数据3,而上一时刻经过混音切换,获取到待输出的第一音频数据为第一音频数据1和第一音频数据2,则可以看出,当前时刻混音切换出的第一音频数据2和第一音频数据3,较上一时刻发生了变化,因此,需要对第一 音频数据2和第一音频数据3延迟几帧后再输出。
S304:在当前时刻之后的第一时段内,对上一时刻待输出的第一音频数据执行AEC处理,以获取第一时段内的音频输出数据,对第一时段内的音频输出数据执行RES。
其中,第一时段由音频输出数据累计达到预设帧数花费的时间确定。
在本实施例中,由于要对音频输出数据执行RES,而RES一般是基于混叠的方式,输出的数据通常会有几帧的延迟,因此,当本实施例中混音切换出的音频数据发生变化时,也需要将当前时刻混音切换出的第一音频数据延迟几帧再输出,从而配合RES的延迟输出。
其中,延迟的具体时长(即第一时段)由音频输出数据累计达到预设帧数花费的时间确定。因此这里的预设帧数,实际上可以由执行RES时造成的延迟帧数获取,具体可以等于执行RES时造成的延迟帧数,也可以为执行RES时造成的延迟帧数的倍数。例如,RES为75%的混叠,此时RES会造成2帧的延迟,则预设帧数可以为2帧,也可以为2帧的倍数(比如2倍)等等。
需要说明的是,在第一时段内,也可以对当前时刻待输出的第一音频数据执行AEC处理,但是并不作为音频输出数据。
并且在第一时段内,为了将RES的状态进行更新,还可以对当前时刻待输出的第一音频数据执行RES。
S305:在第一时段之后,对所述当前时刻待输出的第一音频数据执行AEC处理,以获得第一时段之后的音频输出数据,对第一时段之后的音频输出数据执行RES。结束流程。
在延迟了一定时间之后,才对AEC处理之后的当前时刻待输出的第一音频数据进行输出,再对输出的数据执行RES处理。
其中,在对所述当前时刻待输出的第一音频数据中与上一时刻待输出的第一音频数据相比不同的第一音频数据执行AEC时,还设置AEC处理过程中的初始滤波系数。初始滤波系数的获取过程为:确定所述不同的第一音频数据降采样得到的第二音频数据,获取当前时刻该第二音频数据所对应的实时滤波系数,基于该实时滤波系数获取初始滤波系数。
下面分别以一路上一时刻待输出的第一音频数据(第一音频数据1),和一路当前时刻待输出的第一音频数据(第一音频数据3)为例,说明步骤S304和步骤S305的优选实现方式。
如图5所示,对于第一音频数据1,判断输出的数据是否达到预设帧数,如果否,则执行AEC缓冲区更新,将更新后的第一音频数据1执行AEC处理和RES处理,之后输出至通信另一方。如果是,则不再执行AEC处理和RES处理,而是只执行AEC缓冲区更新,以及滤波系数的更新等操作。
如图6所示,对于第一音频数据3,判断输出的数据是否达到预设帧数,如果否,则执行AEC缓冲区更新,以及滤波系数的更新等操作,此时还可以执行RES。如果是,则执行AEC缓冲区更新,设置初始滤波系数并执行AEC处理,执行RES处理,之后输出至通信另一方。
S306:对所述当前时刻待输出的第一音频数据执行AEC处理,以获得音频输出数据,对该音频输出数据执行RES。结束流程。
通过上述技术方案可知,在本实施例中,由于对音频输出数据执行RES,而RES一般是基于混叠的方式,输出的数据会有几帧的延迟。因此在混音切换出的第一音频数据发生变化时,在音频输出数据未达到预设帧数时输出AEC处理后的上一时刻待输出的第一音频数据,而在音频输出数据达到预设帧数之后输出AEC处理后的当前时刻待输出的第一音频数据。
在本实施例中,实际上已经能够确定出在执行混音切换后的第一时段内输出的数据,因此可以对本实施例进一步优化,从而减少运算量,下面通过一个实施例具体说明。
实施例三
请参阅图7,本发明实施例提供了回声消除方法的第三实施例,与其他实施例不同的是,在本实施例中,在对当前时刻混音切换后获取的第一音频数据延迟输出的基础上,进一步优化算法以减少运算量。
在本实施例中,对N(N>1)路第一音频数据分别降采样以获取N路第二音频数据,对每路第二音频数据执行AEC处理以生成每路第二音频数据所对应的实时滤波系数。
本实施例具体包括:
S701:获取当前时刻N路第一音频数据所对应的混音切换数据。任一路第一音频数据所对应的混音切换数据为该路第一音频数据降采样的第二音频数据执行AEC处理后的数据。
S702:对N路第一音频数据所对应的混音切换数据执行混音切换,以从N路第一音频数据中获取当前时刻待输出的第一音频数据。
例如,通过混音切换获取到当前时刻待输出的第一音频数据为第一音频数据2和第一音频数据3。
需要强调的是,在本实施例中,最终仍然是要对第一音频数据执行AEC处理,而不是对混音切换数据执行AEC处理,这是因为混音切换数据是由第一音频数据降采样和执行AEC处理后得到的,因此采样率较低,如果对混音切换数据执行AEC处理,则会造成采样率的损失,最终使得输出音质较差。因此在图8中,混音切换后输出的实际上是从N路第一音频数据中获取的待输出的第一音频数据。
S703,若当前时刻待输出的第一音频数据中包括与上一时刻相比不同的第一音频数据时,执行S704,若当前时刻待输出的第一音频数据中不包括与上一时刻相比不同的第一音频数据,执行S710。
S704:在当前时刻之后的第一时段内,对上一时刻待输出的第一音频数据执行AEC处理,以获取所述第一时段内的音频输出数据,对第一时段内的音频输出数据执行RES。其中,所述第一时段由音频输出数据累计达到预设帧数花费的时间确定。
例如,上一时刻待输出的第一音频数据为第一音频数据1和第一音频数据2。因此在第一时段内,只输出AEC处理之后的第一音频数据1和第一音频数据2。
需要说明的是,在第一时段内,也可以对当前时刻待输出的第一音频数据执行AEC处理,但是并不作为音频输出数据。
并且在第一时段内,为了将RES的状态进行更新,还可以对当前时刻待输出的第一音频数据执行RES。
S705:在第一时段内,暂停执行以下步骤:对所述上一时刻待输出的第一音频数据降采样以及对该降采样得到的第二音频数据执行AEC处理。
以上一时刻混音切换确定的第一音频数据为第一音频数据1和第一音频数据2为例,在本发明实施例中的方法第二实施例中,在第一时段内,不仅对第一音频数据1和第一音频数据2执行了AEC处理,而且还对第二音频数据1和第二音频数据2执行AEC处理。实际上由于在第一时段内,输出的是AEC处理后的上一时刻待输出的第一音频数据:第一音频数据1和第一音频数据2,而此时的AEC处理必然是连续不间断的,因此无需设置初始滤波系数,可以暂停对第一音频数据1和第一音频数据2的降采样,以及暂停对第二音频数据1和第二音频数据2的AEC处理,以减少运算量。
但是,由于本步骤中暂停了降采样和对降采样后的音频数据的AEC处理,因此在循环执行混音切换时所使用的混音切换数据,具体通过下面的步骤获取。
S706:在第一时段内,对AEC处理后的所述上一时刻待输出的第一音频数据执行降采样,将该降采样后的数据作为所述上一时刻待输出的第一音频数据所对应的混音切换数据,以用于执行混音切换。
例如图8所示,上一时刻待输出的第一音频数据为第一音频数据1和第一音频数据2,因此在混音切换后的第一时段内,分别对AEC处理之后的第一音频数据1和第一音频数据2执行降采样,并将降采样之后的数据作为第一音频数据1和第一音频数据2分别对应的混音切换数据,用于在下一时刻执行混音切换。
S707:在第一时段之后,对所述当前时刻待输出的第一音频数据执行AEC处理,以获得所述第一时段之后的音频输出数据,对第一时段之后的音频输出数据执行RES。
其中,在对所述当前时刻待输出的第一音频数据中与上一时刻待输出的第一音频数据相比不同的第一音频数据执行AEC处理时,还设置AEC处理过程中的初始滤波系数。初始滤波系数的获取过程为:确定所述不同的第一音频数据降采样得到的第二音频数据,获取当前时刻该第二音频数据所对应的实时滤波系数,基于该实时滤波系数获取初始滤波系数。
S708:在所述第一时段之后,恢复执行在所述第一时段内暂停的步骤。
在第一时段之后,开始输出AEC处理后的当前时刻待输出的第一音频数据,因此重新恢复对上一时刻待输出的第一音频数据执行降采样,以及对相应的第二音频数据执行AEC处理这两个步骤,例如仍以图8为例,恢复执行对第一音频数据1和第一音频数据2的降采样,以及恢复执行对第二音频数据1和第二音频数据2执行AEC处理,从而能够实时获取对应的混音切换数据,以用于执行混音切换。
S709:在所述第一时段之后,确定所述上一时刻待输出的第一音频数据降采样得到的第二音频数据,将对该第二音频数据执行AEC处理后的数据作为所述上一时刻待输出的第一音频数据所对应的混音切换数据,以用于执行混音切换。结束流程。
例如图8所示,由于在第一时段之后,开始输出当前时刻待输出的第一音频数据:第一音频数据2和第一音频数据3,因此上一时刻待输出的第一音频数据:第一音频数据1和第一音频数据2分别对应的混音切换数据,重新恢复为AEC处理之后的第二音频数据1和第二音频数据2。
S710:对所述当前时刻待输出的第一音频数据执行AEC处理,以获得音频输出数据,对该音频输出数据执行RES。结束流程。
需要说明的是,在本实施例中,步骤S704-步骤S706的执行顺序不受限定,可以同时执行也可以以先后顺序执行。类似的,步骤S707-步骤S709的执行顺序也不受限定。
通过上述技术方案可知,在本实施例中,不仅对当前时刻待输出的第一音频数据延迟输出,而且在第一时段内,也就是音频输出数据未达到预设帧数时,暂停执行:对上一时刻待输出的第一音频数据的降采样以及对该降采样后的第二音频数据的AEC处理。并且对AEC后的第一音频数据进行降采样,以作为混音切换数据,从而节省了一次对第二音频数据的AEC处理的运算量,实现了算法的优化。
下面以第一音频数据的采样率为48kHz,第二音频数据的采样率为8kHz,共接收18路第一音频数据(即N=18),待输出的第一音频数据为一路(即M=1)为例,说明本实施例在一次循环过程中所需的总运算量:
1路对第一音频数据执行AEC处理的运算量:180M
17路对第二音频数据执行AEC处理的运算量:17×30M=510M
1路设置初始滤波系数的运算量:15M
17路AEC缓冲区更新的运算量:17×5M=85M
18路降采样的运算量:18×3M=54M
1路RES处理的运算量:40M
可见,在本实施例中,一次循环过程中所需的总运算能力约为上述运算量之和,即884M。而如果对每路第一音频数据执行AEC处理,之后再对AEC处理之后的数据执行混音切换,则在一次循环过程中所需的总运算量,至少为18路对第一音频数据执行AEC处理的运算量,即18×180M=3240M。显然,本实施例中的运算量非常小,系统无需很高的运算能力,对系统的负担和要求都很小。
上面对本发明实施例中的回声消除方法的实施例进行了描述,下面将从模块化功能实体的角度对本发明实施例中的回声消除装置进行描述。
实施例四
请参阅图9,本发明实施例提供了回声消除装置的第一实施例,在本实施例具体包括:生成单元901、获取单元902、混音切换单元903和回声抵消单元904。
生成单元901,用于对多路第一音频数据分别降采样以获取多路第二音频数据,对每路第二音频数据执行AEC处理以生成每路第二音频数据所对应的实时滤波系数。
在本实施例中,可以通过多路音频输入设备(例如麦克风)实时地接收多路第一音频数据,一般情况下第一音频数据为高采样率的数据,对实时接收的多路第一音频数据分别降采样。例如图2所示,在某一时刻,接收到N(N>1)路第一音频数据(第一音频数据1、第一音频数据2、…、第一音频数据N),对N路第一音频数据分别降采样,得到N路第二音频数据(第二音频数据1、第二音频数据2、…、第二音频数据N)。其中,对第一音频数据j降采样得到第二音频数据j,N≥j≥1。之后对每路第二音频数据执行AEC处理,从而得到了N路混音切换数据,并且在对每路第二音频数据执行AEC处 理时,都能够生成AEC处理的滤波系数。可见,通过循环执行图2所示的上述步骤,能够实时地获取AEC处理后的第二音频数据,以及对每路第二音频数据执行AEC处理时生成的实时滤波系数。
其中,第一音频数据的采样率一般为48kHz。第二音频数据的采样率一般至少为8kHz,例如可以为8、16或者32kHz等等,本发明实施例对此不做限定。
获取单元902,用于获取当前时刻多路第一音频数据所对应的混音切换数据。其中,任一路第一音频数据所对应的混音切换数据为该路第一音频数据降采样的第二音频数据执行AEC处理后的数据。
例如图2所示,第一音频数据j所对应的混音切换数据j为经过AEC处理后的第二音频数据j,其中第二音频数据j为第一音频数据j降采样后的数据。因此在该步骤中,实际上是将当前时刻经过AEC处理后的N路第二音频数据作为N路第一音频数据所对应的混音切换数据。
需要说明的是,这里混音切换数据指的是执行AEC处理后的第二音频数据,同时在执行AEC处理的过程中还会生成实时滤波系数,显然混音切换数据与实时滤波系数并不相同。
混音切换单元903,用于对多路第一音频数据所对应的混音切换数据执行混音切换,以从所述多路第一音频数据中获取当前时刻待输出的第一音频数据。
其中,本步骤中当前时刻待输出的第一音频数据具体可以为多路第一音频数据中,能量最大的至少一路第一音频数据。
混音切换指的是从多路音频数据中获取待输出的一路或者多路音频数据。例如,从多路音频数据中选取出正处于激活状态(例如正有人说话)的M个音频设备接收到的M路音频数据,具体可以通过选取M路能量最大的音频数据实现。
由于本发明实施例中,仍然要对原始的第一音频数据执行AEC处理,以保证AEC处理之后的数据不会出现采样率的损失。因此,在本步骤中,实际上是混音切换单元903通过对多路混音切换数据执行混音切换,并根据混音切换数据与第一音频数据的对应关系,从多路第一音频数据中确定出待输出 的第一音频数据。例如图2所示,对N路混音切换数据执行混音切换,判断出能量最大的2路混音切换数据为混音切换数据2和混音切换数据3,而混音切换数据2和混音切换数据分别是由第一音频数据2和第一音频数据3经过降采样和AEC处理后得到的,因此最终混音切换得到能量最大的2路第一音频数据为第一音频数据2和第一音频数据3。
需要强调的是,在本实施例中,最终仍然是要对第一音频数据执行AEC处理,而不是对混音切换数据执行AEC处理,这是因为混音切换数据是由第一音频数据降采样和执行AEC处理后得到的,因此采样率较低,如果对混音切换数据执行AEC处理,则会造成采样率的损失,最终使得输出音质较差。因此在图2中,混音切换后输出的实际上是从N路第一音频数据中获取的待输出的第一音频数据。
回声抵消单元904,用于对当前时刻待输出的第一音频数据执行AEC处理,以获取音频输出数据。
其中,回声抵消单元904在对当前时刻待输出的第一音频数据中与上一时刻待输出的第一音频数据相比不同的第一音频数据执行AEC处理时,还设置AEC处理过程中的初始滤波系数。
假设上一时刻待输出的第一音频数据为第一音频数据1和第二音频数据2,当前时刻待输出的第一音频数据为第一音频数据2和第二音频数据3。可以看出,第一音频数据2为与上一时刻相比相同的第一音频数据,表示上一时刻已经对第一音频数据2执行了AEC处理,因此在当前时刻,继续对第一音频数据2执行AEC处理。而第一音频数据3为与上一时刻相比不同的第一音频数据,表示上一时刻并没有对第一音频数据3执行AEC处理,因此在当前时刻,开始对第一音频数据3执行AEC处理,为了保证滤波的连续性,本步骤中在对第一音频数据3执行AEC处理时,还设置了AEC处理过程中的初始滤波系数。
初始滤波系数的获取过程为:确定所述不同的第一音频数据降采样得到的第二音频数据,获取当前时刻该第二音频数据所对应的实时滤波系数,基于该实时滤波系数获取初始滤波系数。
在本实施例中,生成单元901对多路第一音频数据降采样得到多路第二 音频数据,对多路第二音频数据执行AEC处理时会生成实时滤波系数,因此在本步骤中设置的初始滤波系数,实际上是基于在上述过程中生成的实时滤波系数获取的,而这个实时滤波系数又基于连续的AEC处理,从而使得在对不同的第一音频数据开始执行AEC处理时,滤波系数无需重新收敛,从而提高了滤波效果。
并且,实时滤波系数并不是对第一音频数据执行AEC时生成的,而是对降采样得到的第二音频数据执行AEC处理时所生成的。由于人声的能量主要集中在低频部分,因此低采样率的数据一般具有人声大部分能量,例如若第一音频数据的采样率为48kHz,第二音频数据的采样率为8kHz,则第二音频数据的能量能够占第一音频数据的能量的70%左右,因此对低采样率的第二音频数据执行AEC处理时的滤波系数,已经能够实现消除大部分的人声回声。而且,对音频数据执行AEC处理时的运算量,与音频数据的采样率成正比,因此相比于对第一音频数据执行AEC处理,对低采样率的第二音频数据执行AEC处理时,运算量大大减小。例如对8kHz的第二音频数据执行AEC处理时,运算量约为对48kHz的第二音频数据执行AEC处理的1/6。
通过上述技术方案可知,本发明实施例用于接收多路第一音频数据的场景,通过生成单元901对多路第一音频数据降采样得到低采样率的多路第二音频数据,并且对低采样率的每路第二音频数据实时地执行AEC处理以生成实时滤波系数,从而保证了能够得到基于连续的AEC处理的滤波系数。而且由于人声的能量主要集中在低频部分,因此低采样率的数据一般具有人声大部分能量,对低采样率的第二音频数据执行回声抵消处理时的滤波系数,已经能够消除大部分的人声回声。对于当前时刻待输出的第一音频数据中与上一时刻相比不同的第一音频数据,为了保证回声抵消单元904在AEC处理过程中滤波系数的连续性,还会设置AEC处理过程中的初始滤波系数,其中初始滤波系数是根据上述基于连续的音频回声抵消处理的滤波系数所获取的,从而使得滤波系数无需重新收敛,提高了滤波效果。此外,虽然本发明实施例实时地对多路音频数据执行AEC处理,但是针对的仅是多路低采样率(例如8、16或者32KHz)的第二音频数据,因此实现了在保证运算量较小的同时,提高消除回声的效果。
同时,本发明实施例中用于执行混音切换的混音切换数据是执行AEC处理后的第二音频数据,因此已经去除了大部分人声回声,相比现有技术中根据未消除回声的音频数据执行混音切换,切换结果更加准确。
在本实施例中,生成单元901和回声抵消单元904执行AEC处理时,实际上是通过自适应滤波算法模拟空间回声路径,从而基于回声参考信号和模拟的空间回声路径获取到模拟的回声信号,从而进一步消除模拟的回声信号。其中,自适应滤波算法具体可以为NLMS(Normalized Least Mean Square,即归一化最小均方算法)、RLS(Recursive Least Squares,即递归式最小二乘算法)、MDF(Multidelay Block Frequency Domain Adaptive Filter,即延迟块频域自适应滤波器)等自适应滤波算法。
在本实施例中,
具体可以通过多个音频输入设备接收多路第一音频数据并输出至生成单元901,当通过混音切换确定出待输出的第一音频数据后,对应的音频输入设备中的回声抵消单元对待输出的第一音频数据执行AEC,而其余的音频输入设备,则可以对接收到的第一音频数据执行AEC缓冲区更新以及滤波系数的更新。其中AEC缓冲区更新具体可以通过实时获取第一音频数据实现,而滤波系数更新则是将当前的滤波系数更新为在对所对应的第二音频数据执行AEC处理时生成的实时滤波系数。滤波系数更新的周期可以根据运算量的限制来进行选择,比如有N个音频输入设备,可以让音频输入设备每N帧、或者每N/2帧更新一次滤波系数。
一般情况下,只执行AEC处理时并不能将回声完全滤除,因此在本实施例中,还可以包括第一回声抑制单元,由第一回声抑制单元对经过AEC处理后的音频输出数据执行RES(Residual Echo Suppression,即残留回声抑制)。之后将执行了RES后的音频输出数据输出至通信另一方。
由于RES一般是基于混叠的方式,因此输出的数据通常会有几帧的延迟。例如当RES为75%的混叠时,输出的数据约有2帧的延迟,当RES为50%的混叠时,输出的数据约有1帧的延迟。因此在本发明实施例中,当混音切换出的音频数据发生变化时,需要将当前时刻混音切换出的第一音频数据,延迟几帧后输出。下面通过一个实施例具体说明。
实施例五
请参阅图10,本发明实施例提供了回声消除装置的第二实施例,与其他实施例不同的是,在本实施例中,若混音切换出的第一音频数据发生变化时,对当前时刻混音切换确定的第一音频数据延迟输出。
本实施例具体包括:生成单元1001、获取单元1002、混音切换单元1003、回声抵消单元1004和第一回声抑制单元1005。
生成单元1001,用于对N(N>1)路第一音频数据分别降采样以获取N路第二音频数据,对每路第二音频数据执行AEC处理以生成每路第二音频数据所对应的实时滤波系数。
获取单元1002,用于获取当前时刻N路第一音频数据所对应的混音切换数据。其中,任一路第一音频数据所对应的混音切换数据为该路第一音频数据降采样的第二音频数据执行AEC处理后的数据。
混音切换单元1003,用于对N路第一音频数据所对应的混音切换数据执行混音切换,以从N路第一音频数据中获取当前时刻待输出的第一音频数据。
混音切换指的是从多路音频数据中选取出待输出的一路或者多路音频数据。例如,从多路音频数据中选取出正处于激活状态(例如正有人说话)的M个音频设备接收到的M路音频数据,具体可以通过选取M路能量最大的音频数据实现。
例如图4所示,通过混音切换获取到当前时刻待输出的第一音频数据为第一音频数据2和第一音频数据3。
需要强调的是,在本实施例中,最终仍然是要对第一音频数据执行AEC处理,而不是对混音切换数据执行AEC处理,这是因为混音切换数据是由第一音频数据降采样和执行AEC处理后得到的,因此采样率较低,因此如果对混音切换数据执行AEC处理,则会造成采样率的损失,最终使得输出音质较差。因此在图4中,混音切换后输出的实际上是从N路第一音频数据中获取的待输出的第一音频数据。
回声抵消单元1004用于,若当前时刻待输出的第一音频数据中包括与上一时刻相比不同的第一音频数据时,执行第一功能,若当前时刻待输出的第一音频数据中不包括与上一时刻相比不同的第一音频数据,执行第二功能。
在本实施例中,当前时刻混音切换出的第一音频数据发生变化时,则需要对当前时刻待输出的第一音频数据延迟几帧后再输出,因此回声抵消单元1004执行第一功能。例如,当前时刻经过混音切换,获取到待输出的第一音频数据为第一音频数据2和第一音频数据3,而上一时刻经过混音切换,获取到待输出的第一音频数据为第一音频数据1和第一音频数据2,则可以看出,当前时刻混音切换出的第一音频数据2和第一音频数据3,较上一时刻发生了变化,因此,需要对第一音频数据2和第一音频数据3延迟几帧后再输出。
第一功能包括:在当前时刻之后的第一时段内,对上一时刻待输出的第一音频数据执行AEC处理,以获取第一时段内的音频输出数据。
其中,第一时段由音频输出数据累计达到预设帧数花费的时间确定。
在本实施例中,由于要对音频输出数据执行RES,而RES一般是基于混叠的方式,输出的数据通常会有几帧的延迟,因此,当本实施例中混音切换出的音频数据发生变化时,回声抵消单元1004也需要将当前时刻混音切换出的第一音频数据延迟几帧再输出,从而配合RES的延迟输出。
其中,延迟的具体时长(即第一时段)由音频输出数据累计达到预设帧数花费的时间确定。因此这里的预设帧数,实际上可以由执行RES时造成的延迟帧数获取,具体可以等于执行RES时造成的延迟帧数,也可以为执行RES时造成的延迟帧数的倍数。例如,RES为75%的混叠,此时RES会造成2帧的延迟,则预设帧数可以为2帧,也可以为2帧的倍数(比如2倍)等等。
需要说明的是,在第一时段内,回声抵消单元1004也可以对当前时刻待输出的第一音频数据执行AEC处理,但是并不作为音频输出数据。
并且在第一时段内,为了将RES的状态进行更新,本实施例还可以包括第二回声抑制单元1005,由第二回声抑制单元1005对当前时刻待输出的第一音频数据执行RES。
第一功能还包括;在第一时段之后,对所述当前时刻待输出的第一音频数据执行AEC处理,以获得第一时段之后的音频输出数据。
其中,回声抵消单元1004在对所述当前时刻待输出的第一音频数据中与上一时刻待输出的第一音频数据相比不同的第一音频数据执行AEC时,还设 置AEC处理过程中的初始滤波系数。初始滤波系数的获取过程为:确定所述不同的第一音频数据降采样得到的第二音频数据,获取当前时刻该第二音频数据所对应的实时滤波系数,基于该实时滤波系数获取初始滤波系数。
第二功能包括:对所述当前时刻待输出的第一音频数据执行AEC处理,以获得音频输出数据。
第一回声抑制单元1005用于,用于对所述音频输出数据执行残留回声抑制。
下面分别以一路上一时刻待输出的第一音频数据(第一音频数据1),和一路当前时刻待输出的第一音频数据(第一音频数据3)为例,说明回声抵消单元1004的第一功能和第一回声抑制单元1005的优选实现方式。
如图5所示,对于第一音频数据1,回声抵消单元1004判断输出的数据是否达到预设帧数,如果否,则执行AEC缓冲区更新,将更新后的第一音频数据1执行AEC处理,并由第一回声抑制单元1005执行RES处理,之后输出至通信另一方。如果是,则不再执行AEC处理和RES处理,而是只执行AEC缓冲区更新,以及滤波系数的更新等操作。
如图6所示,对于第一音频数据3,回声抵消单元1004判断输出的数据是否达到预设帧数,如果否,则执行AEC缓冲区更新,以及滤波系数的更新等操作,此时还可以由第一回声抑制单元1005执行RES。如果是,则执行AEC缓冲区更新,设置初始滤波系数并执行AEC处理,执行RES处理,之后输出至通信另一方。
通过上述技术方案可知,在本实施例中,由于第一回声抑制单元1005对音频输出数据执行RES,而RES一般是基于混叠的方式,输出的数据会有几帧的延迟。因此在混音切换出的第一音频数据发生变化时,在音频输出数据未达到预设帧数时输出AEC处理后的上一时刻待输出的第一音频数据,而在音频输出数据达到预设帧数之后输出AEC处理后的当前时刻待输出的第一音频数据。
在本实施例中,实际上已经能够确定出在执行混音切换后的第一时段内输出的数据,因此可以对本实施例进一步优化,从而减少运算量,下面通过一个实施例具体说明。
实施例六
请参阅图11,本发明实施例提供了回声消除装置的第三实施例,与其他实施例不同的是,在本实施例中,在对当前时刻混音切换后获取的第一音频数据延迟输出的基础上,进一步优化算法以减少运算量。
本实施例具体包括:生成单元1101、获取单元1102、混音切换单元1103、回声抵消单元1104和第一回声抑制单元1105。
生成单元1101,用于对N(N>1)路第一音频数据分别降采样以获取N路第二音频数据,对每路第二音频数据执行AEC处理以生成每路第二音频数据所对应的实时滤波系数。
获取单元1102,获取当前时刻N路第一音频数据所对应的混音切换数据。任一路第一音频数据所对应的混音切换数据为该路第一音频数据降采样的第二音频数据执行AEC处理后的数据。
混音切换单元1103,用于对N路第一音频数据所对应的混音切换数据执行混音切换,以从N路第一音频数据中获取当前时刻待输出的第一音频数据。
例如,通过混音切换获取到当前时刻待输出的第一音频数据为第一音频数据2和第一音频数据3。
需要强调的是,在本实施例中,最终仍然是要对第一音频数据执行AEC处理,而不是对混音切换数据执行AEC处理,这是因为混音切换数据是由第一音频数据降采样和执行AEC处理后得到的,因此采样率较低,如果对混音切换数据执行AEC处理,则会造成采样率的损失,最终使得输出音质较差。因此在图8中,混音切换后输出的实际上是从N路第一音频数据中获取的待输出的第一音频数据。
回声抵消单元1104,用于若当前时刻待输出的第一音频数据中包括与上一时刻相比不同的第一音频数据时,执行第一功能,若当前时刻待输出的第一音频数据中不包括与上一时刻相比不同的第一音频数据,执行第二功能。
第一功能包括以下六个子功能:
第一子功能:在当前时刻之后的第一时段内,对上一时刻待输出的第一音频数据执行AEC处理,以获取所述第一时段内的音频输出数据。其中,所述第一时段由音频输出数据累计达到预设帧数花费的时间确定。
例如,上一时刻待输出的第一音频数据为第一音频数据1和第一音频数据2。因此在第一时段内,只输出AEC处理之后的第一音频数据1和第一音频数据2。
需要说明的是,在第一时段内,也可以对当前时刻待输出的第一音频数据执行AEC处理,但是并不作为音频输出数据。
并且在第一时段内,为了将RES的状态进行更新,本实施例还可以包括第二回声抑制单元,由第二回声抑制单元对当前时刻待输出的第一音频数据执行RES。
第二子功能:在第一时段内,暂停执行以下步骤:对所述上一时刻待输出的第一音频数据降采样以及对该降采样得到的第二音频数据执行AEC处理。
以上一时刻混音切换确定的第一音频数据为第一音频数据1和第一音频数据2为例,在本发明实施例中的装置第二实施例中,在第一时段内,回声抵消单元1004不仅对第一音频数据1和第一音频数据2执行了AEC处理,而且还对第二音频数据1和第二音频数据2执行AEC处理。实际上由于在第一时段内,输出的是AEC处理后的上一时刻待输出的第一音频数据:第一音频数据1和第一音频数据2,而此时的AEC处理必然是连续不间断的,因此无需设置初始滤波系数,可以暂停对第一音频数据1和第一音频数据2的降采样,以及暂停对第二音频数据1和第二音频数据2的AEC处理,以减少运算量。
但是,由于暂停了降采样和对降采样后的音频数据的AEC处理,因此在循环执行混音切换时所使用的混音切换数据,具体通过由回声抵消单元1104执行以下的子功能获取。
第三子功能:在第一时段内,对AEC处理后的所述上一时刻待输出的第一音频数据执行降采样,将该降采样后的数据作为所述上一时刻待输出的第一音频数据所对应的混音切换数据,以用于执行混音切换。
例如图8所示,上一时刻待输出的第一音频数据为第一音频数据1和第一音频数据2,因此在混音切换后的第一时段内,回声抵消单元1004分别对AEC处理之后的第一音频数据1和第一音频数据2执行降采样,并将降采样之后的数据作为第一音频数据1和第一音频数据2分别对应的混音切换数据,用于在下一时刻执行混音切换。
第四子功能:在第一时段之后,对所述当前时刻待输出的第一音频数据执行AEC处理,以获得所述第一时段之后的音频输出数据。
其中,在对所述当前时刻待输出的第一音频数据中与上一时刻待输出的第一音频数据相比不同的第一音频数据执行AEC处理时,回声抵消单元1004还设置AEC处理过程中的初始滤波系数。初始滤波系数的获取过程为:确定所述不同的第一音频数据降采样得到的第二音频数据,获取当前时刻该第二音频数据所对应的实时滤波系数,基于该实时滤波系数获取初始滤波系数。
第五子功能:在所述第一时段之后,恢复执行在所述第一时段内暂停的步骤。
在第一时段之后,开始输出AEC处理后的当前时刻待输出的第一音频数据,因此重新恢复对上一时刻待输出的第一音频数据执行降采样,以及对相应的第二音频数据执行AEC处理这两个步骤,例如仍以图8为例,恢复执行对第一音频数据1和第一音频数据2的降采样,以及恢复执行对第二音频数据1和第二音频数据2执行AEC处理,从而能够实时获取对应的混音切换数据,以用于执行混音切换。
第六子功能:在所述第一时段之后,确定所述上一时刻待输出的第一音频数据降采样得到的第二音频数据,将对该第二音频数据执行AEC处理后的数据作为所述上一时刻待输出的第一音频数据所对应的混音切换数据,以用于执行混音切换。
例如图8所示,由于在第一时段之后,开始输出当前时刻待输出的第一音频数据:第一音频数据2和第一音频数据3,因此上一时刻待输出的第一音频数据:第一音频数据1和第一音频数据2分别对应的混音切换数据,重新恢复为AEC处理之后的第二音频数据1和第二音频数据2。
第二功能:对所述当前时刻待输出的第一音频数据执行AEC处理,以获得音频输出数据,对该音频输出数据执行RES。
第一回声抑制单元1105用于,用于对所述音频输出数据执行残留回声抑制。
通过上述技术方案可知,在本实施例中,回声抵消单元1104不仅对当前时刻待输出的第一音频数据延迟输出,而且在第一时段内,也就是音频输出 数据未达到预设帧数时,回声抵消单元1104暂停执行:对上一时刻待输出的第一音频数据的降采样以及对该降采样后的第二音频数据的AEC处理。并且对AEC后的第一音频数据进行降采样,以作为混音切换数据,从而节省了一次对第二音频数据的AEC处理的运算量,实现了算法的优化。
上面从模块化功能实体的角度对本发明实施例中的回声消除装置的实施例进行描述。下面将从硬件处理的角度对本发明实施例中的回声消除装置的实施例进行描述。
实施例七
请参阅图12,本发明实施例提供了回声消除装置的第四实施例,本实施例具体包括:处理器(processor)1201、通信接口(Communications Interface)1202、存储器(memory)1203和通信总线1204。
处理器1201,通信接口1202,存储器1203通过总线1204完成相互间的通信。
处理器1201,用于执行程序1205。
具体地,程序1205可以包括程序代码,所述程序代码包括计算机操作指令。
处理器1201可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。
存储器1203,用于存放程序1205。存储器1203可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序1205用于执行以下步骤:
对多路第一音频数据分别降采样以获取多路第二音频数据,对每路第二音频数据执行AEC处理以生成每路第二音频数据所对应的实时滤波系数;
获取当前时刻多路第一音频数据所对应的混音切换数据。其中,任一路第一音频数据所对应的混音切换数据为该路第一音频数据降采样的第二音频数据执行AEC处理后的数据;
对多路第一音频数据所对应的混音切换数据执行混音切换,以从所述多路第一音频数据中获取当前时刻待输出的第一音频数据;
对当前时刻待输出的第一音频数据执行AEC处理,以获取音频输出数据。
其中,在对当前时刻待输出的第一音频数据中与上一时刻待输出的第一音频数据相比不同的第一音频数据执行AEC处理时,还设置AEC处理过程中的初始滤波系数。
初始滤波系数的获取过程为:确定所述不同的第一音频数据降采样得到的第二音频数据,获取当前时刻该第二音频数据所对应的实时滤波系数,基于该实时滤波系数获取初始滤波系数。
程序1205中各步骤的具体实现参见图9-图11所示实施例中的相应单元的实现方式,在此不赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (14)
1.一种回声消除方法,对多路第一音频数据分别降采样以获取多路第二音频数据,对每路第二音频数据执行音频回声抵消处理,其特征在于,对每路第二音频数据执行音频回声抵消处理时生成每路第二音频数据所对应的实时滤波系数;
所述方法包括:
获取当前时刻所述多路第一音频数据所对应的混音切换数据;其中,任一路第一音频数据所对应的混音切换数据为该路第一音频数据降采样的第二音频数据执行音频回声抵消处理后的数据;
对所述多路第一音频数据所对应的混音切换数据执行混音切换,以从所述多路第一音频数据中获取当前时刻待输出的第一音频数据;
对所述当前时刻待输出的第一音频数据执行音频回声抵消处理,以获取音频输出数据;其中,在对所述当前时刻待输出的第一音频数据中与上一时刻待输出的第一音频数据相比不同的第一音频数据执行音频回声抵消处理时,还设置音频回声抵消处理过程中的初始滤波系数;
所述初始滤波系数的获取过程为:确定所述不同的第一音频数据降采样得到的第二音频数据,获取当前时刻该第二音频数据所对应的实时滤波系数,基于该实时滤波系数获取初始滤波系数。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述音频输出数据执行残留回声抑制。
3.根据权利要求2所述的方法,其特征在于,若所述当前时刻待输出的第一音频数据中包括有所述不同的第一音频数据,所述方法还包括:
在当前时刻之后的第一时段内,对上一时刻待输出的第一音频数据执行音频回声抵消处理以获取所述第一时段内的音频输出数据;其中,所述第一时段由所述音频输出数据累计达到预设帧数花费的时间确定;
所述对所述当前时刻待输出的第一音频数据执行音频回声抵消处理,以获得音频输出数据包括:
在所述第一时段之后,对所述当前时刻待输出的第一音频数据执行音频回声抵消处理,以获得所述第一时段之后的音频输出数据。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述第一时段内,暂停执行以下步骤:对所述上一时刻待输出的第一音频数据降采样以及对该降采样得到的第二音频数据执行音频回声抵消处理;
以及,执行以下步骤:对音频回声抵消处理后的所述上一时刻待输出的第一音频数据执行降采样,将该降采样后的数据作为所述上一时刻待输出的第一音频数据所对应的混音切换数据,以用于执行混音切换;
在所述第一时段之后,恢复执行在所述第一时段内暂停的步骤;
以及,执行以下步骤:确定所述上一时刻待输出的第一音频数据降采样得到的第二音频数据,将对该第二音频数据执行音频回声抵消处理后的数据作为所述上一时刻待输出的第一音频数据所对应的混音切换数据,用于执行混音切换。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
在所述第一时段内,对所述当前时刻待输出的第一音频数据执行残留回声抑制。
6.根据权利要求1所述的方法,其特征在于,所述当前时刻待输出的第一音频数据为所述多路第一音频数据中,能量最大的至少一路第一音频数据。
7.根据权利要求1所述的方法,其特征在于,所述第二音频数据的采样率为8kHz、16kHz或者32kHz。
8.一种回声消除装置,所述装置包括生成单元,所述生成单元用于对多路第一音频数据分别降采样以获取多路第二音频数据,对每路第二音频数据执行音频回声抵消处理,其特征在于,所述装置还包括获取单元、混音切换单元和回声抵消单元;
所述生成单元,还用于对每路第二音频数据执行音频回声抵消处理时生成每路第二音频数据所对应的实时滤波系数;
获取单元,用于获取当前时刻所述多路第一音频数据所对应的混音切换数据;其中,任一路第一音频数据所对应的混音切换数据为该路第一音频数据降采样的第二音频数据执行音频回声抵消处理后的数据;
混音切换单元,用于对所述多路第一音频数据所对应的混音切换数据执行混音切换,以从所述多路第一音频数据中获取当前时刻待输出的第一音频数据;
回声抵消单元,用于对所述当前时刻待输出的第一音频数据执行音频回声抵消处理,以获取音频输出数据;
其中,所述回声抵消单元在对所述当前时刻待输出的第一音频数据中与上一时刻待输出的第一音频数据相比不同的第一音频数据执行音频回声抵消处理时,还设置音频回声抵消处理过程中的初始滤波系数;
所述初始滤波系数的获取过程为:确定所述不同的第一音频数据降采样得到的第二音频数据,获取当前时刻该第二音频数据所对应的实时滤波系数,基于该实时滤波系数获取初始滤波系数。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第一回声抑制单元,用于对所述音频输出数据执行残留回声抑制。
10.根据权利要求9所述的装置,其特征在于,若所述当前时刻待输出的第一音频数据中包括有所述不同的第一音频数据,所述回声抵消单元还用于,在当前时刻之后的第一时段内,对上一时刻待输出的第一音频数据执行音频回声抵消处理以获取所述第一时段内的音频输出数据;其中,所述第一时段由所述音频输出数据累计达到预设帧数花费的时间确定;
所述回声抵消单元用于对所述当前时刻待输出的第一音频数据执行音频回声抵消处理,以获取音频输出数据包括:
所述回声抵消单元用于在所述第一时段之后,对所述当前时刻待输出的第一音频数据执行音频回声抵消处理,以获得所述第一时段之后的音频输出数据。
11.根据权利要求10所述的装置,其特征在于,所述生成单元还用于,在所述第一时段内,暂停执行以下步骤:对所述上一时刻待输出的第一音频数据降采样以及对该降采样得到的第二音频数据执行音频回声抵消处理;
以及,执行以下步骤:对音频回声抵消处理后的所述上一时刻待输出的第一音频数据执行降采样,将该降采样后的数据作为所述上一时刻待输出的第一音频数据所对应的混音切换数据,以用于执行混音切换;
所述生成单元还用于,在所述第一时段之后,恢复执行在所述第一时段内暂停的步骤;
以及,执行以下步骤:确定所述上一时刻待输出的第一音频数据降采样得到的第二音频数据,将对该第二音频数据执行音频回声抵消处理后的数据作为所述上一时刻待输出的第一音频数据所对应的混音切换数据,用于执行混音切换。
12.根据权利要求10或11所述的装置,其特征在于,所述装置还包括:
第二回声抑制单元,用于在所述第一时段内,对所述当前时刻待输出的第一音频数据执行残留回声抑制。
13.根据权利要求8所述的装置,其特征在于,所述当前时刻待输出的第一音频数据为所述多路第一音频数据中,能量最大的至少一路第一音频数据。
14.根据权利要求8所述的装置,其特征在于,所述第二音频数据的采样率为8kHz、16kHz或者32kHz。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410251052.6A CN104036784B (zh) | 2014-06-06 | 2014-06-06 | 一种回声消除方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410251052.6A CN104036784B (zh) | 2014-06-06 | 2014-06-06 | 一种回声消除方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104036784A CN104036784A (zh) | 2014-09-10 |
CN104036784B true CN104036784B (zh) | 2017-03-08 |
Family
ID=51467530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410251052.6A Active CN104036784B (zh) | 2014-06-06 | 2014-06-06 | 一种回声消除方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104036784B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9554207B2 (en) | 2015-04-30 | 2017-01-24 | Shure Acquisition Holdings, Inc. | Offset cartridge microphones |
US9565493B2 (en) | 2015-04-30 | 2017-02-07 | Shure Acquisition Holdings, Inc. | Array microphone system and method of assembling the same |
US10367948B2 (en) | 2017-01-13 | 2019-07-30 | Shure Acquisition Holdings, Inc. | Post-mixing acoustic echo cancellation systems and methods |
CN108965777B (zh) * | 2017-08-28 | 2020-07-17 | 视联动力信息技术股份有限公司 | 一种回声消除方法和装置 |
CN108200303B (zh) * | 2018-01-09 | 2021-04-27 | 武汉斗鱼网络科技有限公司 | 语音电话回音消除方法、存储介质、电子设备及系统 |
US11523212B2 (en) | 2018-06-01 | 2022-12-06 | Shure Acquisition Holdings, Inc. | Pattern-forming microphone array |
US11297423B2 (en) | 2018-06-15 | 2022-04-05 | Shure Acquisition Holdings, Inc. | Endfire linear array microphone |
US11310596B2 (en) | 2018-09-20 | 2022-04-19 | Shure Acquisition Holdings, Inc. | Adjustable lobe shape for array microphones |
WO2020191354A1 (en) | 2019-03-21 | 2020-09-24 | Shure Acquisition Holdings, Inc. | Housings and associated design features for ceiling array microphones |
US11438691B2 (en) | 2019-03-21 | 2022-09-06 | Shure Acquisition Holdings, Inc. | Auto focus, auto focus within regions, and auto placement of beamformed microphone lobes with inhibition functionality |
US11558693B2 (en) | 2019-03-21 | 2023-01-17 | Shure Acquisition Holdings, Inc. | Auto focus, auto focus within regions, and auto placement of beamformed microphone lobes with inhibition and voice activity detection functionality |
TW202101422A (zh) | 2019-05-23 | 2021-01-01 | 美商舒爾獲得控股公司 | 可操縱揚聲器陣列、系統及其方法 |
EP3977449A1 (en) | 2019-05-31 | 2022-04-06 | Shure Acquisition Holdings, Inc. | Low latency automixer integrated with voice and noise activity detection |
US11297426B2 (en) | 2019-08-23 | 2022-04-05 | Shure Acquisition Holdings, Inc. | One-dimensional array microphone with improved directivity |
US11552611B2 (en) | 2020-02-07 | 2023-01-10 | Shure Acquisition Holdings, Inc. | System and method for automatic adjustment of reference gain |
WO2021243368A2 (en) | 2020-05-29 | 2021-12-02 | Shure Acquisition Holdings, Inc. | Transducer steering and configuration systems and methods using a local positioning system |
CN116918351A (zh) | 2021-01-28 | 2023-10-20 | 舒尔获得控股公司 | 混合音频波束成形系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9217313D0 (en) * | 1992-08-14 | 1992-09-30 | British Broadcasting Corp | Method and apparatus for attenuating an unwnated signal in a mix of signals |
DE19948308C2 (de) * | 1999-10-06 | 2002-05-08 | Cortologic Ag | Verfahren und Vorrichtung zur Geräuschunterdrückung bei der Sprachübertragung |
EP1443498B1 (en) * | 2003-01-24 | 2008-03-19 | Sony Ericsson Mobile Communications AB | Noise reduction and audio-visual speech activity detection |
FR2899372B1 (fr) * | 2006-04-03 | 2008-07-18 | Adeunis Rf Sa | Systeme de communication audio sans fil |
CN101227537B (zh) * | 2007-01-19 | 2010-12-01 | 中兴通讯股份有限公司 | 一种宽带声学回声消除方法 |
KR100949910B1 (ko) * | 2008-05-26 | 2010-03-30 | (주)제너시스템즈 | 스펙트럼 차감을 이용한 음향학적 반향 제거 방법 및 장치 |
JP5264686B2 (ja) * | 2009-11-27 | 2013-08-14 | 日本電信電話株式会社 | エコーキャンセル方法、エコーキャンセル装置、エコーキャンセルプログラム |
CN101917527B (zh) * | 2010-09-02 | 2013-07-03 | 杭州华三通信技术有限公司 | 回声消除的方法和装置 |
CN102065190B (zh) * | 2010-12-31 | 2013-08-28 | 杭州华三通信技术有限公司 | 一种回声消除方法及其装置 |
CN102623016A (zh) * | 2012-03-26 | 2012-08-01 | 华为技术有限公司 | 宽带语音处理方法及装置 |
-
2014
- 2014-06-06 CN CN201410251052.6A patent/CN104036784B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104036784A (zh) | 2014-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104036784B (zh) | 一种回声消除方法及装置 | |
CN102461205B (zh) | 多通道声学回声消除器装置和多通道声学回声消除的方法 | |
CN108028049B (zh) | 用于融合麦克风信号的方法和系统 | |
CN102739886B (zh) | 基于回声频谱估计和语音存在概率的立体声回声抵消方法 | |
CN108141502B (zh) | 降低声学系统中的声学反馈的方法及音频信号处理设备 | |
CN101946526B (zh) | 声音再现方法和系统以及立体声扩展方法 | |
JP4221222B2 (ja) | 非対称マルチチャンネルフィルタ | |
CN1115795C (zh) | 带有无声段检测的回声消除器和回声消除方法 | |
Turbin et al. | Comparison of three post-filtering algorithms for residual acoustic echo reduction | |
CN109754813B (zh) | 基于快速收敛特性的变步长回声消除方法 | |
EP2608197A1 (en) | Method, device, and system for noise reduction in multi-microphone array | |
WO2013107307A1 (zh) | 降噪方法及设备 | |
JP2003102085A (ja) | 複数チャンネルエコーキャンセル方法、複数チャンネル音声伝送方法、ステレオエコーキャンセラ、ステレオ音声伝送装置および伝達関数演算装置 | |
CN111031448B (zh) | 回声消除方法、装置、电子设备和存储介质 | |
CN107888792A (zh) | 一种回声消除方法、装置及系统 | |
CN107026950B (zh) | 一种频域自适应回声消除方法 | |
CN101924317B (zh) | 双声道处理装置及其方法与声音播放系统 | |
EP1582089B1 (en) | Audio signal processing | |
CN107071636A (zh) | 对带麦克风的设备的去混响控制方法和装置 | |
CN109036446A (zh) | 一种音频数据处理方法以及相关设备 | |
CN109559756A (zh) | 滤波系数确定方法、回声消除方法、相应装置及设备 | |
CN109712637B (zh) | 一种混响抑制系统及方法 | |
CN112037810A (zh) | 一种回音处理方法、装置、介质和计算设备 | |
WO2024088142A1 (zh) | 音频信号处理方法、装置、电子设备及可读存储介质 | |
CN110010144A (zh) | 语音信号增强方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |