CN1195932A - 通信系统中的实时回声检测、跟踪、对消以及噪声填充 - Google Patents
通信系统中的实时回声检测、跟踪、对消以及噪声填充 Download PDFInfo
- Publication number
- CN1195932A CN1195932A CN98106126.5A CN98106126A CN1195932A CN 1195932 A CN1195932 A CN 1195932A CN 98106126 A CN98106126 A CN 98106126A CN 1195932 A CN1195932 A CN 1195932A
- Authority
- CN
- China
- Prior art keywords
- echo
- noise
- proposed
- signal
- frame
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B3/00—Line transmission systems
- H04B3/02—Details
- H04B3/20—Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
- H04B3/23—Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
- Interface Circuits In Exchanges (AREA)
Abstract
为了减小在一个本地发话人与一个远地发话人之间的语音通信期间的回声的影响,应用循环缓存器存储近端和远端信号以节约处理时间。通过递增索引处理和检索交叠的样点块,产生一个存储去话和来话样本之间幅度相关性对时间延迟的关系的数组。回声根据功率谱匹配情况予以消除。被消除的回声用电平适当的至少两种噪声(音调噪声和白噪声)之一的噪声填充代替。
Description
本发明与通信系统中通常称为回声的反射语音信号的处理技术有关。具体地说,本发明涉及到检测和跟踪通话期间的回声,通过从接收到的语音信息中削去返回的回声来消除回声,以及用一些噪声样本代替削去的回声,使得这样的噪声填充与通信信道中存在的噪声相当。
在美国专利No.5,587,998中揭示了一种降低语音通信网中残存的远端回声的方法和设备,提出了在本地网中进行远端回声控制以改善本地发话人的通信境遇的一些想法。这种方法包括:测量从发出语音信号到发生反射之间的延迟,以便可预测地识别回声;将预测对时间进行平滑;以及衰减或消除落在规定范围内的回声。在这里作为图1和2转载的998专利的图1和2示出的语音通信网环境采用本发明非常有利。图3-6给出了降低/消除一旦检测到的回声的算法概况。在本申请中还转载了998专利的图3-5。998专利从第8栏第43行至第11栏第19行说明了按998专利的图6检测、跟踪和对回声估值进行时间平滑的算法。
回声如果发生在相当靠近发话人处,那么就会听到一种雨桶效应。在长距离的陆地通信或卫星通信中,如果距离(和绝对路径延迟)相当大,本地发话人就会听到回声,他发出的话经传到反射点(例如混合网络或其他失配处)再返回的延迟出现在他的耳边。在实时语音通信网中,这种回声不能识别和脱线处理,而又需要实时识别和立即消除。因此,必需执行这样一种回声消除算法,一旦识别出回声就能立即加以消除。所以,软件设计者部署任务时需要在哪些必需实时执行和哪些可以在平时执行之间作出选择。
一旦实现了回声跟踪和削波,就会出现一种令发话人在语音通信中不舒服地听不到任何声音的寂静期。也就是说,在进行了这样的语音信号处理后,对于本地发话人来说会有一段没有任何信号的完全寂静期。因此,本发明的一个目的是在实现回声跟踪和实时削波的同时还实现一种噪声填充算法,用与本地发话人在语音通信信道上经受到的相近的噪声填充这种寂静期。
此外,已知的回声消除方法和设备在工作中会产生一些具有很高的噪声能量的尖峰,使近端发话人听到一阵噼啪声,一种有些像着火发出的爆裂声音。本发明的另一个目的就是所提供的消除回声的跟踪和削波算法还考虑了这种噼啪声,不但是消除了这种噼啪声,还通过噪声填充算法用不令人讨厌的噪声来填充噼啪声消除后留下的空隙。
因此,在本技术领域需要开发一种实时执行的回声检测、跟踪、消除和噪声填充的算法,为本地用户提供一个接到远端用户的比较安静的无回声语音通信信道。如果在通信信道的两端部进行这样的处理,那么通话的双方就能进行无回声的语音通信。
按照本发明所提出的算法,从一个近端发话人和一个远端发话人之间的一个给定语音通信得到的有两个输入数据流:去话近端话声和来话远端话声。语音活动检测电路通过检测语音活动情况来检测话声。在去话话声与来话话声高度相关时,如果与去话话声相比反射话声的幅度不很小的话,就会出现可以听得见的讨厌的回声。因此,通过得到平均幅度相关与去话和来话信道之间时间延迟的关系,导出一些加到本算法的跟踪器上的输入。本算法可以划分成三个功能部分:(1)回声检测和跟踪;(2)回声消除;(3)噪声填充。对于回声检测和跟踪功能来说,是通过延迟计算法找出取决于去话和来话信道之间时间延迟的相关函数平均幅度的最大值来确定回声位置。一个跟踪算法部分用来保证回声位置估值比较一致,不会造成虚假和出格的估计。第二个功能是削波。削波器在检测/跟踪器确定了会话中有回声后确定什么时间消除来话远端信号。第三个功能是噪声填充,一旦检测/跟踪和削波功能确定由于有回声而需要消除当前来话信号时就产生一系列噪声样点来代替。本算法的这些功能(检测/跟踪、削波和噪声填充)在一种保证实时操作的软件和固件设计中实现非常方便。在这种设计中,实时性能是通过将话声样值和其他数据保存在一些循环缓存器内和将一个主程序和一些附属功能程序配置在一个模块化结构内加以保证的。
原则上,任何时候从相同反射点发生回声的情况应该是一致的。因此,所测量的从本地发话人到各反射点之间的延迟都是可预测的,从而往返延迟也是可预测的。各去话语音段和来话语音段都被限制在比较窄的频率范围(语音电话带宽)内。这个频率范围虽然由于应用场合不同有些差别,但大致包括在300Hz至3000Hz之间的频率范围内。因此,即使反射损耗的大小可能由于语音频率的不同稍有些变化,然而往返延迟应该是可预测的。此外,往返的传输损耗同样也是可预测的。将收集的近端信号数据与远端信号数据进行相关和对历来的数据进行各种测试,就可以预测强弱回声的情况。这个过程在此称为回声检测和跟踪。此外,按照本发明,在返回或来话话声通路中的经过预期延迟、具有所预测的功率的反射话声在到达近端发话人之前就可加以消除。而且,按照本发明,可以估计出来话话声通路的噪声段,确定它是音调式噪声还是白噪声后,根据确定结果加以复制。所复制的噪声用来填充消除回声信号以及通常在回声消除中所出现的任何爆裂声和其他不希望有的噪声而留下的寂静期。
经过检测和跟踪、削波以及爆裂声消除和噪声填充算法这些操作可能还会留下残留的回声效应没有校正。因此,设置了一个残留回声削波器来除去能量较小的短促残留回声。对于这种不连续和突发性的残留回声,根据参考功率电平(近端发送通路)、所测得的回声延迟、近端语音活动检测器和回声损耗电平导出一个回声窗。这个回声窗提供了保证算法对残留回声进行定位、在预定门限启动削波器消除残留回声能量所需的时间。
本发明的其他优点和特性可从附图6-27所示和对优选实例性的详细说明中看出。在这些附图中:
图1-5取自列作本申请参考的由Patrik M.Velardo,Jr.和WoodsonD.Wynn提出的美国专利5,587,998;
图6A为计算近端话声与远端返回信号之间的相关函数的功能流程图,而图6B为相关计算的嵌套循环的功能流程图;
图7示出了送至本发明的检测/跟踪器的输入和这些输入运用情况,图7a例示了作为去话与来话信道之间时间延迟的函数的原始相关性估计的条形图,图7b例示了一个语音通信信道的相关曲线图,而图7c给出了示出回声路径延迟对时间的关系,暗黑色部分为回声关联处;
图8a示出了用循环缓存器存储帧和块的详细情况,这种存储方式可以使回声检测和跟踪实时进行。
图8b示出了为实时处理图8a那样的近端和远端信号所进行的循环数据缓存情况;
图9列出了跟踪用来通话的通信信道中的回声的例示变量表;
图10-15示出了本发明的跟踪算法部分的八个步骤的细节,前三个步骤示于图10,都与怎样处理去话与来话之间的原始相关性测量结果有关,图11所示的步骤4与强回声检测有关,图12a和12b所示的步骤5与弱回声检测有关,图13所示的步骤6与回声延迟时间平滑有关,图14所示的步骤7与多语音通信扫描(帧)回声跟踪有关,而图15所示的步骤8与确定回声是否存在有关。
图16a示出了一个存储历来话声帧功率的数组,图16b示出了跟踪削波器消除图16a所示数组识别为爆裂声的高度非线性回声的表达式,而图16c例示了本发明的算法检测到的非线性回声和用噪声补复代替的情况;
图17a为列出跟踪/削波算法部分所需各个输入的例示表,而图17b为列出跟踪/削波部分的各个变量的例示表;
图18给出了计算倒频谱距离的式子,倒频谱距离为表示从本地发话人至反射点再返回的频谱距离的变量;
图19给出了通过频谱匹配消除回声的跟踪/削波算法;
图20给出了不用频谱匹配消除回声的跟踪/削波算法;
图21列出了其他削波条件,而图22列出了禁止削波的条件;
图23例示了本发明算法的输出,回声经检测、跟踪、消除后用通过本算法的噪声填充算法确定和填充的噪声代替,图23a示出了回声消除前的时间序列,而图23b示出了回声消除和噪声补复后的时间序列;
图24为列出用噪声充填消除了回声的各个时间间隔的噪声填充算法的各个输入的表;
图25和26给出了噪声填充算法,第一步是确定噪声特性,例如是音调噪声还是白噪声,图25涉及噪声特性确定,图26涉及用特性由噪声特性确定步骤所确定的噪声对某段时间进行填充;图25A给出了噪声特性确定算法,图25B示出了音调噪声和白噪声的功率谱以及比较门限,图25C示出了音调噪声的自相关函数;图26A给出了噪声填充算法,图26B和26C分别示出了对于白噪声填充例的Noise[]数组缓存器曲线和所产生的噪声填充缓存器曲线,而图26D和26E分别示出了对于音调噪声填充例的Noise[]数组缓存器曲线和所产生的噪声填充缓存器曲线;
图27示出了本发明的回声检测/跟踪、回声消除和噪声填充以及另一个为降低总噪声而采取的残余回声消除功能的总体规划和包括回声检测/跟踪和消除及噪声填充的回声消除过程;图27A示出了总体功能的功能方框图;图27B示出了消除残余回声的回声窗预测过程;图27C示出了话声功率电平检测情况,其中图27C(1)示出了信号功率与信号电平的关系而图27C(2)示出了100ms的估计窗内信号帧话声信号电平采样情况;图27D示出了滑动估计窗的形成情况,而图27E示出了话声频谱(0-4000Hz)与功率电平的关系。
图1或2所示的现有技术的通信网包括本地网10和远程网20,这不应与诸如本地交换承载方(LEC)或长途网之类的远程通信术语相混淆。本发明和998专利所揭示的非常容易在尽可能接近本地网10的本地用户或本地呼叫方处实现,以便能校正常驻的远端回声控制(RPEC)发明60(图2)以远直至远端方(图1)之间任何环节上发生的回声。因此,诸如地区性Bell运营公司那样的专用网运营方、LEC,或者诸如AT&T公司那样的长途网提供方之类可以通过各自采用本发明或者出售或出租本发明的方法和/或设备或者作为一种为用户提供附加服务的业务这些方式来利用本发明,从中获益。本发明对经常需要接入传输设施差、具有一些会导致反射和回声的阻抗失配情况的远程网进行长途呼叫的用户特别有用。例如,对于经常对在改善传输方面缺少投资甚至没有投资的远地进行呼叫的用户来说,本发明的作用可能是有相当大的价值。总之,在这里所谓“本地发话方”是指预约、购买或者得到本发明所提供的服务的发话人。此外,在接近本地发话方处应用可能最为方便。
参见图2,可以假设本发明可以用于通信通路分开的四线或双向信道中的任何地方。实际上,本发明甚至可用于用户所在处,例如用于传输通路分开的、具有四线或载波专用小交换机(PBX)中继设施的专用小交换机处。这里所用的其他术语与在上述998专利中所用的相同。
通常,在专用非交换或公用交换通信网中引起反射或回声的是由于阻抗的不匹配,例如在用来从两线(在两根线上同时进行双向传输)变换成四线或等效四线(在四根线上或等效四根线上本地至远程与远程至本地在各自分开的通路上传输)的混合网络处所遇到的,图1和2所示只是两种情况。众所周知,通信网中总有不可避免的阻抗失配之处,然而最为显著的恐怕还是在混合网格处。这些地方包括(但并不局限于)在端到端链路的本地和长途网部分中的交换机和语音放大器以及在本地用户环路中的铜对规转换装置、负载线圈、桥接抽头之类。所有这些都可以引起反射和回声,而这些反射和回声都可以用本发明的REFC 60加以校正。
在这些附图中,图6给出了获取原始相关性测量的各个步骤的情况。具体地说,图6A给出了近端话声与远端包括话声的返回信号之间的相关性计算的功能流程图,而图6B给出了相关性计算的内部算法循环。如图6A所示,方框300、440表示为在一个本地发话人(近端话声)和一个远地方(远端话声)之间建立的给定通信链路随时不断对数据和从远端返回的近端话声的回声进行存储器存储,(远端话声加上近端话声的回声表示一个合并成的远端信号)。方框300表示将本地发话人的与最大所关心的延迟相应的过去帧存入缓冲存储器和将从远端接收到的当前信号存入缓冲存储器。延迟估计算法的前几个步骤是:在方框310,对帧加海宁窗;在方框320,对帧进行快速付立叶变换(FFT);在方框340,对FFT进行抽取;以及在方框360,计算功率谱。对每个新的近端帧和每个新的远端帧都要进行这些运算。图6A示出了对于当前远端帧和与需测试的最长延迟(例如为980ms)相应的过去近端帧进行的这些运算。然后,在方框380,得出过去近端帧与每个经延迟的远端帧的交叉谱。这个过程反复执行,每次循环对功率谱进行平均,直至达到预定的近端帧数(例如为25帧)。这个过程的控制流程示于图6B。在更新了功率谱对每方框385足够帧数取平均后,就在方框390计算出相关性估值,过程返回,重新开始。图6的更详细的情况将结合对图8的讨论予以说明。这样的实时相关性计算就得出了对回声路径延迟和回声回损的预测。
下面将结合图6-15所示的本发明的一个实施例对本发明的回声检测和跟踪功能进行更详细的说明。首先参见图7,给出的是一系列典型输入,具体地说,是一个包括平均幅度相关性与一个通信链路(最好是一个往返延迟明显的接至遥远的远地方的长途链路)的去话(朝向远地方)信道和来话(返回本地发话人)信道之间的时间延迟的关系的amt.ametric[]数组。分段的通信路径例如划分成一系列20毫秒的增量段,40个增量段形成一个总时长近似为1秒的语声/背景段。典型的采样率为每秒8000个样点。
看一下图8a,最好将来话和去话信号的数据流组织成一系列各由三个块、每块80个样点总共240个样点的相互交叠的帧。所示的三个帧都有一个交叠的样本块,左上是最老的帧,而右下是最新的帧。
软件设计最好采用顶到底的结构,主程序短而简单,集成容易。此外,这种模块化结构最好将与机器有关的汇编语言码与C语言码或其它高级语言码分开。延迟计算软件确定使远端话声和近端话声相关性最大的延迟值。然后,判定在这点的远端话声是否为近端话声的回声。跟踪软件对通话过程中的延迟估计进行平滑,以便避免出现诸如出格的乱真估计(超出预期范围的不良估计)。
遵从常规的软件设计实践,最好可用标题文件和条件编译标志来指示系统的各种相互关系,每个受调用的功能应该执行一个明确的任务或为一组有关任务提供上层控制。最好将所有的常数列在一个标题文件内,这样只要在一个工作区就可以改变这些常数了。
将数据组织到一些结构和缓存器内,把算法划分成一些模块和功能,以及控制流程最好都设计成呈清晰的问题结构。在以下各节中将详细说明本发明的这些情况。首先说明话声数据和所计算数据的缓存,最后说明跟踪算法的控制流程。
话声数据和所计算数据以能反映数据和问题的结构的方式组织起来存入缓存器。为了说明在本发明的操作中的缓存情况,需要规定一些术语。设TREADY为每个新的话声块到达的时间间隔,BLKSZ为每一块中的样点数,SR为采样率,而FRSZ可以是帧长度,也就是一帧中的样点数。这些值最好是:TREADY=10ms,BLKSZ=80,SR=8000Hz,FRSZ=240。这些值是所提出的这几个变量的推荐值,根据实施本发明的不同情况也可以选取与这些预定的推荐值不同的值。
再来看图8A,其中示出了值得推荐的用于本发明的交叠帧处理。按图6A,这算法有两个输入流;即出局或去话话声信号和来自诸如国外远地的来话或入局话声信号。来话流各被划分为一系列按时在相应时间间隔内到达的块。例如,程序接收一个长度为BLKSZ(例如80个样点)的近端样点块和一个远端样点块。(如果采样率SR为每秒8000个样点,则在本实施例中每个块包括80个样点)。来话信号按样本长度为FRSZ(例如为240个样点,或三个各有80个样点的块)的帧进行处理。每个帧(帧m,m+1或m+2)包括三个块,即一个当前块(为方便起见标为块C)和两个先前块(块B和块A)。一个帧的最老的块亦即块A,与上一帧的最新的块亦即使C交叠(也就是相同)。例如,最老的帧m的第三块亦即块C与帧m+1的第一块亦即块A交叠。帧m的块C和帧m+1的块A以及帧m+1和m+2的相应块都是相邻帧之间交叠的具有80个样点的块的例子。
由于帧间的交叠,为了准备好一个要处理的新帧,需要得到两个块。一个新帧(例如,帧m+1)将含有一个老的块(例如,帧m的块C成为帧m+1的块A)和两个新的块(帧m+1的块B和C)。
在呼叫开始时,需要得到初始的三个决。此后,每当有两个新的块到达后,就与一个老的块组成一个新的帧。为了方便起见,任何新的块中的第一个块标为块1,而第二个块标为块2。任何与一个新帧有关的处理都在其他块期间执行,例如在得到块2后执行。因此,在下一帧(最新帧m+2)的下个块1到达前,对于帧处理来说有80ms的实时时间可用。话声处理模块在所述实现的优选话声处理器的操作时间上甚至被限制为例如这80毫秒的15%即12毫秒左右。
由于每个新话声帧包括三个等长的块,而帧间有一个块交叠,因此需要得到两个新的话声块来形成一个新的话声帧。本发明的控制结构将处理任务分成两个功能块:过程块1(proc-block1)和过程块2(proc-block2),而不是只在接收到第二个块以后才进行处理(这会浪费在第一块可用后而在第二块可用前存在的处理时间),从而在各话声块到达之间的每个时间间隔内可以进行某些计算。这两个程序下面将进一步加以说明。
在某个帧的块1出现并得到处理而块2还未到达时,处理时间最好不要浪费。算法最好将处理转至相关性计算和跟踪功能。例如,如果已经足够数量的(例如25个)含有话声的近端帧进行了平均,则在下个块1时间间隔内执行相关性计算和跟踪功能。这个重复过程示于图6B。如果还没有对足够帧数(例如少于25个)平均,则在块1期间不进行其他计算。对于块1时间间隔来说,就是保存在块1期间所得到的新的样点。如所说明的那样,“main()routine”非常简短,为得到这些输入和交替块1和块2处理提供一个控制流。
图8A可以看作一个输入循环缓存器的图。这是一个用来存储新到达的话声样点的缓存器。于是,对于“最老的帧”,块A可以分配在位置0-79,块B可以分配在位置80-159,块C可以分配在位置160-239,而对于一个具有256个位置的循环缓存器来说,位置240-255可以填塞。这样位置0-239就形成了一个循环缓存器。随着得到新的块,从最老到最新的样点的布置在三种可能的次序,即块A、B、C;块C、A、B和块B、C、A,之间轮转。近端和远端两个循环话声缓存器都可以这样构成和工作。
图8B示出了在本算法中为了实时处理进行数据缓存的情况。如图8A和8B所示,采用循环缓存器处理效率高,例如,只需增加一个指针或索引,而不必拷贝大量的数据。
所采用的想法是维护一段对去话信号帧计算出的谱数据的过去历史,这样就可以用这数据与所有可能是来话回声的帧进行比较(相关测试)。选择一个延迟值范围,这个范围包括预计可能出现回声的延迟范围。在电话中,对于要扰乱对话的情况来说,所关心的最小延迟量可能是在160至400毫秒左右的范围内。在图8B所示的例子中,这个值选为200ms。在实际系统中,这个值是一个可变参数,有一个缺省值(例如为200ms),这个参数的值可以在系统装入传输设施时选定。想法是,在实际系统中,如果需要的话,在不同的安装场合可以设定不同的最小延迟,例如因为不同的传输设施可能要接收从不同的传输媒体或世界上不同区域到来的信号。所关心的最大可能延迟通常是在900至1200ms的范围内,虽然极端情况下可能会出现长达2400ms的延迟。在图8B的例中,最大延迟选为980ms。
在图8B中,上面这行表示近端处理,而下面这行表示远端处理。图8B的左面是在呼叫开始后出现的一些初始块(在本例中为20个)。TEST FRAME表示正在搜索其回声的过去的去话帧。在本例中,TESTFRAME为含有块0至块2的帧0。CURRENT OUTGOIFRAME表示刚计算了频谱数据的最新去话帧。在本例中,CURRENT OUTGOINGFRAME为帧49。这样,每接收到一个新的帧,信号处理器就对在NDELFRAMES前出现的帧的回声进行检测,其中NDELFRAMES等于CURRENT OUTGOING FRAME减去TEST FRAME,在图8B的例中为49。
想法是,在呼叫的开始,保存初始近端帧的数据,而略去初始远端帧的数据,直至有充分延迟后才开始寻找回声。例如,图28B示出了形成帧0至帧9的20个初始近端块。这些帧的频谱数据保存起来,而相应的初始来话帧则不加分析。从MINIMUM EXPECTED DELAY(最小预期延迟)开始,随着各帧的到达,来话和去话两种帧的数据都保存起来。在达到MAXIMUM EXPECTED DELAY(最大预期延迟)时,初始化结束,信号处理器将开始寻找TEST FRAME的回声。在图8B的例中,上述范围内的可能值是为200ms的MINIMUM EXPECTED DELAY和为980ms的MAXIMUM EXPECTED DELAY。这两个延迟应只看作为示例性的,对于电话应用情况可以在前面所讨论的范围内变动。在非电话应用的情况下,这延迟范围可能是不同的。
设NFAR和NNEAR分别表示数据需存储的远端和近端帧的数目。设FIRST DELAY FRAME为与MINIMUM EXPECTED DELAY相应的帧,而CURRENT INCOMING FRAME表示与MAXIMUMEXPECTED DELAY相应的帧(也就是当前的来话帧)。NFAR等于CURRENT INCOMING FRAME减去FIRST DELAY FRAME加1。NNEAR等于CURRENT OUTGOIN FRAME减去TEST FRAME加1。必需存储NFAR个远端话声帧的数据。例如,需要存储50个近端话声帧和40个远端话声帧的数据。
为了满足检测回声的处理要求,必需例如在FREC 60(见图2)存储总共NNEAR个帧(例如为50个近端话声帧)和NFAR个帧(例如为40个远端话声帧)的数据。
数据的存储数组最好是循环缓存器,使得每当一个新帧准备就绪,与这个新帧相应的数据就重写在缓存器中的最老的所存储的数据。必需改变的只有一个位置,用不着倒移全部数据。如前面所指出的那样,对于每个近端和远端缓存器只要用一个索引或指针就可以指出应该将最新的数据写在哪里。
下面是实现用来存储和组织数据的循环缓存器的一个具体情况。首先介绍一些参数。设NFAR和NNER分别表示数据加以存储的远端和近端帧的数目。如前面所述,NFAR和NNEAR的推荐值分别为40和50。于是,为与远端话声有关的数据所配备的循环缓存器包括NFAR个结构,每个用来存储对于一个远端话声帧的数据。每个结构中的数据包括:1)经抽取的快速付立叶变换(FFT)处理的带限样点,以及2)功率谱。
为与近端话声有关的数据所配置的循环缓存器是一个具有NNEAR个结构的数组,每个结构存储对出局话声计算得的数据。每个(近端)结构中的数据包括:1)一个指示这个帧中是否含有话声的标志,以及2)经抽取的快速付立叶变换的带限样点。
总而言之,一个输入近端循环缓存器和一个输入远端循环缓存器形成一些各有一系列话声样点的来话块组成的话声帧,而一个远端抽取集循环缓存器和一个近端抽取集循环缓存器用来管理过去帧的谱信息的存储。
在本发明的实现中还使用了一些非循环缓存器。一个这样的缓存器依次相继存储近端话声块,因为这些话声块不必相继安排在循环缓存器内。另一个非循环缓存器存储用于平均的数据。这是一个具有NFAR个结构的数组,每个结构存有一个延迟值的数据。每个这样的结构含有:1)平均功率,以及2)平均交叉功率谱。存入这个延迟值缓存器的索引是它所含的数据的延迟值的函数。
下面将对所推荐的延迟计算任务划分和跟踪算法作为一个模块结构进行说明。在操作中,main()程序是顶层程序。它执行初始化和为管理与块1和块2有关的交替处理提供高层控制,如前面所作的简明说明。处理了一个块后,main()更新所有对于各循环缓存器的索引的值。
由main()调用的下一层功能为:1)预先计算海宁窗各值的程序,2)获取一个新的样点块的程序,3)执行所有与块1有关的处理任务的程序,以及4)执行所有与块2有关处理。
在下一层,有一个组织对一个新的去话话声帧进行各运算的程序和另一个组织对一个新的来话话声帧进行各运算的程序。
这个模块结构的较低层功能最好作如下分类。第一类,是一些获取新的近端和远端样点块的程序。第二类,是一些执行直至相关性估计以前的数学运算的程序。有一些程序分别用来实现以下功能:1)预先计算海宁窗,这样就可以通过利用这些预先计算出的值来节约实时运算时间,2)用海宁窗对一帧数据进行窗处理,3)快速付立叶变换,4)抽取和带限FFT,5)计算功率谱,6)计算交叉谱,7)更新对去话话声的平均,8)更新对来话话声的平均,9)估计一个帧是否含有话声,以及10)在程序等待时调用循环功能,直至可以获取一个新的话声样点块。除了这些功能以外,还有一个计算相关性和调用跟踪程序的程序。最后,还有一些与跟踪部分有关的程序。
为了达到实时处理,其中有些程序用汇编语言实现。这些程序可以包括:FFT,交叉谱计算和各平均的更新。
下面将较为详细地说明对这算法的优选控制流程。为了讨论方便,还将定义一些参数。设ENDINIT1和ENDINIT2表示确定在程序执行中需开始帧处理的点的帧的计数。对于这两个参数优选值为:ENDINIT1=22,ENDINIT2=51。
在这个优选控制流程中,处理块2的功能由main()调用。这个功能管理所有直至相关性估计以前的数学运算。它调用一个程序来得到和抽取对新的去话帧的FFT。如果块的计数为ENDINIT1或更大一些,那么它就调用另一个程序来得到和抽取对远端帧的FFT。在已经获得帧ENDINIT2时,就可以将当前的去话帧与经延迟的一些远端帧进行比较。它调用选通功能来确定是否存在话声,如果是,它就更新受平均的帧数的计数。它计算近端的功率谱,调用一个程序来更新这去话话声的平均功率。它调用交叉谱程序计算近端帧与各延迟帧的交叉谱向量。然后,它调用一个程序更新与各远端帧相应的平均功率。
处理新去话帧的程序调用一些功能来计算加窗、FFT和抽取FFT。处理新来话帧的程序调用执行加窗、FFT、抽取FFT和功率谱计算这些功能。
处理块1的功能由main()调用。如果已对足够数目的帧进行了平均,那么这个程序就调用一个功能来估计与各延迟值相应的相关性。如果所得到的最大值超过了一个门限,就将与相关性最大值相应的延迟认作一个可能的回声位置。这个延迟和回声标志写入可由程序的其他部分读出的变量。
跟踪算法所回答的主要问题是在来话信道中是否有从去话信道反射回来的回声。因此,跟踪算法负责监测来话与去话信道之间的原始相关性测量,确定整个通话期间是否有回声。跟踪算法在下次通过不同的通信链路对不同的位置进行呼叫时重新开始。
参见图7B,所示为远端与近端信号的相关性(垂直示出,刻度为0.5和1.0)对延迟(示为值自0至40Tau或800ms)与在一个呼叫期间的时间(示为刻度值0-200)的关系图。参见图7C,所示的相关图示出了往返延迟与在遭到一个弱回声时的相同呼叫期间的时间的关系。相关图中的暗带区示出了弱回声的高相关和关联。
图9列出了回声跟踪算法中所用的示例性变量表。这些变量包括图7的ametric数组、直方图数组和索引数组、时间延迟索引、标志、对第一和第二回声的平滑时间延迟、指数平均常数之类。
下面将结合图10-15说明作为跟踪算法核心的八个步骤。前三个步骤图示于图10。由图10可见,这过程的第一个步骤是更新amt.ametric[]中原始相关测量(对于回波关联)的第一和第二峰值的直方图。在第一个步骤的右方给出的对于示例性的第一和第二相关峰值的直方图曲线(histo A和histoB)。
算法的步骤2是更新指数平均ametric[]。所示的一个这样的函数是对于右方的相同曲线histoA和histoB平均的ametric结果。
步骤3为更新各histoA和histoB以及ametric的索引。
参见图11,所示的是检测强回声情况的步骤4。在对于某个延迟经平均的相关性(ametric[])超过相关门限(Thr-Coh)时就出现检测到有一个强回声的条件。在图11下方所示的ametric直方图例中,这出现在延迟(Tau)31或820ms处,因为出现在由Tau为31表示的延迟处的最大平均相关值超过了例如为0.25的相关门限。
如图12a和12b所示,步骤5为检测来话信道中的第一弱回声和第二弱回声。在满足图12a中所示的四个条件中的任何条件时,就检测到一个第一弱回声。这四个条件i)至iv)中的每个条件都是用来检查与延迟量有关的平均相关性(ametric[])和与延迟量有关的原始相关性的最大峰值的直方图(histoA[])之间的关系。如果满足这四个条件中的任何条件,就检测到了一个第一弱回声,然后通过测试是否满足图12b所示的四个条件中的任何条件来检测是否存在一个第二弱回声。检测第二弱回声的四个条件的每个条件都是用来检查与延迟量有关的平均相关性(ametric[])和与延迟量有关的原始相关性的第二最大峰值的直方图(histoB[])之间的关系。
图13所示的步骤为对所检测到的回声的时间延迟进行平滑。图中示出了一种平滑算法和一个在区域Tp至Tn(在30和32之间)的ametric曲线。
图14所示的步骤7为在整个呼叫期间一直扫描与延迟量有关的原始相关性(amt.ametric[])的回声跟踪。如图所示,这跟踪包括对到达的(即检测到的)第一和第二回声进行累加计数。
最后,图15所示的步骤8为判决是否有回声。如果第一或第二回声的到达数(track.Tcount A和track.TcountB)超过到达数门限(MinCntA和MinCntB),则置回声存在标志。
下面将结合图16-23较为详细地说明消除回声的跟踪削波算法。跟踪削波程序可以分为两部分,一部分用来消除爆裂声,另一部分用来消除回声。
跟踪削波的爆裂声消除部分用来检测来话信道中可能由于在去话和来话信道之间通信链路中加有分支的回声消除器而出现的高度非线性回声。为了消除爆裂声,在数组TotPowIn[]中存入了相继四个10ms的来话帧,如图16A所示。爆裂声按照图16B中所列的两个条件进行检测。这两个条件用来检验相继来话帧之间的功率突然变化情况。由于功率的突然变化会产生与话声或回声特性不同的幅度尖峰或短脉冲,因此可以从话声或回声中区别出来。在满足这两个条件时,就切断来话信道30ms(用噪声充填代替)。图16C示出了跟踪削波器检测到了在500-600和800-900时间索引内的爆裂声而代之以背景噪声充填的例子。
下面将详细说明回声消除的情况。跟踪削波算法的回声消除部分用来检测在来话信道当前处理时间的回声。图17A列出了跟踪削波逻辑所需输入,而图7B列出了跟踪削波算法所计算的、用来确定什么时候消除本地发话人去话信号的回声的各个变量。
倒频谱距离(Cep-dist)与来话和去话信道之间的频谱距离有关,根据来话信道的线性预测(lpc)模型和在所测得的回声延迟的去话信道的lpc模型(lpc模型的阶为L)按图18所示的算式计算,其中:
lpc[n]为对于来话信道当前话声帧的线性预测模型(L阶);以及
lpc-us[ntau]为对于去话信道经延迟(延迟量由回声延迟估计算得)的话声帧的线性预测模型(L阶)。
图19A至图22的伪码总结了将当前的10ms来话帧判为回声需满足的条件。图19B给出了对于倒频谱距离为0.22时的来话与去话信道功率谱之间的关系,而图19C给出了对于倒频谱距离为1.06时的来话与去话信道功率谱之间的关系。注意,前面的图19B示出了来话和去话以倒频谱距离为0.22功率谱实际对准的情况,而图19C则示出了勉强满足频谱匹配条件的情况。对于跟踪削波程序启动它的削波模式来说,理想情况应该是来话信道和经延迟的去话信道之间满足倒频谱距离条件达到频谱匹配。图19的算法方框1和2与频谱匹配有关,特别是与为了启动消除所检测到的一个回声而必需满足的除频谱匹配以外的其他条件有关。
图20给出了在没有频谱匹配时进行削波的算法方框3、4和5。方框3在两个信道都判定为话声但没有检测到频谱匹配时执行。方框4在去话信道判定为噪声而来话信道判定为话声时执行。方框5在来话和去话两个信道都判定为噪声时执行。图21给出了其他的削波状况,步骤6和7。方框6消除一个前面没有消除的样点,如果这个样点是在两个消除样点之间的话。方框7含有在上个来话帧中检测到回声时应继续削波的其他状况。图22给出了禁止削波的状况,如算法方框8、9和10所示。方框8用来在识别出来话信道中开始有远端话声后禁止削波。方框9和10用来在识别出双方发话状况时也通过复位clip-echo标志来禁止削波。在跟踪削波算法的最后,如果clip-echo标志是置位的,就消除来话帧输出,否则就不作任何处理让它通过。
其他削波状况将在以后对给出本发明总体情况并示出消除未被上述削波器校正的残留回声影响的图27的讨论中加以说明。
图23示出了一段时间序列数据,是一个跟踪削波器用算法方框1至7(除了方框2)的条件检测回声的回声消除算法的实例。图23A示出了一个回声消除前的时间序列,来话话声信号在4000至5500之间,而在0至3500存在着不希望有的回声。图23B示出了回声消除后的时间序列,原有回声的间隙已用噪声加以填充。
下面将结合图24至26较为详细地说明噪声填充算法。图24列出了噪声填充过程的各个输入。噪声填充算法用来在每当检测到有削波状况时(例如,跟踪削波器消除回声时)就用噪声背景配入来话信道。
图26A示出了噪声填充子程序noise-fill()的伪码。在检测到80ms的相继来话“实际”噪声帧并将之存入Noise[]数组(除DCME噪声帧以外)以前噪声填充算法一直处于初始化状态。虽然是处在初始化状态(Nfill=0),但由于通过零填充进行了削波,因此仍需要某种噪声填充。初始化后(Nfill=1),噪声填充将噪声背景配入来话信道。这里说明的是两种噪声,然而,如果需要的话,可以用音调噪声和白噪声以外的其他噪声类型对算法加以补充。
噪声填充算法的第一个步骤是确定噪声的特性。图25A给出了确定噪声填充应该是音调噪声还是白噪声填充。如图所示,噪声特性是根据所收集到的来话信道噪声的频域和时域特性来确定的。如果收集到的来话信道噪声的频谱满足功率门限准则而收集到的来话信道噪声的时间序列又满足相关门限准则,那么这种噪声就归为以Nperiod表示音调噪声周期的音调噪声。如果不满足这两个准则中的任何一个准则,那么噪声就归为白噪声,Nperiod设置为800。可以选择lag1和lag2的值,使得在33Hz至2666Hz之间的音调得到检测。图25B示出一个音调噪声的自相关情况的例子。
一旦确定了噪声的特性,对于白噪声填充来说,通过从Noise[]数组中随机选取样点来进行填充。图26B和26C示出了用Noise[]数组进行白噪声填充的例子。
对于音调噪声来说,要根据存储在Nperiod变量中的音调持续期渐增地从Noise[]数组模块中选取样点进行填充。对于这两种填充情况,填充功率将与Noise[]数组或上一个话声帧的输出功率的最小值匹配。图26D和26E示出了从Noise[]数组产生音调噪声填充的例子。
图27A示出了本发明用于进一步降低噪声和加以改进的系统中的总体情况。远端接收通路接在图的左上方,而近端的发送通路示在左下方。对于每个通路分别在方框2714和2716处各配置了一个在本技术领域众所周知的简单的语音活动检测器。在接收通路中没有语音活动时,提供一种噪声降低算法,例如按照Woodson D.Wynn在1993年11月30日提出的美国专利申请No.08/160,770和后来在1995年5月31日提出的部分继续的美国专利申请No.08/455,932。
上述本发明的跟踪削波器示于方框2715,它按照在方框2701的延迟估计计算启动削波控制方框2704。如前面所述的延迟跟踪示于方框2702,它将一个输入提供给残留远端削波(RFEC)激活方框2703。作用于接收通路的话声波形鉴别方框2705将一个输入提供给RFEC削波器2706,再由削波器2706启动削波控制器2704。如下面还将说明的那样,发送通路中的语音活动检测器2716提供一个输入给回声窗预测过程2707,再由它控制RFEC削波器2706。
残留回声的影响可能出现在来自远端的来话帧中。残留远端回声的特征是与基准语音信号不呈线性关系,而且能量小、突发、持续期短、零星散布和不连续。因此,RFEC削波器根据它本身的包括信号功率的斜升在内的测量数据组、跟踪削波器2715的削波状态和来自检测器2716的发话声似然性进行操作。虽然跟踪削波器2715象上面所述那样利用对相关性计算的长期平均,但RFEC削波器并不利用相关性。按图27C和27D,RFEC削波器保持例如对一个具有10帧的循环缓存器中100ms的接收信号电平的滑动估计。在每个帧中,计算出包括大部分话声能量的频率低于2000Hz的信号功率,根据一组在一个残留回声预期电平左右的固定门限得出信号电平的估计。这个信号电平的估计降低了斜升检测的信号功率起伏。参见图27C,在例如循环缓存器中的五个交叠、相隔帧的信号电平的加权滑动估计超过门限(即22222)时,就作出功率斜升的判决。如图27D所示,100ms话声信号的加权信号电平用下式算得:
加权信号电平=(t+4帧的信号电平)*10000
+(t+2帧的信号电平)*1000
+(t帧的信号电平)*100
+(t-2帧的信号电平)*10
+(t-4帧的信号电平)*1
循环缓存器中这些帧的加权系数由接收到相应帧的次序确定。由于这算法具有四帧的处理延迟,因此如果在时间“t”的帧是输出帧,那么在时间t+4的t+4帧就是当前接收到的帧,而帧t-1、t-2、…、t-5都是已经按时输出的帧。如果跟踪削波器2715没有消除一个帧而信号功率高于预定门限或功率电平指示是在一个回声窗(下面将详细说明)内的功率斜升,那么RFEC削波器2706就不对这个帧作任何处理,让它通过。
如果信号电平低于残留回声门限,而且不具有发话声特征(即按图27E进行的格式检测)或在回声窗内信号持续期小于50ms,那么RFEC削波器2706将消除这个突发性的残留回声信号而代之以适当的噪声填充(由方框2713提供)。参见图27E,最好通过对语音信号频谱的格式检测来作出是否为发话声的判决。格式由从每个语音信号帧的线性预测计算(LPC)得出的频谱峰值和相邻谱线(LSF)的接近程度指示。图27E示出了从LPC得出的一个发话声信号的频谱、LPC频谱包络和10根谱线。例如,左起第一对LSF所指示的一个频谱峰说明一个格式频率在480Hz左右,而左起第三对LSF指示另一个格式频率在1700Hz左右。
再看一下图27B,在检测到回声而RFEC算法启动时,可能出现回声的时间间隔(称为回声窗)的大小和位置可以如图所示根据基准功率电平(即近端发送电平)、测得的回声延迟、语音检测和回声损耗电平得出。FREC削波器2706还测量跟踪削波器2715在回声窗内的活动情况。如果跟踪削波器2715在一个它已经有效消除回声的回声窗内停止削波,那么RFEC削波器2706将在没有格式检测的帧内继续消除回声。下面将逐个说明方框2701-2707的工作情况。
方框2701进行以上结合图6和8所说明的相关计算,用来确定发射和接收信号之间的回声延迟。延迟跟踪方框2702对方框2701得到的计算结果进行跟踪,产生一个稳定的回声延迟估计(毫秒)。如果延迟是在例如200至1000毫秒的范围内,RFEC启动控制方框2703使削波控制方框2704通过开关2710和2713为跟踪削波器方框2715和RFEC削波器2706双方开始消除回声和填充噪声。残留远端回声削波器2706通过同样的削波控制功能2704进行工作,因此在跟踪削波器2715不工作时进行削波。
削波控制器2704控制算法的输出。在削波控制器2704受到RFEC启动2703的驱动后,如果有一个信号帧需要消除,控制标志就可以由跟踪削波器2715和RFEC 2706相应加以置位。如果有一个削波标志被置位,削波控制器2704就控制开关,用适当的噪声填充2711来代替信号帧。如果没有削波标志被置位,开关2710输出的接收信号本算法不加处理,延迟一段固定的10ms时间(用来补偿处理时间)通过。类似,30ms延迟2708用来补偿噪声降低处理2709,这取决于开关2710的开关位置。
下面将说明话声波形鉴别器方框2705。话声波形鉴别器2705测量输入或接收信号帧是含有发话声还是含有功率斜升。再来看图27E,对于每一个帧,计算出频率低于2000Hz的信号功率和前两对相邻谱线的频谱峰值电平的测量值。参见图27C,如果功率电平超过门限,而且按它的100ms的历程来看呈增长趋势,那么就为当前信号帧将一个功率斜升标志置位。如果频谱峰值超过门限,就将一个格式检测标志置位。这些测量值存储在一个100ms(即10帧)的循环缓存器内。
在回声窗预测器2707指示了回声窗(见图27B)时,RFEC削波器2706从话声波形鉴别器2705取得那些测量值,确定所接收的信号是否应该消除。如果信号电平低于残留回声门限而且不具有发话声特征(即格式检测),或者在回声窗内信号的持续期小于50ms,那么就将削波控制器2704中的一个标志置位,以消除这信号。
参见图27B,在检测到回声而且RFEC算法启动时,回声窗预测器2707将预测接收信号的可能出现回波的时间间隔。由于残留回声受到非线性失真,因此不再与它的原来的信号相象,从而作为一个预测器不能用相关性计算。回声窗根据来自近端发送的基准功率电平、来自延迟跟踪2702的所测回声延迟、来自语音活动检测器2716的语音检测和来自延迟跟踪2702的回声损耗电平得出。
因此,以上示出和说明了一种作为实现远端回声控制算法的算法,这种算法用来检测回声(无论是强回声还是弱回声)、跟踪回声、消除回声(包括残留回声影响)和用电平适当的一种或另一种检测到的噪声来填充消除回声而留下的空隙。本发明可用于远程通信技术领域或其他领域。所有在这里所参考的美国专利或专利申请全部内容应认为列作本申请的参考。应当指出的是本发明的专利保护范围仅由所附权利要求书限定。
Claims (38)
1.一种处理在一个本地发话人与一个远地发话人之间的语音通信期间所产生的远程通信信号的装置,所述装置包括:
一个信号处理器,用来处理远程通信信号的样点;以及
一个循环缓存器,用来存储远程通信信号的样点。
2.按权利要求1所提出的装置,其中为近端信号配置了一个循环缓存器,还为远端信号配置了一个循环缓存器。
3.按权利要求2所提出的装置,其中所述远端信号循环缓存器包括一系列构成远端话声帧的数据结构。
4.按权利要求1所提出的装置,其中所述经采样的远程通信信号被汇集成一系列交叠的样点块。
5.按权利要求1所提出的装置,其中所述信号处理器包括一组具有顶至底控制结构的软件模块。
6.按权利要求1所提出的装置,其中所述信号处理器包括对近端和远端信号进行响应的一个语音活动检测器和一个延迟估计器,以及一个对延迟估计器和语言活动检测器进行响应、用来消除回声的跟踪削波器。
7.按权利要求6所提出的装置,其中所述信号处理器还包括一个对回声消除作出响应、插入噪声填充的噪声填充功能块。
8.按权利要求1所提出的装置,其中所述信号处理器包括一个对本地和远地信号进行响应的延迟估计器和一个对延迟估计器进行响应的跟踪削波器。
9.按权利要求1所提出的装置,其中所述信号处理器包括一个话声波形鉴别器、一个回声窗预测器和一个对所述话声波形鉴别器和所述回声窗预测器进行响应、用来消除残留回声的削波器。
10.一种处理在一个本地发话人与一个远地发话人之间的语音通信期间所产生的远程通信信号的方法,所述方法包括下列步骤:
将通信信号数据存入一个循环缓存器;以及
在1)计算和平均功率谱和交叉谱,和2)计算相关性之间分配实时处理任务。
11.一种如在权利要求10中所提出的方法,其中所述循环缓存器存储一系列交叠的样点块。
12.一种如在权利要求11中所提出的方法,其中第一和第二循环缓存器分别存储近端和远端信号,所述方法还包括检索循环缓存器的步骤。
13.一种如在权利要求10中所提出的方法,所述方法还包括将信号延迟计算数据组织在一些数据结构内的步骤。
14.一种如权利要求11中所提出的方法,其中所述存储步骤还包括获取话声帧、执行频谱计算和对帧进行计数直到达到一个确定相关性所需的预定帧数这几个步骤。
15.一种如在权利要求14中所提出的方法,其中所述执行频谱计算的步骤之前有进行加海宁窗和付立叶分析这两个步骤。
16.一种如在权利要求15中所提出的方法,其中所述付立叶分析之后接着进行抽取处理。
17.一种处理在一个本地发话人与一个远地发话人之间的语音通信期间所产生的远程通信信号的方法,所述方法包括下列步骤:
将近端和远端数据的输入数据流组织入循环和非循环缓存器;
计算与近端和远端数据之间最大相关性相应的数据;以及
确定回声位置。
18.一种如在权利要求17中所提出的方法,所述方法还包括消除所述回声和用噪声填充代替所述回声这两个步骤。
19.一种如在权利要求17中所提出的方法,所述方法还包括确定爆裂声的位置和用噪声填充代替所述爆裂声这两个步骤。
20.一种如在权利要求17中所提出的方法,所述方法还包括检测语音活动情况、预测回声窗和确定残留回声影响位置这几个步骤。
21.一种为了减小在一个本地发话人与一个远地发话人之间的语音通信期间出现的回声的影响对远程通信信号的处理方法,所述方法包括下列步骤:
检测回声;
跟踪所述回声;
消除所述回声;以及
用噪声填充所述回声消除后留下的空隙。
22.一种如在权利要求21中所提出的为了减小回声影响对远程通信信号的处理方法,所述方法还包括下列步骤:
检测来话信道中的高度非线性回声;以及
如果检测到的话,对来自远地发话人的来话信道进行削波。
23.一种如在权利要求21中所提出的为了减小回声影响对远程通信信号的处理方法,所述方法还包括下列步骤:
跟踪噪声;以及
确定所存在的是至少两种噪声中的哪种噪声,
而所述用噪声填充回声消除后留下的空隙的步骤还包括用所确定的那种噪声填充所述空隙这个步骤。
24.一种如在权利要求23中所提出的信号处理方法,其中所述确定噪声类型的步骤包括确定噪声具有音调噪声还是白噪声的特征这个步骤。
25.一种如在权利要求24中所提出的信号处理方法,其中所述噪声填充的步骤在用音调噪声填充时包括产生一些在语音频率范围内的音调频率这个步骤。
26.一种为了减小回声影响对远程通信信号的处理方法,所述方法包括下列步骤:
计算倒频谱距离;
匹配来话和去话信道的功率谱;以及
根据功率谱匹配情况确定削波的延迟和功率电平条件。
27.一种如在权利要求26中所提出的方法,所述方法还包括对来话和去话信道加海宁窗、快速付立叶分析和抽取快速付立叶分析结果这几个预备步骤。
28.一种消除爆裂声的方法,所述方法包括下列步骤:
存储一组来话数据帧;以及
识别相继来话数据帧之间的非话声性的尖峰形的功率变化。
29.一种如在权利要求28中所提出的方法,所述方法还包括消除尖峰形功率变化并代之以噪声填充这个步骤。
30.一种从所接收的由远端产生的信号中消除回声的装置,所述装置包括:
一个语音活动检测器,用来检测在所接收的远端信号和近端信号中的语音活动情况;
一个延迟估计器,用来估计所接收的远端信号和近端信号中的延迟;以及
一个跟踪削波器,所述跟踪削波器对语音活动检测器和延迟估计器进行响应,用来驱动对回波的消除操作。
31.按权利要求30所提出的消除回声的装置,所述装置还包括一个用噪声代替被消除的回声的噪声填充器。
32.按权利要求30所提出的消除回声的装置,所述装置还包括一个对检测接收信号中语音活动情况的所述语音活动检测器进行响应、用来降低噪声的降噪器。
33.按权利要求30所提出的装置,所述装置还包括一个对延迟估计器进行响应的延迟跟踪器和一个对所述延迟跟踪器进行响应的残留远端回声驱动器。
34.按权利要求30所提出的装置,所述装置还包括一个对接收信号进行响应的话声波形鉴别器、一个对检测发送信号中语音活动情况的语音活动检测器进行响应的回声窗预测器和一个用来驱使消除残留回声影响的残留远端回声削波器。
35.按权利要求34所提出的装置,所述装置还包括一个用噪声代替被消除的残留回声的噪声填充器。
36.一种能实时操作、处理在包括一个本地信号和一个远地信号的声频通信期间所产生的远程通信信号的装置,所述装置包括:
一个延迟估计器,用来寻求与一个如本地发话人从一个远地发话人接收到那样的本地信号回声相应的延迟;以及
一个跟踪器,用来维护整个声频通信期间的延迟估计。
37.一种检测远程通信信道中出现回声的方法,所述方法包括下列步骤:
存储经平均的远程通信信道延迟相关性的相关性直方图;以及
根据相关性直方图的峰值是否超过一个相关性门限检测是否出现回声。
38.一种将远程通信信道噪声归为音调噪声的方法,所述方法包括下列步骤:
确定所收集的来话远程通信信道信号的频谱是否满足功率门限准则;
确定所收集的来话信道信号的时间序列是否满足相关性门限准则;以及
如果对于功率和相关性的门限准则都满足,则将这噪声归为音调噪声。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US831,874 | 1997-04-02 | ||
US08/831,874 US6167133A (en) | 1997-04-02 | 1997-04-02 | Echo detection, tracking, cancellation and noise fill in real time in a communication system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1195932A true CN1195932A (zh) | 1998-10-14 |
Family
ID=25260071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98106126.5A Pending CN1195932A (zh) | 1997-04-02 | 1998-04-01 | 通信系统中的实时回声检测、跟踪、对消以及噪声填充 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6167133A (zh) |
EP (1) | EP0869624A3 (zh) |
JP (1) | JPH10285082A (zh) |
CN (1) | CN1195932A (zh) |
CA (1) | CA2233424C (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010083641A1 (zh) * | 2009-01-20 | 2010-07-29 | 华为技术有限公司 | 双端通话检测方法及装置 |
CN102089806B (zh) * | 2008-07-11 | 2012-12-05 | 弗劳恩霍夫应用研究促进协会 | 噪声填充器、噪声填充参数计算器、用于提供噪声填充参数的方法/用于提供音频信号的填充了噪声的频谱表示的方法 |
CN101778183B (zh) * | 2009-01-13 | 2013-06-05 | 华为终端有限公司 | 一种残留回声抑制方法及设备 |
CN103748865A (zh) * | 2011-08-17 | 2014-04-23 | 阿尔卡特朗讯 | 利用不可听音调的声学回音消除器的时钟偏斜补偿 |
CN107635082A (zh) * | 2016-07-18 | 2018-01-26 | 深圳市有信网络技术有限公司 | 一种双端发声端检测系统 |
CN109841222A (zh) * | 2017-11-29 | 2019-06-04 | 腾讯科技(深圳)有限公司 | 音频通信方法、通信设备及存储介质 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2348783B (en) * | 1999-04-07 | 2004-01-14 | British Broadcasting Corp | Improvements relating to OFDM receivers |
US6771701B1 (en) * | 1999-05-12 | 2004-08-03 | Infineon Technologies North America Corporation | Adaptive filter divergence control in echo cancelers by means of amplitude distribution evaluation with configurable hysteresis |
US6469988B1 (en) * | 1999-07-08 | 2002-10-22 | Conexant Systems, Inc. | Low-level circuit implementation of signal flow graphs for real-time signal processing of high-speed digital signals |
US6438225B1 (en) * | 2000-01-13 | 2002-08-20 | Motorola, Inc. | Method and system for detecting and controlling severe echo |
EP1117191A1 (en) * | 2000-01-13 | 2001-07-18 | Telefonaktiebolaget Lm Ericsson | Echo cancelling method |
US6351531B1 (en) * | 2000-01-21 | 2002-02-26 | Motorola, Inc. | Method and system for controlling echo cancellation using zero echo path, ringing, and off-hook detection |
US6813351B1 (en) * | 2000-11-21 | 2004-11-02 | Motorola, Inc. | Method and apparatus for echo cancellation that suppresses echo leak through |
US6731747B2 (en) | 2001-02-23 | 2004-05-04 | Skyworks Solutions, Inc. | Signal detector with echo cancellation |
EP1301018A1 (en) * | 2001-10-02 | 2003-04-09 | Alcatel | Apparatus and method for modifying a digital signal in the coded domain |
US6836547B2 (en) * | 2001-12-20 | 2004-12-28 | Motorol, Inc. | Protecting an echo canceller against random transitions in echo paths |
US6912281B2 (en) * | 2002-12-30 | 2005-06-28 | Texas Instruments Incorporated | Route delay sensitive echo cancellation |
US7020246B2 (en) * | 2003-06-30 | 2006-03-28 | Intel Corporation | Time domain reflected signal measurement using statistical signal processing |
US7460498B2 (en) * | 2003-12-04 | 2008-12-02 | Adtran, Inc. | System and method for detecting anomalies along telecommunication lines |
US7450528B1 (en) * | 2004-02-17 | 2008-11-11 | Dialogic Corporation | Method and apparatus for performing echo suppression |
US7516069B2 (en) * | 2004-04-13 | 2009-04-07 | Texas Instruments Incorporated | Middle-end solution to robust speech recognition |
US20060018457A1 (en) * | 2004-06-25 | 2006-01-26 | Takahiro Unno | Voice activity detectors and methods |
JP4594854B2 (ja) * | 2005-11-30 | 2010-12-08 | 日本電信電話株式会社 | 音声スイッチ方法、音声スイッチ装置、音声スイッチプログラム及びそのプログラムを記録した記録媒体 |
JP4692291B2 (ja) | 2006-01-13 | 2011-06-01 | 沖電気工業株式会社 | エコーキャンセラ |
US20070263848A1 (en) * | 2006-04-19 | 2007-11-15 | Tellabs Operations, Inc. | Echo detection and delay estimation using a pattern recognition approach and cepstral correlation |
GB2445059A (en) * | 2006-12-20 | 2008-06-25 | Oki Electric Ind Co Ltd | Echo canceller |
US8260613B2 (en) * | 2007-02-21 | 2012-09-04 | Telefonaktiebolaget L M Ericsson (Publ) | Double talk detector |
US8036879B2 (en) | 2007-05-07 | 2011-10-11 | Qnx Software Systems Co. | Fast acoustic cancellation |
US20090257455A1 (en) * | 2008-04-15 | 2009-10-15 | Tellabs Operations, Inc. | Method and apparatus for synchronizing timing of signal packets |
JP5239594B2 (ja) * | 2008-07-30 | 2013-07-17 | 富士通株式会社 | クリップ検出装置及び方法 |
CN102780821B (zh) * | 2012-07-06 | 2014-08-13 | 歌尔声学股份有限公司 | 一种送受话端采样率偏差纠正方法和系统 |
PL2951818T3 (pl) | 2013-01-29 | 2019-05-31 | Fraunhofer Ges Forschung | Koncepcja wypełniania szumem |
CN103413554B (zh) * | 2013-08-27 | 2016-02-03 | 广州顶毅电子有限公司 | Dsp延时调整的去噪方法及装置 |
US9672821B2 (en) * | 2015-06-05 | 2017-06-06 | Apple Inc. | Robust speech recognition in the presence of echo and noise using multiple signals for discrimination |
EP3863271A1 (en) | 2020-02-07 | 2021-08-11 | TeamViewer Germany GmbH | Method and device for enhancing a full duplex communication system |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5586275A (en) * | 1989-05-04 | 1996-12-17 | Texas Instruments Incorporated | Devices and systems with parallel logic unit operable on data memory locations, and methods |
US5617574A (en) * | 1989-05-04 | 1997-04-01 | Texas Instruments Incorporated | Devices, systems and methods for conditional instructions |
DE69130687T2 (de) * | 1990-05-28 | 1999-09-09 | Matsushita Electric Industrial Co. | Sprachsignalverarbeitungsvorrichtung zum Herausschneiden von einem Sprachsignal aus einem verrauschten Sprachsignal |
US5157653A (en) * | 1990-08-03 | 1992-10-20 | Coherent Communications Systems Corp. | Residual echo elimination with proportionate noise injection |
US5307405A (en) * | 1992-09-25 | 1994-04-26 | Qualcomm Incorporated | Network echo canceller |
US6009082A (en) * | 1993-01-08 | 1999-12-28 | Multi-Tech Systems, Inc. | Computer-based multifunction personal communication system with caller ID |
US5784532A (en) * | 1994-02-16 | 1998-07-21 | Qualcomm Incorporated | Application specific integrated circuit (ASIC) for performing rapid speech compression in a mobile telephone system |
US5530762A (en) * | 1994-05-31 | 1996-06-25 | International Business Machines Corporation | Real-time digital audio reverberation system |
US5592556A (en) * | 1994-08-09 | 1997-01-07 | Ericsson Ge Mobile Communications Inc. | Digital radio with vocoding encrypting codec |
US5812951A (en) * | 1994-11-23 | 1998-09-22 | Hughes Electronics Corporation | Wireless personal communication system |
US5587998A (en) * | 1995-03-03 | 1996-12-24 | At&T | Method and apparatus for reducing residual far-end echo in voice communication networks |
US5708704A (en) * | 1995-04-07 | 1998-01-13 | Texas Instruments Incorporated | Speech recognition method and system with improved voice-activated prompt interrupt capability |
US5561668A (en) * | 1995-07-06 | 1996-10-01 | Coherent Communications Systems Corp. | Echo canceler with subband attenuation and noise injection control |
US5721830A (en) * | 1995-09-12 | 1998-02-24 | Pc-Tel, Inc. | Host signal processing communication system that compensates for missed execution of signal maintenance procedures |
US6026150A (en) * | 1997-10-30 | 2000-02-15 | Epigram | Network protocol--based home entertainment network |
-
1997
- 1997-04-02 US US08/831,874 patent/US6167133A/en not_active Expired - Lifetime
-
1998
- 1998-03-09 EP EP98301691A patent/EP0869624A3/en not_active Withdrawn
- 1998-03-26 CA CA002233424A patent/CA2233424C/en not_active Expired - Fee Related
- 1998-03-30 JP JP10083558A patent/JPH10285082A/ja active Pending
- 1998-04-01 CN CN98106126.5A patent/CN1195932A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102089806B (zh) * | 2008-07-11 | 2012-12-05 | 弗劳恩霍夫应用研究促进协会 | 噪声填充器、噪声填充参数计算器、用于提供噪声填充参数的方法/用于提供音频信号的填充了噪声的频谱表示的方法 |
CN101778183B (zh) * | 2009-01-13 | 2013-06-05 | 华为终端有限公司 | 一种残留回声抑制方法及设备 |
WO2010083641A1 (zh) * | 2009-01-20 | 2010-07-29 | 华为技术有限公司 | 双端通话检测方法及装置 |
CN102160296A (zh) * | 2009-01-20 | 2011-08-17 | 华为技术有限公司 | 双端通话检测方法及装置 |
US8160238B2 (en) | 2009-01-20 | 2012-04-17 | Huawei Technologies Co., Ltd. | Method and apparatus for double-talk detection |
CN103748865A (zh) * | 2011-08-17 | 2014-04-23 | 阿尔卡特朗讯 | 利用不可听音调的声学回音消除器的时钟偏斜补偿 |
CN103748865B (zh) * | 2011-08-17 | 2015-08-19 | 阿尔卡特朗讯 | 利用不可听音调的声学回音消除器的时钟偏斜补偿 |
CN107635082A (zh) * | 2016-07-18 | 2018-01-26 | 深圳市有信网络技术有限公司 | 一种双端发声端检测系统 |
CN109841222A (zh) * | 2017-11-29 | 2019-06-04 | 腾讯科技(深圳)有限公司 | 音频通信方法、通信设备及存储介质 |
CN109841222B (zh) * | 2017-11-29 | 2022-07-01 | 腾讯科技(深圳)有限公司 | 音频通信方法、通信设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP0869624A2 (en) | 1998-10-07 |
JPH10285082A (ja) | 1998-10-23 |
EP0869624A3 (en) | 1999-12-15 |
CA2233424A1 (en) | 1998-10-02 |
CA2233424C (en) | 2001-11-27 |
US6167133A (en) | 2000-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1195932A (zh) | 通信系统中的实时回声检测、跟踪、对消以及噪声填充 | |
CN1086072C (zh) | 电信链路的干扰检测系统和方法 | |
CN108156331B (zh) | 一种智能自动拨号外呼方法 | |
EP3703052B1 (en) | Echo cancellation method and apparatus based on time delay estimation | |
US6775653B1 (en) | Method and apparatus for performing double-talk detection with an adaptive decision threshold | |
CN1064772C (zh) | 语音活动性检测器 | |
EP1998539B1 (en) | Double talk detection method based on spectral acoustic properties | |
US8005675B2 (en) | Apparatus and method for audio analysis | |
US6988064B2 (en) | System and method for combined frequency-domain and time-domain pitch extraction for speech signals | |
US20040170258A1 (en) | Predictive dialing system and method | |
PL174216B1 (pl) | Sposób redukcji w czasie rzeczywistym szumu transmisji mowy | |
CN103377651B (zh) | 语音自动合成装置及方法 | |
US20010014857A1 (en) | A voice activity detector for packet voice network | |
JP2003517751A (ja) | スペクトル分析による近端話者検出のためのシステムと方法 | |
JP2000503837A (ja) | エコー測度を計算する方法および装置 | |
CN109643553A (zh) | 使用稀疏预测滤波器集的调适的回波估计及管理 | |
US6199036B1 (en) | Tone detection using pitch period | |
CN106920543B (zh) | 语音识别方法及装置 | |
JP3466643B2 (ja) | 電話の信号の分類と電話によるメッセージの伝達方法とシステム | |
US8009825B2 (en) | Signal processing | |
CN1745562A (zh) | 使用指示回波的信息表征故障 | |
EP1506650B1 (en) | Time delay estimation for equalisation | |
MXPA98002475A (es) | Deteccion seguimiento, cancelacion y llenado con interferencia de eco en tiempo real en un sistema de comunicaciones | |
JP2962210B2 (ja) | ダイヤル検出装置 | |
AU691045C (en) | Echo cancellation using cross-correlation of buffered receive and transmit sample segments to determine cancelling filter coefficients |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |