一种确定回声消除中系统延时的方法与流程

文档序号:11834546阅读:1229来源:国知局

本发明属于回声消除技术领域,具体涉及一种确定回声消除中系统延时的方法。



背景技术:

随着技术的不断进步和网络带宽的不断提升,直接通过手机、平板电脑等移动终端进行视频直播已经成为现实,并已深入到人们的生活中。尽管相较于视频音频(语音)的编码复杂度和码流均要小得多,但由于受网络延时、网络丢包等问题影响,在通讯过程中会产生回声(Echo),从而影响用户体验,有必要对回声进行处理,尽量降低回声对终端用户的影响。

通讯中的回声可分为声学回声(Acoustic Echo)和线路回声(Line Echo)。声学回声是由于扬声器的声音又被送至麦克风,和输入语音混合到一起被传输到通讯对方;线路回声是由于物理电子线路的二四线匹配耦合产生的。通常是引入声学回声消除器(Acoustic Echo Canceler,AEC)和线路回声消除器(Line Echo Canceler,LEC),相应的回声消除技术通常也可称为AEC(Acoustic Echo Cancellation)和LEC(Line Echo Cancellation)。

在移动视频直播中只有声学回声,因此本发明只考虑声学回声的消除。

目前的回声消除算法主要是采用自适应滤波器模拟回声路径,并使其冲激响应与实际回声路径尽可能的接近,从而得到回声信号的估计值,再将该估计值从近端采样的语音信号中减去即可实现回声的消除。

实际应用中典型的自适应算法包括:最小均方(Least Mean Square,LMS)算法、归一化最小均方(Normalized Least Mean Square,NLMS)算法、仿射投影(Affine Projection Algorithm,APA)算法、快速横向滤波(Fast Transverse Filter Algorithm)算法,块自适应(Block-Adaptive Algorithm)以及加前置去相关滤波器的算法。但这些自适应算法要么收敛速度慢,要么计算复杂度高,并且对于时延较大的网络环境,回声消除效果不好。



技术实现要素:

本发明针对现有技术中存在的问题,提供了一种确定回声消除中系统延时的方法。其基本原理是对近端采集语音信号和参考信号做频谱能量进行相似性计算,简单而高效地估计出系统的时延,然后根据确定的系统延时,对参考信号进行滤波模拟产生回波信号,最后通过增益减法消除回声信号。

一种确定回声消除中系统延时的方法,所述方法包括以下步骤:

步骤一:对近端语音信号和远端参考信号作分段交叠处理,设每段的信号时长为T,交叠时间为Δt,每次处理的信号分段数为n,其中Δt≤T/2;

步骤二:对交叠信号使用汉明窗进行加窗处理,得到加窗后的近端语音信号和加窗后的远端参考信号;

步骤三:对步骤二所述加窗后的近端语音信号进行N位FFT运算,得到近端语音信号的频谱,其中N≥T;

步骤四:对步骤二所述加窗后的远端参考信号进行N位FFT运算,得到远端参考信号的频谱,其中N≥T;

步骤五:对步骤三所述的近端语音信号的频谱和步骤四所述的远端参考信号的频谱按幅值大小进行降序排序;

步骤六:得到排序后的频谱后,进一步确定二值化的频谱数M;

步骤七:得到频谱数M后,对所述近端语音信号和远端参考信号的频谱做二值化处理,得到近端语音信号和远端参考信号的二进制数;

步骤八:对步骤七中所述的两个二进制数,计算它们的海明距离;

步骤九:重复步骤四至八,计算出n段分段信号的对应海明距离,并对海明距离求和,记为d0;

步骤十:以当前时间点为基准,将参考信号向前移动Δt,重复步骤四至九,得到海明距离d1;

步骤十一:将参考信号不断前移,重复步骤四至九,得到海明距离d2,d3,……dn;

步骤十二:搜索所述步骤十得到的海明距离d1和步骤十一得到的海明距离d2,d3,…dn的最小值,其对应的时间偏移即为要求的系统延时。

进一步地,所述步骤六中频谱数M的具体确定方法为:设频谱总能量为其中ωi为对应频率为的频谱系数,给定阈值α,按公式计算M,其中,α<1。

进一步地,所述α取值0.8。

进一步地,所述步骤七的具体方法为:针对近端语音和远端参考信号的频谱,分别初始化一个N位的二进制数为0,其中第i位对应于频率将步骤五中计算出的M个频谱系数对应二进制数置1。

进一步地,所述步骤八的具体方法为:用个int类型的整数表示步骤六中的二进制数,分别求取对整数的异或并统计二进制结果中比特位为1的个数,相加即可得到要计算的海明距离。

进一步地,确定系统延时后,利用该系统延时,对参考信号的频谱进行滤波,然后通过增益削减法消除回声,得到消除回声后的近端输入频域信号。

进一步地,对所述消除回声后的近端输入频域信号进行非线性处理,得到消除回声后的近端输入信号,从而得到更高的语音质量。

与现有技术相比,本发明的方法在消除回声时具有收敛速度快,计算方法简单,且对于时延较大的网络环境,回声消除效果较好等优点。

具体实施方式

下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。

在本发明的实施方式中,语音信号有两部分,一部分为远端参考信号,通过解码对端通过网络传输过来的数据包得到;另一部分为近端语音信号,通过移动终端的声音采集系统采集得到。

如图1所示,得到语音信号后,首先进行分段和交叠处理(Overlap),该处理方式为常规技术。假定每个分段的时长为T,交叠时间为Δt(Δt≤T/2),每次处理的语音分段数为n。由于信号的准平稳性,以及语音基频周期的限制,通常T可以取10ms。交叠处理一般要求每个分段有不少于50%的交叠,本实施例中Δt取5ms。每次处理的语音数据对应的实际时长为(n-1)*Δt+T,为保证计算时延的精度范围,前述表达式应与最大时延相当,本实施例中n可取99,对应的语音数据的实际时长为500ms。

加窗也是常规技术,通常选取Hamming窗,具体长度取决于语音的实际采样率。

快速傅里叶变换(FFT)也是常规技术,位数N不小于数据的实际长度。N越大频谱的分辨率越高,但计算量也越大。本实施例中N取512已经足够,因为即使采样率为48KHz,每个分段的数据也就为480点。

得到远端参考信号和近端信号每个分段的频谱后,按幅值大小(能量)进行降序排序,注意排序后仍要保留对应频率的信息。

得到排序后的频谱后,进一步确定二值化的频谱数M。具体方法如下:设频谱总能量为其中ωi为对应频率为的频谱系数,给定阈值α(α<1),按公式计算M。在实际操作中,α不宜过大也不宜过小。实验表明α优选为0.8。

得到频谱数M后,即可对近端语音和远端参考信号的频谱做二值化处理。具体方法如下:针对近端语音和远端参考信号的频谱分别初始化一个N位(bit)的二进制数为0,其中第i位对应于频率将上述步骤中计算出的M个频谱系数对应bit置1;

对上述步骤中的两个二进制数,计算它们之间的海明距离。具体地,可用个int类型的整数表示这两个二进制数,分别求取对整数的异或并统计二进制结果中比特位为1的个数,相加即可得到要计算的分段海明距离。

对所有分段重复上述步骤,直至所有分段处理完毕,可得到n个分段海明距离,将这些分段海明距离相加得到一个总的海明距离。

以当前时间点为基准,将参考信号向前移动Δt,重复上述步骤,直至前移结束。前移的总时间ΔT取决于所要计算的系统时延,该值应与最大系统时延相当,本实施例中ΔT取500ms(该值可根据实际应用场景作调整),这样前移的次数为ΔT/Δt=100次,这样一共得到100个总的海明距离。

搜索这100个海明距离中最小值,其对应的时间偏移即为要求的系统延时。容易看出,该系统时延的最小精度为Δt,实际应用中如果需要更高精度的系统延时,可在该得到的系统延时基础上,在它的邻域做更小精度的时延计算。

在得到系统延时后,即可进行声学回声消除。先进行频域滤波,再通过增益削减法(Gain Reduction)即可消除绝大部分回声。由于频域滤波和增益削减法均是常规技术,这里不作详细讨论。要进一步得到更高的语音质量,可对消除回声后的近端输入频域信号进行非线性处理,得到消除回声后的近端输入信号。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1