一种回声消除时延估算方法及回声消除方法技术

技术编号:30089114 阅读:21 留言:0更新日期:2021-09-18 08:50
本发明专利技术公开了一种回声消除时延估算方法及回声消除方法,包括以下步骤:在直接存储器访问层设置缓冲区;在缓冲区为即将播放的音频信号以一定的采样频率添加参考音采样点;在缓冲区以同样的采样频率为录制的音频信号添加录音采样点;根据放音点与录音点间距离和音频采样频率获得回声时延;在缓冲区根据回声时延获得与录音采样点匹配对应的参考音采样点,从而获得录音音频和对应参考音音频的混合音频;根据混合音频拆分出一路录音信号和一路参考音信号;执行回声消除处理算法,得到干净的录音信号;可以精确的计算时间延迟,误差在一个采样点级别,远小于软件估算误差;占用CPU资源少,开销只有一次录音和对应参考音的额外拷贝。贝。贝。

【技术实现步骤摘要】
一种回声消除时延估算方法及回声消除方法


[0001]本专利技术涉及嵌入式系统
,尤其涉及一种回声消除时延估算方法及回声消除方法。

技术介绍

[0002]在语音通信中,回声会对说话者产生干扰,大的回声将严重影响通话质量,必须想办法消除。回声就是指说话者通过通信设备发送给其他人的语音重新又回到自己的听筒里的现象。回声分为两种,即“电路回声”和“声学回声”。前者可以通过硬件设备的合理设计而消除,本专利技术关注的是的“声学回声”的消除。“声学回声”是指远端用户的声音从听筒出来以后,经过空气或其他的传播媒介传到近端用户的话筒,再通过话筒录音后又重新传到远端用户的听筒中形成的回声。当近端用户的放音音量比较大而录音设备和放音设备距离比较近时回声尤其明显。
[0003]声学回声消除算法(AEC)需要输入两个输入信号:采集到的包含回声的录音信号和扬声器播放的参考信号,它是以参考信号及其在录音信号中导致的回声的相关性为基础,建立远端信号的语音模型,利用它对回声进行估计,并不断地修改滤波器的系数,使得估计值更加逼近真实回声。然后将回声估计值与录音信号中的实际回声对齐,减去,从而达到消除回声的目的。那么显然,AEC的效果将主要受到下面两个因素的影响:回声估计值与实际回声的匹配度,以及录音信号中回声相对于原始参考信号的时延估算的准确度。两个输入信号如果同步的不好,算法中的自适应滤波器就会发散,影响回声消除的效果。时延估算机制可以根据实时性差别分为基于DSP类实时平台的,和基于linux/windows等非实时平台的。前者直接基于硬件实现信号间同步,如手机等应用场景,由于集成的DSP模组处理回声消除,DSP可以直接实时控制ADC/DAC的采集和播放,所以不存在同步问题;但对于后者,由于回声消除算法运行在应用层,而且录音和播放工作在不同的线程,获得低误差的信号同步要困难的多。
[0004]当前非实时平台主流时延估算是采用基于互相关计算的自适应时延估计算法,由于其估算准确度严重依赖于计算复杂度,在计算受限的嵌入式系统中只能采取折中方案,这就导致了嵌入式系统软件方式估算时延的两大缺点:计算开销大,以及精度不高而导致AEC效果差。

技术实现思路

