一种回音消除算法的制作方法

文档序号:7741138阅读:285来源:国知局
专利名称:一种回音消除算法的制作方法
技术领域
本发明涉及音频传输领域,特别是基于IP网络语音传输的应用领域。
背景技术
语音处理已经与我们的尘活密不可分。如PSTN电话,VOIP等,都需要处理语音的 回音消除问题。传统基于PSTN的电话,由于传输时延小,回音与正常语音重叠,回音感受不 明显。基于VOIP的音频通信,由于时延增大,回音问题显得非常突出,不做消除会严重影响 通话效果。一些非常复杂的应用环境下,如嘈杂的背景噪声环境,播放设备与采集设备相隔 很近,播放音量很大的情况下,回音消除更是一个棘手的问题。 本发明提出了一种新的回音消除方法。该方法不仅能在各种复杂应用环境下,将 回声消除干净(回声残余< -60dB甚至更多),而且能使正常语音表现更加平滑舒适,甚至 得到增强。在双端同时讲话时,声音表现同样平滑自然。另外,本发明对处理器性能要求较 低,处理1路16K采样的音频回音消除,处理器消耗小于1MIPS,可应用到低性能的嵌入式设 备上。

发明内容
本发明的回音消除模型如图1所示。本端在语音输入和输出端,分别加入两个衰 减函数Fin(x) = fin*x ;Fout(x) = fout*x。相应的,在远端回音消除模块,也存在相对应
白勺衰减函数FirT (x) = firT氺x ;Fout— (x) = fout—氺Xc 回声为E(n)。远端语音为RX(n),回声为RE(n)。
输入X(n)经过本模型后,产生的回声为 E(n) = X(n)氺fin氺fout氺foulf氺firf 我们假设f in*fout = 1/N,则上式为 E (n) = X (n) /N2 回声能量为 E E2 (n) = E X2 (n) /N4
假设取N二 32,则回声衰减为l(Wog(1/324)
图中,本端语音为X (n),本端产生
-60. 2dB。此时,人耳已无法听到




回声。 如图1所示,本地正常语音的衰减为fin*f0ut—。为了保持本地正常语音能得到 很好的呈现,应恰当分配fin及fout的值,使得在本地通话时,fin尽可能大。本发明通过 语音权重来计算fin及fout的值。 通过计算本地及远端语音的大小,作为判断语音权重的依据之一。可以计算语音 的幅度或能量(音强)。值越大,权重越高。对于某些特殊场景,需要调整语音权重,使得语 音得到更好的呈现。如能量分布相对均匀的语音(如背景音乐)适当降低权重。能量分布 相对集中的语音(如人声),适当提高权重。这样有利于人声在背景音乐中得到更好的呈 现。计算本地语音权重的时候,需要去除本地语音中包含预估的回声能量。回声能量的计
3算不需要非常精确。 如图2所示,得到本地及远端语音的权重后,可按如下规则计算fin及fout的值 如果本端语音权重大于远端语音权重,则调高fin的值。如果远端语音权重大于本端语音 权重,则调高fout的值。始终保持fir^fout < 1/N。在确认本端无回声时(如输入声音远 大于输出声音时,回声将被淹没;本地没有回声路径等),可以使用较小的N值。
依据经验值,可以设定fin最大值为1.0。如果希望正常语音被增强,可以设定 fout最大值> 1. 0。否则设fin最大值为1. 0。 调整fin及fout过程,始终保持平滑变化,这样有利于保持语音平滑舒适。
计算出衰减因子fin及fout后,在语音输入和输出端分别执行函数Fin(X)= x*f in及Fout (x) = x*fout,即可完成回声消除。


图1回声消除模型 图2衰减因子fin及fout示意图
具体实施例方式回声消除过程可按如下步骤执行 步骤1 :设定初始fin及fout。初始值N可设为32, fin及fout可设为sqrt (1/ N)。 步骤2 :预估回声能量。可依据最近一段时间(如200ms)播放的语音,预估回声 能量。也可以使用更精确的方法预估回声能量。 步骤3 :计算本端语音能量,去除预估的回声能量,计算本端语音权重。
步骤4 :计算对端语音能量,并计算对端语音权重。 步骤5 :依据语音特征,做语音权重调整。如能量分布相对均匀的语音,降低权重。 能量分布相对集中的语音,提高权重。 步骤6 :判断如果本端语音权重大于对端语音权重,则调高fin的值,最大为1. 0。 如果对端语音权重大于本端语音权重,则调高fout的值。最大值为2.0(假设目标语音增 强3dB)。 步骤7 :检测本地回声可能性。在确认本端无回声时(如输入声音远大于输出声音 时,回声将被淹没;本地没有回声路径等),可以调小N值。并依据N值,计算出对应的fout 或fin,使得fin*fout < 1/N。 步骤8 :对输入语音执行X— (n) = fin*X(n)
步骤9 :对输出语音执行RX— (n) = f out*RX (n)
重复步骤2。
权利要求
本发明是这样实现的一种回音消除算法,其特征在于,该方法包括以下步骤如附图1所示,在语音输入(MIC)和输出(SPK)端,分别计算衰减系数fin,fout。使用公式Fin(x)=x*fin,Fout(x)=x*fout,对输入和输出语音分别进行衰减。
2. 如权利要求1所述计算衰减系数fin, fout,其特征在于保持fir^fout < 1/N。 N值越大,则回声残留越小。N = 32时,回声残留〈-60dB。在确 认本端无回声时(如输入声音远大于输出声音时,回声将被淹没;本地没有回声路径等), 可以使用较小的N值。计算并权衡本地及远端声音的重要性,选择恰当的衰减系数fin及fout,达到正常语 音无衰减甚至被增强的目的。
3. 如权利要求2所述权衡本地及远端语音重要性,其特征在于以语音大小作为判定依据之一 (计算语音幅度,或能量等),幅度或能量越大,则语音 越重要。特殊场景下,根据语音特征不同,适当调高或降低语音的权值。如对能量分布相对 均匀的声音(如背景音乐)降低权值。对能量分布相对集中的声音(如人声)提高权值。 这样有利于背景音乐中,人声能得到更好的呈现。计算本端语音权重时,需要减掉回声预估 值。
4. 如权利要求2中,选择恰当的衰减系数fin及fout,其特征在于如附图2所示,本地语音权重大于远端语音权重时,fin值增大,fout值减小。本地语 音权重小于远端语音权重时,fin值减小,fout值增大。这样做有利于重要的声音得到更多 的呈现。衰减系数保持平滑改变,这样可以保持语音平滑舒适。可以选择fout值〉l,这样在一边讲话时,声音能被增强。
全文摘要
本发明公开了一种回音消除算法。如附图所示回声消除模型中,当满足条件fin*fout=1/N时,回声的幅度衰减为N2倍,能量衰减为N4倍。假设取N=32时,回音衰减约为-60dB,人耳已无法听到回音。正常语音的幅度衰减为fin*fout`,根据本端和对端语音的强度,合理调整fin及fout`的值,可以有效保持正常语音(fin*fout`>0.5),甚至使正常语音得到增强(fin*fout`>1)。使用本发明,可以使回声消除非常干净,正常语音更加平滑自然,有效避免了因回声残留引起的各种问题。
文档编号H04B3/23GK101790013SQ20101010395
公开日2010年7月28日 申请日期2010年1月27日 优先权日2010年1月27日
发明者陈兴桃 申请人:深圳市宇速科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1