CN104822001B - 回声消除数据同步控制方法和装置 - Google Patents
回声消除数据同步控制方法和装置 Download PDFInfo
- Publication number
- CN104822001B CN104822001B CN201510197994.5A CN201510197994A CN104822001B CN 104822001 B CN104822001 B CN 104822001B CN 201510197994 A CN201510197994 A CN 201510197994A CN 104822001 B CN104822001 B CN 104822001B
- Authority
- CN
- China
- Prior art keywords
- value
- delay
- delay value
- audio buffer
- length
- 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
- 239000000872 buffer Substances 0.000 claims abstract description 195
- 238000012545 processing Methods 0.000 claims description 67
- 238000012790 confirmation Methods 0.000 claims description 32
- 230000008569 process Effects 0.000 abstract description 25
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 7
- 230000001364 causal effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- 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
- H04M9/082—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
- Telephone Function (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
本发明涉及一种回声消除数据同步控制方法和装置,所述方法包括:估计声卡延时值;等待参考音频缓冲区队列长度减去近端音频缓冲区队列长度的差值大于或等于声卡延时值所对应的音频数据长度;按音频帧从参考音频缓冲区队列和近端音频缓冲区队列队首取出音频数据以进行回声消除处理;获取进行回声消除处理所生成的相对延时值;根据所述相对延时值调整所述声卡延时值。本发明提供的回声消除数据同步控制方法和装置,可以提高启动过程中的抗抖动能力,而且能够在各种不同的终端上实现有效的回声消除,提高了兼容性。
Description
技术领域
本发明涉及音频处理技术领域,特别是涉及一种回声消除数据同步控制方法和装置。
背景技术
参照图1,目前可以通过麦克风102采集人说话的语音,经过计算机声卡104的处理后,通过扬声器106播放出来。然后播放的语音经过环境传播、反射,会被麦克风采集到,这样就形成了回声,或称为回音。回声会影响到语音品质,给听者理解说话人的语音带来困难,会影响到语音的准确表达,有必要通过一定手段来消除回声。
目前可以采用AEC(Acoustic Echo Cancellation,声学回声消除)算法来实现回声消除。AEC算法的基本原理是用采集到的近端语音减去回声,而由于回声产生模型复杂,可以粗略认为回声就等于播放的远端语音,这样消除回声的过程就是用近端语音减去远端语音。这里近端语音是指从麦克风采集进来的语音数据,而远端语音则是指由扬声器播放的语音数据。
目前采用AEC算法进行回声消除的过程可参照图2,接收到语音数据后,放入接收缓冲区,再从接收缓冲区中取出语音数据放入声卡播放缓冲区进行播放,并同时将取出的语音数据放入参考音频缓冲区。通过扬声器播放的语音数据被麦克风采集到后放入声卡采集缓冲区,再将声卡采集缓冲区的语音数据送入到近端音频缓冲区,通过同步控制模块从参考音频缓冲区和近端音频缓冲区同时取出音频帧,送入回声消除模块通过AEC算法进行回声消除处理,最后将经过回声消除处理后的语音数据发送出去。
同步控制模块的作用是,控制近端音频缓冲区的近端语音与参考音频缓冲区的远端语音对齐,保证回声消除算法达到最佳效果。这里的对齐不要求近端语音与远端语音完全对齐,而是要求延时保持稳定值,避免发生抖动和偏移。
设音频数据从进入声卡播放缓冲区到在声卡采集缓冲区停留的总延时为声卡延时值sndCardDelayMs;参考音频缓冲区队列长度为refBufLen,近端音频缓冲区队列长度为nearBufLen,音频帧长为kFrameSize。如果参考音频缓冲区与近端音频缓冲区中缓冲的音频数据完全同步,有式(1)成立:
式(1):
(refBufLen-nearBufLen)/kFrameSize=sndCardDelayMs.
所以,保证参考音频缓冲区与近端音频缓冲区中缓冲的音频数据相对同步的目标是使得式(2)成立:
式(2):
(refBufLen-nearBufLen)/kFrameSize=kRatio*sndCardDelayMs.
其中式(2)中的kRatio是一个大于等于1的系数。
上述式(2)中,refBufLen和nearBufLen都是计算机运行过程中可计算的值,现在问题是,对于固定设备来说,声卡延时值sndCardDelayMs是固定的,但是对于不同的设备,声卡延时值sndCardDelayMs通常是不同的,尤其是对手机等移动终端来说差异性更加明显。目前在进行回声消除处理时将声卡延时值sndCardDelayMs设为固定值,为了兼容不同的设备,该固定值普遍小于已知设备的声卡延时值sndCardDelayMs的真实值。
然而,声卡延时值sndCardDelayMs使用较小的固定值,会使得参考音频缓冲区的语音数据长度保持在一个较低的水平,声卡抖动较大的设备容易产生参考音频缓冲区数据空的现象,无法消除回声;对于声卡延时值较大的设备,有可能超出AEC回声消除算法处理范围,最终同样无法消除回声。若声卡延时值sndCardDelayMs使用较大的固定值,对于声卡延时值较小的设备,可能使用的固定值比自身声卡延时还要大,就有可能导致负延时,同样会导致无法消除回声。因此,采用将声卡延时值设为固定值来进行回声消除,兼容性弱,容易出现无法消除回声的情况。
发明内容
基于此,有必要针对目前将声卡延时值设为固定值来进行回声消除时,兼容性弱,容易出现无法消除回声的情况的问题,提供一种回声消除数据同步控制方法和装置。
一种回声消除数据同步控制方法,所述方法包括:
估计声卡延时值;
等待参考音频缓冲区队列长度减去近端音频缓冲区队列长度的差值大于或等于声卡延时值所对应的音频数据长度;
按音频帧从参考音频缓冲区队列和近端音频缓冲区队列队首取出音频数据以进行回声消除处理;
获取进行回声消除处理所生成的相对延时值;
根据所述相对延时值调整所述声卡延时值。
一种回声消除数据同步控制装置,所述装置包括:
估计模块,用于估计声卡延时值;
延时等待模块,用于等待参考音频缓冲区队列长度减去近端音频缓冲区队列长度的差值大于或等于声卡延时值所对应的音频数据长度;
回声消除处理模块,用于按音频帧从参考音频缓冲区队列和近端音频缓冲区队列队首取出音频数据以进行回声消除处理;
获取模块,用于获取进行回声消除处理所生成的相对延时值;
延时值调整模块,用于根据所述相对延时值调整所述声卡延时值。
上述回声消除数据同步控制方法和装置,在估计声卡延时值后,等待参考音频缓冲区和近端音频缓冲区满足采用该估计的声卡延时值进行回声消除的条件时,进行回声消除处理。然后利用回声消除处理所产生的相对延时值来反馈调整估计的声卡延时值,使得后续回声消除处理时使用调整后的声卡延时值。这样即使估计的声卡延时值并不准确,也能够在回声消除过程中通过反馈调整来优化估计的声卡延时值,可以提高启动过程中的抗抖动能力,而且能够在各种不同的终端上实现有效的回声消除,提高了兼容性。
附图说明
图1为回声的产生原理示意图;
图2为回声消除数据同步控制的过程示意图;
图3为一个实施例中终端的结构示意图;
图4为一个实施例中回声消除数据同步控制方法的流程示意图;
图5为一个实施例中估计声卡延时值的步骤的流程示意图;
图6为一个实施例中动态调整参考音频缓冲区队列的步骤的流程示意图;
图7为一个实施例中调整相对延时值的步骤的流程示意图;
图8为另一个实施例中回声消除数据同步控制方法的流程示意图;
图9为一个实施例中回声消除数据同步控制装置的结构框图;
图10为一个实施例中图9中的估计模块的结构框图;
图11为另一个实施例中回声消除数据同步控制装置的结构框图;
图12为再一个实施例中回声消除数据同步控制装置的结构框图;
图13为一个实施例中回声消除数据同步控制装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图3所示,在一个实施例中,提供了一种终端,该终端包括通过系统总线连接的处理器、内存、非易失性存储介质、网络接口、声卡、麦克风和扬声器。其中,该终端的非易失性存储介质存储有操作系统和一种回声消除数据同步控制装置,该回声消除数据同步控制装置用于实现一种回声消除数据同步控制方法。该终端的处理器被配置为执行一种回声消除数据同步控制方法。该终端的声卡用于提供音频处理能力,该声卡可以是独立声卡或者集成声卡。该终端可以是台式计算机或者移动终端,移动终端包括但不限于手机、平板电脑以及PDA(个人数字处理)。
如图4所示,在一个实施例中,提供了一种回声消除数据同步控制方法,本实施例以该方法应用于上述图3中的终端来举例说明,该方法的实现条件如图2所示,终端上设有接收缓冲区、声卡播放缓冲区、参考音频缓冲区、声卡采集缓冲区和近端音频缓冲区,每个缓冲区用一个先进先出的队列实现。终端接收到来自网络或其它设备的语音数据先放入接收缓冲区,然后再从接收缓冲区中取出语音数据放入声卡播放缓冲区进行播放,并同时将取出的语音数据放入参考音频缓冲区。终端通过扬声器播放的语音数据被终端的麦克风采集到后放入声卡采集缓冲区,终端再将声卡采集缓冲区的语音数据送入到近端音频缓冲区。同步控制模块用于实现该回声消除数据同步控制方法,利用基于AEC算法的回声消除模块来进行回声消除处理,最终向网络或者其它设备输出经过回声消除处理的语音数据。该方法具体包括如下步骤:
步骤402,估计声卡延时值。
具体地,声卡延时值是指从进入声卡播放缓冲区到在声卡采集缓冲区停留的总延时,声卡延时值直观地表示声卡处理音频所导致的总延时。估计是指采用条件判断或者计算等手段对真实的声卡延时值进行估算,给出一个接近真实的声卡延时值的估计值的过程。
在一个实施例中,步骤402具体包括:播放提示音,将采集到提示音的时间减去该提示音的播放时间作为估计的声卡延时值。
具体地,在允许播放提示音的前提下,可以在启动时播放一段预先录制的提示音并记录播放时间为rndTime,再记录通过终端的扬声器采集到该提示音的时间为capTime,则估计的声卡延时值sndCardDelayMs=capTime–rndTime。本实施例中,通过播放和采集提示音可以较为准确地对声卡延时值进行估计。
在一个实施例中,步骤402具体包括:将音频采集线程首次回调延时作为估计的声卡延时值。
具体地,音频采集一般都通过回调方式使用,即采集到一帧音频数据,回调执行程序注册的函数,告知采集到了一帧音频数据。这样从启动音频采集线程到音频线程回调的这段时间就是音频采集线程的首次回调延时。经过验证,如果该回调延时稳定,且大于预设阈值时,该回调延时与声卡采集延时相同,因此可作为估计的声卡延时值。预设阈值可取值为100~150ms(毫秒)。
在一个实施例中,可以通过判断首次回调延时的偏差是否在预设偏差范围内来判断首次回调延时是否稳定。程序在运行过程中会进行多次初始化,因此会产生多次首次回调延时。首次回调延时的值是波动的,如果一个首次回调延时与之后的回调延时之间的偏差都在预设偏差范围内,则该首次回调延时是稳定的。预设偏差范围可以是±A%,A可取值为5~15。
在一个实施例中,步骤402具体包括:将预设固定延时值作为估计的声卡延时值。本实施例中,可预先统计已知的固定数量的终端的声卡延时值,根据统计的声卡延时值中的最小值或者平均值来确定预设固定延时值。固定延时值可小于统计的声卡延时值中的最小值。
步骤404,等待参考音频缓冲区队列长度减去近端音频缓冲区队列长度的差值大于或等于声卡延时值所对应的音频数据长度。
具体地,设终端的声卡延时值为sndCardDelayMs,参考音频缓冲区队列长度为refBufLen,近端音频缓冲区队列长度为nearBufLen,音频帧长为kFrameSize,则有式(1)成立:
(refBufLen-nearBufLen)/kFrameSize=sndCardDelayMs.
各个缓冲区中缓冲的音频数据是采样样本,而音频处理是以帧为单位进行的,一个音频帧包括固定数量的连续的多个采样样本。音频帧长kFrameSize用于在时间长度和音频数据长度之间转换,比如一般音频帧取值20ms(毫秒),如果音频采样率为16000Hz,那么音频帧长kFrameSize=20ms*16kHz=320个采样样本。
对式(1)进行变形:refBufLen-nearBufLen=kFrameSize*sndCardDelayMs,表示参考音频缓冲区队列长度减去近端音频缓冲区队列长度的差值等于声卡延时值所对应的音频数据长度。通过等待将参考音频缓冲区中的音频数据累积到一定数量,保证回声消除能够顺利进行。
步骤406,按音频帧从参考音频缓冲区队列和近端音频缓冲区队列队首取出音频数据以进行回声消除处理。
具体地,参考音频缓冲区和近端音频缓冲区中的音频数据为采样样本,取出一个音频帧即取出一个音频帧长的采样样本。将分别从参考音频缓冲区队列和近端音频缓冲区队列中取出的音频帧发送给基于AEC算法的回声消除模块进行回声消除处理,并将经过回声消除处理的语音数据输出。
步骤408,获取进行回声消除处理所生成的相对延时值。
参照式(2),(refBufLen-nearBufLen)/kFrameSize=kRatio*sndCardDelayMs,这里定义相对延时值为(kRatio-1)*sndCardDelayMs,表示与参考音频缓冲区和近端音频缓冲区中所缓冲的音频数据完全同步时相比所偏离的时间差。这里进行回声消除处理所生成的相对延时值,所反馈的是真实的相对延时值,表示为delay。
步骤410,根据相对延时值调整声卡延时值。
具体地,可根据式(3)来计算声卡延时值:
式(3):
sndCardDelayMs=(refBufLen-nearBufLen)/kFrameSize+delay.
式(3)中sndCardDelayMs表示声卡延时值,refBufLen表示参考音频缓冲区队列长度,nearBufLen表示近端音频缓冲区队列长度,kFrameSize表示音频帧长,delay表示进行回声消除处理所生成的相对延时值。因此上述式(3)表示将声卡延时值调整为参考音频缓冲队列长度减去近端音频缓冲队列长度后对应的时间长度再加上相对延时值。在其他实施例中,可以在式(3)等式右侧增加或者减少预设值,或者乘以预设系数来对声卡延时值sndCardDelayMs进行进一步微调。
上述回声消除数据同步控制方法,在估计声卡延时值后,等待参考音频缓冲区和近端音频缓冲区满足采用该估计的声卡延时值进行回声消除的条件时,进行回声消除处理。然后利用回声消除处理所产生的相对延时值来反馈调整估计的声卡延时值,使得后续回声消除处理时使用调整后的声卡延时值。这样即使估计的声卡延时值并不准确,也能够在回声消除过程中通过反馈调整来优化估计的声卡延时值,可以提高启动过程中的抗抖动能力,而且能够在各种不同的终端上实现有效的回声消除,提高了兼容性。
如图5所示,在一个实施例中,步骤402具体包括:
步骤502,判断是否允许在打开麦克风时播放提示音;若是,则执行步骤504;若否,则执行步骤506。
具体地,可以读取预设配置文件,以获取表示是否允许在打开麦克风时播放提示音的标志位的值,从而根据该标志位的值来判断是否允许在打开麦克风时播放提示音。或者可以提供允许或者不允许在打开麦克风时播放提示音的选项,根据用户选择指令判断是否允许在打开麦克风时播放提示音。
步骤504,播放提示音,将采集到提示音的时间减去该提示音的播放时间作为估计的声卡延时值。
具体地,可以在启动时播放一段预先录制的提示音并记录播放时间为rndTime,再记录通过终端的扬声器采集到该提示音的时间为capTime,则估计的声卡延时值sndCardDelayMs=capTime–rndTime。本实施例中,通过播放和采集提示音可以较为准确地对声卡延时值进行估计。
步骤506,判断是否满足第一条件:音频采集线程首次回调延时的偏差在预设偏差范围内,且该回调延时大于预设阈值;若是,则执行步骤508;若否,则执行步骤510。
具体地,音频采集一般都通过回调方式使用,即采集到一帧音频数据,回调执行程序注册的函数,告知采集到了一帧音频数据。这样从启动音频采集线程到音频线程回调的这段时间就是音频采集线程的首次回调延时。经过验证,如果该回调延时稳定,且大于预设阈值时,该回调延时与声卡采集延时相同,因此可作为估计的声卡延时值。预设阈值可取值为100~150ms。
在一个实施例中,可以通过判断首次回调延时的偏差是否在预设偏差范围内来判断首次回调延时是否稳定。程序在运行过程中会进行多次初始化,因此会产生多次首次回调延时。首次回调延时的值是波动的,如果一个首次回调延时与之后的回调延时之间的偏差都在预设偏差范围内,则该首次回调延时是稳定的。预设偏差范围可以是±A%,A可取值为5~15。
步骤508,将音频采集线程首次回调延时作为估计的声卡延时值。
步骤510,将预设固定延时值作为估计的声卡延时值。
可预先统计已知的固定数量的终端的声卡延时值,根据统计的声卡延时值中的最小值或者平均值来确定预设固定延时值。固定延时值可小于统计的声卡延时值中的最小值。
本实施例中,优先使用提示音来估计声卡延时值,在条件不满足时采用音频采集线程首次回调延时来估计声卡延时值,若仍无法估计,则最后用预设固定延时值来估计声卡延时值。这样采用多种估计方式,保证声卡延时值能够被顺利估计,而且优先使用准确性较高的估计方式,可以尽可能保证估计的声卡延时值的准确。
如图6所示,在一个实施例中,步骤406之前,还包括动态调整参考音频缓冲区队列的步骤,具体包括如下步骤:
步骤602,判断是否满足第二条件:参考音频缓冲区队列长度减去近端音频缓冲区队列长度大于声卡延时值对应的音频数据长度;若是,则执行步骤604后执行步骤406;若否,则执行步骤406。
第二条件用于判断参考音频缓冲区所缓冲的音频数据和近端音频缓冲区所缓冲的音频数据是否满足因果关系,若果第二条件成立则不具有因果关系,需要对参考音频缓冲区队列进行调整;如第二条件不成立,则具有因果关系,不需要对参考音频缓冲区队列进行调整。
因果关系是指近端音频缓冲区所缓冲的音频数据可以在参考音频缓冲区中找到对应的音频数据进行回声消除处理。非因果关系则是指近端音频缓冲区所缓冲的音频数据无法在参考音频缓冲区中找到对应的音频数据进行回声消除处理。
第二条件表示为式(4):
refBufLen-nearBufLen>kFrameSize*sndCardDelayMs.
式(4)中sndCardDelayMs表示声卡延时值,refBufLen表示参考音频缓冲区队列长度,nearBufLen表示近端音频缓冲区队列长度,kFrameSize表示音频帧长。
步骤604,从参考音频缓冲区队列队首移除多余的音频数据;多余的音频数据的长度等于参考音频缓冲区队列长度减去近端音频缓冲区队列长度后,再减去声卡延时值对应的音频数据长度。
具体地,多余的音频数据长度表示为式(5):
refBufLen-(nearBufLen+kFrameSize*sndCardDelayMs).
式(5)中sndCardDelayMs表示声卡延时值,refBufLen表示参考音频缓冲区队列长度,nearBufLen表示近端音频缓冲区队列长度,kFrameSize表示音频帧长。(nearBufLen+kFrameSize*sndCardDelayMs)表示近端音频缓冲区队列长度与声卡延时值对应的音频数据长度的和,式(5)则表示参考音频缓冲区队列中超出该计算出的和的长度的音频数据。
本实施例中,通过定时判断是否满足第二条件,在不满足因果关系时及时地对参考音频缓冲区队列进行调整,避免出现无法进行回声消除处理的情况,从而保证回声消除能够顺利进行。
在一个实施例中,该回声消除数据同步控制方法还包括:获取进行回声消除处理所生成的回声返回损失增益值;当满足第三条件:相对延时值符合预设稳定条件,且回声返回损失增益值超过预设增益阈值时,则执行步骤410。
具体地,采用AEC算法可生成回声返回损失增益值(ERLE,Echo Return LossEnhancement),表示的是回声消除的程度,具体是回声经过回声消除算法后的衰减程度,可用于判断相对延时值delay的有效性。预设增益阈值可取15~30分贝。预设稳定条件是指相对延时值是稳定的,在预设范围内变动,不产生大的变动,比如在±(5~15)%的范围内变动。
本实施例中,通过相对延时值delay本身的特性和回声返回损失增益值ERLE来判断相对延时值delay的有效性,从而保证回声消除处理能够顺利进行。
如图7所示,在一个实施例中,该回声消除数据同步控制方法还包括调整相对延时值的步骤,具体包括如下步骤:
步骤702,判断相对延时值是否小于预设相对延时最小值;若是,则执行步骤704;若否,则执行步骤706。
具体地,相对延时值具有预设相对延时最小值delayMin,delayMin可取0~5ms,可以根据需要选择。
步骤704,从参考音频缓冲队列队首移除预设相对延时最小值减去相对延时值的差值所对应的音频数据长度。
具体地,当相对延时值delay接近或者小于预设相对延时最小值delayMin时,表示可能出现抖动,并且朝非因果关系方向偏移。因此有必要调整参考音频缓冲队列,通过减少参考音频缓冲队列长度来保证因果关系。具体从参考音频缓冲队列队首移除(delayMin-delay)*kFrameSize的音频数据长度。
步骤706,判断相对延时值超过预设相对延时最大值;若是,则执行步骤708;若否,则返回步骤406。
具体地,相对延时值具有预设相对延时最大值delayMax,delayMax可取50~150ms,可以根据需要选择。
步骤708,在近端音频缓冲队列队尾增加相对延时值减去预设相对延时最大值的差值所对应的音频数据长度。
具体地,当相对延时值delay接近或者大于预设相对延时最大值delayMax时,表明出现抖动,并且朝相对延时值delay加大的方向偏移,因此有必要调整参考音频缓冲队列,通过增加参考音频缓冲队列长度来减少相对延时值delay,使相对延时值delay位于回声消除算法范围内。
本实施例中,通过检查相对延时值delay是否位于[delayMin,delayMax]区间范围内,若不在这个区间内则通过动态调整参考音频缓冲队列长度来保证进行回声消除处理能够有效进行。
如图8所示,在一个实施例中,提供了一种回声消除数据同步控制方法,应用于语音聊天房间中的回声消除。该方法具体包括如下步骤:
步骤801,初始化延时确认标志值为初始标志值。延时确认标志值用于表示当前是否存在可用的声卡延时值,若延时确认标志值为初始标志值则表示不存在可用的声卡延时值,若延时确认标志值为非初始标志值则表示存在可用的声卡延时值,可直接读取相应的声卡延时值。比如初始标志值可取0,非初始标志值可取1。
步骤802,开启麦克风。
步骤803,检查延时确认标志值是否为初始标志值;若是,则执行步骤804;若否,则执行步骤809。
具体地,这里通过检查延时确认标志值是否为初始标志值,判断当前是否有可用的声卡延时值。若有可用的声卡延时值则直接读取该可用的声卡延时值并执行步骤809,若没有可用的声卡延时值则估计声卡延时值后再执行步骤809。
步骤804,判断是否允许在打开麦克风时播放提示音;若是,则执行步骤805;若否,则执行步骤806。
步骤805,播放提示音,将采集到提示音的时间减去该提示音的播放时间作为估计的声卡延时值。
步骤806,判断是否满足第一条件:音频采集线程首次回调延时的偏差在预设偏差范围内,且该回调延时大于预设阈值;若是,则执行步骤807后执行步骤809;若否,则执行步骤808后执行步骤809。
步骤807,将音频采集线程首次回调延时作为估计的声卡延时值。
步骤808,将预设固定延时值作为估计的声卡延时值。
步骤809,等待参考音频缓冲区队列长度减去近端音频缓冲区队列长度的差值大于或等于声卡延时值所对应的音频数据长度。
步骤810,判断是否满足第二条件:延时确认标志值不是初始标志值,且参考音频缓冲区队列长度减去近端音频缓冲区队列长度大于声卡延时值对应的音频数据长度;若是,则执行步骤811后执行步骤812;若否,则执行步骤812。
步骤812,按音频帧从参考音频缓冲区队列和近端音频缓冲区队列队首取出音频数据以进行回声消除处理,获得相对延时值和回声返回损失增益值。
步骤813,判断是否满足第三条件:相对延时值符合预设稳定条件,且回声返回损失增益值超过预设增益阈值;若是,则执行步骤814;若否,则执行步骤820。
具体地,预设稳定条件可以是当前的相对延时值delay与上一次获得的相对延时值delay相比在预设范围内变动,比如在±(5~15)%的范围内变动。
步骤814,检查延时确认标志值是否为初始标志值;若是,则执行步骤815后执行步骤816;若否,则执行步骤816。
步骤815,将声卡延时值调整为参考音频缓冲队列长度减去近端音频缓冲队列长度后对应的时间长度再加上相对延时值,并设置延时确认标志值为非初始标志值。
具体地,调整声卡延时值后,声卡延时值得到了更新,存在可用的声卡延时值,需要设置延时确认标志值为非初始标志值,比如设置为1,这样后续可以用该声卡延时值进行回声消除处理。
步骤816,判断相对延时值是否小于预设相对延时最小值;若是,则执行步骤817后执行步骤822;若否,则执行步骤818。
步骤817,从参考音频缓冲队列队首移除预设相对延时最小值减去相对延时值的差值所对应的音频数据长度。
步骤818,判断相对延时值是否超过预设相对延时最大值;若是,则执行步骤819;若否,则执行步骤822。
步骤819,在近端音频缓冲队列队尾增加相对延时值减去预设相对延时最大值的差值所对应的音频数据长度。
步骤820,检查相对延时值不满足预设稳定条件是否超过预设时间或预设次数;若是,则执行步骤821后执行步骤822;若否,则执行步骤822。
具体地,预设时间可以是500~3000ms,预设次数比如可以是3~10次。
步骤821,重设延时确认标志值为初始标志值。
若相对延时值不满足预设稳定条件的情况连续发生超过预设时间或预设次数,则说明当前的声卡延时值可能存在问题,需要重置延时确认标志值为初始标志值,后续重新更新该声卡延时值。
步骤822,判断是否关闭麦克风;若是,则执行步骤823;若是,则执行步骤812。
在一个实施例中,也可以不执行步骤822而直接执行步骤823或者步骤812,具体根据需要设定。
步骤823,判断是否退出聊天房间;若是,则结束流程;若否,则执行步骤802。
上述应用于语音聊天室的回声消除数据同步控制方法,在估计声卡延时值后,等待参考音频缓冲区和近端音频缓冲区满足采用该估计的声卡延时值进行回声消除的条件时,进行回声消除处理。然后利用回声消除处理所产生的相对延时值来反馈调整估计的声卡延时值,使得后续回声消除处理时使用调整后的声卡延时值。这样即使估计的声卡延时值并不准确,也能够在回声消除过程中通过反馈调整来优化估计的声卡延时值,可以提高启动过程中的抗抖动能力,而且能够在各种不同的终端上实现有效的回声消除,提高了兼容性。
如图9所示,在一个实施例中,提供了一种回声消除数据同步控制装置900,具有实现上述各个实施例的回声消除数据同步控制方法的功能。该回声消除数据同步控制装置900包括:估计模块901、延时等待模块902、回声消除处理模块903、获取模块904和延时值调整模块905。
估计模块901,用于估计声卡延时值。
延时等待模块902,用于等待参考音频缓冲区队列长度减去近端音频缓冲区队列长度的差值大于或等于声卡延时值所对应的音频数据长度。
回声消除处理模块903,用于按音频帧从参考音频缓冲区队列和近端音频缓冲区队列队首取出音频数据以进行回声消除处理。
获取模块904,用于获取进行回声消除处理所生成的相对延时值。
延时值调整模块905,用于根据相对延时值调整声卡延时值。
在一个实施例中,估计模块901还用于播放提示音,将采集到提示音的时间减去该提示音的播放时间作为估计的声卡延时值。
在一个实施例中,估计模块901还用于将音频采集线程首次回调延时作为估计的声卡延时值。
在一个实施例中,估计模块901还用于将预设固定延时值作为估计的声卡延时值。
如图10所示,在一个实施例中,估计模块901包括第一判断单元901a、第一估计单元901b、第二判断单元901c、第二估计单元901d和第三估计单元901e。
第一判断单元901a,用于判断是否允许在打开麦克风时播放提示音。
第一估计单元901b,用于若判定允许在打开麦克风时播放提示音,则将采集到提示音的时间减去该提示音的播放时间作为估计的声卡延时值。
第二判断单元901c,用于若判定不允许在打开麦克风时播放提示音,则判断是否满足第一条件:音频采集线程首次回调延时的偏差在预设偏差范围内,且该回调延时大于预设阈值。
第二估计单元901d,用于若满足第一条件,则将音频采集线程首次回调延时作为估计的声卡延时值。
第三估计单元901e,用于若不满足第一条件,则将预设固定延时值作为估计的声卡延时值。
如图11所示,在一个实施例中,回声消除数据同步控制装置900还包括:第二条件判断模块906和第二条件判断处理模块907。
第二条件判断模块906,用于判断是否满足第二条件:参考音频缓冲区队列长度减去近端音频缓冲区队列长度大于声卡延时值对应的音频数据长度。
第二条件判断处理模块907,用于若满足第二条件,则从参考音频缓冲区队列队首移除多余的音频数据;多余的音频数据的长度等于参考音频缓冲区队列长度减去近端音频缓冲区队列长度后,再减去声卡延时值对应的音频数据长度。
回声消除处理模块903还用于在移除多余的音频数据后,或在不满足第二条件时,按音频帧从参考音频缓冲区队列和近端音频缓冲区队列队首取出音频数据以进行回声消除处理。
在一个实施例中,获取模块904还用于获取进行回声消除处理所生成的回声返回损失增益值。
延时值调整模块905还用于当满足第三条件:相对延时值符合预设稳定条件,且回声返回损失增益值超过预设增益阈值时,根据相对延时值调整声卡延时值。
在一个实施例中,延时值调整模块905还用于将声卡延时值调整为参考音频缓冲队列长度减去近端音频缓冲队列长度后对应的时间长度再加上相对延时值。
如图12所示,在一个实施例中,回声消除数据同步控制装置900还包括:
第一判断模块908,用于判断相对延时值是否小于预设相对延时最小值。
第一判断结果处理模块909,用于若相对延时值小于预设相对延时最小值,则从参考音频缓冲队列队首移除预设相对延时最小值减去相对延时值的差值所对应的音频数据长度。
第二判断结果处理模块910,用于若相对延时值大于或等于预设相对延时最小值,则在判定相对延时值超过预设相对延时最大值时,在近端音频缓冲队列队尾增加相对延时值减去预设相对延时最大值的差值所对应的音频数据长度。
如图13所示,在一个实施例中,回声消除数据同步控制装置900还包括:初始化模块911、第三条件判断模块912、延时确认标志值检查模块913和第三条件判断结果处理模块914。
初始化模块911,用于初始化延时确认标志值为初始标志值。
获取模块904还用于获取进行回声消除处理所生成的回声返回损失增益值。
第三条件判断模块912,用于判断是否满足第三条件:相对延时值符合预设稳定条件,且回声返回损失增益值超过预设增益阈值。
延时确认标志值检查模块913,用于若满足第三条件,则检查延时确认标志值是否为初始标志值。
延时值调整模块905还用于若延时确认标志值为初始标志值,则根据相对延时值调整声卡延时值,并置延时确认标志值为非初始标志值。
第一判断模块908,用于若延时确认标志值不是初始标志值,则判断相对延时值是否小于预设相对延时最小值。
第一判断结果处理模块909,用于若相对延时值小于预设相对延时最小值,则从参考音频缓冲队列队首移除预设相对延时最小值减去相对延时值的差值所对应的音频数据长度。
第二判断结果处理模块910,用于若相对延时值大于或等于预设相对延时最小值,则在判定相对延时值超过预设相对延时最大值时,在近端音频缓冲队列队尾增加相对延时值减去预设相对延时最大值的差值所对应的音频数据长度。
第三条件判断结果处理模块914,用于若不满足第三条件,则在检查到相对延时值不满足预设稳定条件的状态超过预设时间或预设次数时,重设延时确认标志值为初始标志值。
上述回声消除数据同步控制装置900,在估计声卡延时值后,等待参考音频缓冲区和近端音频缓冲区满足采用该估计的声卡延时值进行回声消除的条件时,进行回声消除处理。然后利用回声消除处理所产生的相对延时值来反馈调整估计的声卡延时值,使得后续回声消除处理时使用调整后的声卡延时值。这样即使估计的声卡延时值并不准确,也能够在回声消除过程中通过反馈调整来优化估计的声卡延时值,可以提高启动过程中的抗抖动能力,而且能够在各种不同的终端上实现有效的回声消除,提高了兼容性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (13)
1.一种回声消除数据同步控制方法,所述方法包括:
估计声卡延时值;
等待参考音频缓冲区队列长度减去近端音频缓冲区队列长度的差值大于或等于声卡延时值所对应的音频数据长度;
当定时判断出参考音频缓冲区队列长度减去近端音频缓冲区队列长度的差值大于声卡延时值所对应的音频数据长度时,则从参考音频缓冲区队列队首移除多余的音频数据后,按音频帧从参考音频缓冲区队列和近端音频缓冲区队列队首取出音频数据以进行回声消除处理;
当定时判断出参考音频缓冲区队列长度减去近端音频缓冲区队列长度的差值等于声卡延时值所对应的音频数据长度时,则按音频帧从参考音频缓冲区队列和近端音频缓冲区队列队首取出音频数据以进行回声消除处理;
获取进行回声消除处理所生成的相对延时值;
将所述声卡延时值调整为参考音频缓冲区队列长度减去近端音频缓冲区队列长度后对应的时间长度再加上所述相对延时值。
2.根据权利要求1所述的方法,其特征在于,所述估计声卡延时值,包括:
播放提示音,将采集到提示音的时间减去该提示音的播放时间作为估计的声卡延时值;或者,
将音频采集线程首次回调延时作为估计的声卡延时值;或者,
将预设固定延时值作为估计的声卡延时值。
3.根据权利要求1所述的方法,其特征在于,所述估计声卡延时值,包括:
判断是否允许在打开麦克风时播放提示音;若是,则播放提示音,将采集到提示音的时间减去该提示音的播放时间作为估计的声卡延时值;若否,则
判断是否满足第一条件:音频采集线程首次回调延时的偏差在预设偏差范围内,且该回调延时大于预设阈值;若是,则将音频采集线程首次回调延时作为估计的声卡延时值;若否,则将预设固定延时值作为估计的声卡延时值。
4.根据权利要求1所述的方法,其特征在于,所述按音频帧从参考音频缓冲区队列和近端音频缓冲区队列队首取出音频数据以进行回声消除处理之前,还包括:
定时判断是否满足第二条件:参考音频缓冲区队列长度减去近端音频缓冲区队列长度大于声卡延时值对应的音频数据长度;
若是,则从参考音频缓冲区队列队首移除多余的音频数据后,执行所述按音频帧从参考音频缓冲区队列和近端音频缓冲区队列队首取出音频数据以进行回声消除处理的步骤;所述多余的音频数据的长度等于所述参考音频缓冲区队列长度减去所述近端音频缓冲区队列长度后,再减去所述声卡延时值对应的音频数据长度;
若否,则执行所述按音频帧从参考音频缓冲区队列和近端音频缓冲区队列队首取出音频数据以进行回声消除处理的步骤。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取进行回声消除处理所生成的回声返回损失增益值;
当满足第三条件:所述相对延时值符合预设稳定条件,且所述回声返回损失增益值超过预设增益阈值时,则执行所述将所述声卡延时值调整为参考音频缓冲区队列长度减去近端音频缓冲区队列长度后对应的时间长度再加上所述相对延时值的步骤。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断所述相对延时值是否小于预设相对延时最小值;若是,则从参考音频缓冲区队列队首移除预设相对延时最小值减去所述相对延时值的差值所对应的音频数据长度;若否,则
在判定所述相对延时值超过预设相对延时最大值时,在近端音频缓冲区队列队尾增加所述相对延时值减去预设相对延时最大值的差值所对应的音频数据长度。
7.根据权利要求1所述的方法,其特征在于,所述估计声卡延时值之前,还包括:
初始化延时确认标志值为初始标志值;
所述方法还包括:
获取进行回声消除处理所生成的回声返回损失增益值;
判断是否满足第三条件:所述相对延时值符合预设稳定条件,且所述回声返回损失增益值超过预设增益阈值;
若满足第三条件,则检查延时确认标志值是否为初始标志值;
若延时确认标志值为初始标志值,则执行所述将所述声卡延时值调整为参考音频缓冲区队列长度减去近端音频缓冲区队列长度后对应的时间长度再加上所述相对延时值的步骤,并置所述延时确认标志值为非初始标志值;
若延时确认标志值不是初始标志值,则判断所述相对延时值是否小于预设相对延时最小值;若是,则从参考音频缓冲区队列队首移除预设相对延时最小值减去所述相对延时值的差值所对应的音频数据长度;若否,则
在判定所述相对延时值超过预设相对延时最大值时,在近端音频缓冲区队列队尾增加所述相对延时值减去预设相对延时最大值的差值所对应的音频数据长度;
若不满足第三条件,则在检查到所述相对延时值不满足预设稳定条件的状态超过预设时间或预设次数时,重设延时确认标志值为初始标志值。
8.一种回声消除数据同步控制装置,其特征在于,所述装置包括:
估计模块,用于估计声卡延时值;
延时等待模块,用于等待参考音频缓冲区队列长度减去近端音频缓冲区队列长度的差值大于或等于声卡延时值所对应的音频数据长度;
回声消除处理模块,用于当定时判断出参考音频缓冲区队列长度减去近端音频缓冲区队列长度的差值大于声卡延时值所对应的音频数据长度时,则从参考音频缓冲区队列队首移除多余的音频数据后,按音频帧从参考音频缓冲区队列和近端音频缓冲区队列队首取出音频数据以进行回声消除处理;当定时判断出参考音频缓冲区队列长度减去近端音频缓冲区队列长度的差值等于声卡延时值所对应的音频数据长度时,则按音频帧从参考音频缓冲区队列和近端音频缓冲区队列队首取出音频数据以进行回声消除处理;
获取模块,用于获取进行回声消除处理所生成的相对延时值;
延时值调整模块,用于将所述声卡延时值调整为参考音频缓冲区队列长度减去近端音频缓冲区队列长度后对应的时间长度再加上所述相对延时值。
9.根据权利要求8所述的装置,其特征在于,所述估计模块还用于播放提示音,将采集到提示音的时间减去该提示音的播放时间作为估计的声卡延时值;或者,
所述估计模块还用于将音频采集线程首次回调延时作为估计的声卡延时值;
所述估计模块还用于将预设固定延时值作为估计的声卡延时值。
10.根据权利要求8所述的装置,其特征在于,所述估计模块包括:
第一判断单元,用于判断是否允许在打开麦克风时播放提示音;
第一估计单元,用于若判定允许在打开麦克风时播放提示音,则将采集到提示音的时间减去该提示音的播放时间作为估计的声卡延时值;
第二判断单元,用于若判定不允许在打开麦克风时播放提示音,则判断是否满足第一条件:音频采集线程首次回调延时的偏差在预设偏差范围内,且该回调延时大于预设阈值;
第二估计单元,用于若满足第一条件,则将音频采集线程首次回调延时作为估计的声卡延时值;
第三估计单元,用于若不满足第一条件,则将预设固定延时值作为估计的声卡延时值。
11.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二条件判断模块,用于定时判断是否满足第二条件:参考音频缓冲区队列长度减去近端音频缓冲区队列长度大于声卡延时值对应的音频数据长度;
第二条件判断处理模块,用于若满足第二条件,则从参考音频缓冲区队列队首移除多余的音频数据;所述多余的音频数据的长度等于所述参考音频缓冲区队列长度减去所述近端音频缓冲区队列长度后,再减去所述声卡延时值对应的音频数据长度;
所述回声消除处理模块还用于在移除所述多余的音频数据后,或在不满足第二条件时,按音频帧从参考音频缓冲区队列和近端音频缓冲区队列队首取出音频数据以进行回声消除处理。
12.根据权利要求8所述的装置,其特征在于,所述获取模块还用于获取进行回声消除处理所生成的回声返回损失增益值;
所述延时值调整模块还用于当满足第三条件:所述相对延时值符合预设稳定条件,且所述回声返回损失增益值超过预设增益阈值时,将所述声卡延时值调整为参考音频缓冲区队列长度减去近端音频缓冲区队列长度后对应的时间长度再加上所述相对延时值。
13.根据权利要求8所述的装置,其特征在于,所述装置还包括:
初始化模块,用于初始化延时确认标志值为初始标志值;
所述获取模块还用于获取进行回声消除处理所生成的回声返回损失增益值;
第三条件判断模块,用于判断是否满足第三条件:所述相对延时值符合预设稳定条件,且所述回声返回损失增益值超过预设增益阈值;
延时确认标志值检查模块,用于若满足第三条件,则检查延时确认标志值是否为初始标志值;
所述延时值调整模块还用于若延时确认标志值为初始标志值,则将所述声卡延时值调整为参考音频缓冲区队列长度减去近端音频缓冲区队列长度后对应的时间长度再加上所述相对延时值,并置所述延时确认标志值为非初始标志值;
第一判断模块,用于若延时确认标志值不是初始标志值,则判断所述相对延时值是否小于预设相对延时最小值;
第一判断结果处理模块,用于若所述相对延时值小于预设相对延时最小值,则从参考音频缓冲区队列队首移除预设相对延时最小值减去所述相对延时值的差值所对应的音频数据长度;
第二判断结果处理模块,用于若所述相对延时值大于或等于预设相对延时最小值,则在判定所述相对延时值超过预设相对延时最大值时,在近端音频缓冲区队列队尾增加所述相对延时值减去预设相对延时最大值的差值所对应的音频数据长度;
第三条件判断结果处理模块,用于若不满足第三条件,则在检查到所述相对延时值不满足预设稳定条件的状态超过预设时间或预设次数时,重设延时确认标志值为初始标志值。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510197994.5A CN104822001B (zh) | 2015-04-23 | 2015-04-23 | 回声消除数据同步控制方法和装置 |
PCT/CN2016/078661 WO2016169413A1 (zh) | 2015-04-23 | 2016-04-07 | 回声消除数据同步控制方法、终端和存储介质 |
US15/651,757 US10205830B2 (en) | 2015-04-23 | 2017-07-17 | Echo cancellation data synchronization control method, terminal, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510197994.5A CN104822001B (zh) | 2015-04-23 | 2015-04-23 | 回声消除数据同步控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104822001A CN104822001A (zh) | 2015-08-05 |
CN104822001B true CN104822001B (zh) | 2018-12-18 |
Family
ID=53732161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510197994.5A Active CN104822001B (zh) | 2015-04-23 | 2015-04-23 | 回声消除数据同步控制方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10205830B2 (zh) |
CN (1) | CN104822001B (zh) |
WO (1) | WO2016169413A1 (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104822001B (zh) | 2015-04-23 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 回声消除数据同步控制方法和装置 |
CN105304093B (zh) * | 2015-11-10 | 2017-07-25 | 百度在线网络技术(北京)有限公司 | 用于语音识别的信号前端处理方法及装置 |
CN105611222B (zh) * | 2015-12-25 | 2019-03-15 | 北京紫荆视通科技有限公司 | 音频数据处理方法、装置、被控设备和系统 |
WO2018006856A1 (zh) | 2016-07-07 | 2018-01-11 | 腾讯科技(深圳)有限公司 | 一种回声消除的方法及终端、计算机存储介质 |
CN107592430B (zh) * | 2016-07-07 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 一种回声消除的方法及终端设备 |
CN106341564B (zh) * | 2016-08-31 | 2019-12-17 | 广州视源电子科技股份有限公司 | 一种信号数据的处理方法、装置及智能会议设备 |
CN106385517A (zh) * | 2016-08-31 | 2017-02-08 | 广州视源电子科技股份有限公司 | 一种音频通话的实现方法、系统及智能会议设备 |
CN106910510A (zh) * | 2017-02-16 | 2017-06-30 | 智车优行科技(北京)有限公司 | 车载功放设备、车辆及其音频播放处理方法 |
CN107124661B (zh) * | 2017-04-07 | 2020-05-19 | 广州市百果园网络科技有限公司 | 直播频道中的通信方法、装置及系统 |
CN108965777B (zh) * | 2017-08-28 | 2020-07-17 | 视联动力信息技术股份有限公司 | 一种回声消除方法和装置 |
CN108630215B (zh) * | 2017-09-21 | 2020-02-21 | 视联动力信息技术股份有限公司 | 一种基于视联网的回声抑制方法及装置 |
CN109658946A (zh) * | 2017-10-12 | 2019-04-19 | 深圳前海黑鲸科技有限公司 | 一种回声处理方法、装置、存储介质及终端设备 |
CN107966910B (zh) * | 2017-11-30 | 2021-08-03 | 深圳Tcl新技术有限公司 | 语音处理方法、智能音箱及可读存储介质 |
CN109961797B (zh) * | 2017-12-25 | 2023-07-18 | 阿里巴巴集团控股有限公司 | 一种回声消除方法、装置以及电子设备 |
CN108200303B (zh) * | 2018-01-09 | 2021-04-27 | 武汉斗鱼网络科技有限公司 | 语音电话回音消除方法、存储介质、电子设备及系统 |
CN110176244B (zh) * | 2018-06-19 | 2023-10-03 | 腾讯科技(深圳)有限公司 | 回声消除方法、装置、存储介质和计算机设备 |
CN109830243B (zh) * | 2019-01-30 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 音效处理方法、装置及计算机设备 |
CN109979479B (zh) * | 2019-04-15 | 2021-11-23 | 苏州麦迪斯顿医疗科技股份有限公司 | 一种回音消除方法、装置、设备及存储介质 |
CN110728987B (zh) * | 2019-10-23 | 2022-02-11 | 随锐科技集团股份有限公司 | Windows计算机实时与会共享音频的采集方法 |
CN110956974A (zh) * | 2019-12-05 | 2020-04-03 | 浙江大华技术股份有限公司 | 回声消除方法及其相关装置 |
TWI736122B (zh) * | 2020-02-04 | 2021-08-11 | 香港商冠捷投資有限公司 | 用於聲學回聲消除的時間延遲校準方法及電視裝置 |
CN111683184B (zh) * | 2020-05-21 | 2021-09-10 | 浙江大华技术股份有限公司 | 回声信号的处理方法、设备及计算机存储介质 |
CN111724803B (zh) * | 2020-06-29 | 2023-08-08 | 北京达佳互联信息技术有限公司 | 音频处理方法、装置、电子设备及存储介质 |
CN114078482A (zh) * | 2020-08-21 | 2022-02-22 | 瑞昱半导体股份有限公司 | 信号处理装置、延迟估计方法与回音消除方法 |
CN113035165B (zh) * | 2021-03-04 | 2023-01-03 | 北京雷石天地电子技术有限公司 | 音频数据处理方法、音频数据处理装置及可读存储介质 |
CN114401255B (zh) * | 2022-03-25 | 2022-08-23 | 广州迈聆信息科技有限公司 | 一种音频信号对齐方法、装置、会议终端及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064530A (zh) * | 2006-04-28 | 2007-10-31 | 互联天下科技发展(深圳)有限公司 | 一种回音消除数据自动对齐的方法 |
CN1741686B (zh) * | 2004-05-11 | 2010-10-13 | 索尼株式会社 | 拾音器装置和回声消除处理方法 |
CN102625006A (zh) * | 2011-01-31 | 2012-08-01 | 深圳三石科技有限公司 | 一种回声消除数据同步对齐方法、系统及音频通信设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4582963A (en) * | 1982-07-29 | 1986-04-15 | Rockwell International Corporation | Echo cancelling using adaptive bulk delay and filter |
US6778671B1 (en) * | 1998-12-14 | 2004-08-17 | Intel Corporation | Method of reference to echo time alignment for facilitation of echo cancellation |
US9307318B2 (en) * | 2013-03-07 | 2016-04-05 | Silicon Laboratories Inc. | Audio processor circuits for acoustic echo cancellation and method therefor |
CN104822001B (zh) * | 2015-04-23 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 回声消除数据同步控制方法和装置 |
-
2015
- 2015-04-23 CN CN201510197994.5A patent/CN104822001B/zh active Active
-
2016
- 2016-04-07 WO PCT/CN2016/078661 patent/WO2016169413A1/zh active Application Filing
-
2017
- 2017-07-17 US US15/651,757 patent/US10205830B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1741686B (zh) * | 2004-05-11 | 2010-10-13 | 索尼株式会社 | 拾音器装置和回声消除处理方法 |
CN101064530A (zh) * | 2006-04-28 | 2007-10-31 | 互联天下科技发展(深圳)有限公司 | 一种回音消除数据自动对齐的方法 |
CN102625006A (zh) * | 2011-01-31 | 2012-08-01 | 深圳三石科技有限公司 | 一种回声消除数据同步对齐方法、系统及音频通信设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104822001A (zh) | 2015-08-05 |
US20170318161A1 (en) | 2017-11-02 |
US10205830B2 (en) | 2019-02-12 |
WO2016169413A1 (zh) | 2016-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104822001B (zh) | 回声消除数据同步控制方法和装置 | |
US11587574B2 (en) | Voice processing method, apparatus, electronic device, and storage medium | |
EP2761617B1 (en) | Processing audio signals | |
CN113170024B (zh) | 回声消除方法、延时估计方法、装置、存储介质及设备 | |
US8433059B2 (en) | Echo canceller canceling an echo according to timings of producing and detecting an identified frequency component signal | |
CN109285554B (zh) | 一种回声消除方法、服务器、终端及系统 | |
US9093077B2 (en) | Reverberation suppression device, reverberation suppression method, and computer-readable storage medium storing a reverberation suppression program | |
EP2982101B1 (en) | Noise reduction | |
US9246545B1 (en) | Adaptive estimation of delay in audio systems | |
EP3504861B1 (en) | Audio transmission with compensation for speech detection period duration | |
WO2013107307A1 (zh) | 降噪方法及设备 | |
KR20150043858A (ko) | 하울링 제거 장치 및 방법 | |
EP2920949B1 (en) | Echo suppression | |
GB2536742A (en) | Nearend speech detector | |
US20180077278A1 (en) | Signal processing device, non-transitory computer-readable storage medium, signal processing method, and telephone apparatus | |
CN109256145B (zh) | 基于终端的音频处理方法、装置、终端和可读存储介质 | |
CN109215672B (zh) | 一种声音信息的处理方法、装置及设备 | |
WO2024041512A1 (zh) | 音频降噪方法、装置、电子设备及可读存储介质 | |
CN108200303B (zh) | 语音电话回音消除方法、存储介质、电子设备及系统 | |
US10388298B1 (en) | Methods for detecting double talk | |
CN102970638B (zh) | 处理信号 | |
CN110265048B (zh) | 回声消除方法、装置、设备及存储介质 | |
CN113077804B (zh) | 回声消除方法、装置、设备及存储介质 | |
CN112634925B (zh) | 一种音频调试的方法、装置及计算机设备 | |
CN113824843B (zh) | 语音通话质量检测方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |