CN110992923B - 回声消除方法、电子设备以及存储装置 - Google Patents
回声消除方法、电子设备以及存储装置 Download PDFInfo
- Publication number
- CN110992923B CN110992923B CN201911320924.9A CN201911320924A CN110992923B CN 110992923 B CN110992923 B CN 110992923B CN 201911320924 A CN201911320924 A CN 201911320924A CN 110992923 B CN110992923 B CN 110992923B
- Authority
- CN
- China
- Prior art keywords
- previous
- signal
- filter
- end signal
- current
- 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
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000001914 filtration Methods 0.000 claims abstract description 75
- 230000003044 adaptive effect Effects 0.000 claims description 219
- 230000005236 sound signal Effects 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 12
- 238000007781 pre-processing Methods 0.000 claims description 9
- 238000009432 framing Methods 0.000 claims description 4
- 230000009977 dual effect Effects 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 description 52
- 230000008569 process Effects 0.000 description 25
- 238000004364 calculation method Methods 0.000 description 12
- 238000005070 sampling Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0216—Noise filtering characterised by the method used for estimating noise
- G10L21/0224—Processing in the time domain
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10K—SOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
- G10K11/00—Methods or devices for transmitting, conducting or directing sound in general; Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
- G10K11/16—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
- G10K11/175—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound
- G10K11/178—Methods or devices for protecting against, or for damping, noise or other acoustic waves in general using interference effects; Masking sound by electro-acoustically regenerating the original acoustic waves in anti-phase
- G10K11/1785—Methods, e.g. algorithms; Devices
- G10K11/17853—Methods, e.g. algorithms; Devices of the filter
- G10K11/17854—Methods, e.g. algorithms; Devices of the filter the filter being an adaptive filter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M9/00—Arrangements for interconnection not involving centralised switching
- H04M9/08—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L2021/02082—Noise filtering the noise being echo, reverberation of the speech
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Telephone Function (AREA)
Abstract
本申请公开了一种回声消除方法、电子设备以及存储装置,该方法包括:对第一设备的当前远端信号与当前近端信号进行时延对齐;利用自适应滤波器对当前远端信号进行滤波,得到当前回声信号;将当前近端信号减去当前回声信号,得到当前输出信号;将当前输出信号发送至第二设备。通过本申请的回声消除方法,能够提高通话质量。
Description
技术领域
本申请涉及语音信号处理领域,具体涉及一种回声消除方法、电子设备以及存储装置。
背景技术
随着Internet网络技术、软件技术和计算机多媒体技术的快速发展和相互结合,网络语音电话应用已经非常普遍。
在网络语音聊天中,远端通话者的声音被自己的麦克风拾取后通过网络传到近端,近端扬声器播放出来的声音被麦克风拾取后通过网络又重新发回给远端,加上网络和数据处理等各种延迟的影响,使得远端通话者能听到自己的回声,影响了通话的质量。
发明内容
本申请提供一种回声消除方法、电子设备以及存储装置,以解决如何减少回声残留,提高通话质量的技术问题。
为解决上述技术问题,本申请第一方面提供一种回声消除方法,其包括:对第一设备的当前远端信号与当前近端信号进行时延对齐,其中,当前远端信号和当前近端信号为音频信号,且当前远端信号来自与第一设备通话的第二设备;利用自适应滤波器对当前远端信号进行滤波,得到当前回声信号,其中,自适应滤波器的当前滤波系数由自适应滤波器的前一回声信号与前一近端信号之间的差异确定的;将当前近端信号减去当前回声信号,得到当前输出信号;将当前输出信号发送至第二设备。
为解决上述技术问题,本申请第二方面提供一种电子设备,包括处理器以及分别与处理器耦接的存储器、麦克风、扬声器以及通信电路;通信电路用于与其他设备进行音频信号的传输;麦克风用于接收近端信号;扬声器用于播放通过通信电路接收到的远端信号;处理器用于运行存储器存储的计算机程序,计算机程序被处理器执行时可实现上述第一方面的方法。
为解决上述技术问题,本申请第三方面提供一种存储装置,该存储装置存储有计算机程序,计算机程序被处理器执行时可实现上述第一方面的方法。
本申请的有益效果是:区别于现有技术的情况,本申请提供的回声消除方法,在通话过程中,将自适应滤波器的当前滤波系数确定为由自适应滤波器的前一回声信号与前一近端信号之间的差异确定,再根据第二设备发送的当前远端信号,并利用自适应滤波器对当前远端信号进行滤波以得到当前回声信号,最后将当前近端信号减去当前回声信号,就可以得到当前输出信号,使得当前输出信号中减去了当前远端信号的回声,因此可以提高通话质量。
附图说明
为了更清楚地说明本申请中的技术方案,下面将对实施例描述中所需要的附图作简单的介绍,显而易见地,下面描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请回声消除方法一实施例的第一流程示意图;
图2是本申请回声消除方法一实施例的第二流程示意图;
图3是本申请回声消除方法第二实施例的第一流程示意图;
图4是本申请回声消除方法第二实施例的第二流程示意图;
图5是本申请回声消除方法第三实施例的第一流程示意图;
图6是本申请回声消除方法第三实施例的第二流程示意图;
图7是本申请回声消除方法第三实施例的第三流程示意图;
图8是本申请回声消除方法第三实施例的第四流程示意图;
图9是本申请用于回声消除的电子设备的一实施例的框架示意图;
图10是本申请存储介质一实施例的框架示意图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在通话的过程中,至少会包括通话双方,在以下描述的实施例中,本申请对通话的双方分别定义为第一设备和第二设备。对于第一设备而言,第二设备为远端,第一设备是近端。当第二设备向第一设备发送信息时,该消息定义为原始远端信号。第一设备对原始远端信号预处理后,会得到远端信号。当第一设备对远端信号正在进行回声消除的操作时,此时对应的原始远端信号经过预处理后得到的,即为当前远端信号,即当前远端信号来自与第一设备通话的第二设备,当第一设备接收到原始远端信号并播放出来后,第一设备通过其自身的麦克风接收到的信息,定义为原始近端信号,当对原始近端信号进行预处理后,会得到当前近端信号。
对于远端信号而言,当第二设备发送一个原始远端信号后,第一设备的预处理过程中会包括针对该原始远端信号进行多次采样的操作,预处理后会相应地得到不同采样点对应产生的数个远端信号,在以下的实施例中,用y(n)表示经过预处理后得到的远端信号,z(n)表示经过预处理后得到的近端信号,d(n)表示回声信号,u(n)表示输出信号。其中,n表示具体的信号顺序,如y(1)表示第一次采样后的得到的第一远端信号,即根据第一采样点得到的第一远端信号,y(2)表示第二次采样后得到的远端信号,即根据第二采样点得到的第二远端信号,其他信号也同样如此。同时,以第二远端信号y(2)表示当前远端信号,即当前正在处理的远端信号,也就是说y(1)为前一远端信号,其他信号也同样如此。需要说明的是,第一远端信号y(1)和第二远端信号y(2)均是基于一个远端信号进行采样后得到的远端信号,也就是说,一个原始远端信号可以得到数个远端信号。另外,在一些实施例中,当第二设备前后发送了两个原始远端信号,并对应得到远端信号后,后发送的远端信号的第一个采样点也可以是当前正在进行回声操作的第二远端信号y(2),前发送的远端信号的最后一个采样点也可以是第一远端信号y(1),即前一远端信号。
可以理解的是,当前远端信号和当前近端信号可以是音频信号,也可以是包含音频信号的视频信号。以下描述的实施例,仅以音频信号为例,对本申请的具体方案进行描述。
请参阅图1,图1是本申请回声消除方法一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S100:对第一设备的当前远端信号与当前近端信号进行时延对齐。
在通话的过程中,因为会存在时延的情况,因此在进行回声消除的时候,需要对音频信号进行时延对齐的操作。如果不进行时延对齐的操作,那么,在回声消除时,消除的很有可能不是第二设备使用者说话当时所对应产生的回声,而是之前的音频信号的回声,导致回声消除的音频信号没有正确匹配,也就不能达到消除回声的目的。因此,对通话过程中的音频信号进行时延对齐的操作,可以使得回声消除的音频信号与产生回声的音频信号相匹配,提高回声消除的效果。
对于第一设备而言,在原始远端信号传输到第一设备经扬声器播放出来后,部分声音经过各种反射,又会被第一设备的麦克风接收,然后经过预处理操作,进而成为当前近端信号的一部分。因此,与当前远端信号相比,当前近端信号必定滞后于当前远端信号,因此有必要对当前远端信号与当前近端信号进行时延对齐,以提高回声消除的效果。
在一个具体的实施场景中,通话双方在通话时,对于第一设备而言,从第二设备发送过来的音频信号,在第一设备播放出来之前,需要先把这个音频信号拷贝一份到延迟估计器,然后再经过解码、抽样等处理之后才播放出来,此时会产生一个时间延迟T1。然后第一设备的扬声器播放音频信号后,经过空气传播(包括各种直线传播、反射或多次反射等)到第一设备的麦克风,会产生另一个时间延迟T2。另外,第一设备的麦克风接收器在接收到声音之后,还要经过一系列的采样、编码、信号加强等处理,也即在进入用于回声消除的自适应滤波器之前,产生的时间延迟为T3。可见,与当前远端信号相比,当前近端信号一共产生了T1+T2+T3三个时间段总和的延迟。因此,非常有必要对第一设备的当前远端信号与当前近端信号进行时延对齐,以消除这样的延迟,进而提高回声消除的效果。具体的可以通过延时估计模块来进行时延对齐,通过估计得到时延数值,然后在当前远端信号前补零。在当前远端信号和当前近端信号对齐后,就能使得当前近端信号和当前远端信号在时间上是一一对应的,以达到时延对齐的效果。
步骤S101:利用自适应滤波器对当前远端信号进行滤波,得到当前回声信号。
由于第二设备的使用者可能会听到自己的回声,因此需要利用当前远端信号来进行回声消除的操作。具体可以是利用自适应滤波器对当前远端信号进行滤波,以得到当前回声信号,进而为后续的回声消除提供支持。具体的滤波过程是自适应滤波器对当前远端信号可能形成的回声信号进行估计,对回声信道进行模拟,最后得到当前回声信号。即当前回声信号是根据当前远端信号得到的,当前回声信号可以用来消除回声。需要说明的是,当前回声信号是由滤波器根据当前远端信号进行滤波得到的。原始远端信号经过扬声器播放后,再被麦克风收集到产生的是真实回声信号。因此,当前回声信号并不一定等于真实回声信号。在一个具体地实施场景中,当第一设备根据第二设备发送的原始远端信号预处理后得到当前远端信号y(2)之后,自适应滤波器会对当前远端信号y(2)进行处理,具体过程是对当前远端信号y(2)的回声信号进行模拟,即对当前远端信号y(2)可能形成的回声信号进行估计,进而在后续的回声消除中,进行相应的回声消除操作。通过对当前远端信号y(2)可能产生的回声信号进行模拟,便可以在后续的过程中,针对当前远端信号y(2)产生的回声,进行针对性的消除,以提高回声消除的效果。
由于自适应滤波器的当前滤波系数会影响到的滤波效果,因此确定当前滤波系数的方法,会对回声消除的效果有很大影响。因此,本实施例进一步地提出自适应滤波器的当前滤波系数可以由自适应滤波器的前一回声信号与前一近端信号之间的差异确定。
在一个具体的实施场景,在通话过程中,第二设备发送了一个原始远端信号后,经过第一设备的预处理(包括对该远端信号进行两次采样)后得到远端信号y(1)和y(2),自适应滤波器会对远端信号y(1)和y(2)进行滤波,并产生回声信号d(1)、d(2),第一设备也会对应产生近端信号z(1)、z(2),在针对近端信号z(2)进行回声消除的操作时,可以利用当前远端信号y(2)的前一远端信号y(1)产生的回声信号d(1)和对应产生的近端信号z(1)来确定自适应滤波器针对当前远端信号y(2)回声模拟时的滤波系数。
在一个具体的实施场景中,得到回声信号具体的计算过程可以是:d(n)=y(n)*w(n)。
通过选取上一次产生的回声信号和近端信号,并用来确定当前的自适应滤波器的当前滤波系数,并根据当前滤波系数得到当前回声信号,可以提高当前回声信号与真实回声信号的相关度,,提高滤波效果,减少回声残留。
步骤S102:将当前近端信号减去当前回声信号,得到当前输出信号。
由于当前近端信号是由第一设备的麦克风收集并处理后产生的,因此,在当前近端信号中,会存在着包括当前远端信号的音频信号,具体的过程是可以参考上述步骤S100中产生时延T2的过程,即原始远端信号被第一设备播放出来后,声音经过反射和传播,会有一部分被第一设备的麦克风收集,被收集的声音即为当前远端信号中的回声,即是真实回声信号,真实回声信号会影响通话的质量。
在步骤S101中,通过利用自适应滤波器对当前远端信号进行模拟后,得到了当前回声信号。并且在步骤S100中,已经对当前远端信号和当前近端信号进行了时延对齐的操作,故此时可以直接在当前近端信号中减去当前回声信号,以此便可得到当前输出信号,此时的当前输出信号已经经过回声消除的操作,减少了回声残留,因而可以提高通话的质量。
具体的计算公式可以具体表达为:
u(n)=z(n)-d(n)。
在一个具体的实施场景中,自适应滤波器根据当前远端信号y(2),得到了当前回声信号d(2)。第一设备的麦克风在接收并处理音频信号后,得到当前近端信号z(2)。此时可以将当前近端信号z(2)减去当前回声信号d(2),以此消除当前近端信号z(2)中的有关当前远端信号y(2)的回声,便可得到当前输出信号u(2)。由于当前输出信号u(2)已经减去了当前远端信号y(2)的回声,因此可以提高通话质量。
步骤S103:将当前输出信号发送至第二设备。
因为当前输出信号已经消除了由第二设备发送的原始远端信号的回声,因此可以将当前输出信号发送给第二设备,第二设备将当前输出信号播放出来后,可以降低第二设备的使用者听到回声的概率或回声的音量,以此实现提高通话质量。
上述方案,通过利用自适应滤波器对当前远端信号进行滤波,得到当前回声信号后,再在当前近端信号中减去当前回声信号,以得到针对真实回声信号进行回声消除后的当前输出信号,使得第二设备在播放当前输出信号时,可以降低听到回声的概率或回声的音量,提高听话质量。
需要指出的是,自适应滤波器可以是一种算法或装置,可以通过输入和输出信号的统计特性的估计为依据,采取特定算法自动地调整滤波器系数,使自适应滤波器达到最佳滤波特性。
参阅图2,在上述实施例中,在执行步骤S100对第一设备的当前远端信号与当前近端信号进行时延对齐之前,还可以先执行如图2的操作,以获得当前远端信号和当前近端信号,具体包括:
步骤S080:获取第一设备的扬声器输入的原始远端信号和第一设备的麦克风接收到的原始近端信号。
通话过程中,第二设备的麦克风会收集音频信号,并将该音频信号发送到第一设备,由第一设备的扬声器播放出来。该第二设备发送给第一设备的音频信号即为原始远端信号。当第一设备播放由第二设备发送过来的原始远端信号以后,第一设备的麦克风也会相应的接收到对应的音频信号,该对应的音频信号即为原始近端信号。原始近端信号可以包括环境音频信号和第一设备的使用者的说话声音。环境音频信号可以包括原始远端信号经第一设备的扬声器播放出来以后,经过各种反射以后,传播到第一设备的麦克风的音频信号,也可以包括其他的音频信号。
步骤S090:分别对原始远端信号和原始近端信号进行预处理,得到当前远端信号和当前近端信号。
由于原始远端信号和原始近端信号都是未经处理的音频信号,若不进行处理,对于后续的回声消除工作会有影响。因此本实例通过对原始远端信号和原始近端信号进行预处理,以便于后续的回声消除操作,提高回声消除的效率,减少回声残留,提高通话质量。
具体而言,对原始远端信号和原始近端信号的预处理步骤可以包括:
(1)分别对原始远端信号和原始近端信号进行分帧,得到多帧远端信号和多帧近端信号。
由于语音信号属于准稳态信号,即短时平稳。这个短时长一般为10-30ms,因此在进行语音信号处理时,为减少语音信号整体的非稳态、时变的影响,从而对信号进行分帧处理,分帧即是将语音信号分段,即是对语音信号多次采样,以分析其特征参数。在对原始远端信号和原始近端信号进行分帧以后,对应得到的即为多帧远端信号和多帧近端信号。根据第一个采样点得到的信号,即是第一帧的远端信号,即是第一远端信号y(1),针对第二个采样点得到的远端信号,即是第二帧的远端信号,即是第二远端信号y(2)。近端信号也同样如此。
(2)对每帧远端信号和每帧近端信号依序进行加窗和傅里叶变换。
在对原始远端信号和原始近端信号进行分帧以后,那么每一帧的两端很有可能不会渐变到0,不利于后续对多帧远端信号和多帧近端信号进行傅里叶变换。因此可以对每一帧的远端信号和近段信号进行加窗处理,即使得每一帧的远端信号和近段信号的幅度在两端渐变到0。在对每一帧的远端信号和近段信号进行加窗处理后,可以对每一帧信号进行傅里变换,将每一帧远端信号和近段信号从时域映射到频域,以便于后续自适应滤波器对远端信号和近段信号进行回声消除的操作,此时的自适应滤波器即为频域滤波器。
(3)依序选择经傅里叶变换后的一帧远端信号作为当前远端信号,且依序选择经傅里叶变换后的一帧近端信号作为当前近端信号。
每一帧的远端信号和近段信号经过傅里叶变换后,便可以进行滤波操作。在进行下一步操作时,可以依序选择当前远端信号和当前近端信号。在选择一帧远端信号进行滤波操作时,该帧远端信号即为当前远端信号,其对应产生的,经傅里叶变换后的近端信号,即为当前近段信号。例如,选择第一帧远端信号进行滤波处理,第一帧远端信号为当前远端信号,第一帧近端信号为当前近段信号。然后选择第二帧远端信号进行滤波处理,第二帧远端信号为当前远端信号,第二帧近端信号为当前近段信号,其余帧也以此类推。
在一些实施例中,也可以只对原始远端信号和原始近端信号进行分帧的预处理,而不进行加窗和傅里叶变换。没有进行加窗和傅里叶变换的远端信号和近端信号,仍然是时域信号,自适应滤波器也可以针对时域信号进行本实施例描述的滤波操作,此时的自适应滤波器即为时域滤波器。
参阅图3,本申请回声消除方法另一实施例的流程示意图。具体而言,可以包括:
步骤S300:对第一设备的当前远端信号与当前近端信号进行时延对齐。
具体请参阅步骤S100。
在一些实施例中,进行时延对齐之前,也可以针对原始远端信号和原始近端信号进行预处理,具体请参阅步骤S080-S090。
由于自适应滤波器各项参数都会影响到自适应滤波器的回声消除效果,因此有必要对自适应滤波器的参数进行具体的限定,以提高回声消除效果。
具体地对自适应滤波器的参数进行限定的过程,可以包括步骤S301-S302。
步骤S301:利用前一近端信号减去自适应滤波器的前一回声信号所得到的前一输出信号,得到前一系数更新量。
使用者说话的时候,其说出的一段话,会被设备拆分成许多部分,即许多帧,以方便设备的收集和处理。也就是说,拆分出来的上下帧之间实际上是连贯的,具有连续性。因此可以通过利用前一近端信号减去自适应滤波器的前一回声信号所得到的前一输出信号,来确定前一系数更新量,以提高回声消除效果。
具体的,确定前一系数更新量的方法可以是:获取利用前一近端信号减去利用自适应滤波器得到的前一回声信号,所得到的前一输出信号,并将前一输出信号与前一远端信号的积作为前一系数更新量。
以Δw(n-1)表示前一系数更新量,计算公式可以具体表达为:
Δw(n-1)=y(n-1)*u(n-1)。
当针对当前远端信号y(2)进行滤波,需要确定前一系数更新量Δw(1)时,计算公式为:Δw(1)=y(1)*u(1)。
步骤S302:基于自适应滤波器的步长、前一系数更新量以及自适应滤波器的前一滤波系数,得到自适应滤波器的当前滤波系数。
一般而言,自适应滤波器的步长越小,收敛就越慢,但与此同时,滤波器的均方误差越小,均方误差越小表示回声消除的性能越好。而自适应滤波器的步长越大,滤波器越快收敛,但残余回声也会较大。因此收敛速度的快慢会影响自适应滤波器的滤波效果。
另外,自适应滤波器的滤波系数可以表征与近端房间中的传输函数的相关度,即声音信号从扬声器到达麦克风的传输函数。一般而言,自适应滤波器的滤波系数经过多次调整后,会逐渐逼近第一设备所处房间的房间冲激响应。
通过利用自适应滤波器的前一滤波系数来确定自适应滤波器的当前滤波系数,可以提高当前滤波系数与与第一设备所处环境的冲激响应的匹配度。上述提及使用者说话的声音会被设备拆分成多帧,上下帧之间是连续的,相关度很高,因此也可以通过利用前一滤波系数来确定自适应滤波器的当前滤波系数,以提高回声消除效果。
本实施例中,通过利用自适应滤波器的步长、前一系数更新量以及自适应滤波器的前一滤波系数,得到的自适应滤波器的当前滤波系数,可以提高自适应滤波器的滤波效果,进而提高通话质量。
具体的,利用自适应滤波器的步长、前一系数更新量以及自适应滤波器的前一滤波系数,得到的自适应滤波器的当前滤波系数的具体计算方法可以是:将自适应滤波器的步长与前一系数更新量的积加上自适应滤波器的前一滤波系数,以得到自适应滤波器的当前滤波系数。
以w(n)表示当前滤波系数,μ表示自适应滤波器的步长,Δw(n-1)表示前一系数更新量,计算公式可以具体表达为:
w(n)=w(n-1)+μ*Δw(n-1),其中,w(n-1)为前一滤波系数。
当针对当前远端信号y(2)进行滤波,需要确定当前滤波系数时,计算公式具体为:w(2)=w(1)+μ*Δw(1)。
步骤S303:利用自适应滤波器对当前远端信号进行滤波,得到当前回声信号。
具体请参阅步骤S101。
步骤S304:当前近端信号减去当前回声信号,得到当前输出信号。
具体请参阅步骤S102。
步骤S305:将当前输出信号发送至第二设备。
具体请参阅步骤S103。
请参阅图4,图4是本申请回声消除方法第二实施例的第二流程示意图,具体而言,上述得到当前回声信号的步骤S303,具体可以包括:
步骤S3031:以两个第一自适应滤波器作为待比较滤波器,并获取每个所述待比较滤波器的前一回声信号与参考信号之间的相关程度,其中,所述参考信号包括前一近端信号和/或利用所述前一回声信号得到的前一输出信号。
对于回声消除而言,可以通过使用多个不同步长的自适应滤波器同时进行滤波,并在多个自适应滤波器中,选择滤波效果最好的自适应滤波器来消除当前近端信号中的回声,以进一步地提高回声消除效果。
在本实施例中,以两个自适应滤波器为例,描述如何通过多个自适应滤波器来进一步提高回声消除的效果。即,步骤S303的自适应滤波器可以包括两个不同步长的第一自适应滤波器。其中一个第一自适应滤波器的步长比另一个的步长大。第一设备可以同时利用两个第一自适应滤波器同时对每一个远端信号进行滤波,并对应得到的由两个自适应滤波器产生的当前回声信号。
在一个具体的实施场景中,以两个第一自适应滤波器作为待比较滤波器。两个不同步长的自适应滤波器都会同时对每一个远端信号进行滤波,并得到相应的回声信号,并且都会同时利用得到的回声信号,得到相对应的输出信号。当对当前远端信号y(2)进行滤波时,步长较大的自适应滤波器对当前远端信号y(2)进行滤波后,会得到当前回声信号d1(2),步长较短的自适应滤波器对当前远端信号y(2)进行滤波后,会得到当前回声信号d2(2)。进一步的,可以基于当前远端信号y(2)、当前回声信号d1(2)、d2(2)和当前近端信号z(2),分别得到当前输出信号分别u1(2)和u2(2)。
因为两个第一自适应滤波器均对每一个远端信号进行了滤波,因此在一个具体的实施场景中,待比较滤波器(两个第一自适应滤波器)可以通过判断前一回声信号和和参考信号之间的相关程度,并通过相关程度的情况来判断哪一个滤波器的滤波效果好。参考信号可以是前一近端信号和/或利用所述前一回声信号得到的前一输出信号。当参考信号为前一近端信号时,则是获取前一回声信号和前一近端信号之间的相关程度。当参考信号为利用两个第一自适应滤波器滤波得到的前一回声信号而得到的前一输出信号时,则是获取前一回声信号和前一输出信号之间的相关程度。当参考信号为前一近端信号和前一输出信号时,则是获取前一回声信号和这两个信号之间的相关程度。
在一个具体的实施场景中,当第一设备正在对当前远端信号y(2)进行回声消除的操作时,以步长较大的第一自适应滤波器为例,前一回声信号和前一近端信号之间的相关程度即是d1(1)和z(1)之间的相关程度;前一回声信号和前一输出信号之间的相关程度即是d1(1)和u1(1)之间的相关程度;前一回声信号与二者之间的相关程度即是d1(1)与z(1)和u1(1)二者之间的相关程度。通过利用两个或多个自适应滤波器同时对当前远端信号进行滤波,可以得到两个或多个当前回声信号,以便后续需要利用多个当前回声信号进行选择时,可以直接利用已经得到的当前回声信号,提高效率。而不必在选择自适应滤波器以后,再利用选择的自适应滤波器进行滤波,使得整个过程消耗的时间进一步增加。
步骤S3032:选择相关程度符合预设要求的第一自适应滤波器对当前远端信号进行滤波,得到当前回声信号。
在利用了两个不同步长的第一自适应滤波器针对同一个远端信号进行滤波以后,会得到的两个回声信号和输出信号,可以通过比较获取的当前回声信号与前一近端信号和/或前一输出信号的相关程度与预设要求是否符合,来确定哪一个自适应滤波器的滤波效果会比较好,进而选择效果好的当前回声信号,以提高回声消除的效果。
在一个具体的实施场景中,在针对第一帧的当前远端信号进行滤波时,由于是第一帧,因此其前一远端信号、前一近端信号、前一回声信号、前一输出信号等均不存在,因此所有的有关前一次滤波的信号都可以视为0。在这样的情况下,可以在对第一帧进行滤波的时候,采用大步长的自适应滤波器进行滤波,以达到尽快收敛的效果,进而起到消除回声的目的。需要指出的是,虽然此时直接采用大步长的自适应滤波器进行滤波,但是小步长的自适应滤波器也会对第一帧的当前远端信号进行滤波,只是对应得到的当前回声信号不会实际用于消除回声。
在另一个具体的实施场景中,针对的是第二帧及以后的远端信号进行滤波时,例如是第二帧的远端信号,两个滤波器同样也会同时对当前远端信号y(2)进行滤波,大步长的自适应滤波器产生的当前回声信号为d1(2),小的为d2(2)。并且,第一设备也会对应得到当前近端信号为z(2)。同时,第一设备也可以基于当前远端信号y(2)、当前回声信号d1(2)、d2(2)和当前近端信号z(2),分别得到当前输出信号分别u1(2)和u2(2)。此时可以通过依据上述步骤S3032的方法,通过获取的前一回声信号d1(1)、d2(1)和前一近端信号z(1)和/或前一输出信号u1(1)、u2(1)之间的相关程度是否符合预设要求,来确定哪一个自适应滤波器的滤波效果会比较好,进而选择滤波效果较好的第一自适应滤波器。
因为已经比较过两个不同步长的自适应滤波器的滤波效果,并通过判断是否符合预设要求,得到了滤波效果好的自适应滤波器,因此可以利用符合预设要求的第一自适应滤波器来针对当前远端信号进行实际的回声消除操作,再通过得到的当前回声信号来消除当前近端信号的回声,提高回声消除效果,提高通话质量。
需要指出的是,不管最后选择哪一个第一自适应滤波器,两个第一自适应滤波器都会依据远端信号,得到回声信号以及对应的输出信号。只是最后会选择根据滤波效果好的第一自适应滤波器产生的回声信号对应产生的输出信号发送给第二设备。
参阅图5,图5是本申请回声消除方法第三实施例的第一流程示意图。具体而言,可以包括:
步骤S500:对第一设备的当前远端信号与当前近端信号进行时延对齐。
具体请参阅步骤S100。
步骤S501:利用前一近端信号减去自适应滤波器的前一回声信号所得到的前一输出信号,得到前一系数更新量。
第一自适应滤波器具体得到前一系数更新量的过程请参阅步骤S301。
步骤S502:基于自适应滤波器的步长、前一系数更新量以及自适应滤波器的前一滤波系数,得到自适应滤波器的当前滤波系数。
第一自适应滤波器具体得到当前滤波系数的过程请参阅步骤S302。
步骤S503:以两个第一自适应滤波器作为待比较滤波器,并获取每个待比较滤波器的前一回声信号与参考信号之间的相关程度。
具体请参阅步骤S3031。
步骤S504:检测是否处于双讲状态。
在通话的过程中,第一设备和第二设备的使用者同时说话即为双讲状态。由于通话过程中,并不会限定只能第一设备或者第二设备的其中一端讲话时,另一端不能讲话,因此,通话过程中,出现双讲状态是正常的。例如,当第二设备有人说话,同时第一设备也有人说话时,即为双讲状态。当第一设备和第二设备均无人讲话时,就不存在产生回声的可能,因此第一设备和第二设备均无人讲话的情况不属于本申请所要解决的技术问题的情况之一,本实施例不对其描述。也就是说,本实施例下的状态包括两种,即双讲状态和单讲状态。
在一个实施场景中,可以由第一设备来检测是否处于双讲状态。
步骤S505:若是,则将符合预设要求的第一自适应滤波器和第二自适应滤波器作为待比较滤波器,并获取每个待比较滤波器的前一回声信号与所述参考信号之间的相关程度。
在本实施例中,自适应滤波器还可以包括第一自适应滤波器和第二自适应滤波器。其中,第一自适应滤波器包括两个步长不同的自适应滤波器,其中一个自适应滤波器的步长大于另一个自适应滤波器的步长。另外,第二自适应滤波器的步长小于两个第一自适应滤波器的步长。即第二自适应滤波器的步长是所有滤波器中步长最小的。
在步骤S503中,已经通过判断两个第一自适应滤波器的前一回声信号和参考信号的相关程度是否符合预设要求,对滤波效果进行了比较,基于此操作,可以确定两个第一自适应滤波器中的哪一个自适应滤波器的滤波效果会更好。此时,可以将滤波效果好的第一自适应滤波器和第二自适应滤波器作为待比较滤波器,分别获取每个所述待比较滤波器(即第一自适应滤波器和第二自适应滤波器)的前一回声信号与参考信号之间的相关程度,以此确定哪个自适应滤波器的滤波效果较好。在一个具体实施场景中,经过比较,判断出两个第一自适应滤波器的步长较大的第一自适应滤波器滤波效果更好。基于此判断,可以进一步地将该步长较大的第一自适应滤波器与第二自适应滤波器作为待比较滤波器,并对二者的前一回声信号与参考信号之间的相关程度与预设要求进行比较,以判断出哪个滤波器的滤波效果更好。可以理解的是,当两个第一自适应滤波器的步长较小的第一自适应滤波器滤波效果更好时,即是将该步长较小的第一自适应滤波器与第二自适应滤波器作为待比较滤波器,并对二者的前一回声信号与参考信号之间的相关程度与预设要求进行比较,确定哪一个滤波器符合预设要求,并以此判断出哪个滤波器的滤波效果更好。
步骤S506:选择相关程度符合预设要求的自适应滤波器对当前远端信号进行滤波,得到当前回声信号。
通过步骤S505,根据第一自适应滤波器和第二自适应滤波器的前一回声信号与参考信号之间的相关程度与预设要求比较的结果,可以确定第一自适应滤波器和第二自适应滤波器二者的滤波效果哪一个较好,从而得到滤波效果好的自适应滤波器,滤波效果好的自适应滤波器可以是第一自适应滤波器,也可以是第二自适应滤波器。进而利用滤波效果好的自适应滤波器对当前远端信号进行滤波,利用得到的当前回声信号进行回声消除操作,以提高通话质量。
步骤S507:若否,选择相关程度符合预设要求的第一自适应滤波器对当前远端信号进行滤波,得到当前回声信号。
具体请参阅步骤S3032。
根据上述描述可知,不管是单讲状态还是双讲状态,最后都会相应得到一个滤波效果好的当前回声信号。因此,可以利用该当前回声信号进行下一步的回声消除工作。
请继续参阅图5,步骤S508:将当前近端信号减去当前回声信号,得到当前输出信号。
具体请参阅步骤S102。
步骤S509:将当前输出信号发送至第二设备。
具体请参阅步骤S103。
请参阅图6,图6是本申请回声消除方法第三实施例的第二流程示意图,具体而言,上述步骤S503:并获取每个所述待比较滤波器的前一回声信号与参考信号之间的相关程度,具体的过程可以包括以下步骤:
由于步骤S503是对两个步长大小不同的第一自适应滤波器的滤波效果进行比较,因此两个第一自适应滤波器即为待比较滤波器。其中,以下步骤中,将步长较大的第一自适应滤波器定义为第一待比较滤波器,步长较小的第一自适应滤波器定义为第二待比较滤波器,也即两个待比较滤波器包括步长较大的第一自适应滤波器和步长较小的第一自适应滤波器。当然,在其他实施例中,选择步长较小的第一自适应滤波器作为第一待比较滤波器也是一样的,本实施例不再赘述。
步骤S5031:获取第一待比较滤波器对前一远端信号滤波得到的第一前一回声信号与前一近端信号之间的第三相关系数,以及获取第一前一回声信号与利用第一前一回声信号得到的前一输出信号之间的第四相关系数。
对两个待比较滤波器进行滤波效果的比较,需要获得与待比较滤波器相关的信号计算它们之间的关系,以进行滤波效果的比较。对于两个待比较滤波器而言,可以通过获取第一待比较滤波器对前一远端信号滤波得到的第一前一回声信号,此时的第一前一回声信号即为与第一待比较滤波器对应的前一回声信号,继而根据第一前一回声信号与前一近端信号得到第三相关系数。第一待比较滤波器即为步长较大的第一自适应滤波器。
在一个具体的实施场景中,对于第一待比较滤波器(步长较大的第一自适应滤波器)而言,可以通过获得第一待比较滤波器对前一远端信号y(1)滤波得到的第一前一回声信号d1(1),前一近端信号z(1),然后计算d1(1)与z(1)之间的相关系数,得到第三相关系数α3。继续获取利用第一前一回声信号d1(1)得到的前一输出信号u1(1),继而可以计算出d1(1)与u1(1)之前的相关系数,得到第四相关系数α4。
步骤S5032:获取第二待比较滤波器对前一远端信号滤波得到的第二前一回声信号与前一近端信号之间的第五相关系数,以及获取第二前一回声信号与利用第二前一回声信号得到的前一输出信号之间的第六相关系数。
第二待比较滤波器即为步长较小的第一自适应滤波器。对于第二待比较滤波器(步长较小的第一自适应滤波器)而言,可以通过获得第二待比较滤波器对前一远端信号y(1)滤波得到的第二前一回声信号d2(1),此时的第二前一回声信号即为与第二待比较滤波器对应的前一回声信号,继而根据第二前一回声信号d2(1)和前一近端信号z(1),计算它们之间的相关系数,得到第五相关系数α5。继续获取利用第二前一回声信号d2(1)得到的前一输出信号u2(1),继而可以计算出第二前一回声信号d2(1)和前一输出信号u2(1)的相关系数,得到第六相关系数α6。
步骤S5033:比较第三相关系数和第五相关系数以及比较第四相关系数和第六相关系数;若第三相关系数小于第五相关系数且第四相关系数大于第六相关系数,则确定第二待比较滤波器的相关程度符合预设要求;否则确定所述第一待比较滤波器的相关程度符合预设要求。
在一个具体的实施场景中,第三相关系数即为α3,第五相关系数即为α5,第四相关系数即为α4,第六相关系数即为α6。具体比较两个滤波器的条件具体为:当α3<α5,且α4>α6时,确定第二待比较滤波器的相关程度符合预设要求,即第二待比较滤波器的滤波效果好于第一待比较滤波器。反之,若不满足上述的条件,即确定第一待比较滤波器的相关程度符合预设要求,即第一待比较滤波器的滤波效果好于第二待比较滤波器。
请参阅图7,图7是本申请回声消除方法第三实施例的第三流程示意图,具体而言,上述步骤S504:检测是否处于双讲状态,具体包括以下步骤:
步骤S5041:获取前一远端信号与前一近端信号之间的第一相关系数,以及获取前一近端信号与发送给第二设备的前一输出信号之间的第二相关系数。
在检测是否处于双讲状态时,可以利用相关的音频信号和滤波器系数作为判断条件,以检测是否处于双讲状态。
在本实施例中,以前一远端信号、前一近端信号之间和它们之间的第一相关系数,以及前一近端信号、发送给第二设备的前一输出信号和它们之间的第二相关系数作为判断条件。可以理解的是,也可以利用其它音频信号作为判断条件。
在一个具体实施场景中,需要对当前远端信号y(2)进行滤波操作,此时,需要先判断是否处于双讲状态。此时,可以通过获取前一远端信号y(1),前一近端信号z(1),实际发送给第二设备的前一输出信号u(1),以及计算他们之间的相关系数,来判断双讲状态。
具体可以是获取前一远端信号y(1)和前一近端信号z(1),并计算出它们的第一相关系数α1。获取前一近端信号z(1)和实际发送给第二设备的前一输出信号u(1),并计算出它们的第二相关系数α2。
需要指出的是,当存在两个第一自适应滤波器的情况下的时候,两个第一自适应滤波器都会对远端信号进行滤波处理,并得到回声信号和相应的输出信号。但经过比较后,最后会实际选择滤波效果好的第一自适应滤波器得到的回声信号来进行回声消除工作,并得到的一个实际发送给第二设别的输出信号。例如,步长较大的第一自适应滤波器和步长较小的第一自适应滤波器,都会对远端信号y(1)进行滤波,并得到当前回声信号d1(1)、d2(1)以及对应的输出信号u1(1)、u2(1)。经过比较后,如果d1(1)与参考信号之间的相关程度符合预设要求,即可以判断出步长较大的第一自适应滤波器的滤波效果比步长较小的第一自适应滤波器好,会选择步长较大的第一自适应滤波器来进行实际的回声消除操作,并对应地将得到的当前输出信号u1(1)发送给第二设备,此时的u1(1)即为输出信号u(1)。同理,若是步长较小的第一自适应滤波器得到的d2(1)与参考信号之间的相关程度符合预设要求,即可以判断得到步长较小的第一自适应滤波器滤波效果好,则会将对应产生的u2(1)发送给第二设备,此时的u2(1)即为输出信号u(1)。此时,对于正在对当前远端信号y(2)进行滤波操作而言,输出信号u(1)即为前一输出信号。同理,若是选择了第二自适应滤波器进行滤波,并将最后的到输出信号u3(1)发送给第二设备,此时的u3(1)即为输出信号u(1),输出信号u(1)即为前一输出信号。
步骤S5042:判断第一相关系数是否小于第一阈值,且第二相关系数是否大于第二阈值。
在计算得到第一相关系数和第二相关系数以后,即可以利用该相关系数进行判断是否处于双讲状态。第一设备会预先设置相关阈值,以对相关系数的大小进行判断,当满足预设条件时,即第一相关系数小于第一阈值,且第二相关系数大于第二阈值,即判断为处于双讲状态。若不满足预设条件,则判断处于单讲状态。
在一个实施场景中,第一阈值为0.1,第二阈值为0.9。具体的判断的条件即为,第一相关系数α1<0.1,第二相关系数α2>0.9,当同时满足上述的条件,即判断为处于双讲状态;若不满足上述条件,即判断为处于单讲状态。
当判断为处于双讲状态,则执行上述步骤S505。当判断为处于单讲状态,则执行上述步骤S507。
请参阅图8,图8是本申请回声消除方法第三实施例的第四流程示意图。
在步骤S504中,第一设备检测到处于双讲状态,增加了一个第二自适应滤波器,以进一步增强回声消除效果,提高通话的质量。
在本实施例中,因为是在检测到处于双讲状态,才会使用到第二自适应滤波器,所以在处于单讲状态时,第二自适应滤波器并不会被启用。也就是说,在第二自适应滤波器未被启用的时候,第二自适应滤波器并不会针对远端信号y(n)产生回声信号d3(n),也不会利用回声信号d3(n)得到输出信号u3(n)。因此,当第一设备检测到从单讲状态变为双讲状态时,意味着第二自适应滤波器刚刚被启用,由于之前并未被用于回声消除的操作,所以并未对之前的远端信号进行滤波,也即对于此时的第二自适应滤波器而言,不存在前一回声信号、前一输出信号。
在另外的实施例中,第二自适应滤波器也可以与第一自适应滤波器一样,对每一个远端信号均进行滤波处理。因此,对于第二自适应滤波器而言,其具体计算第三、第四、第五和第六相关系数的方法可以参阅步骤5031-5033。
对于仅在双讲状态下启用第二自适应滤波器的情况下,因为利用第二自适应滤波器进行滤波的时候,需要用到有关第二自适应滤波器的相关数据,而相关数据的缺失会导致回声消除操作无法进行,因此,本实例提出相关的计算方法,以使得第二自适应滤波器可以正常进行滤波操作。具体参见以下步骤:
步骤S5051:获取第一待比较滤波器的前二系数更新量和前二滤波系数。
在本步骤中,是将滤波效果好的第一自适应滤波器与第二自适应滤波器进行滤波效果的比较。且在本实施例中,已将第一待比较滤波器定义为步长较大的滤波器,步长较短的为第二待比较滤波器。因为第二自适应滤波器比两个第一自适应滤波器的步长都小,所以第二自适应滤波器即为第二待比较滤波器,滤波效果好的第一自适应滤波器即为第一待比较滤波器。
在一个具体的实施场景中,在检测到处于双讲状态时,需要对当前远端信号y(n)进行滤波处理,第一设备会首先获取第一待比较滤波器的前二系数更新量Δw(n-2)和前二滤波系数w(n-2)。当第一待比较滤波器为步长较大的第一自适应滤波器时,Δw(n-2)即为Δw1(n-2),w(n-2)即为w1(n-2)。当第一待比较滤波器为步长较小的第一自适应滤波器时,Δw(n-2)即为Δw2(n-2),w(n-2)即为w2(n-2)。
步骤S5052:基于第二待比较滤波器的步长、获取的前二系数更新量和前二滤波系数,获得第二待比较滤波器的前一滤波系数。
在获得利用第二自适应滤波器进行滤波需要用到的相关数据后,即可以进行相关的计算。具体为利用第二待比较滤波器的步长、通过步骤S5051获得的第一待比较滤波器的前二系数更新量和前二滤波系数,得到第二待比较滤波器的前一滤波系数。
在一个具体的实施场景中,当第一待比较滤波器为步长较大的第一自适应滤波器时,第二待比较滤波器的前一滤波系数w3(n-1)具体计算公式为:w3(n-1)=w1(n-2)+μ3*Δw1(n-2)。当第一待比较滤波器为步长较小的第一自适应滤波器时,第二待比较滤波器的前一滤波系数w3(n-1)具体计算公式为:w3(n-1)=w2(n-2)+μ3*Δw2(n-2)。
步骤S5053:将获得的前一滤波系数作为第二待比较滤波器的滤波系数,以对前一远端信号进行滤波,得到第二前一回声信号。
在一个具体的实施场景中,第二前一回声信号可以根据前一远端信号、第二自适应滤波器的前一滤波系数得到回声信号,因为已经将步骤S5052获得的前一滤波系数作为第二待比较滤波器的前一滤波系数,所以第二前一回声信号的计算方法具体可以是:d3(n-1)=y(n-1)*w3(n-1)。
步骤S5054:获取第二前一回声信号与前一近端信号之间的第五相关系数。
在一个具体的实施场景中,可以通过第二前一回声信号和前一近端信号,计算出它们之间的相关系数,进而为后续的回声消除操作提供支持。利用第二前一回声信号和前一近端信号,计算出的相关系数即为第五相关系数α5。当然,第六相关系数α6也可以通过第二前一回声信号和利用第二前一回声信号得到的前一输出信号计算得到。
参阅图9,图9是本申请用于回声消除的电子设备的一实施例的框架示意图。具体而言,电子设备90可以包括处理器91、存储器92、麦克风93、扬声器94、通信电路95以及摄像组件96。
通信电路95用于与其他设备进行音频信号的传输。麦克风93用于接收近端信号。扬声器94用于播放通过通信电路接收到的远端信号。存储器92用于存储执行上述实施例描述的方法的计算机程序。摄像组件96用于收集视频信号。处理器91用于运行存储器存储的计算机程序,以执行上述实施例描述的方法。
参阅图10,图10是本申请存储介质一实施例的框架示意图。计算机可读存储介质101存储有计算机程序100,计算机程序100被处理器执行时可实现上述任一实施例中回声消除方法的步骤。
该计算机可读存储介质101具体可以为U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等可以存储计算机程序100的介质,或者也可以为存储有该计算机程序100的服务器,该服务器可将存储的计算机程序100发送给其他设备运行,或者也可以自运行该存储的计算机程序100。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (13)
1.一种回声消除方法,其特征在于,包括:
对第一设备的当前远端信号与当前近端信号进行时延对齐,其中,所述当前远端信号和当前近端信号为音频信号,且所述当前远端信号来自与所述第一设备通话的第二设备;
自适应滤波器根据当前滤波系数对所述当前远端信号进行滤波,得到当前回声信号,其中,所述自适应滤波器的当前滤波系数由所述自适应滤波器的前一回声信号与前一近端信号之间的差异确定的,所述自适应滤波器包括多个不同步长的自适应滤波器;
将当前近端信号减去所述当前回声信号,得到当前输出信号;
将所述当前输出信号发送至所述第二设备;
其中,所述自适应滤波器根据当前滤波系数对所述当前远端信号进行滤波,得到当前回声信号,包括:
选择符合预设要求的自适应滤波器对所述当前远端信号进行滤波,得到所述当前回声信号。
2.根据权利要求1所述的方法,其特征在于,在所述自适应滤波器根据当前滤波系数对所述当前远端信号进行滤波,得到当前回声信号之前,所述方法还包括:
利用所述前一近端信号减去所述自适应滤波器的前一回声信号所得到的前一输出信号,得到前一系数更新量;
基于所述自适应滤波器的步长、所述前一系数更新量以及所述自适应滤波器的前一滤波系数,得到所述自适应滤波器的当前滤波系数。
3.根据权利要求2所述的方法,其特征在于,所述利用所述前一近端信号减去所述自适应滤波器的前一回声信号所得到的前一输出信号,得到前一系数更新量,包括:
获取利用所述前一近端信号减去所述自适应滤波器的前一回声信号所得到的前一输出信号,并将所述前一输出信号与前一远端信号的积作为前一系数更新量;
所述基于所述自适应滤波器的步长、所述前一系数更新量以及所述自适应滤波器的前一滤波系数,得到所述自适应滤波器的当前滤波系数,包括:
将所述自适应滤波器的步长与所述前一系数更新量的积加上所述自适应滤波器的前一滤波系数,得到所述自适应滤波器的当前滤波系数。
4.根据权利要求2所述的方法,其特征在于,所述自适应滤波器包括两个不同步长的第一自适应滤波器;
所述选择符合预设要求的自适应滤波器对所述当前远端信号进行滤波,得到所述当前回声信号,包括:
以两个所述第一自适应滤波器作为待比较滤波器,并获取每个所述待比较滤波器的前一回声信号与参考信号之间的相关程度,其中,所述参考信号包括前一近端信号和/或利用所述前一回声信号得到的前一输出信号;
选择所述相关程度符合预设要求的第一自适应滤波器对所述当前远端信号进行滤波,得到当前回声信号。
5.根据权利要求4所述的方法,其特征在于,所述自适应滤波器还包括第二自适应滤波器,其中,所述第二自适应滤波器的步长小于两个所述第一自适应滤波器的步长;
所述选择所述相关程度符合预设要求的第一自适应滤波器对所述当前远端信号进行滤波,得到当前回声信号,包括:
检测是否处于双讲状态;
若是,则将所述符合预设要求的第一自适应滤波器和所述第二自适应滤波器作为待比较滤波器,并获取每个所述待比较滤波器的前一回声信号与所述参考信号之间的相关程度;
选择所述相关程度符合预设要求的自适应滤波器对所述当前远端信号进行滤波,得到当前回声信号。
6.根据权利要求5所述的方法,其特征在于,所述检测是否处于双讲状态,包括:
获取前一远端信号与前一近端信号之间的第一相关系数,以及获取所述前一近端信号与发送给所述第二设备的前一输出信号之间的第二相关系数;
判断所述第一相关系数是否小于第一阈值,且所述第二相关系数是否大于第二阈值,若均为是,则确定处于双讲状态。
7.根据权利要求5所述的方法,其特征在于,两个所述待比较滤波器包括步长较大的第一待比较滤波器和步长较小的第二待比较滤波器;
所述获取每个所述待比较滤波器的前一回声信号与所述参考信号之间的相关程度,包括:
获取所述第一待比较滤波器对前一远端信号滤波得到的第一前一回声信号与前一近端信号之间的第三相关系数,以及获取所述第一前一回声信号与利用所述第一前一回声信号得到的前一输出信号之间的第四相关系数;
获取所述第二待比较滤波器对前一远端信号滤波得到的第二前一回声信号与前一近端信号之间的第五相关系数,以及获取所述第二前一回声信号与利用所述第二前一回声信号得到的前一输出信号之间的第六相关系数;
比较所述第三相关系数和第五相关系数以及比较所述第四相关系数和第六相关系数;若所述第三相关系数小于所述第五相关系数且所述第四相关系数大于所述第六相关系数,则确定所述第二待比较滤波器的相关程度符合预设要求;否则确定所述第一待比较滤波器的相关程度符合预设要求。
8.根据权利要求7所述的方法,其特征在于,当所述第二待比较滤波器为第二自适应滤波器时,所述获取所述第二待比较滤波器对前一远端信号滤波得到的第二前一回声信号与前一近端信号之间的第五相关系数,包括:
获取所述第一待比较滤波器的前二系数更新量和前二滤波系数;
基于所述第二待比较滤波器的步长、获取的所述前二系数更新量和前二滤波系数,获得所述第二待比较滤波器的前一滤波系数;
将获得的所述前一滤波系数作为第二待比较滤波器的滤波系数,以对所述前一远端信号进行滤波,得到所述第二前一回声信号;
获取所述第二前一回声信号与所述前一近端信号之间的第五相关系数。
9.根据权利要求1所述的方法,其特征在于,在所述对第一设备的当前远端信号与当前近端信号进行时延对齐之前,所述方法还包括:
获取所述第一设备的扬声器输入的原始远端信号和所述第一设备的麦克风接收到的原始近端信号;
分别对所述原始远端信号和原始近端信号进行预处理,得到所述当前远端信号和当前近端信号。
10.根据权利要求9所述的方法,其特征在于,所述自适应滤波器为频域自适应滤波器;
所述分别对所述原始远端信号和原始近端信号进行预处理,得到所述当前远端信号和当前近端信号,包括:
分别对所述原始远端信号和原始近端信号进行分帧,得到多帧远端信号和多帧近端信号;
对每帧远端信号和每帧近端信号依序进行加窗和傅里叶变换;
依序选择经傅里叶变换后的一帧远端信号作为当前远端信号,且依序选择经傅里叶变换后的一帧近端信号作为当前近端信号。
11.一种电子设备,其特征在于,包括处理器以及分别与处理器耦接的存储器、麦克风、扬声器以及通信电路;
所述通信电路用于与其他设备进行音频信号的传输;
所述麦克风用于接收近端信号;
所述扬声器用于播放通过通信电路接收到的远端信号;
所述处理器用于运行所述存储器存储的计算机程序,以执行权利要求1-10任一项所述的方法。
12.根据权利要求11所述的电子设备,其特征在于,还包括摄像组件。
13.一种存储装置,其特征在于,所述存储装置存储有计算机程序,所述计算机程序被处理器执行时可实现权利要求1-10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911320924.9A CN110992923B (zh) | 2019-12-19 | 2019-12-19 | 回声消除方法、电子设备以及存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911320924.9A CN110992923B (zh) | 2019-12-19 | 2019-12-19 | 回声消除方法、电子设备以及存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110992923A CN110992923A (zh) | 2020-04-10 |
CN110992923B true CN110992923B (zh) | 2022-06-07 |
Family
ID=70065604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911320924.9A Active CN110992923B (zh) | 2019-12-19 | 2019-12-19 | 回声消除方法、电子设备以及存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110992923B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111683184B (zh) * | 2020-05-21 | 2021-09-10 | 浙江大华技术股份有限公司 | 回声信号的处理方法、设备及计算机存储介质 |
CN111933166B (zh) * | 2020-07-31 | 2024-01-26 | 广州视源电子科技股份有限公司 | 回声抑制方法、装置、存储介质和电子设备 |
CN113362844B (zh) * | 2021-07-26 | 2022-05-10 | 西南交通大学 | 一种低复杂度分离去相关自适应声学回声消除方法及装置 |
CN115602184A (zh) * | 2022-09-23 | 2023-01-13 | 北京沃东天骏信息技术有限公司(Cn) | 回声消除方法、装置、电子设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101461257A (zh) * | 2006-05-30 | 2009-06-17 | 微软公司 | 自适应声学回声消除 |
CN102592605A (zh) * | 2003-09-02 | 2012-07-18 | 日本电气株式会社 | 信号处理方法和装置 |
CN106533500A (zh) * | 2016-11-25 | 2017-03-22 | 上海伟世通汽车电子***有限公司 | 一种优化回声消除器收敛特性的方法 |
CN107123430A (zh) * | 2017-04-12 | 2017-09-01 | 广州视源电子科技股份有限公司 | 回声消除方法、装置、会议平板及计算机存储介质 |
CN107134281A (zh) * | 2017-05-04 | 2017-09-05 | 重庆第二师范学院 | 一种自适应回声消除中自适应滤波器系数更新方法 |
CN109451195A (zh) * | 2018-09-18 | 2019-03-08 | 北京佳讯飞鸿电气股份有限公司 | 一种自适应双端检测的回声消除方法及*** |
CN109559756A (zh) * | 2018-10-26 | 2019-04-02 | 北京佳讯飞鸿电气股份有限公司 | 滤波系数确定方法、回声消除方法、相应装置及设备 |
CN109754813A (zh) * | 2019-03-26 | 2019-05-14 | 南京时保联信息科技有限公司 | 基于快速收敛特性的变步长回声消除方法 |
CN109785853A (zh) * | 2019-03-11 | 2019-05-21 | 出门问问信息科技有限公司 | 一种回声消除方法、装置、***及存储介质 |
CN110138990A (zh) * | 2019-05-14 | 2019-08-16 | 浙江工业大学 | 一种消除移动设备VoIP电话回声的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7778408B2 (en) * | 2004-12-30 | 2010-08-17 | Texas Instruments Incorporated | Method and apparatus for acoustic echo cancellation utilizing dual filters |
WO2012046582A1 (ja) * | 2010-10-08 | 2012-04-12 | 日本電気株式会社 | 信号処理装置、信号処理方法、及び信号処理プログラム |
-
2019
- 2019-12-19 CN CN201911320924.9A patent/CN110992923B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102592605A (zh) * | 2003-09-02 | 2012-07-18 | 日本电气株式会社 | 信号处理方法和装置 |
CN101461257A (zh) * | 2006-05-30 | 2009-06-17 | 微软公司 | 自适应声学回声消除 |
CN106533500A (zh) * | 2016-11-25 | 2017-03-22 | 上海伟世通汽车电子***有限公司 | 一种优化回声消除器收敛特性的方法 |
CN107123430A (zh) * | 2017-04-12 | 2017-09-01 | 广州视源电子科技股份有限公司 | 回声消除方法、装置、会议平板及计算机存储介质 |
CN107134281A (zh) * | 2017-05-04 | 2017-09-05 | 重庆第二师范学院 | 一种自适应回声消除中自适应滤波器系数更新方法 |
CN109451195A (zh) * | 2018-09-18 | 2019-03-08 | 北京佳讯飞鸿电气股份有限公司 | 一种自适应双端检测的回声消除方法及*** |
CN109559756A (zh) * | 2018-10-26 | 2019-04-02 | 北京佳讯飞鸿电气股份有限公司 | 滤波系数确定方法、回声消除方法、相应装置及设备 |
CN109785853A (zh) * | 2019-03-11 | 2019-05-21 | 出门问问信息科技有限公司 | 一种回声消除方法、装置、***及存储介质 |
CN109754813A (zh) * | 2019-03-26 | 2019-05-14 | 南京时保联信息科技有限公司 | 基于快速收敛特性的变步长回声消除方法 |
CN110138990A (zh) * | 2019-05-14 | 2019-08-16 | 浙江工业大学 | 一种消除移动设备VoIP电话回声的方法 |
Non-Patent Citations (2)
Title |
---|
"Novel variable step size NLMS algorithms for echo cancellation";MA Iqbal等;《ICASSP 2008》;20081231;全文 * |
"自适应噪声抵消技术中一种变步长的最小均方(LMS)算法研究";高慧 等;《航天医学与医学工程》;20021031;第15卷(第5期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110992923A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110992923B (zh) | 回声消除方法、电子设备以及存储装置 | |
US11297178B2 (en) | Method, apparatus, and computer-readable media utilizing residual echo estimate information to derive secondary echo reduction parameters | |
CN111768796B (zh) | 一种声学回波消除与去混响方法及装置 | |
JP4377952B1 (ja) | 適応フィルタ及びこれを有するエコーキャンセラ | |
CN111031448B (zh) | 回声消除方法、装置、电子设备和存储介质 | |
JP2003234679A (ja) | 音響エコーの相殺および抑制を実行する利得制御方法 | |
CN106657507A (zh) | 一种声学回声消除方法及装置 | |
CN110956975B (zh) | 回声消除方法及装置 | |
CN109559756B (zh) | 滤波系数确定方法、回声消除方法、相应装置及设备 | |
CN111556210B (zh) | 通话语音处理方法与装置、终端设备和存储介质 | |
JP4155774B2 (ja) | エコー抑制システム及び方法 | |
CN109215672B (zh) | 一种声音信息的处理方法、装置及设备 | |
CN106161820B (zh) | 一种用于立体声声学回声抵消的通道间去相关方法 | |
US8582754B2 (en) | Method and system for echo cancellation in presence of streamed audio | |
CN103370741B (zh) | 处理音频信号 | |
CN112489679B (zh) | 声学回声消除算法的评估方法、装置及终端设备 | |
JP2003309493A (ja) | 反響低減方法、反響低減装置、反響低減プログラム | |
CN115620737A (zh) | 语音信号处理装置、方法、电子设备和扩音*** | |
CN112489680B (zh) | 声学回声消除算法的评估方法、装置及终端设备 | |
CN113241084B (zh) | 回声消除的方法、装置及设备 | |
Fukui et al. | Acoustic echo and noise canceller for personal hands-free video IP phone | |
KR102172608B1 (ko) | 동시통화에 강인한 심층학습 기반 음향반향 제거 장치 및 그 방법 | |
KR20220157475A (ko) | 반향 잔류 억제 | |
JP4903843B2 (ja) | 適応フィルタ及びこれを有するエコーキャンセラ | |
JP4964267B2 (ja) | 適応フィルタ及びこれを有するエコーキャンセラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |