滤除回声的方法、电子设备和计算机可读存储介质与流程

文档序号:28595186发布日期:2022-01-22 10:12阅读:121来源:国知局
滤除回声的方法、电子设备和计算机可读存储介质与流程

1.本公开涉及电子设备,更具体而言涉及滤除回声的方法、电子设备和计算机可读存储介质。


背景技术:

2.随着消费者对操作体验和语音交互需求的提升,出现了越来越多的包含语音智能助手和通话功能的电子设备,例如智慧屏、智能音响、智慧机器人、车载语音助手、智能手机、平板电脑等。然而,电子设备的扬声器所播放的声音的回声通常被麦克风采集到,这对智能助手的唤醒引擎和/或通话质量造成影响。扬声器播放的声音可以通过两种方式到达电子设备的麦克风。一种方式是通过诸如墙壁之类的环境反射,所形成的反射回声可以被麦克风采集。另一方式是多个扬声器播放的声音作为回声直接传递到电子设备的麦克风,而不经过任何反射。
3.为了在电子设备的扬声器播放音乐或电视节目时能够唤醒语音助手(语音交互增强)或能够进行语音通话,这些电子设备通常使用声学回声消除(aec)算法对由麦克风采集到的音频信号中的与扬声器播放的声音的回声相关联的信号分量进行消除。然而,在一些情形下,常规的aec算法对于扬声器播放的回声的消除效果仍不理想,因此需要进一步的改进。


技术实现要素:

4.鉴于上述问题,本公开的实施例旨在提供一种用于滤除回声的技术。
5.根据本公开的第一方面,提供一种用于滤除回声的方法。该方法应用于电子设备。电子设备包括m个麦克风和n个扬声器,m个n均为大于1的整数。该方法包括获取与n个扬声器对应的n个扬声器信号;获取与m个麦克风对应的m个麦克风信号;针对n个扬声器信号以及m个麦克风信号至少进行直达声滤波以得到目标信号,直达声滤波指示对从n个扬声器直接输出至m个麦克风而不经环境反射的音频分量进行滤波。通过使用直达声滤波,可以进一步提高回声滤波的效果。
6.在一些实施例中,目标信号用于唤醒引擎唤醒智能语音助手或用于传输至另一电子设备以进行语音通话。在一些实施例中,目标信号相比于m个麦克风信号包含更少的回声分量,回声分量用于表征由m个麦克风采集到的、n个扬声器信号在空间传播的声音的回声。通过使用经直达声滤波的目标信号,可以提高唤醒引擎唤醒智能语音助手的成功率和/或提高语音通话的质量。
7.在一些实施例中,该方法还包括使电子设备的显示屏显示定制直达声滤波界面;接收用户在定制直达声滤波界面的用户输入;响应于用户输入,获取n个扬声器测试信号并且使n个扬声器播放n个扬声器测试信号;获取与m个麦克风对应的m个麦克风测试信号;以及存储定制直达声滤波模型。定制直达声滤波模型是基于n个扬声器测试信号和m个麦克风测试信号得到的,并且定制直达声滤波模型用于直达声滤波。在一些实施例中,该方法还包
括使用该定制直达声滤波模型针对n个扬声器信号和m个麦克风信号进行定制直达声滤波以得到目标信号。通过使用定制直达声滤波,可以针对客户的环境优化直达声滤波并且进一步提高在客户环境下的回声滤除。
8.在一些实施例中,定制直达声滤波界面显示提示保持环境安静的提示项。定制直达声滤波界面还可以显示指示环境噪声的分贝指示项和/或指示是否适合定制回声滤波的指示项。通过显示提示环境安静的提示项、分贝指示项和/或指示是否适合定制回声滤波的指示项,可以促使用户在安静且合适的环境中建立定制直达声滤波模型,从而为后续使用特定于该环境的定制直达声滤波建立良好基础,并且随后在该环境中获得良好的回声滤除效果。在一些实施例中,直达声滤波包括默认直达声滤波,默认直达声滤波指示至少基于在全消音环境下由n个扬声器播放n个扬声器信号与由m个麦克风直接采集到的m个麦克风信号之间的模型关系的滤波。
9.在一些实施例中,该方法还包括基于n个扬声器信号生成反向扬声器信号;以及使靠近m个麦克风中至少一个麦克风的反向扬声器基于反向扬声器信号播放反向音频,以抵消n个扬声器播放的与n个扬声器信号对应的音频输出的回声。反向扬声器不同于n个扬声器。通过使反向扬声器播放反向音频,可以在回声被麦克风采集之前就已滤除一部分回声分量,从而提供回声滤除效果。
10.在一些实施例中,该方法还包括基于n个扬声器信号生成回声估计信号;从m个麦克风信号中滤除回声估计信号以生成残差信号;以及得到目标信号包括对残差信号进行直达声滤波以得到目标信号。通过在直达声滤波之前对麦克风信号进行预处理以滤除回声估计信号,可以进一步提供回声滤波的效果。
11.在一些实施例中,生成回声估计信号包括对n个扬声器信号进行非交织式预处理,以生成至少一个预处理信号;对至少一个预处理信号进行自适应滤波,以生成回声估计信号。通过非交织式预处理n个扬声器信号,可以获得时间上连续地表示回声的预处理信号并且通过使用基于非交织式预处理信号的自适应滤波信号来估计m个麦克风信号中的回声分量,可以获得更好的回声滤除效果。
12.在一些实施例中,生成至少一个预处理信号包括将n个扬声器信号中的至少两个扬声器信号进行线性求和以生成求和信号。通过将n个扬声器信号中的至少两个扬声器信号合并为单个求和信号,可以减少后续自适应滤波的计算开销,从而减少整体计算开销并且可以在全频带滤除回声以获得更好的回声滤除效果。
13.在一些实施例中,生成至少一个预处理信号还包括将n个扬声器信号中的至少两个扬声器信号进行线性求差以生成求差信号。在一些情形下,回声滤除重点关注某个频段或不同扬声器输出之间的差异。在此情形下,求差信号可以单独被提供给处理器或与其它信号组合以进一步提高回声滤除效果。
14.在一些实施例中,生成至少一个预处理信号还包括对求和信号和求差信号进行排序;生成回声估计信号还包括对经排序的求和信号和求差信号依次进行自适应滤波,以生成对应排序的回声估计信号;以及生成残差信号包括从m个麦克风信号依次滤除对应排序的回声估计信号以生成残差信号。通过对求和信号和求差信号进行排序并且相应地生成残差信号,可以针对不同情形获得更好的回声滤波效果。
15.在一些实施例中,生成至少一个预处理信号包括通过对n个扬声器信号进行排序,
生成经排序的n个预处理信号。生成回声估计信号包括对经排序的n个预处理信号依次进行自适应滤波,以生成对应排序的n个回声估计信号。生成残差信号包括从m个麦克风信号依次滤除对应排序的n个回声估计信号以生成残差信号。通过对n个扬声器信号进行排序并依次进行滤除,可以优先滤除产生较大失真的信号以提供回声滤除效果。
16.在一些实施例中,对n个扬声器信号进行排序包括基于n个扬声器信号中每个扬声器信号所具有的低频分量,对n个扬声器信号进行排序。通过优先对低频分量的扬声器信号进行滤波,可以提高回声滤除效果。
17.在一些实施例中,生成至少一个预处理信号包括针对n个扬声器信号和m个麦克风信号进行非交织式预处理,以生成至少一个预处理信号。通过使用m个麦克风信号作为辅助参考信号,可以限制回声较大的频带,以辅助提高回声滤除。
18.在一些实施例中,该方法还包括调整n个扬声器信号、m个麦克风信号和至少一个预处理信号中的至少一项的增益,以使得回声估计信号的增益与m个麦克风信号的增益匹配。通过调节增益,可以使得回声估计信号的增益与m个麦克风信号的增益匹配,从而使得改善自适应滤波效果以及回声滤波效果。
19.根据本公开的第二方面,提供一种用于滤除回声的方法。该方法应用于电子设备。电子设备包括m个麦克风和n个扬声器,m和n均为大于1的整数。该方法包括获取与n个扬声器对应的n个扬声器信号;基于n个扬声器信号生成反向扬声器信号;使靠近m个麦克风中的至少一个麦克风的反向扬声器基于反向扬声器信号播放反向音频,以抵消n个扬声器播放的与n个扬声器信号对应的音频输出。反向扬声器不同于n个扬声器。通过使反向扬声器播放反向音频,可以在回声被麦克风采集之前就已滤除一部分回声分量,从而提供回声滤除效果。
20.在一些实施例中,该方法还包括获取与m个麦克风对应的m个麦克风信号;针对n个扬声器信号以及m个麦克风信号至少进行直达声滤波以得到目标信号,直达声滤波指示对从n个扬声器直接输出至m个麦克风而不经环境反射的音频分量进行滤波。通过使用直达声滤波,可以进一步提高回声滤波的效果。
21.在一些实施例中,目标信号用于唤醒引擎唤醒智能语音助手或用于传输至另一电子设备以进行语音通话。在一些实施例中,目标信号相比于m个麦克风信号包含更少的回声分量,回声分量用于表征由m个麦克风采集到的、n个扬声器信号在空间传播的音频输出的回声。通过使用经直达声滤波的目标信号,可以提高唤醒引擎唤醒智能语音助手的成功率和/或提高语音通话的质量。
22.在一些实施例中,直达声滤波包括默认直达声滤波,默认直达声滤波指示至少基于在全消音环境下由n个扬声器播放n个扬声器信号与由m个麦克风直接采集到的m个麦克风信号之间的模型关系的滤波。
23.在一些实施例中,该方法还包括使电子设备的显示屏显示定制直达声滤波界面;接收用户在定制直达声滤波界面的用户输入;响应于用户输入,获取n个扬声器测试信号并且使n个扬声器播放n个扬声器测试信号;获取与m个麦克风对应的m个麦克风测试信号;以及存储定制直达声滤波模型。定制直达声滤波模型是基于n个扬声器测试信号和m个麦克风测试信号得到的,并且定制直达声滤波模型用于直达声滤波。在一些实施例中,该方法还包括使用该定制直达声滤波模型针对n个扬声器信号和m个麦克风信号进行定制直达声滤波
以得到目标信号。通过使用定制直达声滤波,可以针对客户的环境优化直达声滤波并且进一步提高在客户环境下的回声滤除。
24.在一些实施例中,定制直达声滤波界面显示提示保持环境安静的提示项。定制直达声滤波界面还可以显示指示环境噪声的分贝指示项和/或指示是否适合定制回声滤波的指示项。通过显示提示环境安静的提示项、分贝指示项和/或指示是否适合定制回声滤波的指示项,可以促使用户在安静且合适的环境中建立定制直达声滤波模型,从而为后续使用特定于该环境的定制直达声滤波建立良好基础,并且随后在该环境中获得良好的回声滤除效果。
25.在一些实施例中,该方法还包括基于n个扬声器信号生成回声估计信号;从m个麦克风信号中滤除回声估计信号以生成残差信号;以及得到目标信号包括对残差信号进行直达声滤波以得到目标信号。通过在直达声滤波之前对麦克风信号进行预处理以滤除回声估计信号,可以进一步提供回声滤波的效果。
26.在一些实施例中,生成回声估计信号包括对n个扬声器信号进行非交织式预处理,以生成至少一个预处理信号;对至少一个预处理信号进行自适应滤波,以生成回声估计信号。通过非交织式预处理n个扬声器信号,可以获得时间上连续地表示回声的预处理信号并且通过使用基于非交织式预处理信号的自适应滤波信号来估计m个麦克风信号中的回声分量,可以获得更好的回声滤除效果。
27.在一些实施例中,生成至少一个预处理信号包括将n个扬声器信号中的至少两个扬声器信号进行线性求和以生成求和信号。通过将n个扬声器信号中的至少两个扬声器信号合并为单个求和信号,可以减少后续自适应滤波的计算开销,从而减少整体计算开销并且可以在全频带滤除回声以获得更好的回声滤除效果。
28.在一些实施例中,生成至少一个预处理信号还包括将n个扬声器信号中的至少两个扬声器信号进行线性求差以生成求差信号。在一些情形下,回声滤除重点关注某个频段或不同扬声器输出之间的差异。在此情形下,求差信号可以单独被提供给处理器或与其它信号组合以进一步提高回声滤除效果。
29.在一些实施例中,生成至少一个预处理信号还包括对求和信号和求差信号进行排序。生成回声估计信号还包括对经排序的求和信号和求差信号依次进行自适应滤波,以生成对应排序的回声估计信号。生成残差信号包括从m个麦克风信号依次滤除对应排序的回声估计信号以生成残差信号。通过对求和信号和求差信号进行排序并且相应地生成残差信号,可以针对不同情形获得更好的回声滤波效果。
30.在一些实施例中,生成至少一个预处理信号包括通过对n个扬声器信号进行排序,生成经排序的n个预处理信号。生成回声估计信号包括对经排序的n个预处理信号依次进行自适应滤波,以生成对应排序的经排序的n个回声估计信号。生成残差信号包括从m个麦克风信号依次滤除n个回声估计信号以生成残差信号。通过对n个扬声器信号进行排序并依次进行滤除,可以优先滤除产生较大失真的信号以提供回声滤除效果。
31.在一些实施例中,对n个扬声器信号进行排序包括基于n个扬声器信号中每个扬声器信号所具有的低频分量,对n个扬声器信号进行排序。通过优先对低频分量的扬声器信号进行滤波,可以提高回声滤除效果。
32.在一些实施例中,生成至少一个预处理信号包括针对n个扬声器信号和m个麦克风
信号进行非交织式预处理,以生成至少一个预处理信号。通过使用m个麦克风信号作为辅助参考信号,可以限制回声较大的频带,以辅助提高回声滤除。
33.在一些实施例中,该方法还包括调整n个扬声器信号、m个麦克风信号和至少一个预处理信号中的至少一项的增益,以使得回声估计信号的增益与m个麦克风信号的增益匹配。通过调节增益,可以使得回声估计信号的增益与m个麦克风信号的增益匹配,从而使得改善自适应滤波效果以及回声滤波效果。
34.根据本公开的第三方面,提供用于滤除回声的方法。该方法应用于电子设备。电子设备包括m个麦克风和n个扬声器,m和n均为大于1的整数。该方法包括获取与n个扬声器对应的n个扬声器信号;获取与m个麦克风对应的m个麦克风信号;针对n个扬声器信号进行非交织式预处理以生成m组预处理信号;针对m组预处理信号进行自适应滤波以生成m个回声估计信号,以及从m个麦克风信号滤除m个回声估计信号以得到残差信号。通过非交织式预处理n个扬声器信号,可以获得时间上连续地表示回声的预处理信号并且通过使用基于非交织式预处理信号的自适应滤波信号来估计m个麦克风信号中的回声分量,可以获得更好的回声滤除效果。
35.在一些实施例中,残差信号是目标信号。目标信号用于唤醒引擎唤醒智能语音助手或用于传输至另一电子设备以进行语音通话。在一些实施例中,目标信号相比于m个麦克风信号包含更少的回声分量,回声分量用于表征由m个麦克风采集到的、n个扬声器信号在空间传播的声音的回声。通过使用基于经非交织式预处理的预处理信号的目标信号,可以提高唤醒引擎唤醒智能语音助手的成功率和/或提高语音通话的质量。
36.在一些实施例中,生成至少一个预处理信号包括将n个扬声器信号中的至少两个扬声器信号进行线性求和以生成求和信号。通过将n个扬声器信号中的至少两个扬声器信号合并为单个求和信号,可以减少后续自适应滤波的计算开销,从而减少整体计算开销并且可以在全频带滤除回声以获得更好的回声滤除效果。
37.在一些实施例中,生成至少一个预处理信号包括将n个扬声器信号中的至少两个扬声器信号进行线性求差以生成求差信号。在一些情形下,回声滤除重点关注某个频段或不同扬声器输出之间的差异。在此情形下,求差信号可以单独被提供给处理器或与其它信号组合以进一步提高回声滤除效果。
38.在一些实施例中,生成至少一个预处理信号还包括对求和信号和求差信号进行排序。生成至少一个回声估计信号包括通过对经排序的求和信号和求差信号依次进行自适应滤波,依次生成对应排序的自适应滤波信号。生成残差信号包括通过从m个麦克风信号中依次滤除对应排序的自适应滤波信号,生成残差信号。通过对求和信号和求差信号进行排序并依次进行滤除,可以优先滤除产生较大失真的信号以提供回声滤除效果。
39.在一些实施例中,生成至少一个预处理信号包括通过对n个扬声器信号进行排序,生成经排序的n个预处理信号。生成至少一个回声估计信号包括对经排序的n个预处理信号依次进行自适应滤波以对应排序的回声估计信号。生成目标信号包括通过m个麦克风信号中依次滤除对应排序的回声估计信号,生成目标信号。通过对n个扬声器信号进行排序并依次进行滤除,可以优先滤除产生较大失真的信号以提供回声滤除效果。
40.在一些实施例中,对n个扬声器信号进行排序包括基于n个扬声器信号中每个扬声器信号分别具有的低频分量,对n个扬声器信号进行排序。通过优先对低频分量的扬声器信
号进行滤波,可以提高回声滤除效果。
41.在一些实施例中,生成至少一个预处理信号包括针对n个扬声器信号和m个麦克风信号进行非交织式预处理以生成至少一个预处理信号。通过使用m个麦克风信号作为辅助参考信号,可以限制回声较大的频带,以辅助提高回声滤除。
42.在一些实施例中,该方法还包括调整n个扬声器信号、m个麦克风信号和至少一个预处理信号中的至少一项的增益,使得至少一个回声估计信号的增益与m个麦克风信号的增益匹配。通过调节增益,可以使得回声估计信号的增益与m个麦克风信号的增益匹配,从而使得改善自适应滤波效果以及回声滤波效果。
43.在一些实施例中,生成至少一个回声估计信号包括在多个预处理信号的情形下,对多个预处理信号进行并行自适应滤波以生成至少一个回声估计信号。对于相似度较低的多个预处理信号,采用并行预处理可以提高回声滤除效果。
44.在一些实施例中,生成至少一个回声估计信号包括将至少一个预处理信号从时域信号转换为频域信号,以及对频域信号进行自适应滤波,以得到至少一个回声估计信号通过将预处理信号从时域转换为频域,可以减少自适应滤波的计算开销。
45.在一些实施例中,该方法包括对残差信号进行直达声滤波,以生成目标信号。直达声滤波指示对从n个扬声器直接输出至m个麦克风而不经环境反射的音频分量进行滤波。更具体而言,直达声滤波指示基于由第一扬声器和第二扬声器中的至少一个扬声器播放的音源信号与由麦克风直接采集到的音频输入信号之间的模型关系的滤波。通过使用直达声滤波,可以进一步提高回声滤波的效果。
46.在一些实施例中,生成目标信号包括对残差信号进行默认直达声滤波,以生成目标信号。默认直达声滤波指示基于在全消音环境下由n个扬声器播放的音源信号与由m个麦克风直接采集到的音频输入信号之间的模型关系的滤波。
47.在一些实施例中,该方法还包括使电子设备的显示屏显示定制直达声滤波界面;接收用户在定制直达声滤波界面的用户输入;响应于用户输入,获取n个扬声器测试信号并且使n个扬声器播放n个扬声器测试信号;获取与m个麦克风对应的m个麦克风测试信号;以及存储定制直达声滤波模型。定制直达声滤波模型是基于n个扬声器测试信号和m个麦克风测试信号得到的,并且定制直达声滤波模型用于直达声滤波。在一些实施例中,该方法还包括使用该定制直达声滤波模型针对n个扬声器信号和m个麦克风信号进行定制直达声滤波以得到目标信号。通过使用定制直达声滤波,可以针对客户的环境优化直达声滤波并且进一步提高在客户环境下的回声滤除。
48.在一些实施例中,该方法还包括基于n个扬声器信号生成反向音频信号,以及使靠近麦克风的反向扬声器基于反向音频信号播放反向音频,以抵消n个扬声器中至少一个扬声器播放的音频输出。反向扬声器不同于第一扬声器和第二扬声器。通过使反向扬声器播放反向音频,可以在回声被麦克风采集之前就已滤除一部分回声分量,从而提供回声滤除效果。
49.根据本公开的第四方面,提供一种电子设备。该电子设备包括n个扬声器、m个麦克风、一个或多个处理器;以及存储一个或多个程序的存储器。一个或多个程序被配置为由一个或多个处理器执行。一个或多个程序包括用于执行根据第一方面的方法的指令。
50.根据本公开的第五方面,提供一种电子设备。该电子设备包括n个扬声器、m个麦克
风、一个或多个处理器;以及存储一个或多个程序的存储器。一个或多个程序被配置为由一个或多个处理器执行。一个或多个程序包括用于执行根据第二方面的方法的指令。
51.根据本公开的第六方面,提供一种电子设备。该电子设备包括n个扬声器、m个麦克风反向扬声器、一个或多个处理器;以及存储一个或多个程序的存储器。一个或多个程序被配置为由一个或多个处理器执行。一个或多个程序包括用于执行根据第三方面的方法的指令。
52.根据本公开的第七方面,提供一种计算机可读存储介质。计算机可读存储介质存储一个或多个程序。一个或多个程序被配置为由电子设备的一个或多个处理器执行。一个或多个程序包括用于执行根据第一方面的方法的指令。
53.根据本公开的第八方面,提供一种计算机可读存储介质。计算机可读存储介质存储一个或多个程序。一个或多个程序被配置为由电子设备的一个或多个处理器执行。一个或多个程序包括用于执行根据第二方面的方法的指令。
54.根据本公开的第九方面,提供一种计算机可读存储介质。计算机可读存储介质存储一个或多个程序。一个或多个程序被配置为由电子设备的一个或多个处理器执行。一个或多个程序包括用于执行根据第三方面的方法的指令。
55.根据本公开的第十方面,提供一种用于滤除回声的装置。该装置应用于电子设备。电子设备包括m个麦克风和n个扬声器,m个n均为大于1的整数。该装置包括:第一获取模块,用于获取与n个扬声器对应的n个扬声器信号;第二获取模块,用于获取与m个麦克风对应的m个麦克风信号;直达声滤波模块,用于针对n个扬声器信号以及m个麦克风信号至少进行直达声滤波以得到目标信号,直达声滤波指示对从n个扬声器直接输出至m个麦克风而不经环境反射的音频分量进行滤波。通过使用直达声滤波,可以进一步提高回声滤波的效果。
56.在一些实施例中,目标信号用于唤醒引擎唤醒智能语音助手或用于传输至另一电子设备以进行语音通话。在一些实施例中,目标信号相比于m个麦克风信号包含更少的回声分量,回声分量用于表征由m个麦克风采集到的、n个扬声器信号在空间传播的声音的回声。通过使用经直达声滤波的目标信号,可以提高唤醒引擎唤醒智能语音助手的成功率和/或提高语音通话的质量。
57.在一些实施例中,该装置还包括:显示使能模块,用于使电子设备的显示屏显示定制直达声滤波界面;输入接收模块,用于接收用户在定制直达声滤波界面的用户输入;扬声器测试模块,用于响应于用户输入,获取n个扬声器测试信号并且使n个扬声器播放n个扬声器测试信号;第三获取模块,用于获取与m个麦克风对应的m个麦克风测试信号;以及存储模块,用于存储定制直达声滤波模型。定制直达声滤波模型是基于n个扬声器测试信号和m个麦克风测试信号得到的,并且定制直达声滤波模型用于直达声滤波。在一些实施例中,该装置还包括定制直达声滤波模块,用于使用该定制直达声滤波模型针对n个扬声器信号和m个麦克风信号进行定制直达声滤波以得到目标信号。通过使用定制直达声滤波,可以针对客户的环境优化直达声滤波并且进一步提高在客户环境下的回声滤除。
58.在一些实施例中,定制直达声滤波界面显示提示保持环境安静的提示项。定制直达声滤波界面还可以显示指示环境噪声的分贝指示项和/或指示是否适合定制回声滤波的指示项。通过显示提示环境安静的提示项、分贝指示项和/或指示是否适合定制回声滤波的指示项,可以促使用户在安静且合适的环境中建立定制直达声滤波模型,从而为后续使用
特定于该环境的定制直达声滤波建立良好基础,并且随后在该环境中获得良好的回声滤除效果。在一些实施例中,直达声滤波包括默认直达声滤波,默认直达声滤波指示至少基于在全消音环境下由n个扬声器播放n个扬声器信号与由m个麦克风直接采集到的m个麦克风信号之间的模型关系的滤波。
59.在一些实施例中,该装置还包括反向扬声器信号生成模块,用于基于n个扬声器信号生成反向扬声器信号;以及播放使能模块,用于使靠近m个麦克风中至少一个麦克风的反向扬声器基于反向扬声器信号播放反向音频,以抵消n个扬声器播放的与n个扬声器信号对应的音频输出的回声。反向扬声器不同于n个扬声器。通过使反向扬声器播放反向音频,可以在回声被麦克风采集之前就已滤除一部分回声分量,从而提供回声滤除效果。
60.在一些实施例中,该装置还包括:回声估计模块,用于基于n个扬声器信号生成回声估计信号;残差信号生成模块,用于从m个麦克风信号中滤除回声估计信号以生成残差信号;以及目标信号生成模块,用于对残差信号进行直达声滤波以得到目标信号。通过在直达声滤波之前对麦克风信号进行预处理以滤除回声估计信号,可以进一步提供回声滤波的效果。
61.在一些实施例中,回声估计模块包括:预处理信号生成模块,用于对n个扬声器信号进行非交织式预处理,以生成至少一个预处理信号;自适应滤波模块,用于对至少一个预处理信号进行自适应滤波,以生成回声估计信号。通过非交织式预处理n个扬声器信号,可以获得时间上连续地表示回声的预处理信号并且通过使用基于非交织式预处理信号的自适应滤波信号来估计m个麦克风信号中的回声分量,可以获得更好的回声滤除效果。
62.在一些实施例中,预处理信号生成模块包括:求和模块,用于将n个扬声器信号中的至少两个扬声器信号进行线性求和以生成求和信号。通过将n个扬声器信号中的至少两个扬声器信号合并为单个求和信号,可以减少后续自适应滤波的计算开销,从而减少整体计算开销并且可以在全频带滤除回声以获得更好的回声滤除效果。
63.在一些实施例中,预处理信号生成模块还包括:求差模块,用于将n个扬声器信号中的至少两个扬声器信号进行线性求差以生成求差信号。在一些情形下,回声滤除重点关注某个频段或不同扬声器输出之间的差异。在此情形下,求差信号可以单独被提供给处理器或与其它信号组合以进一步提高回声滤除效果。
64.在一些实施例中,预处理信号生成模块还包括排序模块,用于对求和信号和求差信号进行排序。回声估计模块还包括依次自适应滤波模块,用于对经排序的求和信号和求差信号依次进行自适应滤波,以生成对应排序的回声估计信号。残差信号生成模块包括残差信号依次生成模块,用于从m个麦克风信号依次滤除对应排序的回声估计信号以生成残差信号。通过对求和信号和求差信号进行排序并且相应地生成残差信号,可以针对不同情形获得更好的回声滤波效果。
65.在一些实施例中,预处理信号生成模块包括扬声器信号排序模块,用于通过对n个扬声器信号进行排序,生成经排序的n个预处理信号。回声估计模块包括:依次自适应滤波模块,用于对经排序的n个预处理信号依次进行自适应滤波,以生成对应排序的n个回声估计信号。残差信号生成模块包括残差信号依次生成模块,用于从m个麦克风信号依次滤除对应排序的n个回声估计信号以生成残差信号。通过对n个扬声器信号进行排序并依次进行滤除,可以优先滤除产生较大失真的信号以提供回声滤除效果。
66.在一些实施例中,对n个扬声器信号进行排序包括基于n个扬声器信号中每个扬声器信号所具有的低频分量,对n个扬声器信号进行排序。通过优先对低频分量的扬声器信号进行滤波,可以提高回声滤除效果。
67.在一些实施例中,预处理信号生成模块还用于针对n个扬声器信号和m个麦克风信号进行非交织式预处理,以生成至少一个预处理信号。通过使用m个麦克风信号作为辅助参考信号,可以限制回声较大的频带,以辅助提高回声滤除。
68.在一些实施例中,该装置还包括增益调整模块,用于调整n个扬声器信号、m个麦克风信号和至少一个预处理信号中的至少一项的增益,以使得回声估计信号的增益与m个麦克风信号的增益匹配。通过调节增益,可以使得回声估计信号的增益与m个麦克风信号的增益匹配,从而使得改善自适应滤波效果以及回声滤波效果。
69.根据本公开的第十一方面,提供一种用于滤除回声的装置。该装置应用于电子设备。电子设备包括m个麦克风和n个扬声器,m和n均为大于1的整数。该装置包括:第一获取模块,用于获取与n个扬声器对应的n个扬声器信号;反向扬声器信号生成模块,用于基于n个扬声器信号生成反向扬声器信号;播放使能模块,用于使靠近m个麦克风中的至少一个麦克风的反向扬声器基于反向扬声器信号播放反向音频,以抵消n个扬声器播放的与n个扬声器信号对应的音频输出。反向扬声器不同于n个扬声器。通过使反向扬声器播放反向音频,可以在回声被麦克风采集之前就已滤除一部分回声分量,从而提供回声滤除效果。
70.在一些实施例中,该装置还包括第二获取模块,用于获取与m个麦克风对应的m个麦克风信号;以及直达声滤波模块,用于针对n个扬声器信号以及m个麦克风信号至少进行直达声滤波以得到目标信号,直达声滤波指示对从n个扬声器直接输出至m个麦克风而不经环境反射的音频分量进行滤波。通过使用直达声滤波,可以进一步提高回声滤波的效果。
71.在一些实施例中,目标信号用于唤醒引擎唤醒智能语音助手或用于传输至另一电子设备以进行语音通话。在一些实施例中,目标信号相比于m个麦克风信号包含更少的回声分量,回声分量用于表征由m个麦克风采集到的、n个扬声器信号在空间传播的音频输出的回声。通过使用经直达声滤波的目标信号,可以提高唤醒引擎唤醒智能语音助手的成功率和/或提高语音通话的质量。
72.在一些实施例中,直达声滤波模块包括默认直达声滤波模块,默认直达声滤波指示至少基于在全消音环境下由n个扬声器播放n个扬声器信号与由m个麦克风直接采集到的m个麦克风信号之间的模型关系的滤波。
73.在一些实施例中,该装置还包括:显示使能模块,用于使电子设备的显示屏显示定制直达声滤波界面;输入接收模块,用于接收用户在定制直达声滤波界面的用户输入;扬声器测试模块,用于响应于用户输入,获取n个扬声器测试信号并且使n个扬声器播放n个扬声器测试信号;第三获取模块,获取与m个麦克风对应的m个麦克风测试信号;以及存储模块,用于存储定制直达声滤波模型。定制直达声滤波模型是基于n个扬声器测试信号和m个麦克风测试信号得到的,并且定制直达声滤波模型用于直达声滤波。在一些实施例中,该装置还包括使用该定制直达声滤波模型针对n个扬声器信号和m个麦克风信号进行定制直达声滤波以得到目标信号。通过使用定制直达声滤波,可以针对客户的环境优化直达声滤波并且进一步提高在客户环境下的回声滤除。
74.在一些实施例中,定制直达声滤波界面显示提示保持环境安静的提示项。定制直
达声滤波界面还可以显示指示环境噪声的分贝指示项和/或指示是否适合定制回声滤波的指示项。通过显示提示环境安静的提示项、分贝指示项和/或指示是否适合定制回声滤波的指示项,可以促使用户在安静且合适的环境中建立定制直达声滤波模型,从而为后续使用特定于该环境的定制直达声滤波建立良好基础,并且随后在该环境中获得良好的回声滤除效果。
75.在一些实施例中,该装置还包括:回声估计模块,用于基于n个扬声器信号生成回声估计信号;残差信号生成模块,用于从m个麦克风信号中滤除回声估计信号以生成残差信号;以及目标信号生成模块,用于对残差信号进行直达声滤波以得到目标信号。通过在直达声滤波之前对麦克风信号进行预处理以滤除回声估计信号,可以进一步提供回声滤波的效果。
76.在一些实施例中,回声估计模块包括:预处理信号生成模块,用于对n个扬声器信号进行非交织式预处理,以生成至少一个预处理信号;自适应滤波模块,用于对至少一个预处理信号进行自适应滤波,以生成回声估计信号。通过非交织式预处理n个扬声器信号,可以获得时间上连续地表示回声的预处理信号并且通过使用基于非交织式预处理信号的自适应滤波信号来估计m个麦克风信号中的回声分量,可以获得更好的回声滤除效果。
77.在一些实施例中,预处理信号生成模块包括:求和模块,用于将n个扬声器信号中的至少两个扬声器信号进行线性求和以生成求和信号。通过将n个扬声器信号中的至少两个扬声器信号合并为单个求和信号,可以减少后续自适应滤波的计算开销,从而减少整体计算开销并且可以在全频带滤除回声以获得更好的回声滤除效果。
78.在一些实施例中,预处理信号生成模块还包括:求差模块,用于将n个扬声器信号中的至少两个扬声器信号进行线性求差以生成求差信号。在一些情形下,回声滤除重点关注某个频段或不同扬声器输出之间的差异。在此情形下,求差信号可以单独被提供给处理器或与其它信号组合以进一步提高回声滤除效果。
79.在一些实施例中,预处理信号生成模块还包括排序模块,用于对求和信号和求差信号进行排序。回声估计模块还包括依次自适应滤波模块,用于对经排序的求和信号和求差信号依次进行自适应滤波,以生成对应排序的回声估计信号。残差信号生成模块包括残差信号依次生成模块,用于从m个麦克风信号依次滤除对应排序的回声估计信号以生成残差信号。通过对求和信号和求差信号进行排序并且相应地生成残差信号,可以针对不同情形获得更好的回声滤波效果。
80.在一些实施例中,预处理信号生成模块包括扬声器信号排序模块,用于通过对n个扬声器信号进行排序,生成经排序的n个预处理信号。回声估计模块包括:依次自适应滤波模块,用于对经排序的n个预处理信号依次进行自适应滤波,以生成对应排序的n个回声估计信号。残差信号生成模块包括残差信号依次生成模块,用于从m个麦克风信号依次滤除对应排序的n个回声估计信号以生成残差信号。通过对n个扬声器信号进行排序并依次进行滤除,可以优先滤除产生较大失真的信号以提供回声滤除效果。
81.在一些实施例中,对n个扬声器信号进行排序包括基于n个扬声器信号中每个扬声器信号所具有的低频分量,对n个扬声器信号进行排序。通过优先对低频分量的扬声器信号进行滤波,可以提高回声滤除效果。
82.在一些实施例中,预处理信号生成模块还用于针对n个扬声器信号和m个麦克风信
号进行非交织式预处理,以生成至少一个预处理信号。通过使用m个麦克风信号作为辅助参考信号,可以限制回声较大的频带,以辅助提高回声滤除。
83.在一些实施例中,该装置还包括增益调整模块,用于调整n个扬声器信号、m个麦克风信号和至少一个预处理信号中的至少一项的增益,以使得回声估计信号的增益与m个麦克风信号的增益匹配。通过调节增益,可以使得回声估计信号的增益与m个麦克风信号的增益匹配,从而使得改善自适应滤波效果以及回声滤波效果。
84.根据本公开的第十二方面,提供用于滤除回声的装置。该装置应用于电子设备。电子设备包括m个麦克风和n个扬声器,m和n均为大于1的整数。该装置包括第一获取模块,用于获取与n个扬声器对应的n个扬声器信号;第二获取模块,用于获取与m个麦克风对应的m个麦克风信号;预处理信号生成模块,用于针对n个扬声器信号进行非交织式预处理以生成m组预处理信号;回声估计模块,用于针对m组预处理信号进行自适应滤波以生成m个回声估计信号,以及残差信号生成模块,用于从m个麦克风信号滤除m个回声估计信号以得到残差信号。通过非交织式预处理n个扬声器信号,可以获得时间上连续地表示回声的预处理信号并且通过使用基于非交织式预处理信号的自适应滤波信号来估计m个麦克风信号中的回声分量,可以获得更好的回声滤除效果。
85.在一些实施例中,残差信号是目标信号。目标信号用于唤醒引擎唤醒智能语音助手或用于传输至另一电子设备以进行语音通话。在一些实施例中,目标信号相比于m个麦克风信号包含更少的回声分量,回声分量用于表征由m个麦克风采集到的、n个扬声器信号在空间传播的声音的回声。通过使用基于经非交织式预处理的预处理信号的目标信号,可以提高唤醒引擎唤醒智能语音助手的成功率和/或提高语音通话的质量。
86.在一些实施例中,预处理信号生成模块包括:求和模块,用于将n个扬声器信号中的至少两个扬声器信号进行线性求和以生成求和信号。通过将n个扬声器信号中的至少两个扬声器信号合并为单个求和信号,可以减少后续自适应滤波的计算开销,从而减少整体计算开销并且可以在全频带滤除回声以获得更好的回声滤除效果。
87.在一些实施例中,预处理信号生成模块还包括:求差模块,用于将n个扬声器信号中的至少两个扬声器信号进行线性求差以生成求差信号。在一些情形下,回声滤除重点关注某个频段或不同扬声器输出之间的差异。在此情形下,求差信号可以单独被提供给处理器或与其它信号组合以进一步提高回声滤除效果。
88.在一些实施例中,预处理信号生成模块还包括排序模块,用于对求和信号和求差信号进行排序。回声估计模块还包括依次自适应滤波模块,用于对经排序的求和信号和求差信号依次进行自适应滤波,以生成对应排序的回声估计信号。残差信号生成模块包括残差信号依次生成模块,用于从m个麦克风信号依次滤除对应排序的回声估计信号以生成残差信号。通过对求和信号和求差信号进行排序并依次进行滤除,可以优先滤除产生较大失真的信号以提供回声滤除效果。
89.在一些实施例中,预处理信号生成模块包括扬声器信号排序模块,用于通过对n个扬声器信号进行排序,生成经排序的n个预处理信号。回声估计模块包括依次自适应滤波模块,用于对经排序的n个预处理信号依次进行自适应滤波以对应排序的回声估计信号。目标信号生成模块包括依次滤除模块,用于通过m个麦克风信号中依次滤除对应排序的回声估计信号,生成目标信号。通过对n个扬声器信号进行排序并依次进行滤除,可以优先滤除产
生较大失真的信号以提供回声滤除效果。
90.在一些实施例中,对n个扬声器信号进行排序包括基于n个扬声器信号中每个扬声器信号分别具有的低频分量,对n个扬声器信号进行排序。通过优先对低频分量的扬声器信号进行滤波,可以提高回声滤除效果。
91.在一些实施例中,预处理信号生成模块还由于针对n个扬声器信号和m个麦克风信号进行非交织式预处理以生成至少一个预处理信号。通过使用m个麦克风信号作为辅助参考信号,可以限制回声较大的频带,以辅助提高回声滤除。
92.在一些实施例中,该装置还包括增益调整模块,用于调整n个扬声器信号、m个麦克风信号和至少一个预处理信号中的至少一项的增益,以使得回声估计信号的增益与m个麦克风信号的增益匹配。通过调节增益,可以使得回声估计信号的增益与m个麦克风信号的增益匹配,从而使得改善自适应滤波效果以及回声滤波效果。
93.在一些实施例中,回声估计模块包括并行自适应滤波模块,用于在多个预处理信号的情形下,对多个预处理信号进行并行自适应滤波以生成至少一个回声估计信号。对于相似度较低的多个预处理信号,采用并行预处理可以提高回声滤除效果。
94.在一些实施例中,回声估计模块包括:转换模块,用于将至少一个预处理信号从时域信号转换为频域信号,以及频域自适应滤波模块,用于对频域信号进行自适应滤波,以得到至少一个回声估计信号。通过将预处理信号从时域转换为频域,可以减少自适应滤波的计算开销。
95.在一些实施例中,该装置包括直达声滤波模块,用于对残差信号进行直达声滤波,以生成目标信号。直达声滤波指示对从n个扬声器直接输出至m个麦克风而不经环境反射的音频分量进行滤波。更具体而言,直达声滤波指示基于由第一扬声器和第二扬声器中的至少一个扬声器播放的音源信号与由麦克风直接采集到的音频输入信号之间的模型关系的滤波。通过使用直达声滤波,可以进一步提高回声滤波的效果。
96.在一些实施例中,直达声滤波模块包括进行默认直达声滤波,用于对目标信号进行默认直达声滤波,以生成至少一个回声估计信号。默认直达声滤波指示基于在全消音环境下由n个扬声器播放的音源信号与由m个麦克风直接采集到的音频输入信号之间的模型关系的滤波。
97.在一些实施例中,该装置还包括:显示使能模块,用于使电子设备的显示屏显示定制直达声滤波界面;输入接收模块,用于接收用户在定制直达声滤波界面的用户输入;扬声器测试模块,用于响应于用户输入,获取n个扬声器测试信号并且使n个扬声器播放n个扬声器测试信号;第四获取模块,用于获取与m个麦克风对应的m个麦克风测试信号;以及存储模块,用于存储定制直达声滤波模型。定制直达声滤波模型是基于n个扬声器测试信号和m个麦克风测试信号得到的,并且定制直达声滤波模型用于直达声滤波。在一些实施例中,该装置的目标信号生成模块还用于使用该定制直达声滤波模型针对n个扬声器信号和m个麦克风信号进行定制直达声滤波以得到目标信号。通过使用定制直达声滤波,可以针对客户的环境优化直达声滤波并且进一步提高在客户环境下的回声滤除。
98.在一些实施例中,该装置还包括:反向音频信号生成模块,用于基于n个扬声器信号生成反向音频信号,以及播放使能模块,用于使靠近麦克风的反向扬声器基于反向音频信号播放反向音频,以抵消n个扬声器中至少一个扬声器播放的音频输出。反向扬声器不同
于第一扬声器和第二扬声器。通过使反向扬声器播放反向音频,可以在回声被麦克风采集之前就已滤除一部分回声分量,从而提供回声滤除效果。
99.应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
100.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记指示相同或相似的元素,其中:
101.图1示出了可以实施本公开的实施例的环境的示意图;
102.图2示出了根据本公开的一个实施例的电子设备的示意框图;
103.图3是根据本公开的一个实施例的用于滤除回声的方法的示意流程图;
104.图4是根据一个实施例的直达声滤波的过程的示意图;
105.图5是根据本公开的另一实施例的用于滤除回声的方法的示意流程图;
106.图6是根据一个实施例的反向回声抵消的过程的示意图;
107.图7是根据本公开的又一实施例的用于滤除回声的方法的示意流程图;
108.图8是根据一个实施例的非交织式预处理的过程的示意图;
109.图9是图8中的非交织式预处理的一个实施例的音频信号处理的示意图;
110.图10是图8中的非交织式预处理的另一实施例的音频信号处理的示意图;
111.图11是图8中的非交织式预处理的又一实施例的音频信号处理的示意图;
112.图12是根据本公开的又一实施例的用于滤除回声的音频信号串行处理过程的示意图;
113.图13是根据本公开的又一实施例的用于滤除回声的音频信号并行处理过程的示意图;
114.图14是根据本公开的又一实施例的用于滤除回声的音频信号处理过程的示意图;
115.图15是根据本公开的一个实施例的用于滤除回声的装置的示意框图;以及
116.图16是根据本公开的又一实施例的用于滤除回声的装置的示意框图。
具体实施方式
117.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
118.在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
119.如上所述,aec技术已被广泛应用于通信电子设备中,然而常规的aec技术的回声消除效果在一些情形下仍不理想,因此需要进一步的改进。
120.针对上述问题以及其他潜在的问题,本公开的实施例提供了一种用于滤除回声的方法、电子设备和计算机可读存储介质。在本公开的一个实施例中,针对多个麦克风信号和多个扬声器进行直达声滤波以获得目标信号。这可以获得更好的回声滤波效果。在本公开的另一实施例中,通过设置与多个麦克风中至少一个麦克风相邻的反向扬声器并且使该反向扬声器播放与多个扬声器播放的音频输出相反的反向音频,可以抵消该至少一个麦克风采集到的由多个扬声器播放的音频输出的回声的回声分量。在本公开的又一实施例中,通过对与多个音源信号对应的麦克风信号进行非交织式预处理,可以更好地估计麦克风信号中的与多个扬声器播放的多个声音的多个回声对应的回声分量,并且通过滤除该回声分量来获得更好的回声滤除效果。由于该估计信号能够在一定程度上预计每个扬声器的在时间上连续的回声,因此通过使用该至少一个估计信号,可以从麦克风采集的麦克风信号中有效地滤除每个扬声器播放的声音的回声。在本公开中,上述三个实施例可以单独使用,也可以任意组合使用以获得更好的回声滤波效果。
121.图1示出了可以实施本公开的实施例的示例性环境1的示意图。在一个实施例中,电子设备100例如可以是智能音箱,其可以播放音频,例如音乐或语言节目。电子设备100可以包括位于内部的n个扬声器,n为大于1的整数。在一个实施例中,电子设备100包括7个扬声器,其中7个扬声器中的第一组扬声器(共同地以附图标记14示出)可以是位于电子设备100的中部的环形设置的6个中高频扬声器,其中第一组扬声器中的位于电子设备100正面的3个扬声器被示出,而第一组扬声器中的另外三个扬声器位于电子设备100的背面并且因此未被示出。7个扬声器中的第二组扬声器14-7可以是设置在电子设备100的底部的低音单元。对于某些类型的音频,第一组扬声器14和第二组扬声器14-7播放的声音可以不同。例如第一组扬声器14可以主要播放中高频声音,而第二组扬声器14-7主要播放低频声音。
122.电子设备100还可以包括麦克风组12,麦克风组12可以包括m个麦克风,m为大于1的整数。在一个实施例中,电子设备100例如包括位于顶部的6个麦克风(共同地以附图标记12示出),其中位于电子设备100正面的3个麦克风被示出,而另外三个麦克风位于电子设备100的背面并且因此未被示出。虽然在图1中以7个扬声器和6个麦克风进行说明,但是这仅是示意而非对本公开的范围进行限制。在其它一些实施例中,电子设备100可以包括其它数目的麦克风和扬声器。此外,在针对仅使用直达声滤波和/或反向扬声器而不使用非交织式预处理的一些实施例中,电子设备100可以仅包括一个扬声器和一个麦克风。
123.虽然在图1中示出了电子设备100的圆柱形配置,但是电子设备100还可以具有其它配置。例如在一个实施例中,电子设备100可以是条形音箱(soundbar),其中4个麦克风在电子设备100的顶部组成线形阵列,并且多个扬声器同样以横向线性排列。例如在另一实施例中,电子设备100可以是智能电视,6个麦克风在智能电视的顶部组成线性阵列,而多个扬声器围绕分布于智能电视的屏幕的底边、左右侧边、以及智能电视的背面。
124.在图1中,第一组扬声器14和第二组扬声器14-7播放的声音在传播至墙壁2之后会产生反射回声。尤其是当电子设备100被布置为靠近墙壁2的情形下,反射回声会被电子设备100的麦克风组12采集到。另一方面,第一组扬声器14和第二组扬声器14-7播放的声音也可以通过电子设备100自身的物理延续表面传递到麦克风组12。因此,麦克风组12所采集到的回声信号既包括经过环境反射的反射回声分量,也包括指示第一组扬声器14和第二组扬声器14-7到麦克风组12的直达路径的直达声分量。在本文中,术语“回声”包括由电子设备
的扬声器播放的音频经过环境反射而被电子设备的麦克风采集到的反射回声和由电子设备的扬声器播放的音频直接被该麦克风采集到的直达声。术语“反射回声”指示音频信号从扬声器输出之后经由诸如墙壁之类的环境反射回麦克风并且由麦克风接收的音频分量。相对而言,术语“直达声”指示音频信号从扬声器直接输出至麦克风而不经由诸如墙壁之类的环境反射并且由麦克风直接接收的音频分量。
125.在电子设备100播放音频并且用户20说话的情形下,麦克风组12还可以采集到用户的语音。在此情形下,麦克风组12采集声音所生成的m个麦克风信号各自包括用户语音、扬声器播放的音频输出的回声以及可能存在的噪声。
126.在一些实施例中,电子设备100可以具有语音智能助手和通话功能。例如,用户20可以通过说出诸如“你好,智能助手”之类的唤醒命令来通过唤醒引擎以唤醒电子设备100的语音智能助手。用户20还可以在唤醒语音智能助手之后通过说出诸如“给妈妈打电话”之类的语音以进行语音通话。在电子设备100的第一组扬声器14和第二组扬声器14-7播放声音的情形下,为了使得电子设备100能够正确识别出唤醒命令以及为了使得通话对方能够听清语音而不受回声的影响,电子设备100可以实施根据本公开的实施例的回声消除技术来使得正确识别语音以进行唤醒和提高通话清晰度。因此,通过使用根据本公开的实施例,可以进一步提升回声的滤除效果。在本公开中,术语“消除”和“滤除”可以替换使用并且均表示去除一部分,而术语“完全消除”和“完全滤除”则表示去除所有部分。
127.虽然在图1中使用智能音箱来描述本公开的实施例的应用环境,但是可以理解这仅是示意而非对本公开的范围进行限制。本公开的实施例也可以在具有扬声器和麦克风的其它电子设备中实施。例如,可以实施本公开的实施例的电子设备可以包括以下至少一项:智能音箱、机顶盒、娱乐单元、导航设备、通信设备、固定位置数据单元、移动位置数据单元、移动电话、蜂窝电话、平板电脑、平板手机、计算机、便携式计算机、台式计算机、个人数字助理(pda)、监视器、计算机监视器、电视、调谐器、收音机、卫星收音机、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频光盘(dvd)播放器、便携式数字视频播放器等。
128.图2示出了根据本公开的一个实施例的电子设备100的示意框图。应当理解,图2所示出的电子设备100仅仅是示例性的,而不应当构成对本公开所描述的实现的功能和范围的任何限制。在一个实施例中,电子设备100可以包括以实线框和实线示出的处理器110、无线通信模块160、天线1、音频模块170、扬声器模块170a、麦克风模块170c、按键190、内部存储器121、通用串行总线(universal serial bus,usb)接口130、充电管理模块140、电源管理模块141。麦克风模块170c可以例如包括如上所述的m个麦克风。扬声器模块170a可以包括如上所述的n个扬声器,例如第一组扬声器14和第二组扬声器14-7等。在另一些实施例中,扬声器模块170a可以进一步包括具有至少一个反向扬声器的反向扬声器组,反向扬声器用于播放用于抵消待被麦克风拾取的回声分量的反向音频。
129.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap)、调制解调处理器、图形处理器(graphics processing unit,gpu)、图像信号处理器(image signal processor,isp)、控制器、视频编解码器、数字信号处理器(digital signal processor,dsp)、基带处理器和/或神经网络处理器(neural-network processing unit,npu)等。在一些实施例中,不同的处理单元可以是独
立的器件。在另一些实施例中,不同的处理单元也可以集成在一个或多个处理器中。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
130.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以存储处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
131.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i2c)接口、集成电路内置音频(inter-integrated circuit sound,i2s)接口、脉冲编码调制(pulse code modulation,pcm)接口、通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
132.i2c接口是一种双向同步串行总线,包括一根串行数据线(serial data line,sda)和一根串行时钟线(serial clock line,scl)。在一些实施例中,处理器110可以包含多组i2c总线。处理器110可以通过不同的i2c总线接口分别耦合触摸传感器180k,充电器,闪光灯,摄像头193等。例如:处理器110可以通过i2c接口耦合触摸传感器180k,使处理器110与触摸传感器180k通过i2c总线接口通信,实现电子设备100的触摸功能。
133.i2s接口可以用于音频通信。在一些实施例中,处理器110可以包含多组i2s总线。处理器110可以通过i2s总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过i2s接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
134.pcm接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过pcm总线接口耦合。在一些实施例中,音频模块170也可以通过pcm接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述i2s接口和所述pcm接口都可以用于音频通信。
135.uart接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,uart接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过uart接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过uart接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
136.mipi接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。mipi接口包括摄像头串行接口(camera serial interface,csi),显示屏串行接口(display serial interface,dsi)等。在一些实施例中,处理器110和摄像头193通过csi接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过dsi接口通信,实现电子设备100的显示功能。
137.gpio接口可以通过软件配置。gpio接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,gpio接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。gpio接口还可以被配置为i2c接口,i2s接
口,uart接口,mipi接口等。
138.usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。usb接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如ar设备等。
139.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如本公开的实施例的回声滤波功能、声音播放功能、图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
140.充电管理模块140用于从充电器接收充电输入。充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
141.电源管理模块141用于连接充电管理模块140、处理器110,以及可选的电池142。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,和无线通信模块160等部件供电。在具有电池142的实施例中,电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
142.电子设备100可以通过音频模块170、扬声器模块170a、麦克风模块170c以及应用处理器等实现音频功能。例如音乐播放,录音等。音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
143.扬声器模块170a,也称“喇叭”,例如包括n个扬声器以及可选的反向扬声器(例如m个反向扬声器)并且用于将音频电信号转换为声音信号。电子设备100可以通过扬声器模块170a收听音乐,或收听免提通话。
144.麦克风模块170c,也称“话筒”,“传声器”,例如包括m个麦克风并且用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风模块170c发声,将声音信号输入到麦克风模块170c。在公开的实施例中,电子设备100通过使用回声滤除功能来降低麦克风模块170c拾取到的声音中与扬声器模块170a播放的声音相关的回声分量,从而提高智能助手唤醒的准确率和/或提高语音通话质量。在另一些实施例中,电子设备100还可以识别声音来源,实现定向录音功能等。
145.电子设备100的无线通信功能可以通过天线1、无线通信模块160,调制解调处理器
以及基带处理器等实现。天线1用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
146.无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线1接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线1转为电磁波辐射出去。
147.在另一些实施例中,电子设备100还可以包括天线2和移动通信模块150。天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线2复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
148.移动通信模块150可以提供应用在电子设备100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线2接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对-经调制解调处理器调制后的信号放大,经天线2转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
149.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器模块170a,受话器170b等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
150.在一些实施例中,电子设备100的天线2和移动通信模块150耦合,天线1和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband code division multiple access,wcdma),时分码分多址(time-division code division multiple access,td-scdma),长期演进(long term evolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(global positioning system,gps),全球导航卫星系统(global navigation satellite system,glonass),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi-zenith satellite system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
151.按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
152.在另一些实施例中,除了上述部件之外,电子设备100还可以包括以虚线和虚线框示出的外部存储器接口120、电池142、受话器170b、耳机接口170d、传感器模块180、马达191、指示器192、摄像头193、显示屏194、以及用户标识模块(subscriber identification module,sim)卡接口195中的一项或多项。传感器模块180可以包括压力传感器180a、陀螺仪传感器180b、气压传感器180c、磁传感器180d、加速度传感器180e、距离传感器180f、接近光传感器180g、指纹传感器180h、温度传感器180j、触摸传感器180k、环境光传感器180l、骨传导传感器180m中的一项或多项。传感器模块180还可以包括其它被未列出的其它类型的传感器。
153.电子设备100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
154.显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,电子设备100可以包括1个或n个显示屏194,n为大于1的正整数。
155.在一些实施例中,电子设备100还包括受话器170b和耳机接口170d。受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,ctia)标准接口。
156.电子设备100可以通过isp、摄像头193、视频编解码器、gpu、显示屏194以及应用处理器等实现拍摄功能。isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
157.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备100可以包括1个或n个摄像头193,n为大于1的正整数。
158.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
159.视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
160.npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
161.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件存储在外部存储卡中。
162.压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。压力传感器180a的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180a,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180a检测所述触摸操作强度。电子设备100也可以根据压力传感器180a的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
163.陀螺仪传感器180b可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180b确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180b可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180b检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180b还可以用于导航,体感游戏场景。
164.气压传感器180c用于测量气压。在一些实施例中,电子设备100通过气压传感器180c测得的气压值计算海拔高度,辅助定位和导航。
165.磁传感器180d包括霍尔传感器。电子设备100可以利用磁传感器180d检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180d检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
166.加速度传感器180e可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
167.距离传感器180f,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180f测距以实现快速对焦。
168.接近光传感器180g可以包括例如发光二极管(led)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180g检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180g也可用于皮套模式,口袋模式自动解锁与锁屏。
169.环境光传感器180l用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180l也可用于拍照时自动调节白平衡。环境光传感器180l还可以与接近光传感器180g配合,检测电子设备100是否在口袋里,以防误触。
170.指纹传感器180h用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
171.温度传感器180j用于检测温度。在一些实施例中,电子设备100利用温度传感器180j检测的温度,执行温度处理策略。例如,当温度传感器180j上报的温度超过阈值,电子设备100执行降低位于温度传感器180j附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
172.触摸传感器180k,也称“触控器件”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
173.骨传导传感器180m可以获取振动信号。在一些实施例中,骨传导传感器180m可以获取人体声部振动骨块的振动信号。骨传导传感器180m也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180m也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180m获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180m获取的血压跳动信号解析心率信息,实现心率检测功能。
174.马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
175.指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
176.sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或n个sim卡接口,n为大于1的正整数。sim卡接口195可以支持nano sim卡,micro sim卡,sim卡等。同一个sim
卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。sim卡接口195也可以兼容不同类型的sim卡。sim卡接口195也可以兼容外部存储卡。电子设备100通过sim卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用esim,即:嵌入式sim卡。esim卡可以嵌在电子设备100中,不能和电子设备100分离。
177.可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本技术另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
178.此外,可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本技术另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
179.图3是根据本公开的一个实施例的用于滤除回声的方法300的示意流程图。在一些情形下,多个麦克风信号可能是由例如虚拟声场、上混、声场扩展等音效算法产生。某些音效算法会造成麦克风信号之间较强的相关性,对自适应滤波造成了较大挑战。在一个实施例中,直达声处理可以提前对每个扬声器到各个麦克风的声学转移函数系数进行建模。在滤波过程中采用这些预先估计的模型进行滤除,其作为自适应滤波的后续处理可以改善自适应滤波的滤波效果。
180.在一个实施例中,方法300可以由电子设备100的处理器110执行。电子设备100包括m个麦克风和n个扬声器,其中m和n均为大于1的整数。虽然示出了由处理器110执行方法300,但是这仅是示意而非对比本公开的范围进行限制。方法300中的一个或多个操作可以由除处理器110之外的诸如数字信号处理器(dsp)之类的其它计算设备执行。
181.在302处,处理器110获取与n个扬声器对应的n个扬声器信号。在一个实施例中,n个扬声器信号是n个扬声器播放的n个音频信号的副本。在本公开中,术语“副本”指代与源信号在音频内容上具有一一对应关系的复制信号。在一个实施例中,n个扬声器信号可以与扬声器播放的n个音频信号完全相同。在另一实施例中,n个扬声器信号可以与扬声器播放的n个音频信号并不完全相同,但能反映该n个音频信号的音频内容。例如,n个扬声器信号的内容与n个音频信号基本上相同,但是n个扬声器信号的增益不同于n个音频信号的增益。
182.在304处,处理器110获取与m个麦克风对应的m个麦克风信号。如上所述,m个麦克风信号各自包括用户语音、n个扬声器播放的音频输出的回声以及可能存在的噪声。在一个实施例中,处理器110可以依次对m个麦克风信号进行处理。备选地,在处理器110包括多个处理核的情形下,多个处理核可以分别对m个麦克风信号进行处理以提高处理速度。可以理解,在扬声器播放音频的情形下,m个麦克风信号中的每个麦克风信号均包括目标音频信号分量、n个扬声器的n个回声信号分量和噪声信号分量。
183.在306处,处理器110针对n个扬声器信号以及m个麦克风信号至少进行直达声滤波以得到目标信号。在一些实施例中,目标信号用于唤醒引擎唤醒智能语音助手或用于传输至另一电子设备以进行语音通话。在一些实施例中,目标信号相比于m个麦克风信号包含更少的回声分量,回声分量用于表征由m个麦克风采集到的、n个扬声器信号在空间传播的声音的回声。
184.n个扬声器中的每个扬声器到m个麦克风中的每个麦克风都有物理上的直达声传
播路径,而不经过环境反射。直达声滤波模型的滤波系数在滤波期间是固定且无需更新的,因为从扬声器到麦克风的直达声传播路径通常是固定的。因此,可以相应地建立直达声滤波模型。在一些实施例中,使用针对n个扬声器到m个麦克风的n
×
m直达传播路径函数的直达声滤波模型,可以从m个麦克风信号滤除n个扬声器的直达声分量,从而获得更好的回声滤除效果,并且因此能提高唤醒引擎唤醒的成功率和/或提高语音通话的质量。
185.在一些实施例中,直达声滤波包括默认直达声滤波,默认直达声滤波指示至少基于在全消音环境下由n个扬声器播放n个扬声器信号与由m个麦克风直接采集到的m个麦克风信号之间的模型关系的滤波。在一个实施例中,在没有任何反射回声的全消音室中,电子设备100的处理器110控制产品的n个扬声器单独播放白噪声或者音乐音源,并且使用所有的m个麦克风单独录音,其中m和n表示大于1的正整数,并且可以相同或不同。电子设备采用自适应滤波对多个录音依次进行滤波,并且将反映了n个扬声器分别到m个麦克风的传递函数的m
×
n组滤波器系数存储为默认直达声滤波模型。该默认直达声滤波模型在出厂之前被存储在电子设备中或通过电子设备的固件更新的方式被存储在电子设备中,以供用户在滤除直达声时使用。
186.在另一实施例中,直达声滤波还可以包括定制直达声滤波。用户可以针对日常使用的环境来定制直达声消除模型以获得更好的直达声滤除效果。例如,电子设备100可以在显示器194上显示定制直达声滤波界面。用户20可以在该定制直达声滤波界面上例如以触摸的方式点击输入定制虚拟按键。处理器110在接收到用户输入之后,从内部存储器121获取针对n个扬声器的n个测试信号,并且使n个扬声器播放n个扬声器测试信号并且使用所有的m个麦克风录音。处理器110还获取与m个麦克风对应的m个麦克风测试信号,并且基于n个扬声器测试信号和m个麦克风测试信号生成用于定制直达声滤波的定制直达声滤波模型,并且将其存储在内部存储器121中。定制直达声滤波模型用于上述的直达声滤波。
187.用户20在后续播放音频时,可以通过在显示器194上显示的直达滤波选择界面选择默认直达声滤波或定制直达声滤波。在用户20选择定制直达声滤波的情形下,电子设备100使用存储的定制直达声滤波模型来对m个麦克风信号进行滤波。可以理解,在一些实施例中,直达滤波选择界面和定制直达声滤波界面可以为相同界面的在不同显示区域显示的不同选项。
188.在一些实施例中,定制直达声滤波界面显示提示保持环境安静的提示项。定制直达声滤波界面还可以显示指示环境噪声的分贝指示项和/或指示是否适合定制回声滤波的指示项。例如,在电子设备100包括用于测量环境噪声的传感器的情形下,可以在定制直达滤波界面上实时显示当前环境噪声,并且仅在当前环境噪声低于阈值的情形下进行上述直达声测试。通过显示提示环境安静的提示项、分贝指示项和/或指示是否适合定制回声滤波的指示项,可以促使用户在安静且合适的环境中建立定制直达声滤波模型,从而为后续使用特定于该环境的定制直达声滤波建立良好基础,并且随后在该环境中获得良好的回声滤除效果。
189.在电子设备100不具有显示屏的一些实施例中,电子设备100可以播放语音来引导用户在使用环境中保持安静并且开始定制。电子设备100的处理器110会使得n个扬声器单独播放白噪声或者音乐音源,并且使用所有的m个麦克风录音。
190.此外,电子设备100可以具有多个定制直达声滤波选项以针对不同的环境进行相
应的直达声滤波的定制。在电子设备100处于不同环境的情形下,用户20可以通过在直达声滤波选择界面中选择针对该环境的直达声滤波模型。此外,可以在电子设备100到达新的环境中,重新定制针对该新环境的直达声滤波模型,并且将针对新环境的新直达声滤波模型存储在内部存储器121中以供后续使用。
191.虽然在图3中以电子设备100具有m个麦克风和n个扬声器进行说明,但是这仅是示意而非对本公开的范围进行限制。方法300也可以应用于具有其它数目的电子设备中。例如,方法300也可以应用于具有多个扬声器和单个麦克风、多个麦克风和单个扬声器或单个麦克风和单个扬声器的电子设备中。
192.图4是根据一个实施例的直达声滤波的过程400的示意图。n个音源信号x1…
xn分别输出至n个扬声器14-1

14-n,而作为n个音源信号x1…
xn的副本的n个扬声器信号x
1c

x
nc
被提供给处理器110以用于自适应滤波440,并且音源信号x1…
xn的另一组副本x
1d

x
nd
被用于直达声滤波450。音源例如是通过互联网通信的服务器中的存储设备存储的音频数据、本地存储设备中存储的音频数据或是来自另一设备的麦克风采集的音频数据。
193.虽然将n个扬声器信号x
1c

x
nc
示出为被直接自适应滤波,但是这仅是示意而非对本公开的范围进行限制。可以理解,n个扬声器信号x
1c

x
nc
可以经过各种调整和处理,例如增益缩放以及下文所述的非交织式预处理,并将经过调整和预处理的信号提供用于自适应滤波。在另一些实施例中,被提供给扬声器的信号和用于自适应滤波的麦克风信号可以不同(例如增益不同),但是具有相关性以使得麦克风信号可以指示扬声器播放的声音。
194.处理器110对n个扬声器信号x
1c

x
nc
进行自适应滤波440,以生成m个回声估计信号ye。在一个实施例中,自适应滤波440例如包括最小均方误差(lms)滤波、递归最小二乘(rls)滤波等。在一个实施例中,自适应滤波通过将预处理信号从时域信号转换为频率信号,并且随后对频率信号进行自适应滤波处理。例如,针对16khz采样率的时域信号,可以使用75%的交叠长度和1024点的傅里叶变换来将其转换为频域信号。当然,也可以使用其它的交叠长度和其它点数的傅里叶变换。在使用更高比例的交叠长度的情形下,可以提升前后音频帧的连续性,但是增加了计算开销。在使用更高点数的傅里叶变换的情形下,可以提高频谱分辨率以改善自适应结果,但这同样增加计算开销。对于16khz采样率的时域信号而言,75%的交叠长度和1024点的傅里叶变换可以在滤波效果和计算开销之间获得较好的平衡。
195.m个麦克风12-1

12-m分别采集各种声音,其分别包括用户20的语音、n个扬声器14-1

14-n播放的音频的音频回声和可能的噪声。在一个实施例中,m个麦克风12-1

12-m中每个麦克风采集的麦克风信号d包括语音信号分量s、噪声信号分量v和回声信号分量y,其中回声信号分量y包括反射回声信号分量和直达声信号分量。因此,麦克风信号d是语音信号分量s、噪声信号分量v和回声信号分量y的合成信号。如图4所示,第一麦克风信号可以由式子d1=s1+v1+y1表示

第m麦克风信号可以由式子dm=sm+vm+ym表示。
196.m个回声估计信号ye分别与m个麦克风采集的麦克风信号d1……dm
对应。例如,m个回声估计信号ye中的第一回声估计信号与第一麦克风信号d1对应
……
m个回声估计信号ye中的第m回声估计信号与第一麦克风信号dm对应。
197.处理器110从m个麦克风信号中分别滤除m个回声估计信号以生成m个残差信号e。例如,从第一麦克风信号d1滤除第一回声估计信号以得到第一残差信号
……
从第m麦克风
信号dm滤除第m回声估计信号以得到第m残差信号。m个残差信号e还可以用于更新自适应滤波440以提高回声估计的准确率。例如,第一残差信号用于更新与第一回声估计信号对应的自适应滤波
……
第m残差信号用于更新与第m回声估计信号对应的自适应滤波。
198.处理器110继而可以从使用如上描述的默认直达声滤波模型或定制直达声滤波模型对m个残差信号e分别进行直达声滤波450,以生成m个目标信号t。例如,对第一残差信号进行行直达声滤波450,以生成第一目标信号
……
对第m残差信号进行行直达声滤波450,以生成第m目标信号。在一个实施例中,m个目标信号t随后被用于唤醒引擎唤醒智能助手或通过网络传输至通话接收方。在另一实施例中,m个目标信号t随后可以通过诸如非线性滤波方案、机器学习方案之类的常规方案进行进一步滤波以获得更好的回声滤除效果,并随后用于唤醒引擎唤醒智能助手或通过网络传输至通话接收方。
199.图5是根据本公开的另一实施例的用于滤除回声的方法500的示意流程图。电子设备100包括n个扬声器14-1

14-n、m个麦克风12-1

12-m和处理器110。此外,电子设备100可以具有被设置为在麦克风组12中的至少一个麦克风附近的至少一个反向扬声器。例如,针对m个麦克风,电子设备100可以具有与m个麦克风分别对应的m个反向扬声器。在另一实施例中,在麦克风彼此接近时,可以在麦克风之间设置针对相邻两个麦克风的反向扬声器以节省空间和成本。换言之,电子设备100可以具有个数比m个麦克风少的反向扬声器。
200.在一个实施例中,反向扬声器可以被设置为距麦克风组12为10cm、5cm、1cm或更近距离处以播放反向音频,从而抵消由n个扬声器播放的音频的回声。在本文中,术语“反向音频”表示用于抵消n个扬声器播放的音频的回声的音频。术语“反向扬声器”表示被设置在麦克风附近并且用于播放反向音频的扬声器。相比于先前描述的方法300以及随后描述的方法700之类的通过内部回声算法估计来滤除回声,方法500通过外部播放反向音频来抵消回声。这可以降低麦克风信号中的回声分量,以获得回声滤除效果。
201.在一个实施例中,方法500可以由电子设备100的处理器110执行。电子设备100的处理器110可以通过通信单元接收待由多个扬声器播出的音频信号并且将其传输至多个扬声器进行播放。备选地,处理器110可以从存储单元、rom或ram接收接收待由多个扬声器播出的音频并且将其传输至多个扬声器进行播放。虽然示出了由处理器110执行方法500,但是这仅是示意而非对比本公开的范围进行限制。方法500中的一个或多个操作可以由除处理器110之外的诸如数字信号处理器(dsp)之类的其它计算设备执行。
202.在502处,处理器110获取与n个扬声器对应的n个扬声器信号。在一个实施例中,n个扬声器信号是n个扬声器播放的n个音频信号的副本。
203.在504处,处理器110基于与n个扬声器信号生成反向扬声器信号。在一个实施例中,可以在全消音环境下,测试各个扬声器到麦克风的直达声冲击响应模型,然后基于该直达声冲击响应模型设计反向滤波模型。与默认直达声滤波模型类似,该反向滤波模型可以在电子设备出厂之前或通过电子设备的固件更新的方式被存储在电子设备中,以供后续的反向滤除回声。类似地,用户也可以在自己的环境中定制反向滤波模型。电子设备通过控制反向扬声器播放的音量以及发声频段可以使得该反向音频仅在麦克风处和目标频段起作用,最终使得麦克风接收到更少回声,从而提高回声滤除表现。
204.在506处,处理器110使得靠近m个麦克风中的至少一个麦克风的至少一个反向扬声器基于反向音频信号播放反向音频,以抵消n个扬声器的音频输出的回声。通过使反向扬
声器播放反向音频,可以在回声被麦克风采集之前就已滤除一部分回声分量,从而提供回声滤除效果。可以理解,方法500可以单独用于滤除回声,也可以与方法300和方法700中的至少一个方法结合来获得更好的回声滤除效果。
205.虽然在图5中以电子设备100具有m个麦克风和n个扬声器进行说明,但是这仅是示意而非对本公开的范围进行限制。方法500也可以应用于具有其它数目的电子设备中。例如,方法500也可以应用于具有多个扬声器和单个麦克风、多个麦克风和单个扬声器以及单个麦克风和单个扬声器的电子设备中。
206.图6是根据一个实施例的反向回声抵消的过程600的示意图。m个反相扬声器15-1

15-m被分别设置在m个麦克风12-1

12-m附近以用于播放待被麦克风采集的声音中的回声分量。作为来自音源的n个音源信号x1…
xn被处理器110输出至n个扬声器14-1

14-n。音源例如是通过互联网通信的服务器中的存储设备存储的音频数据、本地存储设备中存储的音频数据或是来自另一设备的麦克风采集的音频数据。
207.作为n个音源信号x1…
xn的副本—n个扬声器信号x
1c

x
nc
被处理器110进行反向处理620以生成m个反向音频信号x
1r

x
mr
,并且处理器110使得m个反向扬声器15-1

15-m分别播放该m个反向音频信号x
1r

x
mr
。第一反向音频信号x
1r
,在第一麦克风12-1外就与n个扬声器14-1

14-n播放的音频的回声抵消,从而使得第一麦克风12-1采集的麦克风信号d1包括语音信号s1、噪声v1以及未被完全滤除的剩余回声信号分量y
1r
。以此类推,第m反向音频信号x
mr
在第m麦克风12-m外就与n个扬声器14-1

14-n播放的音频的回声抵消,从而使得第m麦克风12-m采集的麦克风信号dm包括语音信号sm、噪声vm以及未被完全滤除的剩余回声信号分量y
mr
。在一个实施例中,该麦克风信号可以经由方法300和方法700中的至少一项进行进一步的回声滤除。在另一实施例中,该麦克风信号可以作为目标信号用于唤醒引擎唤醒智能助手或通过网络传输至通话接收方,或通过诸如非线性滤波方案、机器学习方案之类的常规方案进行进一步滤波以获得更好的回声滤除效果并随后用于唤醒引擎唤醒智能助手或通过网络传输至通话接收方。
208.图7是根据本公开的又一实施例的用于滤除回声的方法700的示意流程图。电子设备100包括m个麦克风和n个扬声器,其中m和n均为大于1的整数。虽然示出了由处理器110执行方法700,但是这仅是示意而非对比本公开的范围进行限制。方法700中的一个或多个操作可以由除处理器110之外的诸如数字信号处理器(dsp)之类的其它计算设备执行。
209.在702处,处理器110获取与n个扬声器对应的n个扬声器信号。在一个实施例中,n个扬声器信号是n个扬声器播放的n个音频信号的副本。
210.在704处,处理器110获取与m个麦克风对应的m个麦克风信号。如上所述,m个麦克风信号各自包括用户语音、n个扬声器播放的音频输出的回声以及可能存在的噪声。在一个实施例中,处理器110可以依次对m个麦克风信号进行处理。备选地,在处理器110包括多个处理核的情形下,多个处理核可以分别对m个麦克风信号进行处理以提高处理速度。可以理解,在扬声器播放音频的情形下,m个麦克风信号中的每个麦克风信号均包括目标音频信号分量、n个扬声器的n个回声信号分量和噪声信号分量。
211.在706处,处理器110对n个扬声器信号进行非交织式预处理以生成m组预处理信号。每组预处理信号包括至少一个非交织式预处理信号。在本文中,“非交织方式预处理”指示多个扬声器信号的对应于相同时隙的多个音频帧被以组合的方式被同时预处理或者多
个扬声器信号依次预处理并且使用与单个扬声器信号对应的目标信号更新自适应滤波,使得在对应于该时隙的预处理信号可以反映该多个扬声器信号中的每个扬声器信号的至少一部分音频特性。换言之,“非交织方式预处理”包括除了按如前所述的单位时间段或按帧对多个扬声器信号进行交织处理之外的其它方式对多个扬声器信号进行处理,以在时间上连续指示多个扬声器信号在相同时间的状况,而不交替使用来自多个扬声器信号的多个音频帧进行交织或拼接。在任一个时隙内,经过非交织预处理的预处理信号在预处理的音频流的任一时间处都与多个扬声器信号中的每个扬声器信号相关。非交织方式预处理例如包括如下所述的线性求和、线性求差、参考音频信号排序、串行并行滤波方式调整、增益调整、基于麦克风信号的滤波等。
212.在一个实施例中,处理器110可以对n个扬声器信号中的至少两个扬声器信号进行线性求和。例如,处理器对于n个扬声器信号按时间进行线性求和,从而将n个扬声器信号合成为单个音频信号。这样,处理器的后续滤波仅需针对单个经组合的音频信号进行,因此减少了后续的计算操作开销。相比而言,常规的交织方式是按预定的单位时间长度从不同的参考音频信号依次选择单位时间长度的音频段,并且将其交织为单个参考音频信号。例如,单个参考音频信号包括选自第一参考音频信号的第一单位时间段的第一音频段、选自第二参考音频信号的第一单位时间段的第二音频段、选自第一参考音频信号的第二单位时间段的第三音频段,以此类推。因此,常规的交织方式的计算开销可以是线性求和操作方式的n倍。通过将n个扬声器信号合成为单个音频信号,可以显著减少音频信号处理的计算量。
213.在另一实施例中,处理器110可以对n个扬声器信号中的两个扬声器信号中的至少两个扬声器信号进行线性求差。例如,处理器110对于第一扬声器信号和第二扬声器信号按时间进行线性求差,从而将两个音频信号合成为单个音频信号。这样,处理器110的后续滤波仅需针对单个经组合的音频信号进行,而非是针对这两个扬声器信号进行,因此减少了后续的计算操作开销。此外,在一些情形下,回声滤除重点关注某个频段或不同扬声器输出之间的差异。在此情形下,求差信号可以单独被提供给处理器110或与其它扬声器信号组合以进一步提高回声滤除效果。
214.在又一实施例中,处理器110可以对n个扬声器信号进行排序以调整回声滤除的顺序。例如,处理器可以从麦克风信号优先滤除针对第二扬声器信号的回声分量,并且随后从经滤除的音频信号中再滤除针对第一扬声器信号的回声分量。在一些情形下,对于不同的扬声器信号进行排序并且按照排序结果进行回声滤除是有益的。例如,在第二扬声器信号是指示低音炮扬声器输出的低频音频的情形下,首先滤除低频音频分量对于回声滤除效果显著改善。
215.在另一实施例中,当至少一个预处理信号包括求和信号、求差信号和扬声器信号中的多个信号的情形下,可以对根据回声滤除效果该多个信号排序。例如,可以将可能产生较大失真的信号作为优先进行后续自适应滤除的优先排序信号。在一个实施例中,可能产生较大失真的信号包括低频含量较高的信号。研究表明,通过对低频信号进行优先滤除,可以显著改善滤波效果。因此,通过改变滤波排序,可以降低语音识别和通话过程中的失真程度。
216.除了上面所述的多个预处理信号按序依次串行地被自适应处理之外,多个预处理信号还可以被组合为矩阵信号以并行地进行自适应处理。例如,l个预处理信号可以被组合
为l维矩阵以并行地自适应滤波,其中l为大于1的整数。可以基于多个扬声器信号或预处理信号之间的相似度来选择将多个预处理信号进行串行自适应滤波还是并行自适应滤波。在一个实施例中,多个扬声器信号之间的相似度较高,例如电子设备100播放单声道音频。即,n个扬声器播放相同的音频。在此情形下,可以基于与n个扬声器相关联的n个扬声器信号进行串行自适应滤波,以获得更好的滤波效果并且更好地保护麦克风组12的语音输入。在另一实施例中,多个扬声器信号之间的相似度较低,例如电子设备100播放立体声或者5.1环绕声音频。在此情形下,指示各个声道的n个扬声器信号可以被组合为矩阵以并行地自适应滤波,以获得更好的滤波效果。
217.在又一实施例中,处理器110可以对n个扬声器信号的增益进行调整,使得回声估计信号的增益与麦克风信号的增益匹配,以更好地滤除回声。麦克风实际接收到的麦克风信号受包括麦克风12的模数转换增益在内的因素影响。因此,如果麦克风12采集的麦克风信号的增益与回声估计信号的增益不匹配,例如回声估计信号的增益远低于麦克风信号的增益,则可能导致滤波器无法收敛至较优状态,进而导致目标信号中仍然含有较高的回声信号。相应地,电子设备的智能助手可能无法被激活,并且/或者通话对方可能仍能听到较多的回声。
218.在一个实施例中,可以基于电子设备100的声学特性对增益进行调整。例如,在电子设备100设计和制造期间,在仅存在回声的情形下通过测试麦克风拾取或接收的回声增益和基于最终回声滤除效果来调整n个扬声器信号或预处理信号的增益,以获得默认增益调整设置。因此,通过对n个扬声器信号或预处理信号的增益进行调整,可以使得回声估计信号的增益与麦克风信号的增益匹配或相当,从而更为有效地从麦克风信号中滤除回声。
219.备选地,也可以对n个扬声器信号的组合信号的增益进行调整以使得回声估计信号的增益与麦克风信号的增益匹配。可以理解,可以在执行回声滤除的最后一个操作之前的任何操作处进行增益调整以实现增益匹配,从而获得更好的回声滤除效果。此外,还可以理解,在各个阶段进行的增益调整的幅度可以与具体操作相关,而不必进行相同幅度的调整。
220.在又一实施例中,可以将麦克风组12采集的m个麦克风信号作为参考信号进行非交织式预处理。例如,m个麦克风信号中的每个麦克风都可以与n个扬声器信号进行求和、求差、排序、增益调整等。此外,还可以对麦克风信号进行带通滤波(例如低通滤波),以滤除残留回声较大的频带并且提高回声滤除效果。
221.可以理解,在本公开的一些实施例中,可以针对不同的扬声器信号执行不同的非交织式预处理。例如,在n为7的情形下,可以针对第一扬声器信号和第二扬声器信号进行求和、针对第三扬声器信号和第四扬声器信号进行求差、并且针对第五扬声器信号和第六扬声器信号进行增益调整,并且随后将求和信号、求差信号、增益调整的第五扬声器信号和第六扬声器以及第七扬声器信号进行排序以生成5个经排序的预处理信号。
222.在708处,处理器110对m组预处理信号进行自适应滤波以生成m个回声估计信号。m个回声估计信号表示基于扬声器信号估计的m个麦克风信号中的回声信号分量。自适应滤波例如包括lms滤波、rls滤波等。在一个实施例中,自适应滤波通过将预处理信号从时域信号转换为频率信号,并且随后对频率信号进行自适应滤波处理。例如,针对16khz采样率的时域信号,可以使用75%的交叠长度和1024点的傅里叶变换来将其转换为频域信号。当然,
也可以使用其它的交叠长度和其它点数的傅里叶变换。在使用更高比例的交叠长度的情形下,可以提升前后音频帧的连续性,但是增加了计算开销。在使用更高点数的傅里叶变换的情形下,可以提高频谱分辨率以改善自适应结果,但这同样增加计算开销。对于16khz采样率的时域信号而言,75%的交叠长度和1024点的傅里叶变换可以在滤波效果和计算开销之间获得较好的平衡。
223.在710处,处理器110从m个麦克风信号中分别滤除m个回声估计信号以生成m个目标信号。在本实施例中,目标信号为残差信号,该残差信号主要包括语音信号分量,并且还可能包括未被完全滤除的回声分量以及噪声分量。在一个实施例中,目标信号随后被用于唤醒引擎唤醒智能助手或通过网络传输至通话接收方。在另一实施例中,目标信号随后可以通过诸如非线性滤波方案、机器学习方案之类的常规方案进行进一步滤波以获得更好的回声滤除效果,并随后用于唤醒引擎唤醒智能助手或通过网络传输至通话接收方。此外,目标信号还可以用于更新自适应滤波以使得回声估计信号更为贴近麦克风信号中的回声分量。
224.虽然在图7的流程图中示出了方法700的操作,但是这仅是示例性的,而非对本公开的范围进行限制。方法700可以具有其它附加或可选的操作。例如,在710之后,可以对残差信号进行如上文具体描述的直达声滤波以生成目标信号。换言之,方法700可以与方法300结合使用,以获得更好的回声滤除效果。此外,方法700还可以与方法500结合使用,或与方法300和方法500结合使用,如下文参见图14所描述。
225.图8是根据一个实施例的非交织式预处理的过程800的示意图。来自音源的n个音源信号x1…
xn被处理器110分别输出至n个扬声器。音源例如是通过互联网通信的服务器中的存储设备存储的音频数据、本地存储设备中存储的音频数据或是来自另一设备的麦克风采集的音频数据。此外,作为n个音源信号x1…
xn的副本的n个扬声器信号x
1c

