CN110610716A - 回声消除方法、装置及存储介质 - Google Patents
回声消除方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110610716A CN110610716A CN201910915640.8A CN201910915640A CN110610716A CN 110610716 A CN110610716 A CN 110610716A CN 201910915640 A CN201910915640 A CN 201910915640A CN 110610716 A CN110610716 A CN 110610716A
- Authority
- CN
- China
- Prior art keywords
- echo cancellation
- sound signal
- end sound
- data
- filtering
- 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
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000003860 storage Methods 0.000 title claims description 25
- 230000005236 sound signal Effects 0.000 claims abstract description 219
- 238000012545 processing Methods 0.000 claims abstract description 139
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 113
- 238000005070 sampling Methods 0.000 claims abstract description 72
- 238000001914 filtration Methods 0.000 claims description 127
- 230000006870 function Effects 0.000 claims description 60
- 238000009825 accumulation Methods 0.000 claims description 8
- 230000009466 transformation Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 8
- 238000005457 optimization Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 239000000306 component Substances 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000004904 shortening Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 108010063499 Sigma Factor Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0264—Noise filtering characterised by the type of parameter measurement, e.g. correlation techniques, zero crossing techniques or predictive techniques
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L2021/02082—Noise filtering the noise being echo, reverberation of the speech
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
本公开揭示了一种回声消除方法,属于声音处理技术领域。所述方法包括:获取近端声音信号和远端声音信号,所述近端声音信号和所述远端声音信号分别由若干个采样点数据构成,所述采样点数据为f位数据;将获取到的所述近端声音信号和所述远端声音信号输入回声消除算法模型;以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号;h为大于或者等于2的整数。本方案对于以f位采样点数据组织的信号,以h个采样点数据为一组进行并行处理,缩短了对声音信号进行处理所需要的时长,能够有效的提高回声消除的效率,从而提高应用在低功耗芯片上进行回声消除的效果。
Description
技术领域
本公开涉及声音处理技术领域,特别涉及一种回声消除方法、装置及存储介质。
背景技术
回声消除目前已经广泛的应用于远程会议系统、免提电话、蓝牙耳机、助听器等语音通讯终端产品中。
在相关技术中,回声是指在通话过程中,扬声器播放出来的声音被麦克风拾取后发回远端,使远端谈话者能听到自己的声音的现象。而回声消除是指采用自适应方法估计回波信号的大小,然后在接收信号中减去此估计值以抵消回波的算法。
目前相关技术中的回声消除算法,对声音信号中的每个采样点数据(即一个采样点的数据)依次进行回声消除,其计算量过高,当应用在低功耗的芯片中时,通话质量会受到严重的影响,导致回声消除的效果较差。
发明内容
本公开提供一种回声消除方法、装置及存储介质。所述技术方案如下:
根据本公开实施例的第一方面,提供了一种回声消除方法,所述方法由声音处理芯片执行,所述方法包括:
获取近端声音信号和远端声音信号,所述近端声音信号和所述远端声音信号分别由若干个采样点数据构成,所述采样点数据为f位数据;所述近端声音信号是所述远端声音信号经过实际回声信道后叠加噪声得到的信号;f为大于或者等于2的整数;
将获取到的所述近端声音信号和所述远端声音信号输入回声消除算法模型;
以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,所述回声消除后的声音信号是从所述近端声音信号中消除所述远端声音信号后的结果;h为大于或者等于2的整数。
在一种可选的实现方式中,所述以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,包括:
在通过所述回声消除算法模型对输入的信号进行回声消除处理的过程中,当调用所述回声消除算法模型中的内存拷贝函数时,从源寄存器中以f×h位数据并列的形式,将待拷贝的数据拷贝至目标寄存器。
在一种可选的实现方式中,所述以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,包括:
在通过所述回声消除算法模型对输入的信号进行回声消除处理的过程中,当调用所述回声消除算法模型中的赋值函数时,加载f×h数据至寄存器中,并对所述寄存器中的数据进行赋值。
在一种可选的实现方式中,所述以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,包括:
以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行M次迭代滤波,M是所述回声消除算法模型的滤波器延迟块的个数;
对所述M次迭代滤波得到的滤波结果进行累加后进行离散傅里叶反变换,以输出回声消除后的声音信号。
在一种可选的实现方式中,所述以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行M次迭代滤波,包括:
在第i次迭代滤波时,以f×h位数据为单位,根据从所述近端声音信号中提取到的采样点数据以及第i次迭代滤波的频域滤波系数获取第i次迭代滤波的滤波结果。
在一种可选的实现方式中,所述以f×h位数据为单位,根据从所述近端声音信号中提取到的采样点数据以及第i次迭代滤波的频域滤波系数获取第i次迭代滤波的滤波结果之前,还包括:
以f×h位数据为单位,对误差函数与输入数据进行乘法运算获得中间变量;
以f×h位数据为单位,根据所述中间变量进行乘累加运算,获得第i次迭代滤波的频域滤波系数;其中,所述乘累加运算是目标乘法运算与目标加法运算的合并计算,所述目标乘法运算是将步长与所述中间变量进行乘法运算以获得更新后的所述中间变量,所述目标加法运算是将第i次迭代滤波的频域滤波系数与更新后的所述中间变量进行加法运算以获得第i次迭代滤波的频域滤波系数。
在一种可选的实现方式中,所述声音处理芯片是低功耗芯片。
在一种可选的实现方式中,所述声音处理芯片是支持单指令多数据流SIMD特性和超长指令字VLIW架构的芯片。
根据本公开实施例的第二方面,提供了一种回声消除装置,所述装置用于声音处理芯片中,所述装置包括:
信号获取模块,用于获取近端声音信号和远端声音信号,所述近端声音信号和所述远端声音信号分别由若干个采样点数据构成,所述采样点数据为f位数据;所述近端声音信号是所述远端声音信号经过实际回声信道后叠加噪声得到的信号;f为大于或者等于2的整数;
信号输入模块,用于将获取到的所述近端声音信号和所述远端声音信号输入回声消除算法模型;
回声消除处理模块,用于以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,所述回声消除后的声音信号是从所述近端声音信号中消除所述远端声音信号后的结果;h为大于或者等于2的整数。
在一种可选的实现方式中,所述回声消除处理模块,包括:
拷贝子模块,用于在通过所述回声消除算法模型对输入的信号进行回声消除处理的过程中,当调用所述回声消除算法模型中的内存拷贝函数时,从源寄存器中以f×h位数据并列的形式,将待拷贝的数据拷贝至目标寄存器。
在一种可选的实现方式中,所述回声消除处理模块,包括:
赋值子模块,用于在通过所述回声消除算法模型对输入的信号进行回声消除处理的过程中,当调用所述回声消除算法模型中的赋值函数时,加载f×h数据至寄存器中,并对所述寄存器中的数据进行赋值。
在一种可选的实现方式中,所述回声消除处理模块,包括:
迭代子模块,用于以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行M次迭代滤波,M是所述回声消除算法模型的滤波器延迟块的个数;
变换子模块,用于对所述M次迭代滤波得到的滤波结果进行累加后进行离散傅里叶反变换,以输出回声消除后的声音信号。
在一种可选的实现方式中,所述迭代子模块,用于在第i次迭代滤波时,以f×h位数据为单位,根据从所述近端声音信号中提取到的采样点数据以及第i次迭代滤波的频域滤波系数获取第i次迭代滤波的滤波结果。
在一种可选的实现方式中,所述迭代子模块,还用于在以f×h位数据为单位,根据从所述近端声音信号中提取到的采样点数据以及第i次迭代滤波的频域滤波系数获取第i次迭代滤波的滤波结果之前,以f×h位数据为单位,对误差函数与输入数据进行乘法运算获得中间变量;并以f×h位数据为单位,根据所述中间变量进行乘累加运算,获得第i次迭代滤波的频域滤波系数;
其中,所述乘累加运算是目标乘法运算与目标加法运算的合并计算,所述目标乘法运算是将步长与所述中间变量进行乘法运算以获得更新后的所述中间变量,所述目标加法运算是将第i次迭代滤波的频域滤波系数与更新后的所述中间变量进行加法运算以获得第i次迭代滤波的频域滤波系数。
在一种可选的实现方式中,所述声音处理芯片是低功耗芯片。
在一种可选的实现方式中,所述声音处理芯片是支持单指令多数据流SIMD特性和超长指令字VLIW架构的芯片。
根据本公开实施例的第三方面,提供了一种回声消除装置,所述装置用于声音处理芯片中,所述装置包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
获取近端声音信号和远端声音信号,所述近端声音信号和所述远端声音信号分别由若干个采样点数据构成,所述采样点数据为f位数据;所述近端声音信号是所述远端声音信号经过实际回声信道后叠加噪声得到的信号;f为大于或者等于2的整数;
将获取到的所述近端声音信号和所述远端声音信号输入回声消除算法模型;
以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,所述回声消除后的声音信号是从所述近端声音信号中消除所述远端声音信号后的结果;h为大于或者等于2的整数。
根据本公开实施例的第四方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包含处理器的可执行指令,所述处理器调用所述可执行指令以实现上述第一方面或者第一方面的任意可选方案所述的回声消除方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过将获取到的包含f位采样点数据的近端声音信号和远端声音信号输入回声消除算法模型,并以f×h位数据为单位,通过回声消除算法模型对输入的信号进行回声消除处理,对于以f位采样点数据组织的信号,以h个采样点数据为一组进行并行处理,缩短了对声音信号进行处理所需要的时长,能够有效的提高回声消除的效率,从而提高应用在低功耗芯片上进行回声消除的效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并于说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的回声消除系统的系统构成图;
图2是图1所示实施例涉及的回声消除原理的示意图;
图3是根据一示例性实施例示出的一种回声消除方法的流程图;
图4是根据一示例性实施例示出的一种回声消除方法的流程图图;
图5是根据一示例性实施例示出的一种回声消除装置的框图;
图6是图5所示实施例涉及的另一种回声消除装置的框图;
图7是根据一示例性实施例示出的一种计算机设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
应当理解的是,在本文中提及的“若干个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
图1是本公开一示例性实施例示出的一种回声消除系统的系统构成图。如图1所示,该系统包括第一终端110以及第二终端120。
其中,第一终端110和第二终端120是相互之间可以进行语音通信的终端。
其中,第一终端110和第二终端120之间可以通过蜂窝网络提供的语音呼叫业务进行语音通信。
或者,第一终端110和第二终端120之间也可以通过互联网进行语音通信,比如,第一终端110和第二终端120可以分别安装具有语音通信功能的应用程序,并以该应用程序对应在互联网中的服务器为中继进行语音通信。
可选的,上述第一终端110或者第二终端120可以自带声音采集组件(比如麦克风)和声音播放组件(比如扬声器和/或听筒)。
比如,上述第一终端110或者第二终端120可以是智能手机、平板电脑、电子书阅读器、MP4播放终端或者MP5播放终端等智能移动终端;或者,第一终端110或者第二终端120也可以智能手表、智能手环或者智能眼镜的智能可穿戴设备;或者,第一终端110或者第二终端120也可以是笔记本电脑等固定式计算机设备;或者,第一终端110或者第二终端120可以是车载终端等。
可选的,上述第一终端110或者第二终端120也可以外接声音采集组件和声音播放组件。
比如,第一终端110或者第二终端120可以是外接独立麦克风和独立音箱的台式电脑以及智能电视机顶盒等等。可选的,上述独立麦克风和独立音箱也可以是同一个设备,比如,可以是一个带有麦克风阵列的智能音箱等。
在本公开实施例中,第一终端110或者第二终端120具有声音处理芯片,该声音处理芯片具有在通话过程中进行回声消除的功能。也就是说,第一终端110或者第二终端120在通话过程中,通过麦克风采集到近端声音信号时,可以通过声音处理芯片对近端声音信号进行回声消除,以从采集到的近端声音信号中消除自己的扬声器播放的声音,并将回声消除后的声音信号传递给另一端进行播放。
在另一种可能的实现方式中,上述回声消除的过程也可以由第一终端110和第二终端120之间的中继设备(比如网关或者应用程序的服务器)来执行。
为了便于理解,下面对回声消除的算法原理进行简单介绍。
回声消除的基本原理是根据参考信号(远端声音信号),经过自适应滤波,模拟产生回声,然后再用采集到的带有回声的信号(近端声音信号)减去模拟回声,从而实现回声消除。例如,请参考图2,其示出了本公开实施例涉及的回声消除原理的示意图。如图2所示,x(n)是远端传来的信号(即远端声音信号),其经过实际信道产生回声信号y(n),加上噪声等信号v(n)产生近端声音信号d(n)。同时,x(n)通过自适应滤波w(n)生成模拟回声y(n),d(n)减去即为经过回声消除后传给用户端的信号(0<n<N-1),N是每次读取数据的点数,即处理帧长。
假设,令M是滤波器延迟块的个数,滤波器阶数L是处理帧长N的整数倍,即L=MN,则回声消除算法的原理表示如下:
其中,y(j)为回声消除后的效果,X(m,j)为频域近端信号(即近端声音信号中的频域部分信号),W(m,j)为频域滤波系数。其中,
上述W(m,j+1)为下一频点的频域滤波系数,u为步长,为中间变量,该中间变量由输入信号与误差函数计算获得。
在回声消除算法中,对频域的每个频点独立使用归一化最小均方算法,最佳步长的估计算法如下:
u(k,l)≈σr(k,l)/σe(k,l)
其中,k是离散频点序列号,l是处理帧长的帧序列号,σr(k,l)是频域残留的回声信号能量,σe(k,l)是频域消除后返回信号的误差能量。其中,消除后的返回信号误差能量比较容易得到,而对于残留回声信号,本公开采用近似的公式进行估计:
σr(k,l)=β(l)σy(k,l)
其中,β(l)是一个变化缓慢但难以估计的因子,σy(k,l)作为模拟回声能量是一个变化迅速容易得到的值。β(l)可以通过下列公式得到,
β(l)=Rey(k,l)/Ryy(k,l)
Rey(k,l)=e(k,l)*y(k,l)
Ryy(k,l)=y(k,l)*y(k,l)
其中,e(k,l)是误差函数的频域形式,y(k,l)是模拟回声输出信号的频域信号,Rey(k,l)是频域误差函数和频域模拟回声输出信号的协方差信息,Ryy(k,l)是频域模拟回声输出信号的协方差信息。
在相关技术中,近端声音信号和远端声音信号可以由声音处理芯片对模拟信号进行采样获得的采样点数据组成;例如,声音处理芯片可以对麦克风采集到的模拟信号进行采样,以采样率为16k为例,声音处理芯片可以对每连续10ms的模拟信号进行一次采样,获得160个采样点数据,其中,每个采样点数据以指定数据类型进行组织。每个采样点数据的数据量(位数)由数据类型决定。
在进行回声消除时,进行语音通话的一个终端中的声音处理芯片可以将近端声音信号和远端声音信号中的采样点数据按照时间顺序输入回声消除算法模型,由回声消除算法模型以单个采样点数据为单位,对各个采样点数据依次进行回声消除处理,获得回声消除后的声音信号,并将获得的回声消除后的声音信号传输给语音通话的其它端进行播放。
然而,上述方案中,由于回声消除算法较为复杂,对每个采样点数据依次进行处理需要较多的指令周期(cycle,即一条指令的运行时间),对声音处理芯片的计算性能要求较高,目前低功耗的声音处理芯片的计算性能优先,因此,上述方案对于低功耗的声音处理芯片并不适用。
本公开后续实施例所示的方案,提供一种对回声消除进行优化的方案,可以从算法层面提高回声消除的运算速度,降低对声音处理芯片的计算性能和功耗要求,能够适用于低功耗的声音处理芯片。
图3是根据一示例性实施例示出的一种回声消除方法的流程图,该回声消除方法可以由计算机设备中的声音处理芯片执行,其中,该计算机设备可以是图1所示系统中的第一终端110或者第二终端120,或者,该计算机设备也可以是第一终端110和第二终端120之间的中继设备。如图3所示,该回声消除方法可以包括以下步骤。
在步骤301中,获取近端声音信号和远端声音信号,该近端声音信号和该远端声音信号分别由若干个采样点数据构成,该采样点数据为f位数据;该近端声音信号是该远端声音信号经过实际回声信道后叠加噪声得到的信号;f为大于或者等于2的整数;
在步骤302中,将获取到的该近端声音信号和该远端声音信号输入回声消除算法模型;
在步骤303中,以f×h位数据为单位,通过该回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,该回声消除后的声音信号是从该近端声音信号中消除该远端声音信号后的结果;h为大于或者等于2的整数。
在一种可选的实现方式中,该以f×h位数据为单位,通过该回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,包括:
在通过该回声消除算法模型对输入的信号进行回声消除处理的过程中,当调用该回声消除算法模型中的内存拷贝函数时,从源寄存器中以f×h位数据并列的形式,将待拷贝的数据拷贝至目标寄存器。
在一种可选的实现方式中,该以f×h位数据为单位,通过该回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,包括:
在通过该回声消除算法模型对输入的信号进行回声消除处理的过程中,当调用该回声消除算法模型中的赋值函数时,加载f×h数据至寄存器中,并对该寄存器中的数据进行赋值。
在一种可选的实现方式中,该以f×h位数据为单位,通过该回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,包括:
以f×h位数据为单位,通过该回声消除算法模型对输入的信号进行M次迭代滤波,M是该回声消除算法模型的滤波器延迟块的个数;
对该M次迭代滤波得到的滤波结果进行累加后进行离散傅里叶反变换,以输出回声消除后的声音信号。
在一种可选的实现方式中,该以f×h位数据为单位,通过该回声消除算法模型对输入的信号进行M次迭代滤波,包括:
在第i次迭代滤波时,以f×h位数据为单位,根据从该近端声音信号中提取到的采样点数据以及第i次迭代滤波的频域滤波系数获取第i次迭代滤波的滤波结果。
在一种可选的实现方式中,该以f×h位数据为单位,根据从该近端声音信号中提取到的采样点数据以及第i次迭代滤波的频域滤波系数获取第i次迭代滤波的滤波结果之前,还包括:
以f×h位数据为单位,对误差函数与输入数据进行乘法运算获得中间变量;
以f×h位数据为单位,根据该中间变量进行乘累加运算,获得第i次迭代滤波的频域滤波系数;其中,该乘累加运算是目标乘法运算与目标加法运算的合并计算,该目标乘法运算是将步长与该中间变量进行乘法运算以获得更新后的该中间变量,该目标加法运算是将第i次迭代滤波的频域滤波系数与更新后的该中间变量进行加法运算以获得第i次迭代滤波的频域滤波系数。
在一种可选的实现方式中,该声音处理芯片是低功耗芯片。
在一种可选的实现方式中,该声音处理芯片是支持单指令多数据流SIMD特性和超长指令字VLIW架构的芯片。
综上所述,本公开实施例所示的回声消除方法,根据输入的远端声音信号和近端声音信号进行回声消除处理时,通过将获取到的包含f位采样点数据的近端声音信号和远端声音信号输入回声消除算法模型,并以f×h位数据为单位,通过回声消除算法模型对输入的信号进行回声消除处理,对于以f位采样点数据组织的信号,以h个采样点数据为一组进行并行处理,缩短了对声音信号进行处理所需要的时长,能够有效的提高回声消除的效率,从而提高应用在低功耗芯片上进行回声消除的效果。
本公开上述实施例所示的方案,深入回声消除核心构件,统计回声消除的计算量分布;针对声音处理芯片的指令进行回声消除优化,比如,在内存拷贝、赋值函数,频域滤波系数计算等过程进行计算量的优化,并整合优化构建一个实用的,可灵活配置的,完备的回声消除算法。
图4是根据一示例性实施例示出的一种回声消除方法的流程图,该回声消除方法可以由计算机设备中的声音处理芯片执行,其中,该计算机设备可以是图1所示系统中的第一终端110或者第二终端120,或者,该计算机设备也可以是第一终端110和第二终端120之间的中继设备。如图4所示,该回声消除方法可以包括以下步骤。
在步骤401中,获取近端声音信号和远端声音信号,该近端声音信号和该远端声音信号分别由若干个采样点数据构成,该采样点数据为f位数据;该近端声音信号是该远端声音信号经过实际回声信道后叠加噪声得到的信号;f为大于或者等于2的整数。
其中,上述远端声音信号可以是语音通话的另一终端发给当前终端通过播放组件(比如扬声器)进行播放的声音信号,而上述近端声音信号可以是当前终端中的声音采集组件(比如麦克风/麦克风阵列)采集到的,当前终端周围环境中的声音信号,其包括播放组件播放的声音以及噪音,该噪音可以包括环境噪音以及当前终端的用户发出的语音等等。
在本公开实施例中,采样点数据的位数(即f的数值)由采样点数据的数据类型来决定。
例如,上述采样点数据的数据类型可以是word16数据类型,而word16数据类型是一种无符号的16位短整数,即上述f值为16。
在一种可选的实现方式中,该声音处理芯片是低功耗芯片。
在一种可选的实现方式中,该声音处理芯片是支持单指令多数据流SIMD特性和超长指令字VLIW架构的芯片。
例如,在本公开实施例中,上述声音处理芯片可以是支持SIMD特性和VLIW架构的低功耗芯片,例如,上述声音处理芯片可以是HiFi(High-Fidelity,高保真)芯片,相应的,该声音处理芯片执行的指令为HiFi指令。
HiFi系列芯片是一款高度优化的SIMD处理芯片,通常用于高效的音频处理。SIMD特性允许处理芯片同时在两个或者两个以上数据项上并行工作。例如,SIMD特性允许一个操作并行执行两个24位加法,每个加法占用一个48位寄存器的一半。
此外,HiFi系列芯片也是基于VLIW体系结构的芯片,支持并行执行两个操作。例如,加载操作可以与乘法操作并行发出。HiFi系列芯片的音频引擎由两个主要部件组成:一个DSP子系统和一个具有位流操作的子系统。
在步骤402中,将获取到的该近端声音信号和该远端声音信号输入回声消除算法模型。
其中,声音处理芯片获取到近端声音信号和远端声音信号后,将获取到的声音信号输入户至回声消除算法模型,之后,即可以通过该回声消除算法模型,以f×h位数据为单位,对输入的信号进行回声消除处理,以输出回声消除后的声音信号,该回声消除后的声音信号是从该近端声音信号中消除该远端声音信号后的结果;h为大于或者等于2的整数。
在本公开实施例中,由于支持SIMD特性和VLIW架构的芯片可以同时对在两个或者两个以上数据项上进行并行的工作,基于这样的特征,声音处理芯片可以同时对各个f位的采样点数据进行并行处理,从而缩短对指定长度的数据进行处理所需要的指令周期,从而极大的提高回声消除的效率。
以上述声音处理芯片是HiFi芯片为例,HiFi指令支持多种数据类型,这些数据类型对应于体系结构支持的不同精度的标量和矢量版本。这些数据类型可以像标准C数据类型那样加载和存储,并且可以在C和C++中使用内置运算符重载进行操作。XCC编译器对这些隐式操作执行常规优化,例如自动推断更新加载和存储的使用。对于额外的控制,每个HiFi指令都可以使用具有相同名称的内部函数直接访问,并采用适当的数据类型。针对HiFi体系结构,结合函数的不同功能,可以将数据流和内存处理分为以下几类,并且选取代表性的热点函数(包括内存拷贝、赋值函数以及频域滤波系数计算等函数)进行优化。后续步骤以HiFi指令为例,对以f×h位数据为单位进行回声消除的优化方式进行介绍。
在步骤403中,在通过该回声消除算法模型对输入的信号进行回声消除处理的过程中,当调用该回声消除算法模型中的内存拷贝函数时,从源寄存器中以f×h位数据并列的形式,将待拷贝的数据拷贝至目标寄存器。
内存拷贝是从源内存地址的起始位置开始拷贝若干个字节到目标内存地址中的指令,通过本公开实施例所示的方案,在HiFi指令条件下,可以使用向量的形式进行处理。例如,采用HiFi指令的16x4数据类型向量法则进行加载数据到寄存器中,从源寄存器位置开始,以16x4位数据并列的形式进行拷贝若干个字节到目标寄存器中,最后对16x4的寄存器数据进行存储。相对于优化前从源内存地址的起始位置逐个拷贝采样点数据的方案,本公开所示的方案中以f×h位数据并列进行拷贝的方式能够极大的提高内存拷贝的计算效率,减少内存拷贝所需要的指令周期。
在一种可能的实现方式中,在回声消除过程中,回声消除算法模型对输入的信号实时不断进行运算,以16k采样率,10ms计算一帧数据,每次计算160点的时域信息(即每次对160个采样点数据进行处理,其中每4个采样点数据并行处理),以音箱环境为例,音箱需要一直待机状态,保证音频数据流(即远端声音信号和近端声音信号)一直在拷贝运算。
在步骤404中,在通过该回声消除算法模型对输入的信号进行回声消除处理的过程中,当调用该回声消除算法模型中的赋值函数时,加载f×h数据至寄存器中,并对该寄存器中的数据进行赋值。
赋值函数是将一块内存的数据全部设置为指定值的函数。通过本公开实施例所示的方案,在HiFi指令条件下,采用向量形式进行批量幅值处理,例如,加载16x4位数据到寄存器中,并对寄存器中的数据进行赋值,最后将16x4的寄存器数据进行存储。相对于优化前将一块内存中的内容逐个全部设置为指定的值,本公开所示的方案中以f×h位数据批量进行赋值的方案能够极大的提高赋值函数的执行效率,减少数据幅值所需要的指令周期。
以下给出赋值函数向量memset_vector的实现方法,这个函数通常为新申请的内存做初始化工作。
如下述表1所示,内存拷贝数组长度100条件下优化前(即表1中的Memcpy函数)需要102cycles,优化后(即表1中的Memcpy_vector函数)只需要38cycles,速度提高了3倍;而赋值函数在相同数组条件下优化前(即表1中的memset函数)需要178cycles,优化后(即表1中的Memset_vector函数)只需要36cycles,提高了近5倍。在回声消除过程中,多处用到了内存的拷贝和数据的批量赋值,因此通过上述步骤403和步骤404的优化,可以极大的提升回声消除的处理效率。
函数名 | Cycles |
Memcpy | 102 |
Memcpy_vector | 38 |
memset | 178 |
Memset_vector | 36 |
表1
在步骤405中,以f×h位数据为单位,通过该回声消除算法模型对输入的信号进行M次迭代滤波,M是该回声消除算法模型的滤波器延迟块的个数。
在一种可选的实现方式中,在通过该回声消除算法模型对输入的信号进行M次迭代滤波的过程中,在第i次迭代滤波时,声音处理芯片以f×h位数据为单位,根据从该近端声音信号中提取到的采样点数据以及第i次迭代滤波的频域滤波系数获取第i次迭代滤波的滤波结果。
在上述M次迭代过程中,每次迭代时需要对频域滤波系数进行更新,也就是说,在以f×h位数据为单位,根据从该近端声音信号中提取到的采样点数据以及第i次迭代滤波的频域滤波系数获取第i次迭代滤波的滤波结果之前,声音处理芯片通过一下步骤更新获得第i次迭代滤波的频域滤波系数:
1)以f×h位数据为单位,对误差函数与输入数据进行乘法运算获得中间变量;
2)以f×h位数据为单位,根据该中间变量进行乘累加运算,获得第i次迭代滤波的频域滤波系数;其中,该乘累加运算是目标乘法运算与目标加法运算的合并计算,该目标乘法运算是将步长与该中间变量进行乘法运算以获得更新后的该中间变量,该目标加法运算是将第i次迭代滤波的频域滤波系数与更新后的该中间变量进行加法运算以获得第i次迭代滤波的频域滤波系数。
回声消除的滤波系数包括三个步骤,步骤1是计算误差函数与输入信号的乘法得到中间变量,步骤2是计算步长与中间变量的乘法进行更新中间变量,步骤3是将当前频点的频域滤波系数与中间变量进行相加运算得到下一个频点的频域滤波系数。通过本公开实施例所示的方案,在HiFi指令条件下,首先在上述步骤1的乘法运算中以16x4位数据为单位进行运算,然后将步骤2的乘法运算和步骤3的加法运算进行合并,以16x4位数据为单位做乘累加操作。也就是说,通过本公开实施例所示的方案,只需要在更新频域滤波系数的过程中执行两步运算,相对于依次执行步骤1至步骤3的三步运算来说,能够极大的提高频域滤波系数的更新效率,减少频域滤波系数所需要的指令周期。
以下给出乘累加的向量MULA_vector函数的实现关键部分。
void MULA_vector(short*__restrict buf_dest,short*__restrict buf,intn)
{
……
for(n=0;n<N;n+=4)//for循环:起始值0,终点值n,步长4{
AE_L16X4_IP(vxh,px,sizeof(*dest));//将px寄存器内的值加载到指针vxh中
AE_L16X4_IP(vyh,py,sizeof(*buf));//将py寄存器内的值加载到指针vyh中
AE_MULA16X4(vai,vbi,vxh,vyh);//vxh指针内的值于vyh指针内的值进行乘累加
}
……
}
除了频域滤波系数更新之外,该函数MULA_vector还可以应用于时域频域的谱函数的计算。如下述表2所示,时域功率在数组长度100条件下,优化前(即表2中的Mdf_inner_prod函数)需要345cycles,优化后(即表2中的Mdf_inner_prod_vector函数)只需要90cycles,速度提升到了近4倍。
函数名 | Cycles |
Mdf_inner_prod | 345 |
Mdf_inner_prod_vector | 90 |
power_spectrum | 269 |
power_spectrum_vector | 145 |
表2
在步骤406中,对该M次迭代滤波得到的滤波结果进行累加后进行离散傅里叶反变换,以输出回声消除后的声音信号。
在经过上述M次迭代滤波之后,按照回声消除的原理,声音处理芯片通过回声消除算法模型,将M次迭代结果累加后进行离散傅里叶反变换,得到的信号即可以作为回声消除后的声音信号,该回声消除后的声音信号可以传输给与语音通话的另一端进行播放。
本公开实施例所示的方案,在基于处理器为Intel(R)Core(TM)i5-8250U CPU@1.60GHz,平台为xplorer7.0.8的实验环境下,针对回声消除的HiFi指令,选取热点函数进行优化,相比于优化前的回声消除算法运算速度提高了5倍以上。
可选的,上述实施例中以HiFi指令为例进行介绍,其中,HiFi指令中有64位寄存器可以使用,这些寄存器除了按照上述方案中视为4个16位寄存器使用之外,也可以结合实际应用情况,将其视为2个32位寄存器进行使用,实现寄存器的灵活配置。
通过本公开上述实施例所示的方案,在低功耗的平台上采用HiFi指令来优化回声消除的计算速度,减少回声消除过程的指令周期数,在保证回声消除效果的基础上,通过编译选项的调整,向量化数据的输入,重新排列运算过程达到计算速度的优化。
综上所述,本公开实施例所示的回声消除方法,根据输入的远端声音信号和近端声音信号进行回声消除处理时,通过将获取到的包含f位采样点数据的近端声音信号和远端声音信号输入回声消除算法模型,并以f×h位数据为单位,通过回声消除算法模型对输入的信号进行回声消除处理,对于以f位采样点数据组织的信号,以h个采样点数据为一组进行并行处理,缩短了对声音信号进行处理所需要的时长,能够有效的提高回声消除的效率,从而提高应用在低功耗芯片上进行回声消除的效果。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图5是根据一示例性实施例示出的一种回声消除装置的框图,该回声消除装置可以通过硬件或者软硬结合的方式实现为计算机设备中的声音处理芯片的全部或者部分,其中,该计算机设备可以是图1所示系统中的第一终端110或者第二终端120,或者,该计算机设备也可以是第一终端110和第二终端120之间的中继设备。如图5所示,该回声消除装置可以包括:
信号获取模块501,用于获取近端声音信号和远端声音信号,所述近端声音信号和所述远端声音信号分别由若干个采样点数据构成,所述采样点数据为f位数据;所述近端声音信号是所述远端声音信号经过实际回声信道后叠加噪声得到的信号;f为大于或者等于2的整数;
信号输入模块502,用于将获取到的所述近端声音信号和所述远端声音信号输入回声消除算法模型;
回声消除处理模块503,用于以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,所述回声消除后的声音信号是从所述近端声音信号中消除所述远端声音信号后的结果;h为大于或者等于2的整数。
综上所述,本公开实施例所示的回声消除方法,根据输入的远端声音信号和近端声音信号进行回声消除处理时,通过将获取到的包含f位采样点数据的近端声音信号和远端声音信号输入回声消除算法模型,并以f×h位数据为单位,通过回声消除算法模型对输入的信号进行回声消除处理,对于以f位采样点数据组织的信号,以h个采样点数据为一组进行并行处理,缩短了对声音信号进行处理所需要的时长,能够有效的提高回声消除的效率,从而提高应用在低功耗芯片上进行回声消除的效果。
图5是本公开实施例涉及的另一种回声消除装置的框图,如图6所示,在一种可选的实现方式中,所述回声消除处理模块503,包括:
拷贝子模块503a,用于在通过所述回声消除算法模型对输入的信号进行回声消除处理的过程中,当调用所述回声消除算法模型中的内存拷贝函数时,从源寄存器中以f×h位数据并列的形式,将待拷贝的数据拷贝至目标寄存器。
在一种可选的实现方式中,所述回声消除处理模块503,包括:
赋值子模块503b,用于在通过所述回声消除算法模型对输入的信号进行回声消除处理的过程中,当调用所述回声消除算法模型中的赋值函数时,加载f×h数据至寄存器中,并对所述寄存器中的数据进行赋值。
在一种可选的实现方式中,所述回声消除处理模块503,包括:
迭代子模块503c,用于以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行M次迭代滤波,M是所述回声消除算法模型的滤波器延迟块的个数;
变换子模块503d,用于对所述M次迭代滤波得到的滤波结果进行累加后进行离散傅里叶反变换,以输出回声消除后的声音信号。
在一种可选的实现方式中,所述迭代子模块503c,用于在第i次迭代滤波时,以f×h位数据为单位,根据从所述近端声音信号中提取到的采样点数据以及第i次迭代滤波的频域滤波系数获取第i次迭代滤波的滤波结果。
在一种可选的实现方式中,所述迭代子模块503c,还用于在以f×h位数据为单位,根据从所述近端声音信号中提取到的采样点数据以及第i次迭代滤波的频域滤波系数获取第i次迭代滤波的滤波结果之前,以f×h位数据为单位,对误差函数与输入数据进行乘法运算获得中间变量;并以f×h位数据为单位,根据所述中间变量进行乘累加运算,获得第i次迭代滤波的频域滤波系数;
其中,所述乘累加运算是目标乘法运算与目标加法运算的合并计算,所述目标乘法运算是将步长与所述中间变量进行乘法运算以获得更新后的所述中间变量,所述目标加法运算是将第i次迭代滤波的频域滤波系数与更新后的所述中间变量进行加法运算以获得第i次迭代滤波的频域滤波系数。
在一种可选的实现方式中,所述声音处理芯片是低功耗芯片。
在一种可选的实现方式中,所述声音处理芯片是支持单指令多数据流SIMD特性和超长指令字VLIW架构的芯片。
需要说明的一点是,上述实施例提供的装置在实现其功能时,仅以上述各个功能模块的划分进行举例说明,实际应用中,可以根据实际需要而将上述功能分配由不同的功能模块完成,即将设备的内容结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开一示例性实施例提供了一种回声消除装置,能够实现本公开上述图3或图4所示的回声消除方法,该回声消除装置包括:处理器、用于存储处理器可执行指令的存储器;
其中,处理器被配置为:
获取近端声音信号和远端声音信号,所述近端声音信号和所述远端声音信号分别由若干个采样点数据构成,所述采样点数据为f位数据;所述近端声音信号是所述远端声音信号经过实际回声信道后叠加噪声得到的信号;f为大于或者等于2的整数;
将获取到的所述近端声音信号和所述远端声音信号输入回声消除算法模型;
以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,所述回声消除后的声音信号是从所述近端声音信号中消除所述远端声音信号后的结果;h为大于或者等于2的整数。
可选的,所述以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,包括:
在通过所述回声消除算法模型对输入的信号进行回声消除处理的过程中,当调用所述回声消除算法模型中的内存拷贝函数时,从源寄存器中以f×h位数据并列的形式,将待拷贝的数据拷贝至目标寄存器。
可选的,所述以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,包括:
在通过所述回声消除算法模型对输入的信号进行回声消除处理的过程中,当调用所述回声消除算法模型中的赋值函数时,加载f×h数据至寄存器中,并对所述寄存器中的数据进行赋值。
可选的,所述以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,包括:
以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行M次迭代滤波,M是所述回声消除算法模型的滤波器延迟块的个数;
对所述M次迭代滤波得到的滤波结果进行累加后进行离散傅里叶反变换,以输出回声消除后的声音信号。
可选的,所述以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行M次迭代滤波,包括:
在第i次迭代滤波时,以f×h位数据为单位,根据从所述近端声音信号中提取到的采样点数据以及第i次迭代滤波的频域滤波系数获取第i次迭代滤波的滤波结果。
可选的,所述以f×h位数据为单位,根据从所述近端声音信号中提取到的采样点数据以及第i次迭代滤波的频域滤波系数获取第i次迭代滤波的滤波结果之前,还包括:
以f×h位数据为单位,对误差函数与输入数据进行乘法运算获得中间变量;
以f×h位数据为单位,根据所述中间变量进行乘累加运算,获得第i次迭代滤波的频域滤波系数;其中,所述乘累加运算是目标乘法运算与目标加法运算的合并计算,所述目标乘法运算是将步长与所述中间变量进行乘法运算以获得更新后的所述中间变量,所述目标加法运算是将第i次迭代滤波的频域滤波系数与更新后的所述中间变量进行加法运算以获得第i次迭代滤波的频域滤波系数。
可选的,所述声音处理芯片是低功耗芯片。
可选的,所述声音处理芯片是支持单指令多数据流SIMD特性和超长指令字VLIW架构的芯片。
上述主要以回声消除装置为例,对本公开实施例提供的方案进行了介绍。可以理解的是,上述回声消除装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本公开中所公开的实施例描述的各示例的模块及算法步骤,本公开实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本公开实施例的技术方案的范围。
图7是根据一示例性实施例示出的一种计算机设备的结构示意图。该计算机设备可以实现为上述图1所示系统中的第一终端服务器140。该计算机设备可以是图1所示系统中的第一终端110或者第二终端120,或者,该计算机设备也可以是第一终端110和第二终端120之间的中继设备。所述计算机设备700包括中央处理单元(CPU)701、包括随机存取存储器(RAM)702和只读存储器(ROM)703的系统存储器704,以及连接系统存储器704和中央处理单元701的系统总线705。所述计算机设备700还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)706,和用于存储操作系统713、应用程序714和其他程序模块715的大容量存储设备707。
所述基本输入/输出系统706包括有用于显示信息的显示器708和用于用户输入信息的诸如鼠标、键盘之类的输入设备709。其中所述显示器708和输入设备709都通过连接到系统总线705的输入输出控制器710连接到中央处理单元701。所述基本输入/输出系统706还可以包括输入输出控制器710以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器710还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备707通过连接到系统总线705的大容量存储控制器(未示出)连接到中央处理单元701。所述大容量存储设备707及其相关联的计算机可读介质为计算机设备700提供非易失性存储。也就是说,所述大容量存储设备707可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器704和大容量存储设备707可以统称为存储器。
根据本公开的各种实施例,所述计算机设备700还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备700可以通过连接在所述系统总线705上的网络接口单元711连接到网络712,或者说,也可以使用网络接口单元711来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器701通过执行该一个或一个以上程序来实现图3或图4所示的方法的全部或者部分步骤。
在一示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中包含处理器的可执行指令,例如,该可执行指令可以是单条指令、一段程序、一个或一个以上代码集或者指令集等,处理器可以通过调用上述可执行指令来实现图3或图4所示的方法的全部或者部分步骤。其中,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (18)
1.一种回声消除方法,其特征在于,所述方法由声音处理芯片执行,所述方法包括:
获取近端声音信号和远端声音信号,所述近端声音信号和所述远端声音信号分别由若干个采样点数据构成,所述采样点数据为f位数据;所述近端声音信号是所述远端声音信号经过实际回声信道后叠加噪声得到的信号;f为大于或者等于2的整数;
将获取到的所述近端声音信号和所述远端声音信号输入回声消除算法模型;
以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,所述回声消除后的声音信号是从所述近端声音信号中消除所述远端声音信号后的结果;h为大于或者等于2的整数。
2.根据权利要求1所述的方法,其特征在于,所述以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,包括:
在通过所述回声消除算法模型对输入的信号进行回声消除处理的过程中,当调用所述回声消除算法模型中的内存拷贝函数时,从源寄存器中以f×h位数据并列的形式,将待拷贝的数据拷贝至目标寄存器。
3.根据权利要求1所述的方法,其特征在于,所述以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,包括:
在通过所述回声消除算法模型对输入的信号进行回声消除处理的过程中,当调用所述回声消除算法模型中的赋值函数时,加载f×h数据至寄存器中,并对所述寄存器中的数据进行赋值。
4.根据权利要求1所述的方法,其特征在于,所述以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,包括:
以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行M次迭代滤波,M是所述回声消除算法模型的滤波器延迟块的个数;
对所述M次迭代滤波得到的滤波结果进行累加后进行离散傅里叶反变换,以输出回声消除后的声音信号。
5.根据权利要求4所述的方法,其特征在于,所述以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行M次迭代滤波,包括:
在第i次迭代滤波时,以f×h位数据为单位,根据从所述近端声音信号中提取到的采样点数据以及第i次迭代滤波的频域滤波系数获取第i次迭代滤波的滤波结果。
6.根据权利要求5所述的方法,其特征在于,所述以f×h位数据为单位,根据从所述近端声音信号中提取到的采样点数据以及第i次迭代滤波的频域滤波系数获取第i次迭代滤波的滤波结果之前,还包括:
以f×h位数据为单位,对误差函数与输入数据进行乘法运算获得中间变量;
以f×h位数据为单位,根据所述中间变量进行乘累加运算,获得第i次迭代滤波的频域滤波系数;其中,所述乘累加运算是目标乘法运算与目标加法运算的合并计算,所述目标乘法运算是将步长与所述中间变量进行乘法运算以获得更新后的所述中间变量,所述目标加法运算是将第i次迭代滤波的频域滤波系数与更新后的所述中间变量进行加法运算以获得第i次迭代滤波的频域滤波系数。
7.根据权利要求1至6任一所述的方法,其特征在于,所述声音处理芯片是低功耗芯片。
8.根据权利要求1至6任一所述的方法,其特征在于,所述声音处理芯片是支持单指令多数据流SIMD特性和超长指令字VLIW架构的芯片。
9.一种回声消除装置,其特征在于,所述装置用于声音处理芯片中,所述装置包括:
信号获取模块,用于获取近端声音信号和远端声音信号,所述近端声音信号和所述远端声音信号分别由若干个采样点数据构成,所述采样点数据为f位数据;所述近端声音信号是所述远端声音信号经过实际回声信道后叠加噪声得到的信号;f为大于或者等于2的整数;
信号输入模块,用于将获取到的所述近端声音信号和所述远端声音信号输入回声消除算法模型;
回声消除处理模块,用于以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,所述回声消除后的声音信号是从所述近端声音信号中消除所述远端声音信号后的结果;h为大于或者等于2的整数。
10.根据权利要求9所述的装置,其特征在于,所述回声消除处理模块,包括:
拷贝子模块,用于在通过所述回声消除算法模型对输入的信号进行回声消除处理的过程中,当调用所述回声消除算法模型中的内存拷贝函数时,从源寄存器中以f×h位数据并列的形式,将待拷贝的数据拷贝至目标寄存器。
11.根据权利要求9所述的装置,其特征在于,所述回声消除处理模块,包括:
赋值子模块,用于在通过所述回声消除算法模型对输入的信号进行回声消除处理的过程中,当调用所述回声消除算法模型中的赋值函数时,加载f×h数据至寄存器中,并对所述寄存器中的数据进行赋值。
12.根据权利要求9所述的装置,其特征在于,所述回声消除处理模块,包括:
迭代子模块,用于以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行M次迭代滤波,M是所述回声消除算法模型的滤波器延迟块的个数;
变换子模块,用于对所述M次迭代滤波得到的滤波结果进行累加后进行离散傅里叶反变换,以输出回声消除后的声音信号。
13.根据权利要求12所述的装置,其特征在于,
所述迭代子模块,用于在第i次迭代滤波时,以f×h位数据为单位,根据从所述近端声音信号中提取到的采样点数据以及第i次迭代滤波的频域滤波系数获取第i次迭代滤波的滤波结果。
14.根据权利要求13所述的装置,其特征在于,
所述迭代子模块,还用于在以f×h位数据为单位,根据从所述近端声音信号中提取到的采样点数据以及第i次迭代滤波的频域滤波系数获取第i次迭代滤波的滤波结果之前,以f×h位数据为单位,对误差函数与输入数据进行乘法运算获得中间变量;并以f×h位数据为单位,根据所述中间变量进行乘累加运算,获得第i次迭代滤波的频域滤波系数;
其中,所述乘累加运算是目标乘法运算与目标加法运算的合并计算,所述目标乘法运算是将步长与所述中间变量进行乘法运算以获得更新后的所述中间变量,所述目标加法运算是将第i次迭代滤波的频域滤波系数与更新后的所述中间变量进行加法运算以获得第i次迭代滤波的频域滤波系数。
15.根据权利要求9至14任一所述的装置,其特征在于,所述声音处理芯片是低功耗芯片。
16.根据权利要求9至14任一所述的装置,其特征在于,所述声音处理芯片是支持单指令多数据流SIMD特性和超长指令字VLIW架构的芯片。
17.一种回声消除装置,其特征在于,所述装置用于声音处理芯片中,所述装置包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为:
获取近端声音信号和远端声音信号,所述近端声音信号和所述远端声音信号分别由若干个采样点数据构成,所述采样点数据为f位数据;所述近端声音信号是所述远端声音信号经过实际回声信道后叠加噪声得到的信号;f为大于或者等于2的整数;
将获取到的所述近端声音信号和所述远端声音信号输入回声消除算法模型;
以f×h位数据为单位,通过所述回声消除算法模型对输入的信号进行回声消除处理,输出回声消除后的声音信号,所述回声消除后的声音信号是从所述近端声音信号中消除所述远端声音信号后的结果;h为大于或者等于2的整数。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包含处理器的可执行指令,所述处理器调用所述可执行指令以实现上述权利要求1至8任一所述的回声消除方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910915640.8A CN110610716A (zh) | 2019-09-26 | 2019-09-26 | 回声消除方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910915640.8A CN110610716A (zh) | 2019-09-26 | 2019-09-26 | 回声消除方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110610716A true CN110610716A (zh) | 2019-12-24 |
Family
ID=68893423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910915640.8A Pending CN110610716A (zh) | 2019-09-26 | 2019-09-26 | 回声消除方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110610716A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111370016A (zh) * | 2020-03-20 | 2020-07-03 | 北京声智科技有限公司 | 一种回声消除方法及电子设备 |
CN111696569A (zh) * | 2020-06-29 | 2020-09-22 | 美的集团武汉制冷设备有限公司 | 家电设备的回声消除方法、家电设备、终端和存储介质 |
CN115050379A (zh) * | 2022-04-24 | 2022-09-13 | 华侨大学 | 一种基于fhgan的高保真语音增强模型及其应用 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1139501A (zh) * | 1993-12-23 | 1997-01-01 | 诺基亚电信公司 | 确定回声消除器中回声区间的方法 |
US6661895B1 (en) * | 1998-10-07 | 2003-12-09 | Zarlink Semiconductor Inc. | Zero-delay structure for sub-band echo cancellation |
CN101043560A (zh) * | 2006-03-22 | 2007-09-26 | 北京大学深圳研究生院 | 回声消除器及回声消除方法 |
CN110138990A (zh) * | 2019-05-14 | 2019-08-16 | 浙江工业大学 | 一种消除移动设备VoIP电话回声的方法 |
-
2019
- 2019-09-26 CN CN201910915640.8A patent/CN110610716A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1139501A (zh) * | 1993-12-23 | 1997-01-01 | 诺基亚电信公司 | 确定回声消除器中回声区间的方法 |
US6661895B1 (en) * | 1998-10-07 | 2003-12-09 | Zarlink Semiconductor Inc. | Zero-delay structure for sub-band echo cancellation |
CN101043560A (zh) * | 2006-03-22 | 2007-09-26 | 北京大学深圳研究生院 | 回声消除器及回声消除方法 |
CN110138990A (zh) * | 2019-05-14 | 2019-08-16 | 浙江工业大学 | 一种消除移动设备VoIP电话回声的方法 |
Non-Patent Citations (2)
Title |
---|
杨雯静: "基于DSP的会议电话语音改善技术的研究与实现", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
王亚洁: "基于ARM平台的VoIP语音处理关键技术研究与开发", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111370016A (zh) * | 2020-03-20 | 2020-07-03 | 北京声智科技有限公司 | 一种回声消除方法及电子设备 |
CN111370016B (zh) * | 2020-03-20 | 2023-11-10 | 北京声智科技有限公司 | 一种回声消除方法及电子设备 |
CN111696569A (zh) * | 2020-06-29 | 2020-09-22 | 美的集团武汉制冷设备有限公司 | 家电设备的回声消除方法、家电设备、终端和存储介质 |
CN111696569B (zh) * | 2020-06-29 | 2023-12-15 | 美的集团武汉制冷设备有限公司 | 家电设备的回声消除方法、家电设备、终端和存储介质 |
CN115050379A (zh) * | 2022-04-24 | 2022-09-13 | 华侨大学 | 一种基于fhgan的高保真语音增强模型及其应用 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110610716A (zh) | 回声消除方法、装置及存储介质 | |
CN111341336B (zh) | 一种回声消除方法、装置、终端设备及介质 | |
JP5284475B2 (ja) | 前白色化を伴うlmsアルゴリズムによって適応させられる適応フィルタの更新済みフィルタ係数を決定する方法 | |
CN114450973A (zh) | 用于以声学回声消除器去除非线性回声的技术 | |
CN111951819A (zh) | 回声消除方法、装置及存储介质 | |
US6738480B1 (en) | Method and device for cancelling stereophonic echo with frequency domain filtering | |
US20110013781A1 (en) | System and process for regression-based residual acoustic echo suppression | |
CN108234793B (zh) | 一种通讯方法、装置、电子设备和存储介质 | |
CN110956973A (zh) | 一种回声消除方法、装置及智能终端 | |
CN102968999A (zh) | 处理音频信号 | |
CN111356058B (zh) | 一种回声消除方法、装置及智能音箱 | |
CN111755020A (zh) | 一种立体声回声消除方法 | |
CN111370016B (zh) | 一种回声消除方法及电子设备 | |
CN110021289B (zh) | 一种声音信号处理方法、装置及存储介质 | |
CN109584898B (zh) | 一种语音信号的处理方法、装置、存储介质及电子设备 | |
CN1605186A (zh) | 具有频谱回波尾部估计器的回波消除器 | |
Burra et al. | Nonlinear stereophonic acoustic echo cancellation using sub-filter based adaptive algorithm | |
US7925213B2 (en) | Method and system for audio signal processing for Bluetooth wireless headsets using a hardware accelerator | |
CN112863534B (zh) | 噪声音频消除方法、语音识别方法 | |
CN101977031B (zh) | 一种时空均衡的数字滤波器优化设计方法 | |
WO2013168848A1 (ko) | 하모닉 주파수 사이의 종속관계를 이용한 암묵 신호 분리 방법 및 이를 위한 디믹싱 시스템 | |
JP2012044609A (ja) | ステレオ反響消去方法、ステレオ反響消去装置、ステレオ反響消去プログラム | |
CN115881151B (zh) | 一种基于高拍仪的双向拾音消噪方法、装置、设备及介质 | |
Buchner et al. | An acoustic human-machine interface with multi-channel sound reproduction | |
Hirano et al. | Implementation of stereophonic acoustic echo canceller on nvidia geforce graphics processing unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191224 |