CN104219403B - 一种消除回声的方法及装置 - Google Patents
一种消除回声的方法及装置 Download PDFInfo
- Publication number
- CN104219403B CN104219403B CN201310216306.6A CN201310216306A CN104219403B CN 104219403 B CN104219403 B CN 104219403B CN 201310216306 A CN201310216306 A CN 201310216306A CN 104219403 B CN104219403 B CN 104219403B
- Authority
- CN
- China
- Prior art keywords
- voice data
- sound
- queue
- unit
- time
- 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 61
- 238000012545 processing Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000005540 biological transmission Effects 0.000 abstract 1
- 230000000630 rising effect Effects 0.000 description 6
- 241001269238 Data Species 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008030 elimination Effects 0.000 description 4
- 238000003379 elimination reaction Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- 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)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Circuit For Audible Band Transducer (AREA)
- Telephone Function (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种消除回声的方法及装置,属于语音通信技术领域。所述方法包括:获取接收端的声音采集设备生成的当前时间单位的第一声音数据;获取所述当前时间单元之前的一个时间单元所述发送端发送的第二声音数据;根据所述第二声音数据对所述第一声音数据进行回声消除处理得到第三声音数据。本发明通过当前时间单元之前的一个时间单元发送端发送的第二声音数据和接收端的声音采集设备生成的当前时间单位的第一声音数据,进行回声消除处理,将接收端声音采集设备采集并生成的数据和之前一个单位的声音数据在时间上进行对齐,减轻了各种因素造成的时延,提高了回声消除的效率。
Description
技术领域
本发明涉及语音通信技术领域,特别涉及一种消除回声的方法及装置。
背景技术
随着语音通信技术的发展,通过互联网进行语音通话已越来越普及。通信双方在进行语音通信时,发送端的声音通过网络发送到接收端后通过声音播放设备播放出来,此时声音还会通过空气传播至接收端的声音采集设备,并且和接收端产生的声音一起返回给发送端,返回后发送端会听到自己的声音,这个声音就是在语音通信中产生的回声。因此为了提高语音通信的质量,需要进行消除回声的处理。
现有技术中对于消除回声的处理方法为:在当前时间接收端接收到发送端发送的声音数据1,将其复制一份,以及通过声音播放设备对其进行播放得到的声音A1。在当前时间接收端的声音采集设备采集声音,采集的声音包括用户说话的声音B和声音播放设备播放的声音A2,根据采集的声音生成声音数据2,通过当前时间复制的声音数据1对当前时间生成的声音数据2进行回声消除处理得到声音数据3。其中,需要说明的是:由于声音播放设备播放的声音在空气中传播至声音采集设备时会有延迟,以及播放设备和采集设备等延时因素的影响,会导致声音采集设备采集到的声音中包括的声音A2是声音播放设备在当前时间之前播放的声音,即声音A2是声音播放设备在播放声音A1之前播放的声音。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于声音A2是声音播放设备在播放声音A1之前播放的声音,所以通过当前时间复制的一份声音数据1对当前时间生成的声音数据2进行回声消除处理得到的声音数据3中可能仍包括回音,降低回声消除率。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种消除回声的方法及装置。所述技术方案如下:
一方面,提供了一种消除回声的方法,所述方法包括:
获取接收端的声音采集设备生成的当前时间单位的第一声音数据,所述第一声音数据为所述声音采集设备根据采集到的第一声音和所述接收端的声音播放设备播放的第二声音生成的声音数据,所述第二声音是所述接收端的声音播放设备根据发送端在所述当前时间单元之前发送的声音数据进行播放得到的声音;
获取所述当前时间单元之前的一个时间单元所述发送端发送的第二声音数据;
根据所述第二声音数据对所述第一声音数据进行回声消除处理得到第三声音数据。
另一方面,提供了一种消除回声的装置,所述装置包括:
第一获取模块,用于获取接收端的声音采集设备生成的当前时间单位的第一声音数据,所述第一声音数据为所述声音采集设备根据采集到的第一声音和所述接收端的声音播放设备播放的第二声音生成的声音数据,所述第二声音是所述接收端的声音播放设备根据发送端在所述当前时间单元之前发送的声音数据进行播放得到的声音;
第二获取模块,用于获取所述当前时间单元之前的一个时间单元所述发送端发送的第二声音数据;
回声消除模块,用于根据所述第二声音数据对所述第一声音数据进行回声消除处理得到第三声音数据。
本发明实施例提供的技术方案带来的有益效果是:
通过当前时间单元之前的一个时间单元发送端发送的第二声音数据和接收端的声音采集设备生成的当前时间单位的第一声音数据,进行回声消除处理,将接收端声音采集设备采集并生成的数据和之前一个单位的声音数据在时间上进行对齐,减轻了各种因素造成的时延,提高了回声消除的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的消除回声的方法流程图;
图2是本发明实施例一提供的消除回声的实施环境的结构示意图;
图3是本发明实施例二提供的消除回声的方法中创建同步队列的方法的流程图;
图4是本发明实施例二提供的消除回声的方法流程图;
图5是本发明实施例三提供的消除回声的装置结构示意图;
图6是本发明实施例四提供的消除回声的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种消除回声的方法,参见图1,方法流程包括:
101:获取接收端的声音采集设备生成的当前时间单位的第一声音数据,所述第一声音数据为所述声音采集设备根据采集到的第一声音和所述接收端的声音播放设备播放的第二声音生成的声音数据,所述第二声音是所述接收端的声音播放设备根据发送端在所述当前时间单元之前发送的声音数据进行播放得到的声音;
102:获取所述当前时间单元之前的一个时间单元所述发送端发送的第二声音数据;
103:根据所述第二声音数据对所述第一声音数据进行回声消除处理得到第三声音数据。
其中,请参考图2,其示出了本发明实施例所涉及的实施环境的结构示意图,该实施环境包括发送端201、接收端202。其中,接收端202包括声音播放设备2021,声音采集设备2022以及回声消除模块2023。
其中回声则是通过声音播放设备2021传至声音采集设备2022而产生的,回声消除模块2023用于消除该产生的回声。
本发明实施例通过当前时间单元之前的一个时间单元发送端发送的第二声音数据和接收端的声音采集设备生成的当前时间单位的第一声音数据,进行回声消除处理,将接收端声音采集设备采集并生成的数据和之前一个单位的声音数据在时间上进行对齐,减轻了各种因素造成的时延,提高了回声消除的效率。
实施例二
本发明实施例提供了一种消除回声的方法,参见图3,方法流程包括:
301:创建同步队列。
具体的,采集队列中获取到的声音数据包含用户产生的声音数据以及前一时段播放队列中播放的并经过空气传播至声音采集设备后采集到的远端声音数据,这两方面的声音数据组成了采集队列中的近端声音数据。由于通过空气传播经过该段时间造成时间延迟,此时采集队列中收录的近端声音数据和自适应滤波器中获取到的播放队列播放的远端声音数据并不是同步的,即并不是属于同一时间点收录和播放的。因此创建同步队列是将播放队列进行缓存,等待经过该段延迟时间,再将采集队列中的声音数据和同步队列中缓存的声音数据进行回声消除算法计算,以消除采集队列中收录到的回声。
302:获取所述发送端发送的声音数据,以及所述声音采集设备生成的声音数据。
其中,同步队列在创建并初始化时,需要获取当前的播放队列中的声音数据,即发送端发送的声音数据,以及当前的采集队列中的声音数据即声音采集设备采集并生成的声音数据。
其中,声音采集设备为接收端的声音采集设备。
303:将所述声音采集设备生成的声音数据从所述同步队列的队尾入队,再将所述发送端发送的声音数据从所述同步队列的队尾入队。
当同步队列在初始化后,由此时获取到的采集队列中的声音数据以及此时获取到的播放队列中的声音数据构成,此时同步队列中的长度即为整个延迟对应的时间长度。
从此开始,则根据同步队列和采集队列这两个队列中的声音数据,进行回声消除算法。此时,开始进行回声消除算法的过程,先从采集队列和同步队列的头部分别获取相同长度的声音数据,例如分别获取20毫秒的声音数据,由于同步队列中的头部,目前是由当前的采集队列中获取的,因此此时获取的20毫秒的数据与采集队列中获取的20毫秒的数据相同,在回声消除算法中无法消除这段声音数据中的回声。同理,对于同步队列中头部的这一整段的采集队列中的声音数据都是无法消除回声的,优选的方式可以为将采集队列中的声音数据和同步队列中头部与采集队列中的声音数据相同长度的声音数据进行丢弃处理,并不对其进行回声消除算法的流程;另一个方式则按正常的流程开始对采集队列中的声音数据以及同步队列中的声音数据进行回声消除算法的计算,并将计算后的声音数据发送给对方,虽然无法消除回声,但是这一周期内的采集队列中的声音数据的数据量并不大,可以忽略不计。
从下一个周期再进行回声消除算法的流程时,获取下一个周期中播放队列中的声音数据,并将其加入到同步队列中的尾部。并且获取下一个周期中的采集队列中的声音数据,此时对应同步队列中的头部则为上一个周期获取的播放队列中的声音数据,这两段数据则可以认为是采集队列中的回声是该上一个周期获取的播放队列中的声音数据,即将采集队列中的近端声音数据和播放队列中的远端声音数据进行对齐,通过将这两段声音数据进行回声消除算法,即可以根据在时间上对齐的两段数据,将采集队列中的回声尽可能的消除。
例如:在创建同步队列时,采集队列中的声音数据包括:前一个时间单位由声音播放设备播放的声音A0,以及当前一个时间单位中用户B说话的声音B1,因此此时采集队列的声音数据的内容为B1+A0。播放队列中的声音数据包括:当前一个时间单位中获取到的声音A1,因此此时播放队列的声音数据的内容为A1。此时将采集队列中的声音数据和播放队列中的声音数据入队到同步队列后,同步队列的声音数据的结构为B1+A0+A1。此时,在采集队列和同步队列分别获取预设时间长度20毫秒的声音数据,进行回声消除算法的计算。由于此时同步队列的头部的声音数据和采集队列中的声音数据相同,那么此时采集队列中的回声是无法消除的,周期性的从采集队列和同步队列中提取声音数据进行回声消除算法,直至当前一个时间单位中的采集队列被处理完时,都无法消除其中的回声。进入到下一个时间单位时,采集队列中的声音数据的内容为B2+A1,其中A1为前一个时间单位声音播放设备播放的声音,通过空气传播至声音采集设备采集得到,播放队列中的声音数据的内容为A2。此时从采集队列和同步队列的头部分别获取预设时间长度20毫秒的声音数据,进行回声消除算法的计算,采集队列中的声音数据的内容为20毫秒的B2+A1,同步队列中由于上一个阶段已经将B1+A0出队,此时的同步队列中的提取的内容为20毫秒的A1。因此此时即可通过回声消除算法在B2+A1将A1去除。
本发明实施例中提供了一种根据创建的同步队列进行回声消除的过程,方法流程如图4所示,方法流程包括:
401:获取接收端的声音采集设备生成的当前时间单位的第一声音数据,所述第一声音数据为所述声音采集设备根据采集到的第一声音和所述接收端的声音播放设备播放的第二声音生成的声音数据,所述第二声音是所述接收端的声音播放设备根据发送端在所述当前时间单元之前发送的声音数据进行播放得到的声音。
其中,获取接收端的声音采集设备生成的当前时间单位的第一声音数据的具体过程为:
从采集队列的队头出队一个时间单位的声音数据,将所述出队的一个时间单位的声音数据作为当前时间单位的第一声音数据;
其中,所述采集队列用于存储在当前时间单位内所述声音采集设备根据用户说话的第一声音和所述接收端的声音播放设备播放的第二声音生成的声音数据。
402:获取所述当前时间单元之前的一个时间单元所述发送端发送的第二声音数据。
其中,获取所述当前时间单元之前的一个时间单元所述发送端发送的第二声音数据的具体过程为:
从同步队列的队头出队一个时间单位的声音数据,将所述出队的一个时间单位的声音数据作为所述当前时间单元之前的一个时间单元所述发送端发送的第二声音数据;
其中,所述同步队列用于存储发送端在连续的多个时间单位内发送的声音数据且离同步队列的队尾最近的一个时间单位的同步数据为发送端在当前时间单位内发送的声音数据。
403:根据所述第二声音数据对所述第一声音数据进行回声消除处理得到第三声音数据。
其中,根据所述第二声音数据对所述第一声音数据进行回声消除处理得到第三声音数据的具体过程为:
根据所述第二声音数据,并通过回声消除算法对所述第一声音数据进行回声消除处理得到第三声音数据。
其中,回声消除算法的具体操作步骤是在回声消除模块中进行的。
404:将当前所述发送端发送一个时间单位的声音数据从所述同步队列的队尾入队。
在每个时间单位都需要将播放队列中的该时间单位中获取到的声音数据入队到同步队列的尾部。
405:如果所述当前时间单位的残余回声系数大于预设阈值,等待在下一个时间单位获取接收端的声音采集设备生成的下一个时间单位的第四声音数据,并从远端音频帧相似度对齐计算循环队列中获取与所述第四声音数据之间的相似度最大的一个时间单位的声音数据,将所述获取一个时间单位的声音数据在所述远端音频帧相似度对齐计算循环队列中的位置作为所述回声消除算法的远端输入位置。
由于时钟偏移或者初次误差导致远端声音数据和近端声音数据的时延过大,远超过了同步队列的同步能力,因此需要调整回声消除模块中的远端音频帧相似度对齐计算循环队列中的查询起始位置。对于调整远端音频帧相似度对齐计算循环队列中的远端输入的位置的过程,可以为:
(1)计算所述第一声音数据和所述第二声音数据之间的第一互相关系数,以及计算所述第一声音数据和所述第三声音数据之间的第二互相关系数。
具体的,首先对回声消除算法输出的数据和采集队列中获取的数据进行互相关计算,确定近端声音数据中是否存在近端讲话或其他近端声音输入。
先计算第一声音数据和第二声音数据之间的第一互相关系数Rxd,再计算第一声音数据和第三声音数据之间的第二互相关系数Rde。
(2)根据所述第一声音数据,计算所述第一声音数据的第一信号能量iEnergy,以及根据所述第三声音数据,计算所述第三声音数据的第二信号能量oEnergy。
通过预设算法分别计算第一声音数据和第三声音数据的信号能量。
(3)根据所述第一互相关系数和所述第二互相关系数,判断所述第一声音数据中是否存在近端讲话或其他近端声音输入,以及判断所述第一声音数据中是否存在回声。
对于判断第一声音数据中是否存在近端讲话或其他近端声音输入和判断第一声音数据中是否存在回声的过程具体为:
其中,如果所述第一互相关系数小于第二预设阈值,且所述第二互相关系数大于第三预设阈值时,则确定所述第一声音数据中存在近端讲话或其他近端声音输入;否则确定所述第一声音数据中不存在近端讲话或其他近端声音输入。
具体的,对于如果第二预设阈值和第三预设阈值距离进行说明:当Rde>0.98f并且Rxd<0.1f时,表示第一声音数据中近端有人讲话或其他近端声音输入。其中第一声音数据中存在近端讲话或其他近端声音输入可以表示为:NearTalk=1,如不存在近端讲话或其他近端声音输入可以表示为NearTalk=0。
其中,如果所述第一互相关系数为零,则确定所述第一声音数据不存在回声;如果所述第一互相关系数不为零,且所述第一声音数据中存在近端讲话或其他近端声音输入,则确定所述第一声音数据不存在回声;如果所述第一互相关系数不为零,且所述第一声音数据中不存在近端的声音,则确定所述第一声音数据存在回声。
其中,第一声音数据中存在回声则表示为Echo=1;第一声音数据中不存在回声则表示为Echo=0。
具体的判断过程可以为:
当Rxd为0,即第一声音数据和第二声音数据之间完全无关时,则表示第一声音数据中不存在回声;当Rxd不为0,且NearTalk为1时,则表示第一声音数据中不存在回声;当Rxd不为0,且NearTalk不为1时,则表示第一声音数据中存在回声。
(4)获取上一周期计算的残余回声系数,并根据所述第一信号能量iEnergy,所述第二信号能量oEnergy,所述第一声音数据中存在近端的声音的情况,所述第二声音数据中存在回声的情况以及所述残余回声系数,计算当前周期的残余回声系数。
其中,残余回声系数通过EchoWorse表示,代表周期性记录的根据预设算法计算得到的残余回声的累积值,并通过该残余回声系数最终确定是否进入二次同步的流程。
因此,计算EchoWorse的过程可以具体为:
当NearTalk为0,且Echo为1,且oEnergy<0.1*iEnergy,且EchoWorse>10时,将EchoWorse进行以下处理:EchoWorse=EchoWorse-2;
当NearTalk为0,且Echo为1,且oEnergy<0.5*iEnergy时,将EchoWorse进行以下处理:EchoWorse++;
当NearTalk为0,且Echo为1,且oEnergy>0.1*iEnergy时,将EchoWorse进行以下处理:EchoWorse=EchoWorse+2;
当NearTalk为0,且Echo不为1,且oEnergy>iEnergy时,将EchoWorse进行以下处理:EchoWorse++;
当NearTalk为0,且Echo为0,且oEnergy<0.1*iEnergy,且EchoWorse>2时,将EchoWorse进行以下处理:EchoWorse--;
当NearTalk为0,且Echo为0,oEnergy>0.85*iEnergy,将EchoWorse进行以下处理:EchoWorse=EchoWorse+2。
具体为:
具体的,通过第一声音数据中是否存在近端讲话的声音、第一声音数据是否存在回声,以及第一信号能量和第二信号能量确定EchoWorse的计算方式。
(5)如果所述当前时间单位的残余回声系数大于预设阈值,等待在下一个时间单位获取接收端的声音采集设备生成的下一个时间单位的第四声音数据;
在远端音频帧相似度对齐计算循环队列中从队列头部开始,依次选取预设时间长度的声音数据,分别与所述第四声音数据进行互相关性计算得到互相关系数,在计算得到的所有的互相关系数中选取最大互相关系数对应的声音数据,并将该声音数据所对应的数据位置在所述远端音频帧相似度对齐计算循环队列中的位置作为所述回声消除算法的远端输入位置。
当前计算EchoWorse完毕后,对EchoWorse值与预设的回声阈值进行对比,假设预设的回声阈值为50,如果EchoWorse值大于该值则触发二次同步的流程,以修改回音消除模块中远端音频帧相似度对齐计算循环队列中数据的输入位置。
其中,远端音频帧相似度对齐计算循环队列为回音消除算法模块中的一个缓存队列,用于保存从同步队列中提取的数据,例如在获取同步队列中的20毫秒的数据时,将该20毫秒的数据入队远端音频帧相似度对齐计算循环队列中,此时该队列保存有1秒钟的同步队列中的数据。
本发明实施例通过当前时间单元之前的一个时间单元发送端发送的第二声音数据和接收端的声音采集设备生成的当前时间单位的第一声音数据,进行回声消除处理,将接收端声音采集设备采集并生成的数据和之前一个单位的声音数据在时间上进行对齐,减轻了各种因素造成的时延,提高了回声消除的效率。
实施例三
本发明实施例提供了一种消除回声的装置,参见图5,该装置包括:
第一获取模块501,用于获取接收端的声音采集设备生成的当前时间单位的第一声音数据,所述第一声音数据为所述声音采集设备根据采集到的第一声音和所述接收端的声音播放设备播放的第二声音生成的声音数据,所述第二声音是所述接收端的声音播放设备根据发送端在所述当前时间单元之前发送的声音数据进行播放得到的声音;
第二获取模块502,用于获取所述当前时间单元之前的一个时间单元所述发送端发送的第二声音数据;
回声消除模块503,用于根据所述第二声音数据对所述第一声音数据进行回声消除处理得到第三声音数据。
本发明实施例通过当前时间单元之前的一个时间单元发送端发送的第二声音数据和接收端的声音采集设备生成的当前时间单位的第一声音数据,进行回声消除处理,将接收端声音采集设备采集并生成的数据和之前一个单位的声音数据在时间上进行对齐,减轻了各种因素造成的时延,提高了回声消除的效率。
实施例四
本发明实施例提供了一种消除回声的装置,参见图6,该装置包括:
第一获取模块601,用于获取接收端的声音采集设备生成的当前时间单位的第一声音数据,所述第一声音数据为所述声音采集设备根据采集到的第一声音和所述接收端的声音播放设备播放的第二声音生成的声音数据,所述第二声音是所述接收端的声音播放设备根据发送端在所述当前时间单元之前发送的声音数据进行播放得到的声音;
第二获取模块602,用于获取所述当前时间单元之前的一个时间单元所述发送端发送的第二声音数据;
回声消除模块603,用于根据所述第二声音数据对所述第一声音数据进行回声消除处理得到第三声音数据。
在具体是实施方式中,所述第一获取模块601具体用于:
从采集队列的队头出队一个时间单位的声音数据,将所述出队的一个时间单位的声音数据作为当前时间单位的第一声音数据;
其中,所述采集队列用于存储在当前时间单位内所述声音采集设备根据用户说话的第一声音和所述接收端的声音播放设备播放的第二声音生成的声音数据。
其中,所述第二获取模块602具体用于:
从同步队列的队头出队一个时间单位的声音数据,将所述出队的一个时间单位的声音数据作为所述当前时间单元之前的一个时间单元所述发送端发送的第二声音数据;
其中,所述同步队列用于存储发送端在连续的多个时间单位内发送的声音数据且离同步队列的队尾最近的一个时间单位的同步数据为发送端在当前时间单位内发送的声音数据。
其中,所述装置还包括:
创建模块603,用于创建同步队列;
第三获取模块604,用于获取所述发送端发送的声音数据,以及所述声音采集设备生成的声音数据;
第一入队模块605,用于将所述声音采集设备生成的声音数据从所述同步队列的队尾入队,再将所述发送端发送的声音数据从所述同步队列的队尾入队。
其中,所述回声消除模块603具体用于:
根据所述第二声音数据,并通过回声消除算法对所述第一声音数据进行回声消除处理得到第三声音数据;
相应的,所述装置还包括:包括:
处理模块606,用于如果所述当前时间单位的残余回声系数大于预设阈值,等待在下一个时间单位获取接收端的声音采集设备生成的下一个时间单位的第四声音数据,并从远端音频帧相似度对齐计算循环队列中获取与所述第四声音数据之间的相似度最大的一个时间单位的声音数据,将所述获取一个时间单位的声音数据在所述远端音频帧相似度对齐计算循环队列中的位置作为所述回声消除算法的远端输入位置。
其中,所述装置还包括:
第二入队模块607,用于将当前所述发送端发送一个时间单位的声音数据从所述同步队列的队尾入队。
本发明实施例通过当前时间单元之前的一个时间单元发送端发送的第二声音数据和接收端的声音采集设备生成的当前时间单位的第一声音数据,进行回声消除处理,将接收端声音采集设备采集并生成的数据和之前一个单位的声音数据在时间上进行对齐,减轻了各种因素造成的时延,提高了回声消除的效率。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种消除回声的方法,其特征在于,所述方法包括:
创建同步队列;
获取发送端发送的声音数据,以及接收端的声音采集设备生成的声音数据;
将所述声音采集设备生成的声音数据从所述同步队列的队尾入队,再将所述发送端发送的声音数据从所述同步队列的队尾入队;
获取接收端的声音采集设备生成的当前时间单位的第一声音数据,所述第一声音数据为所述声音采集设备根据采集到的第一声音和所述接收端的声音播放设备播放的第二声音生成的声音数据,所述第二声音是所述接收端的声音播放设备根据发送端在所述当前时间单元之前发送的声音数据进行播放得到的声音;
从同步队列的队头出队一个时间单位的声音数据,将所述出队的一个时间单位的声音数据作为所述当前时间单元之前的一个时间单元所述发送端发送的第二声音数据;其中,所述同步队列用于存储发送端在连续的多个时间单位内发送的声音数据且离同步队列的队尾最近的一个时间单位的同步数据为发送端在当前时间单位内发送的声音数据;
根据所述第二声音数据对所述第一声音数据进行回声消除处理得到第三声音数据。
2.根据权利要求1所述的方法,其特征在于,
所述获取接收端的声音采集设备生成的当前时间单位的第一声音数据,包括:
从采集队列的队头出队一个时间单位的声音数据,将所述出队的一个时间单位的声音数据作为当前时间单位的第一声音数据;
其中,所述采集队列用于存储在当前时间单位内所述声音采集设备根据用户说话的第一声音和所述接收端的声音播放设备播放的第二声音生成的声音数据。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第二声音数据 对所述第一声音数据进行回声消除处理得到第三声音数据,包括:
根据所述第二声音数据,并通过回声消除算法对所述第一声音数据进行回声消除处理得到第三声音数据;
根据所述第二声音数据对所述第一声音数据进行回声消除处理得到第三声音数据之后,还包括:
如果所述当前时间单位的残余回声系数大于预设阈值,等待在下一个时间单位获取接收端的声音采集设备生成的下一个时间单位的第四声音数据,并从远端音频帧相似度对齐计算循环队列中获取与所述第四声音数据之间的相似度最大的一个时间单位的声音数据,将所述获取一个时间单位的声音数据在所述远端音频帧相似度对齐计算循环队列中的位置作为所述回声消除算法的远端输入位置。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第二声音数据对所述第一声音数据进行回声消除处理得到第三声音数据之后,所述方法还包括:
将当前所述发送端发送的一个时间单位的声音数据从所述同步队列的队尾入队。
5.一种消除回声的装置,其特征在于,所述装置包括:
创建模块,用于创建同步队列;
第三获取模块,用于获取发送端发送的声音数据,以及接收端的声音采集设备生成的声音数据;
第一入队模块,用于将所述声音采集设备生成的声音数据从所述同步队列的队尾入队,再将所述发送端发送的声音数据从所述同步队列的队尾入队;
第一获取模块,用于获取接收端的声音采集设备生成的当前时间单位的第一声音数据,所述第一声音数据为所述声音采集设备根据采集到的第一声音和所述接收端的声音播放设备播放的第二声音生成的声音数据,所述第二声音是所述接收端的声音播放设备根据发送端在所述当前时间单元之前发送的声音数据进行播放得到的声音;
第二获取模块,用于从同步队列的队头出队一个时间单位的声音数据,将 所述出队的一个时间单位的声音数据作为所述当前时间单元之前的一个时间单元所述发送端发送的第二声音数据;其中,所述同步队列用于存储发送端在连续的多个时间单位内发送的声音数据且离同步队列的队尾最近的一个时间单位的同步数据为发送端在当前时间单位内发送的声音数据;
回声消除模块,用于根据所述第二声音数据对所述第一声音数据进行回声消除处理得到第三声音数据。
6.根据权利要求5所述的装置,其特征在于,所述第一获取模块具体用于:
从采集队列的队头出队一个时间单位的声音数据,将所述出队的一个时间单位的声音数据作为当前时间单位的第一声音数据;
其中,所述采集队列用于存储在当前时间单位内所述声音采集设备根据用户说话的第一声音和所述接收端的声音播放设备播放的第二声音生成的声音数据。
7.根据权利要求5所述的装置,其特征在于,所述回声消除模块具体用于:
根据所述第二声音数据,并通过回声消除算法对所述第一声音数据进行回声消除处理得到第三声音数据;
相应的,所述装置还包括:
处理模块,用于如果所述当前时间单位的残余回声系数大于预设阈值,等待在下一个时间单位获取接收端的声音采集设备生成的下一个时间单位的第四声音数据,并从远端音频帧相似度对齐计算循环队列中获取与所述第四声音数据之间的相似度最大的一个时间单位的声音数据,将所述获取一个时间单位的声音数据在所述远端音频帧相似度对齐计算循环队列中的位置作为所述回声消除算法的远端输入位置。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第二入队模块,用于将当前所述发送端发送的一个时间单位的声音数据从所述同步队列的队尾入队。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310216306.6A CN104219403B (zh) | 2013-06-03 | 2013-06-03 | 一种消除回声的方法及装置 |
PCT/CN2013/088182 WO2014194615A1 (en) | 2013-06-03 | 2013-11-29 | Systems and methods for echo reduction |
US14/184,877 US9414162B2 (en) | 2013-06-03 | 2014-02-20 | Systems and methods for echo reduction |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310216306.6A CN104219403B (zh) | 2013-06-03 | 2013-06-03 | 一种消除回声的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104219403A CN104219403A (zh) | 2014-12-17 |
CN104219403B true CN104219403B (zh) | 2016-09-21 |
Family
ID=52007477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310216306.6A Active CN104219403B (zh) | 2013-06-03 | 2013-06-03 | 一种消除回声的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104219403B (zh) |
WO (1) | WO2014194615A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104902116B (zh) * | 2015-03-27 | 2018-05-25 | 腾讯科技(深圳)有限公司 | 一种音频数据与参考信号的时间对齐方法及装置 |
CN106303119A (zh) * | 2016-09-26 | 2017-01-04 | 维沃移动通信有限公司 | 一种通话过程中的回声消除方法和移动终端 |
CN107331406B (zh) * | 2017-07-03 | 2020-06-16 | 福建星网智慧软件有限公司 | 一种动态调整回声延时的方法 |
CN107966910B (zh) * | 2017-11-30 | 2021-08-03 | 深圳Tcl新技术有限公司 | 语音处理方法、智能音箱及可读存储介质 |
CN108234793B (zh) * | 2017-12-29 | 2021-11-30 | 北京视觉世界科技有限公司 | 一种通讯方法、装置、电子设备和存储介质 |
CN108847228A (zh) * | 2018-05-17 | 2018-11-20 | 东莞市华睿电子科技有限公司 | 一种基于双人发声的空间机器人控制方法 |
CN111145769A (zh) * | 2018-11-02 | 2020-05-12 | 北京微播视界科技有限公司 | 音频处理方法和装置 |
CN109979479B (zh) * | 2019-04-15 | 2021-11-23 | 苏州麦迪斯顿医疗科技股份有限公司 | 一种回音消除方法、装置、设备及存储介质 |
CN110262769A (zh) * | 2019-06-27 | 2019-09-20 | 联想(北京)有限公司 | 一种数据传输方法以及电子设备 |
CN112583970A (zh) * | 2020-12-04 | 2021-03-30 | 斑马网络技术有限公司 | 一种车载蓝牙回声消除方法及装置、车载终端、存储介质 |
CN112637743A (zh) * | 2020-12-16 | 2021-04-09 | 努比亚技术有限公司 | 一种投屏信号处理方法、终端及计算机可读存储介质 |
CN112820308B (zh) * | 2020-12-30 | 2023-10-20 | 北京佳讯飞鸿电气股份有限公司 | 回声消除方法、装置、设备和介质 |
CN113223538B (zh) * | 2021-04-01 | 2022-05-03 | 北京百度网讯科技有限公司 | 语音唤醒方法、装置、系统、设备和存储介质 |
CN113259385B (zh) * | 2021-06-18 | 2021-09-17 | 北京拓课网络科技有限公司 | 一种音频播放的回音消除方法、装置及电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1717720A (zh) * | 2003-09-05 | 2006-01-04 | 松下电器产业株式会社 | 声处理系统、声处理装置、声处理方法、声处理程序及存储媒体 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7333447B2 (en) * | 2002-12-23 | 2008-02-19 | Broadcom Corporation | Packet voice system with far-end echo cancellation |
CN100492494C (zh) * | 2005-12-08 | 2009-05-27 | 华为技术有限公司 | 一种对分组语音进行回声抑制的系统和方法 |
WO2009070073A1 (en) * | 2007-11-29 | 2009-06-04 | Telefonaktiebolaget Lm Ericssom (Publ) | A method and arrangement for echo cancellation of voice signals |
US8625776B2 (en) * | 2009-09-23 | 2014-01-07 | Polycom, Inc. | Detection and suppression of returned audio at near-end |
-
2013
- 2013-06-03 CN CN201310216306.6A patent/CN104219403B/zh active Active
- 2013-11-29 WO PCT/CN2013/088182 patent/WO2014194615A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1717720A (zh) * | 2003-09-05 | 2006-01-04 | 松下电器产业株式会社 | 声处理系统、声处理装置、声处理方法、声处理程序及存储媒体 |
Also Published As
Publication number | Publication date |
---|---|
WO2014194615A1 (en) | 2014-12-11 |
CN104219403A (zh) | 2014-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104219403B (zh) | 一种消除回声的方法及装置 | |
CN102568494B (zh) | 消除回声的优化方法、装置及系统 | |
CN101562669B (zh) | 自适应全双工全频段回声消除的方法 | |
CN106657507A (zh) | 一种声学回声消除方法及装置 | |
CN107123430A (zh) | 回声消除方法、装置、会议平板及计算机存储介质 | |
CN103312913B (zh) | 一种消除回声的系统及方法 | |
CN103391381A (zh) | 回声消除方法及装置 | |
CN103534942B (zh) | 处理音频信号 | |
CN109461449A (zh) | 用于智能设备的语音唤醒方法及系统 | |
WO2012046256A2 (en) | Audio acoustic echo cancellation for video conferencing | |
CN104394286A (zh) | 一种回声消除方法及装置 | |
CN107592430A (zh) | 一种回声消除的方法及终端设备 | |
CN110992923B (zh) | 回声消除方法、电子设备以及存储装置 | |
CN112151051B (zh) | 音频数据的处理方法和装置及存储介质 | |
CN109087662A (zh) | 一种回声消除方法及装置 | |
CN106448695A (zh) | 一种双端通话鲁棒的变阶变步长仿射投影方法 | |
CN111372121A (zh) | 一种回声消除方法、装置、存储介质及处理器 | |
CN109727605A (zh) | 处理声音信号的方法及系统 | |
CN109981482A (zh) | 音频处理方法及装置 | |
CN107071197A (zh) | 一种基于全相位多延迟分块频域的回音消除方法及系统 | |
CN109379501A (zh) | 一种用于回声消除的滤波方法及装置、设备、介质 | |
CN106775551A (zh) | 音频播放方法和系统 | |
US10937409B2 (en) | Predictive acoustic echo cancellation | |
CN110268726A (zh) | 新式智能助听器 | |
CN108010524A (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 |