x
nc
被处理器110用于进行如上所述的非交织式预处理,以用于估计m个麦克风采集的麦克风信号d1…dm
中的回声分量y1…
ym。可以理解,n个音源信号x1…
xn可以与n个扬声器信号x
1c

x
nc
相同。备选地,n个扬声器信号x
1c

x
nc
可以与n个音源信号x1…
xn不同但是能够反映n个音源信号x1…
xn的音频内容,以使得n个扬声器信号x
1c

x
nc
可以指示扬声器播放的声音。例如,来自音源的n个音源信号x1…
xn可以经过各种调整和处理,例如增益缩放,并将经过调整和处理的信号作为n个扬声器信号x
1c

x
nc
分别用于非交织式预处理。
226.处理器110对所获取的n个扬声器信号x
1c

x
nc
进行非交织式预处理810,以生成m组预处理信号x
p
。非交织式预处理810可以包括如上所述的线性求和、线性求差、参考音频信号排序、串行并行滤波方式调整、增益调整、基于麦克风信号的滤波等。在至少一个预处理信号x
p
包括多个预处理信号的情形下,基于预处理信号的性质,可以选择将其串行自适应滤波或是并行自适应滤波。例如,在多个预处理信号源自指示单声道的扬声器信号的情形下,可以以串行方式对其进行自适应处理。在多个预处理信号源自指示5.1环绕立体声的扬声器信号的情形下,可以以并行方式对其进行自适应处理。因此,处理器还可以在非交织式预处理之前可以对多个扬声器信号的相关性进行判断,并且基于判断结果执行相应的非交织式预处理。m组预处理信号可以使用不同或相同的扬声器信号以不同或相同的非交织式预处理方式生成。换言之,m组预处理信号可以彼此独立地生成,并且每组预处理信号可以包括至少一个预处理信号,该至少一个预处理信号与针对该组预处理信号所选择的扬声
器信号和非交织式预处理方式相关。
227.处理器110继而对m组预处理信号x
p
进行自适应滤波以生成m个回声估计信号ye。在一个实施例中,自适应滤波可以将m组预处理信号x
p
从时域信号转换为频率信号,并且使用最lms或rls进行滤波。例如,针对16khz采样率的时域信号,可以使用75%的交叠长度和1024点的傅里叶变换来将其转换为频域信号以在滤波效果和计算开销之间获得较好的平衡。当然,也可以使用其它的交叠长度和其它点数的傅里叶变换。
228.m个麦克风12-1

12-m分别采集包括扬声器播放的音频的音频回声、语音和噪声的各种声音,并且将其转换为m个麦克风信号提供给处理器110。在一个实施例中,麦克风12-1采集的麦克风信号d1包括语音信号分量s1、噪声信号分量v1和回声信号分量y1,其中回声信号分量y1包括反射回声信号分量和直达声信号分量

麦克风12-m采集的麦克风信号dm包括语音信号分量sm、噪声信号分量vm和回声信号分量ym,其中回声信号分量ym包括反射回声信号分量和直达声信号分量。因此,麦克风信号d是语音信号分量s、噪声信号分量v和回声信号分量y的合成信号。m个麦克风信号d1……dm
与m个回声估计信号ye相对应。例如,m个回声估计信号ye中的第一回声估计信号与第一麦克风信号d1对应
……
m个回声估计信号ye中的第m回声估计信号与第一麦克风信号dm对应。
229.处理器110从m个麦克风信号中分别滤除m个回声估计信号以生成m个目标信号t。例如,从第一麦克风信号d1滤除第一回声估计信号以得到第一目标信号
……
从第m麦克风信号dm滤除第m回声估计信号以得到第m目标信号。m个目标信号t还可以用于更新自适应滤波440以提高回声估计的准确率。例如,第一目标信号用于更新与第一回声估计信号对应的自适应滤波
……
第m目标信号用于更新与第m回声估计信号对应的自适应滤波。
230.在一个实施例中,目标信号t随后被用于唤醒引擎唤醒智能助手或通过网络传输至通话接收方。在另一实施例中,目标信号t随后可以通过诸如非线性滤波方案、机器学习方案之类的常规方案进行进一步滤波以获得更好的回声滤除效果,并随后用于唤醒引擎唤醒智能助手或通过网络传输至通话接收方。此外,目标信号t还可以用于更新自适应滤波以提高回声估计的准确率。
231.图9是图8中的非交织式预处理的一个实施例的求和处理810-1的示意图。处理器110对n个扬声器信号中的第一扬声器信号x
1c
和第二扬声器信号x
2c
进行求和处理812以生成求和信号x
12
。在一个实施例中,求和信号x
12
可以作为预处理信号以供自适应滤波。通过线性求和,可以将两个音频信号合成为单个音频信号。这样,处理器110的后续的自适应滤波仅需针对单个经组合的音频信号进行,因此减少了后续的计算操作开销。
232.求和信号x
12
在被自适应滤波之前可以经历其它预处理。在另一实施例中,处理器110可以对求和信号x
12
的增益进行调整814,以生成经增益调整的预处理信号x
12a
。通过增益调整814,可以使得最终的回声估计信号的增益与麦克风信号中的回声分量y的增益匹配或相当,从而更为有效地滤除回声分量。备选地,可以在求和处理812之前对第一扬声器信号x
1c
和第二扬声器信号x
2c
的增益进行调整。此外,处理器110还可以对第一扬声器信号x
1c
和第二扬声器信号x
2c
进行求平均以生成求平均信号。可以理解,求平均相当于求和之后增益减半,因此求平均可以是求和的一种备选具体实现方式。
233.虽然在此仅以n个扬声器信号中的两个扬声器信号进行描述,但是可以理解本公开的范围不限于此。在另一些实施例中,可以使用更多的扬声器信号进行求和、或是使用经
非交织预处理的信号进行求和。
234.图10是图8中的非交织式预处理的另一实施例的求差处理810-2的示意图。处理器110对n个扬声器信号中的第一扬声器信号x
1c
和第二扬声器信号x
2c
进行求差处理816以生成求差信号x
21
。在一个实施例中,求差信号x
21
可以作为预处理信号以供自适应滤波。通过将第一扬声器信号x
1c
和第二扬声器信号x
2c
合成为单个求差信号x
21
,处理器110的后续滤波仅需针对求差信号x
21
进行,因此减少了后续的计算操作开销。此外,在一些情形下,回声滤除重点关注某个频段或不同扬声器输出之间的差异。在此情形下,求差信号x
21
可以单独被提供给处理器110或与其它扬声器信号组合以进一步提高回声滤除效果。
235.求差信号x
21
在被自适应滤波之前可以经历其它预处理。在另一实施例中,处理器110可以对求差信号x
21
的增益进行调整814,以生成经增益调整的预处理信号x
21a
。通过增益调整,可以使得最终的回声估计信号的增益与麦克风信号的增益匹配或相当,从而更为有效地滤除回声分量。备选地,可以在求差处理816之前对第一扬声器信号x
1c
和第二扬声器信号x
2c
的增益进行调整。虽然在此仅以n个扬声器信号中的两个扬声器信号进行描述,但是可以理解本公开的范围不限于此。在另一些实施例中,可以使用更多的扬声器信号进行求差。例如,第一扬声器信号与第二扬声器信号进行求差,并且第三扬声器信号和第四扬声器信号进行求差。在另一实施例中,还可以使用第三扬声器信号与求差信号x
21
再次进行求差。
236.图11是图8中的非交织式预处理的又一实施例的排序处理810-3的示意图。在一个实施例中,处理器110对图9中的经增益调整的求和信号x
12a
、图10中的经增益调整的求差信号x
21a
和n个扬声器信号中的第三扬声器信号x
3c
进行排序处理818。处理器110将求差信号x
21a
排序为第一预处理信号,将求和信号x
12a
排序为第二预处理信号并且将第三扬声器信号x
3c
排序为第三预处理信号。第一预处理信号、第二预处理信号和第三预处理信号依次进行自适应滤波。
237.在一些情形下,对于不同的扬声器信号和/或预处理信号进行排序并且按照排序结果进行回声滤除是有益的。例如,可能产生较大失真的信号包括低频含量较高的信号。在求差信号x
21a
指示低频音频的情形下,首先滤除低频音频分量对于回声滤除效果显著改善。通过将可能产生较大失真的信号排序为优先进行后续自适应滤的优先排序信号,可以显著改善滤波效果。可以理解,图11所示的排序仅是示意,可以有其他扬声器信号和预处理信号的组合和排序。例如,可以对n个扬声器信号例如基于各个扬声器信号中的低频含量而直接进行排序处理,并且将经排序的扬声器信号串行地用于自适应滤波。
238.图12是根据本公开的又一实施例的用于滤除回声的串行滤波过程1200的示意图。处理器110对n个音源信号x1…
xn的副本
--
n个扬声器信号x
1c

