一种实时通信系统中的自动声反馈检测与消除方法与流程

文档序号:19104810发布日期:2019-11-12 22:33阅读:340来源:国知局
一种实时通信系统中的自动声反馈检测与消除方法与流程

本发明涉及语音通信技术领域,尤其涉及一种实时通信系统中的自动声反馈检测与消除方法。



背景技术:

声反馈是音箱声音能量的一部分通过声传播的方式传到传声器而引起的啸叫现象,在出现啸叫前的临界状态,会出现振铃声(即声音停止后的高频尾声),此时一般也认为是声反馈现象。

扩声系统出现啸叫的主要原因是系统中某些频率的声音(信号)过强,当提升传声器通路增益时,由于这些过强的频率率先到达声反馈所需要的强度条件,如果该频率的反馈类型恰为正反馈,则必然在此频率上出现自激振荡现象,自激振荡频率的高低,表现为啸叫声音音调的高低。

声反馈是语音会议和VOIP系统在扬声器环境中的常见现象,其产生原理和扩音系统出现啸叫一样,都是由于正反馈在某些频率上出现自激振荡而产生。其一旦产生将严重影响通信质量和主观感受,严重时甚至会导致音箱或功率放大器由于信号过强而烧毁。

频率均衡法又称EQ滤波器法,是通过调整信号不同频段内的增益来消除或抑制啸叫的一种方法。其可以通过音响师手工调整来实现,也可以通过计算EQ滤波器来实现,但实际效果往往受经验影响,并且会对音质产生较大的影响。

反馈抑制器法用于要求很高的场合,用以自动跟踪反馈点频率,自动调整Q值带宽,自动将声反馈消除而又最大限度地保护了音质。其原理就是通过陷波抵制啸叫的。但该方法的效果依赖于啸叫点估计的准确性,如果不能准确估计啸叫点,则不能有效可靠的消除啸叫。

本发明提供了一种实时通信系统中的自动声反馈检测和消除方法,可以快速、准确、有效的检测和消除声反馈,明显地提升通话质量,在语音会议、扬声器语音通信中具有非常重要的应用价值。



技术实现要素:

鉴于上述的分析,本发明旨在提供一种实时通信系统中的自动声反馈检测与消除方法,用以解决现有技术需要人工干预、影响音质以及准确性不足的问题。

本发明的目的主要是通过以下技术方案实现的:

一种实时通信系统中的自动声反馈检测与消除方法,其特征在于,包括:

步骤1、采集音频数据,初始化历史啸叫估计信息;

步骤2、对每帧音频数据进行重叠、加窗、FFT变换,获得时域到频域的变换数据;

步骤3、计算频域数据的峰值功率比、峰值区间,获得峰值功率和峰值区间;

步骤4、遍历分析所有的峰值信息,若FFT幅度大于设定阈值,且对应的峰值功率比大于设定阈值,则认为该峰值所处频点为当前帧的可疑啸叫频点,遍历完毕后即获得了当前帧可疑啸叫频点信息;

步骤5、利用峰值信息、当前帧可疑啸叫频点信息,更新历史啸叫估计信息;

步骤6、分析更新后的历史啸叫点估计信息,完成当前帧啸叫点判定;

步骤7、根据当前帧啸叫点判定结果,生成对应的陷波器。

所述步骤1中的历史啸叫估计信息包括:可疑啸叫点队列、可疑啸叫点对应的计数器队列、可疑啸叫点对应的偏移量队列、可疑啸叫点对应的静音计数器队列。

所述步骤5进一步包括:

遍历当前帧所有的可疑啸叫点Hi,i=1,…,N;针对Hi,遍历历史可疑啸叫点查询Hi,如果找到Hi,则其对应的计数器加1,对应的偏移量不变,对应的静音计数器置为-1;否则将Hi加入历史可疑啸叫点队列,对应的计数器为1,对应的偏移量为0,对应的静音计数器为0;

遍历历史可疑啸叫点队列中的每个可疑啸叫点,如果其非当前帧中的可疑啸叫频点,则对该频点进行静音频点判定,如果为静音频点,其对应的静音计数器加1,其他信息不变;否则删除该可疑啸叫点。

所述步骤6进一步包括:

遍历更新的历史啸叫点估计信息,如果其中的可疑啸叫点对应的计数器大于5,偏移量小于2,静音计数器小于50,则该可疑啸叫点被判定为当前帧啸叫点;如果偏移量大于2或者静音计数器大于50,则移除该可疑啸叫点。

所述陷波器由啸叫点频率、增益、滤波带宽确定,采用2阶iir结构。

所述步骤7进一步包括:

产生啸叫时立即启用陷波器滤波,并持续滤波时长;如果确认啸叫结束,则提前终止滤波。

所述如果确认啸叫结束,则提前终止滤波进一步包括:

通过频域分析将信号分为静音帧、噪声帧、语音帧、语音+啸叫帧、啸叫帧、未知帧,如果检测到语音帧则立即提前终止滤波。

本发明有益效果如下:

可以快速、准确、有效的检测和消除声反馈,明显地提升通话质量,在语音会议、扬声器语音通信中具有非常重要的应用价值。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。

图1为实时通信系统中的自动声反馈检测与消除方法的整体流程图;

图2为更新历史啸叫点估计信息的流程图。

具体实施方式

下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。

本发明的实施例提供了一种实时通信系统中的自动声反馈检测与消除方法,如图1所示,包括以下步骤:

a)从麦克风采集音频数据,每帧音频数据含有N_sample个样本点,初始化历史啸叫估计信息(其中包括可疑啸叫点队列、可疑啸叫点对应的计数器队列、可疑啸叫点对应的偏移量队列、可疑啸叫点对应的静音计数器队列);其中,这里的N_sample一般为1024或2048,采样率为8KHz时N_sample为1024,采样率为16KHz时N_sample为2048,本实施例中N_sample为1024,采样率为8000;

b)对每帧音频数据进行重叠、加窗、FFT变换,获得时域到频域的变换数据;

首先对音频数据进行重叠处理。重叠的量可以变化(常见重叠为25%、50%和75%,或者跳大小分别为75%、50%和25%),但在优选实施例中,重叠为75%或者跳大小为25%。

重叠后的音频数据被加窗。各种加窗方法在本领域中是已知的,其用来处理时域信号的样本,并且本发明实施例不限于任何特定的加窗方法。

对经加窗的数据执行FFT,以将时域信号转变到频域。

c)分析频域数据,计算峰值功率比,同时计算峰值区间,获得M(本实施例中为10)个峰值功率和峰值区间;其中,峰值功率比为峰值功率与平均功率之比,只不过这里的平均功率是去掉了M个峰值功率后的平均功率。峰值区间以峰值为中心,左右各偏移2个频点。

d)遍历分析所有的峰值信息,若FFT幅度大于设定阈值(本实施例中为5000),且对应的峰值功率比大于设定阈值(本实施例中为5.0),则认为该峰值所处频点为可疑啸叫频点,遍历完毕后即获得了当前帧所有的可疑啸叫频点;

e)利用峰值信息、当前帧可疑啸叫频点信息,完成并更新历史啸叫估计信息,更新历史啸叫点估计信息的具体方法如图2所示,包括以下子步骤:

1.遍历当前帧所有的可疑啸叫点Hi,i=1,…,N;

2.针对Hi,遍历历史可疑啸叫点查询Hi,如果找到Hi,则其对应的计数器加1,对应的偏移量不变,对应的静音计数器置为-1;否则将Hi加入历史可疑啸叫点队列,对应的计数器为1,对应的偏移量为0,对应的静音计数器为0;

3.继续对Hi+1进行如步骤2的判定,直到遍历完毕当前帧所有的Hi;

4.遍历历史可疑啸叫点队列中的每个可疑啸叫点,如果其非当前帧中的可疑啸叫频点,则对该频点进行静音频点判定,如果为静音频点,其对应的静音计数器加1,其他信息不变;否则删除该可疑啸叫点。上述的静音频点判定准则是,该频点在当前帧中的FFT幅度小于2000,或者其功率与平均功率比小于-10;

5.直至完成上述遍历过程,从而得到了更新的历史啸叫点估计信息;

f)通过分析更新后的历史啸叫点估计信息,完成当前帧啸叫点判定,具体判定方法为,遍历更新的历史啸叫点估计信息,如果其中的可疑啸叫点对应的计数器大于5,偏移量小于2,静音计数器小于50,则该可疑啸叫点被判定为当前帧啸叫点;如果偏移量大于2或者静音计数器大于50,则移除该可疑啸叫点;

g)根据啸叫点判定结果,更新并生成对应的陷波器,陷波器由啸叫点频率、增益、滤波带宽三个参数来确定,采用2阶iir结构;

特别地,这里采用陷波器池机制(即一个陷波器的缓存环,使用陷波器时从中获取,不使用时放回),支持20个陷波器同时执行,并支持循环使用,即再出现同一啸叫频点时,直接使用陷波器池中的陷波器,而不再产生新陷波器;所述陷波器的增益和带宽是其啸叫频率的曲线函数;

进行陷波器滤波时采用了滤波时长和终止滤波的设计,本发明具体实施例中,产生啸叫时立即启用陷波器滤波,并持续滤波时长(默认为2.5s),一旦确认啸叫结束,则应提前终止滤波;这里通过语音信号分类检测算法实现,通过频域分析将信号分为静音帧、噪声帧、语音帧、语音+啸叫帧、啸叫帧、未知帧,如果检测到语音帧则立即提前终止滤波。

综上所述,本发明实施例提供了一种实时通信系统中的自动声反馈检测与消除方法,可以快速、准确、有效的检测和消除声反馈,明显地提升通话质量,在语音会议、扬声器语音通信中具有非常重要的应用价值。

本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

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