[0005]鉴于目前存在的上述不足,本专利技术提供一种回声消除时延估算方法及回声消除方法,在直接存储器访问(DMA)层产生精确对齐的录音信号和参考信号,极大提高了回声消除效果,且基本不额外占用CPU资源。
[0006]为达到上述目的,本专利技术的实施例采用如下技术方案:
[0007]一种回声消除时延估算方法,所述回声消除时延估算方法包括以下步骤:
[0008]在直接存储器访问层设置缓冲区;
[0009]在缓冲区为即将播放的音频信号以一定的采样频率添加采样点;
[0010]在缓冲区以同样的采样频率为录制的音频信号添加采样点;
[0011]根据放音点与录音点间距离和音频采样频率获得回声时延。
[0012]依照本专利技术的一个方面,所述缓冲区包括:播放缓冲区、录音缓冲区和混合缓冲区。
[0013]依照本专利技术的一个方面,所述回声消除时延估算方法包括以下步骤:
[0014]把播放缓冲区中某采样点搬运及转换为模拟电信号后驱动扬声放音点扬声器发声;
[0015]声音在空气中传播到录音点录音装置;
[0016]录音装置转换声音为模拟电信号,并将之转换为采样点数据流;
[0017]将包含回声的采样点搬运到录音缓冲区;
[0018]通过添加采样点的采样率及放音点和录音点的距离计算回声时延。
[0019]依照本专利技术的一个方面,所述放音点与录音点通过同一总线与缓冲区连接。
[0020]一种回声消除方法,所述回声消除方法包括以下步骤:
[0021]在直接存储器访问层设置缓冲区;
[0022]在缓冲区为即将播放的音频信号以一定的采样频率添加参考音采样点;
[0023]在缓冲区以同样的采样频率为录制的音频信号添加录音采样点;
[0024]根据放音点与录音点间距离和音频采样频率获得回声时延;
[0025]在缓冲区根据回声时延获得与录音采样点匹配对应的参考音采样点,从而获得录音音频和对应参考音音频的混合音频;
[0026]根据混合音频拆分出一路录音信号和一路参考音信号;
[0027]执行回声消除处理算法,得到干净的录音信号。
[0028]依照本专利技术的一个方面,所述缓冲区包括:播放缓冲区、录音缓冲区和混合缓冲区。
[0029]依照本专利技术的一个方面,录音缓冲区中收到的每一个录音采样点,都会从播放缓冲区找到它对应的参考音采样点,然后把两个采样点一起写入到混合缓冲区。
[0030]依照本专利技术的一个方面,所述回声消除方法包括以下步骤:
[0031]以固定速率将录音点录音装置接收到的外部声波转换为音频采样点数据流;
[0032]将音频采样点数据流搬运到录音缓冲区;
[0033]录音缓冲区中音频数据流满一个帧时,产生中断;
[0034]中断处理程序中,拷贝新的录音音频帧到混合缓冲区,并在播放缓冲区中寻找对应同步参考音频帧到混合缓冲区;
[0035]读取混合音频帧,并拆分出回声消除处理算法所需的一路录音信号和一路参考音信号;
[0036]执行回声消除处理算法,得到干净的录音信号。
[0037]依照本专利技术的一个方面,所述放音点与录音点通过同一总线与缓冲区连接。
[0038]依照本专利技术的一个方面,所述回声消除处理算法采用speek算法。
[0039]本专利技术实施的优点:本专利技术所述的回声消除方法,包括以下步骤:
[0040]在直接存储器访问层设置缓冲区;在缓冲区为即将播放的音频信号以一定的采样
频率添加参考音采样点;在缓冲区以同样的采样频率为录制的音频信号添加录音采样点;根据放音点与录音点间距离和音频采样频率获得回声时延;在缓冲区根据回声时延获得与录音采样点匹配对应的参考音采样点,从而获得录音音频和对应参考音音频的混合音频;根据混合音频拆分出一路录音信号和一路参考音信号;执行回声消除处理算法,得到干净的录音信号;计算AEC时延精确度高,对于麦克风和扬声器位置固定的终端设备,可以精确的计算时间延迟,误差在一个采样点级别,远小于软件估算误差;占用CPU资源少,开销只有一次录音和对应参考音的额外拷贝。
附图说明
[0041]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0042]图1为本专利技术所述的一种回声消除数据流框图;
[0043]图2为本专利技术所述的一种回声消除时延估算方法示意图;
[0044]图3为本专利技术所述的一种回声消除方法示意图。
具体实施方式
[0045本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种回声消除时延估算方法,其特征在于,所述回声消除时延估算方法包括以下步骤:在直接存储器访问层设置缓冲区;在缓冲区为即将播放的音频信号以一定的采样频率添加采样点;在缓冲区以同样的采样频率为录制的音频信号添加采样点;根据放音点与录音点间距离和音频采样频率获得回声时延。2.根据权利要求1所述的回声消除时延估算方法,其特征在于,所述缓冲区包括:播放缓冲区、录音缓冲区和混合缓冲区。3.根据权利要求2所述的回声消除时延估算方法,其特征在于,所述回声消除时延估算方法包括以下步骤:把播放缓冲区中某采样点搬运及转换为模拟电信号后驱动扬声放音点扬声器发声;声音在空气中传播到录音点录音装置;录音装置转换声音为模拟电信号,并将之转换为采样点数据流;将包含回声的采样点搬运到录音缓冲区;通过添加采样点的采样率及放音点和录音点的距离计算回声时延。4.根据权利要求1至3中任一所述的回声消除时延估算方法,其特征在于,所述放音点与录音点通过同一总线与缓冲区连接。5.一种回声消除方法,其特征在于,所述回声消除方法包括以下步骤:在直接存储器访问层设置缓冲区;在缓冲区为即将播放的音频信号以一定的采样频率添加参考音采样点;在缓冲区以同样的采样频率为录制的音频信号添加录音采样点;根据放音点与录音点间距离和音频采样频率获得回声时延;在缓冲区根...

【专利技术属性】
技术研发人员:员清观
申请(专利权)人:上海盈方微电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1