x
nc
进行非交织式预处理810以生成n个预处理信号x
p1

x
pn
。处理器110继而对n个预处理信号x
p1

x
pn
中的第一预处理信号x
p1
先进行自适应处理440-1以生成第一回声估计信号y
e1
。处理器110随后从麦克风信号d(例如第一麦克风信号)中滤除470-1第一回声估计信号y
e1
以生成第一残差信号e1。
239.处理器110对n个预处理信号x
p1

x
pn
中的第二预处理信号进行自适应处理以生成第二回声估计信号。处理器110随后从第一残差信号e1中滤除第二回声估计信号以生成第二残差信号。以此类推,直至生成作为最终残差信号的第n个残差信号en。在一个实施例中,残差信号en随后作为目标信号t被用于唤醒引擎唤醒智能助手或通过网络传输至通话接收方。在另一实施例中,残差信号en随后作为目标信号t可以通过诸如非线性滤波方案、机器
学习方案之类的常规方案进行进一步滤波以获得更好的回声滤除效果,并随后用于唤醒引擎唤醒智能助手或通过网络传输至通话接收方。n个残差信号e1…en
可以分别用于更新相应的自适应滤波440-1

440-n以使得回声估计信号更为贴近麦克风信号中的回声分量。
240.在多个扬声器信号之间的相似度较高的情形下,串行自适应滤波和估计信号滤除可以获得更好的滤波效果并且更好地保护麦克风112的语音输入。虽然在图12中以单个麦克风信号d来描述串行滤波的原理,但是这仅是示意而非对本公开的范围进行限制。例如,m个麦克风信号可以分别进行上述串行滤波,并且将相应的目标信号最后合成语音信号。
241.图13是根据本公开的又一实施例的用于滤除回声的并行滤波过程1300的示意图。处理器110对n个音源信号x1…
xn的副本
--
n个扬声器信号x
1c

x
nc
进行非交织式预处理810以生成n个预处理信号。n个预处理信号被组合为矩阵信号x
pm
以并行地进行自适应处理。例如,n个预处理信号可以被组合为n维矩阵以并行地自适应滤波。可以基于多个扬声器信号或预处理信号之间的相似度来选择将多个预处理信号进行串行自适应滤波还是并行自适应滤波。在一个实施例中,多个扬声器信号之间的相似度较高,例如电子设备100播放单声道音频。即,n个扬声器14-1

14-n播放相同的音频。在此情形下,与n个音源信号x1…
xn相关联的n个扬声器信号x
1c

x
nc
可以串行自适应滤波,以获得更好的滤波效果并且更好地保护麦克组12的语音输入。在另一实施例中,多个扬声器信号之间的相似度较低,例如电子设备100播放立体声或者5.1环绕声音频。在此情形下,指示各个声道的n个预处理信号可以被组合为矩阵以并行地自适应滤波,以获得更好的滤波效果。
242.处理器110继而对矩阵信号x
pm
进行并行自适应处理440以生成回声估计信号ye。处理器110随后从麦克风信号d中滤除470回声估计信号ye以生成残差信号e。在一个实施例中,残差信号e随后作为目标信号t被用于唤醒引擎唤醒智能助手或通过网络传输至通话接收方。在另一实施例中,残差信号e作为目标信号t随后可以通过诸如非线性滤波方案、机器学习方案之类的常规方案进行进一步滤波以获得更好的回声滤除效果,并随后用于唤醒引擎唤醒智能助手或通过网络传输至通话接收方。残差信号e可以用于更新自适应滤波440以使得回声估计信号更为贴近麦克风信号中的回声分量。
243.在n个扬声器信号之间的相似度较低的情形下,并行自适应滤波和估计信号滤除可以获得更好的滤波效果。在一个实施例中,处理器110可以在对n个扬声器信号进行非交织式预处理之前对n个扬声器信号之间的相似度进行确定,并且基于确定结果来选择串行滤波还是并行滤波。虽然在图13中以单个麦克风信号d来描述串行滤波的原理,但是这仅是示意而非对本公开的范围进行限制。例如,m个麦克风信号可以分别进行上述并行滤波,并且将相应的目标信号最后合成语音信号。
244.图14是根据本公开的又一实施例的用于滤除回声的音频信号处理过程1400的示意图。电子设备100具有处理器110、m个麦克风12-1

12-m、m个反向扬声器15-1

15-m以及n个扬声器14-1

14-n,其中m个反向扬声器被分别设置在m个麦克风的附近,并且m和n是大于1的整数。来自音源的n个音源信号x1…
xn被处理器110分别输出至n个扬声器14-1

14-n,并且处理器110使n个扬声器14-1

14-n分别播放相应的音频。音源例如是通过互联网通信的服务器中的存储设备存储的音频数据、本地存储设备中存储的音频数据或是来自另一设备的麦克风采集的音频数据。
245.m个麦克风12-1

12-m采集分别包括扬声器播放的音频的音频回声、语音和噪声
的各种声音。在一个实施例中,麦克风采集的麦克风信号包括语音信号分量、噪声信号分量和反向音频未能完全抵消而剩余的回声信号分量,其中回声信号分量yr包括反射回声信号分量和直达声信号分量。例如,第一麦克风12-1采集的麦克风信号d1包括语音信号分量s1、噪声信号分量v1和反向音频未能完全抵消而剩余的回声信号分量y
1r

第m麦克风12-m采集的麦克风信号dm包括语音信号分量sm、噪声信号分量vm和反向音频未能完全抵消而剩余的回声信号分量y
mr
。因此,麦克风信号是语音信号分量、噪声信号分量和回声信号分量的合成信号。
246.作为n个音源信号x1…
xn的副本的n个扬声器信号x
1c

x
nc
被处理器110进行非交织式预处理1410以生成m组预处理信号。m组预处理信号随后分别进行自适应滤波1420-1

1420-m以生成m个反向音频信号。处理器110使得反向扬声器15-1

15-m播放该反向音频信号。在一个实施例中,自适应滤波可以将m组预处理信号从时域信号转换为频率信号,并且使用lms或rls进行滤波。例如,针对16khz采样率的时域信号,可以使用75%的交叠长度和1024点的傅里叶变换来将其转换为频域信号以在滤波效果和计算开销之间获得较好的平衡。当然,也可以使用其它的交叠长度和其它点数的傅里叶变换。此外,麦克风12-1
……
12-m采集的麦克风信号d的副本d
c1
……dcm
可以被用于指导自适应滤波1420-1

1420-m的更新。
247.反向音频在m个麦克风12-1

12-m外就与n个扬声器14-1

14-n播放的音频的回声抵消,从而使得m个麦克风12-1

12-m采集的麦克风信号包括语音信号、噪声以及未被完全滤除的剩余回声信号分量。例如,麦克风信号d1包括语音信号s1、噪声v1以及未被完全滤除的剩余回声信号分量y
1r。。。
麦克风信号dm包括语音信号sm、噪声vm以及未被完全滤除的剩余回声信号分量y
mr

248.另一方面,n个扬声器信号x
1c

x
nc
被处理器110用于进行如上所述的非交织式预处理810,以用于估计m个麦克风12-1

12-m采集的麦克风信号中的回声分量。虽然将来自音源的n个音源信号x1…
xn示出为被直接提供至n个扬声器14-1

14-n以及将n个扬声器信号x
1c

x
nc
直接用于非交织式预处理,但是这仅是示意而非对本公开的范围进行限制。可以理解,来自音源的n个音源信号x1…
xn以及n个扬声器信号x
1c

x
nc
可以经过各种调整和处理,例如增益缩放,并将经过调整和处理的信号提供给n个扬声器14-1

14-n以及用于非交织式预处理。在另一些实施例中,被提供给扬声器的音源信号x1…
xn和用于非交织式预处理的扬声器信号x
1c

x
nc
可以不同(例如增益不同),但是具有相关性以使得扬声器信号x
1c

x
nc
可以指示扬声器14-1

14-n播放的声音。
249.处理器110对所接收的n个扬声器信号x
1c

x
nc
进行非交织式预处理810以生成m组预处理信号x
p
。非交织式预处理810可以包括如上所述的线性求和、线性求差、参考音频信号排序、串行/并行滤波方式调整、增益调整、基于麦克风信号d1…dm
的副本信号d
c1
…dcm
的滤波等。在一组预处理信号包括多个预处理信号的情形下,可以基于预处理信号的性质选择将其串行自适应滤波或是并行自适应滤波。例如,在多个预处理信号源自指示单声道的参考信号的情形下,可以以串行方式对其进行自适应处理。在多个预处理信号源自指示5.1环绕立体声的参考信号的情形下,可以以并行方式对其进行自适应处理。m组预处理信号可以使用不同或相同的扬声器信号以不同或相同的非交织式预处理方式生成。换言之,m组预处理信号可以彼此独立地生成,并且每组预处理信号可以包括至少一个预处理信号,该至
少一个预处理信号与针对该组预处理信号所选择的扬声器信号和非交织式预处理方式相关。处理器110继而对m个预处理信号进行自适应滤波440以生成m个回声估计信号。处理器110从麦克风信号中滤除m个回声估计信号ye以生成m个残差信号。例如,处理器110从m个麦克风信号中滤除m个回声估计信号以生成m个残差信号e。例如,从第一麦克风信号d1滤除第一回声估计信号以得到第一残差信号
……
从第m麦克风信号dm滤除第m回声估计信号以得到第m残差信号。
250.此外,m个残差信号e还可以分别用于更新自适应滤波440以提高回声估计的准确率。例如,第一残差信号用于更新与第一回声估计信号对应的自适应滤波
……
第m残差信号用于更新与第m回声估计信号对应的自适应滤波。另一方面,麦克风信号的副本d
c1
…dcm
可以用于更新自适应滤波1420-1

1420-m,以提高回声估计的准确率。
251.处理器110继而可以基于如上所述的默认直达声滤波模型或定制直达声滤波模型使用n个扬声器信号x
1c

x
nc
对m个残差信号e进行直达声滤波,以生成m个目标信号t。例如,对第一残差信号进行行直达声滤波450,以生成第一目标信号
……
对第m残差信号进行行直达声滤波450,以生成第m目标信号。在一个实施例中,m个目标信号t随后被用于唤醒引擎唤醒智能助手或通过网络传输至通话接收方。在另一实施例中,m个目标信号t随后可以通过诸如非线性滤波方案、机器学习方案之类的常规方案进行进一步滤波以获得更好的回声滤除效果,并随后用于唤醒引擎唤醒智能助手或通过网络传输至通话接收方。
252.图15是根据本公开的一个实施例的用于滤除回声的装置1500的示意框图。装置1500应用于电子设备。电子设备包括m个麦克风和n个扬声器,m个n均为大于1的整数。装置1500包括第一获取模块1502,用于获取与n个扬声器对应的n个扬声器信号。装置1500还包括第二获取模块1504,用于获取与m个麦克风对应的m个麦克风信号。装置1500进一步包括直达声滤波模块,用于针对n个扬声器信号以及m个麦克风信号至少进行直达声滤波以得到目标信号。通过使用直达声滤波,可以进一步提高回声滤波的效果。
253.虽然在图15中仅示出了三个模块,但是可以理解这仅是示意而非对本公开的范围进行限制。装置1500还可以包括用于执行上述的方法300、方法500和/或方法700中的各个步骤的相应模块,例如前面针对本公开的第十方面所述的模块中的至少一个模块。
254.图16是根据本公开的又一实施例的用于滤除回声的装置1600的示意框图。装置1600应用于电子设备。电子设备包括m个麦克风和n个扬声器,m和n均为大于1的整数。装置1600包括:获取模块1602,用于获取与n个扬声器对应的n个扬声器信号;反向扬声器信号生成模块1604,用于基于n个扬声器信号生成反向扬声器信号;播放使能模块1606,用于使靠近m个麦克风中的至少一个麦克风的反向扬声器基于反向扬声器信号播放反向音频,以抵消n个扬声器播放的与n个扬声器信号对应的音频输出。反向扬声器不同于n个扬声器。通过使反向扬声器播放反向音频,可以在回声被麦克风采集之前就已滤除一部分回声分量,从而提供回声滤除效果。
255.虽然在图16中仅示出了三个模块,但是可以理解这仅是示意而非对本公开的范围进行限制。装置1600还可以包括用于执行上述的方法300、方法500和/或方法700中的各个步骤的相应模块,例如前面针对本公开的第十一方面所述的模块中的至少一个模块。
256.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上
面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1