一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

回声消除方法、电子设备及存储介质与流程

2023-02-19 09:04:07 来源:中国专利 TAG:


1.本技术实施例涉及通信技术领域,尤其涉及一种回声消除方法、电子设备及存储介质。


背景技术:

2.在日常远程通话中,由于是点对点的双端通话,通话双方的拾音设备往往是一台手机或者平板等单个设备。而单个设备的拾音距离有限,能力有限,一旦距离较远,拾音的效果会显著下降。在多人会议通话中,需要配备专门的会议室,并且在会议室中布置专业的多媒体系统,例如,会议“八爪鱼”等,以及配备相应的麦克风,由此可以提升会议中的语音通话质量。
3.随着电子技术和信息技术的快速发展,手机及平板等电子设备的普及率越高。因此,上述手机或平板等带有麦克风的电子设备都可以作为分布式拾音设备。将多个分布式拾音设备组合起来,可以作为一个组合麦克风,能够有效提升空间中不同位置的拾音效果,同时可以摆脱有线麦克风的繁琐束缚以及多媒体系统高昂的成本,并可以极大提升现有会议场景的拾音体验。
4.然而,在双端通话中,会产生声学回声。例如,当远端说话者的语音通过网络传输到近端设备后,近端喇叭会播放出来,由于通话是实时双工的,因此在近端由喇叭播放出的音频会被近端麦克风拾取。如果不进行声学回声消除,该音频内容会通过网络发送到远端,从而导致远端用户听到自己说话的回声,严重影响了语音通话的体验。


技术实现要素:

5.本技术实施例提供了一种回声消除方法、电子设备及存储介质,以提供一种计算分布式设备间的回声时延的方式,由此可以实现分布式设备间的回声消除。
6.第一方面,本技术实施例提供了一种回声消除方法,应用于第一设备,第一设备包括扬声器,包括:
7.使用扬声器向第二设备发送第一超声波;其中,第一设备可以是手机、平板等具有扬声器的设备;第二设备为具有麦克风的电子设备。
8.接收第二设备通过第一传输方式发送的第一数据,其中,第一数据包括第二设备采集到的第一超声波;其中,第一数据可以是超声波音频数据的形式,例如,音频帧。第一传输方式可以是无线网络的传输方式,例如,wifi、移动网络及蓝牙等。
9.根据第一超声波和第一数据,计算第一设备与第二设备对应的音频环路的第一回声时延,其中,音频环路包括第一传输方式;其中,计算回声时延的方式可以采用现有的aec算法。
10.根据第一回声时延,对第一设备与第二设备所处的音频环路进行回声消除。
11.本技术实施例中,通过中心设备计算与分布式设备之间的回声时延,并根据回声时延动态的消除回声,可以提高回声时延计算的准确度,从而可以更有效的消除回声,进而
可以提高用户的体验。
12.其中一种可能的实现方式中,第一设备还包括麦克风,还包括:
13.使用麦克风采集第一超声波;
14.基于采集的第一超声波,计算获得与第一设备对应的第二回声时延;
15.基于第二回声时延,对第一设备进行回声消除。
16.本技术实施例中,由于中心设备本身也会产生回声时延,中心设备通过采集自身扬声器播放的第一超声波,计算出自身的回声时延,从而可以对自身的回声时延进行消除,提高用户的体验。
17.其中一种可能的实现方式中,还包括:
18.对第一设备与第二设备对应的音频环路的第一回声时延进行更新。
19.本技术实施例中,通过对中心设备与分布式设备之间的回声时延进行更新,由此可以动态更新回声时延,进而可以更准确的计算回声时延,从而可以更准确的消除回声,提升用户的体验。
20.其中一种可能的实现方式中,对第一设备与第二设备对应的音频环路的第一回声时延进行更新包括:
21.当检测到第一设备及第二设备中的至少一个设备发生移动后,向第二设备发送第二超声波;
22.基于接收到的第二设备发送的第二数据,更新第一设备与第二设备对应的音频环路的第一回声时延,其中,第二数据包括第二设备采集到的第二超声波。
23.本技术实施例中,针对中心设备或分布式设备移动的场景,可以有效更新回声时延,从而可以有效消除回声。
24.其中一种可能的实现方式中,第一超声波具有预设第一频率,第二超声波具有预设第二频率,预设第二频率与预设第一频率为不同频率。
25.本技术实施例中,通过将两个超声波的频率进行区分,分布式设备可以有效识别回声时延更新的场景,并可以根据该场景反馈超声波音频数据,从而可以有效消除回声。
26.其中一种可能的实现方式中,第二超声波与第一设备采集到的用户语音叠加后发送给第二设备。
27.本技术实施例中,通过将超声波与用户语音叠加发送,可以提高超声波的发送效率。
28.其中一种可能的实现方式中,对第一设备与第二设备对应的音频环路的第一回声时延进行更新包括:
29.基于预设周期,向第二设备发送第一超声波;
30.基于接收到的第二设备发送的第一数据,更新第一设备与第二设备对应的音频环路的第一回声时延。
31.本技术实施例中,中心设备通过周期性发送超声波,可以周期性更新中心设备与分布式设备之间的回声时延,由此可以更有效的计算回声时延,从而可以更有效的消除回声。
32.其中一种可能的实现方式中,对第一设备与第二设备对应的音频环路的第一回声时延进行更新包括:
33.当检测到第一设备处于静默态后,向第二设备发送第一超声波;
34.基于接收到的第二设备发送的第一数据,更新第一设备与第二设备对应的音频环路的第一回声时延。
35.本技术实施例中,通过在中心设备处于静默态(例如,在会议休息期间或无人说话时),发送超声波,由此可以更新回声时延,可以提高超声波的发送效率,避免发送超声波导致占用设备资源。
36.其中一种可能的实现方式中,对第一设备与第二设备对应的音频环路的第一回声时延进行更新包括:
37.基于检测到的预设事件,向第二设备发送第一超声波;
38.基于接收到的第二设备发送的第一数据,更新第一设备与第二设备对应的音频环路的第一回声时延。
39.本技术实施例中,针对上线新分布式设备、会议重新开始及会议中断等事件,可以重新计算回声时延,由此可以对上述事件中的回声时延进行更新,从而可以基于更新后的时延更精确地消除回声。
40.其中一种可能的实现方式中,第一数据还包括与第二设备对应的设备号,设备号用于识别第二设备。
41.本技术实施例中,通过数据中携带设备号,可以识别对应的分布式设备,并可以针对性的消除与该分布式设备之间的回声,无需对所有分布式设备进行回声消除,由此可以提高回声消除的效率。
42.其中一种可能的实现方式中,第一传输方式包括wifi、移动网络及蓝牙中的一种无线网络传输方式。
43.本技术实施例中,通过wifi、移动网络及蓝牙等无线网络方式发送超声波音频数据,分布式设备可以快速将上述超声波音频数据发送给中心设备,从而可以使得中心设备快速技术回声时延。
44.其中一种可能的实现方式中,第一设备与第二设备之间的音频环路包括待消除回声的第一通道,第一传输方式包括第二通道,第一通道与第二通道保持一致。
45.本技术实施例中,通过将待消除回声的通道与传输超声波音频数据的通道保持一致,可以保证每次计算回声时延的一致性,从而可以保证回声消除的准确性,进而可以提升用户的体验。
46.其中一种可能的实现方式中,第一设备与第二设备之间的音频环路包括待消除回声的第一通道,第一设备具有处理第一超声波及第一数据的第三通道,第一通道与第三通道保持一致。
47.本技术实施例中,将中心设备中的处理通道与待消除回声的通道保持一致,可以避免中心设备中不同处理通道处理导致的时延误差,由此可以保证回声时延的计算的准确性,进而可以保证回声消除的准确性。
48.第二方面,本技术实施例提供一种回声消除装置,应用于第一设备,该第一设备包括扬声器,包括:
49.发送模块,用于使用扬声器向第二设备发送第一超声波;
50.接收模块,用于接收第二设备通过第一传输方式发送的第一数据,其中,第一数据
包括第二设备采集到的第一超声波;
51.计算模块,用于根据第一超声波和第一数据,计算第一设备与第二设备对应的音频环路的第一回声时延,其中,音频环路包括第一传输方式;
52.第一消除模块,用于根据第一回声时延,对第一设备与第二设备所处的音频环路进行回声消除。
53.其中一种可能的实现方式中,第一设备还包括麦克风,上述装置还包括:
54.第二消除模块,用于使用麦克风采集第一超声波;基于采集的第一超声波,计算获得与第一设备对应的第二回声时延;基于第二回声时延,对第一设备进行回声消除。
55.其中一种可能的实现方式中,上述装置还包括:
56.更新模块,用于对第一设备与第二设备对应的音频环路的第一回声时延进行更新。
57.其中一种可能的实现方式中,上述更新模块还用于
58.当检测到第一设备及第二设备中的至少一个设备发生移动后,向第二设备发送第二超声波;
59.基于接收到的第二设备发送的第二数据,更新第一设备与第二设备对应的音频环路的第一回声时延,其中,第二数据包括第二设备采集到的第二超声波。
60.其中一种可能的实现方式中,第一超声波具有预设第一频率,第二超声波具有预设第二频率,预设第二频率与预设第一频率为不同频率。
61.其中一种可能的实现方式中,第二超声波与第一设备采集到的用户语音叠加后发送给第二设备。
62.其中一种可能的实现方式中,上述更新模块还用于
63.基于预设周期,向第二设备发送第一超声波;
64.基于接收到的第二设备发送的第一数据,更新第一设备与第二设备对应的音频环路的第一回声时延。
65.其中一种可能的实现方式中,上述更新模块还用于
66.当检测到第一设备处于静默态后,向第二设备发送第一超声波;
67.基于接收到的第二设备发送的第一数据,更新第一设备与第二设备对应的音频环路的第一回声时延。
68.其中一种可能的实现方式中,上述更新模块还用于
69.基于检测到的预设事件,向第二设备发送第一超声波;
70.基于接收到的第二设备发送的第一数据,更新第一设备与第二设备对应的音频环路的第一回声时延。
71.其中一种可能的实现方式中,第一数据还包括与第二设备对应的设备号,设备号用于识别第二设备。
72.其中一种可能的实现方式中,第一传输方式包括wifi、移动网络及蓝牙中的一种无线网络传输方式。
73.其中一种可能的实现方式中,第一设备与第二设备之间的音频环路包括待消除回声的第一通道,第一传输方式包括第二通道,第一通道与第二通道保持一致。
74.其中一种可能的实现方式中,第一设备与第二设备之间的音频环路包括待消除回
声的第一通道,第一设备具有处理第一超声波及第一数据的第三通道,第一通道与第三通道保持一致。
75.第三方面,本技术实施例提供一种第一设备,包括:
76.存储器,上述存储器用于存储计算机程序代码,上述计算机程序代码包括指令,当上述第一设备从上述存储器中读取上述指令,以使得上述第一设备执行以下步骤:
77.使用扬声器向第二设备发送第一超声波;
78.接收第二设备通过第一传输方式发送的第一数据,其中,第一数据包括第二设备采集到的第一超声波;
79.根据第一超声波和第一数据,计算第一设备与第二设备对应的音频环路的第一回声时延,其中,音频环路包括第一传输方式;
80.根据第一回声时延,对第一设备与第二设备所处的音频环路进行回声消除。
81.其中一种可能的实现方式中,第一设备还包括麦克风,上述指令被上述第一设备执行时,使得上述第一设备还执行以下步骤:
82.使用麦克风采集第一超声波;
83.基于采集的第一超声波,计算获得与第一设备对应的第二回声时延;
84.基于第二回声时延,对第一设备进行回声消除。
85.其中一种可能的实现方式中,上述指令被上述第一设备执行时,使得上述第一设备还执行以下步骤:
86.对第一设备与第二设备对应的音频环路的第一回声时延进行更新。
87.其中一种可能的实现方式中,上述指令被上述第一设备执行时,使得上述第一设备执行对第一设备与第二设备对应的音频环路的第一回声时延进行更新的步骤包括:
88.当检测到第一设备及第二设备中的至少一个设备发生移动后,向第二设备发送第二超声波;
89.基于接收到的第二设备发送的第二数据,更新第一设备与第二设备对应的音频环路的第一回声时延,其中,第二数据包括第二设备采集到的第二超声波。
90.其中一种可能的实现方式中,第一超声波具有预设第一频率,第二超声波具有预设第二频率,预设第二频率与预设第一频率为不同频率。
91.其中一种可能的实现方式中,第二超声波与第一设备采集到的用户语音叠加后发送给第二设备。
92.其中一种可能的实现方式中,上述指令被上述第一设备执行时,使得上述第一设备执行对第一设备与第二设备对应的音频环路的第一回声时延进行更新的步骤包括:
93.基于预设周期,向第二设备发送第一超声波;
94.基于接收到的第二设备发送的第一数据,更新第一设备与第二设备对应的音频环路的第一回声时延。
95.其中一种可能的实现方式中,上述指令被上述第一设备执行时,使得上述第一设备执行对第一设备与第二设备对应的音频环路的第一回声时延进行更新的步骤包括:
96.当检测到第一设备处于静默态后,向第二设备发送第一超声波;
97.基于接收到的第二设备发送的第一数据,更新第一设备与第二设备对应的音频环路的第一回声时延。
98.其中一种可能的实现方式中,上述指令被上述第一设备执行时,使得上述第一设备执行对第一设备与第二设备对应的音频环路的第一回声时延进行更新的步骤包括:
99.基于检测到的预设事件,向第二设备发送第一超声波;
100.基于接收到的第二设备发送的第一数据,更新第一设备与第二设备对应的音频环路的第一回声时延。
101.其中一种可能的实现方式中,第一数据还包括与第二设备对应的设备号,设备号用于识别第二设备。
102.其中一种可能的实现方式中,第一传输方式包括wifi、移动网络及蓝牙中的一种无线网络传输方式。
103.其中一种可能的实现方式中,第一设备与第二设备之间的音频环路包括待消除回声的第一通道,第一传输方式包括第二通道,第一通道与第二通道保持一致。
104.其中一种可能的实现方式中,第一设备与第二设备之间的音频环路包括待消除回声的第一通道,第一设备具有处理第一超声波及第一数据的第三通道,第一通道与第三通道保持一致。
105.第四方面,本技术实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如第一方面所述的方法。
106.第五方面,本技术实施例提供一种计算机程序,当上述计算机程序被计算机执行时,用于执行第一方面所述的方法。
107.在一种可能的设计中,第五方面中的程序可以全部或者部分存储在与处理器封装在一起的存储介质上,也可以部分或者全部存储在不与处理器封装在一起的存储器上。
附图说明
108.图1为本技术实施例提供的应用场景示意图;
109.图2为本技术实施例提供的电子设备的系统架构示意图;
110.图3为本技术实施例提供的电子设备的硬件结构示意图;
111.图4为本技术提供的回声消除方法一个实施例的流程示意图;
112.图5a和图5b为本技术实施例提供的超声波的波形示意图;
113.图6为本技术实施例提供的回声时延计算示意图;
114.图7为本技术提供的回声消除装置一个实施例的结构示意图。
具体实施方式
115.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。其中,在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
116.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
117.在日常远程通话中,由于是点对点的双端通话,通话双方的拾音设备往往是一台手机或者平板等单个设备。而单个设备的拾音距离有限,能力有限,一旦距离较远,拾音的效果会显著下降。在多人会议通话中,需要配备专门的会议室,并且在会议室中布置专业的多媒体系统,例如,会议“八爪鱼”等,以及配备相应的麦克风,由此可以提升会议中的语音通话质量。
118.随着电子技术和信息技术的快速发展,手机及平板等电子设备的普及率越高。因此,上述手机或平板等带有麦克风的电子设备都可以作为分布式拾音设备。将多个分布式拾音设备组合起来,可以作为一个组合麦克风,能够有效提升空间中不同位置的拾音效果,同时可以摆脱有线麦克风的繁琐束缚以及多媒体系统高昂的成本,并可以极大提升现有会议场景的拾音体验。
119.然而,在双端通话中,会产生声学回声。例如,当远端说话者的语音通过网络传输到近端设备后,近端喇叭会播放出来,由于通话是实时双工的,因此在近端由喇叭播放出的音频会被近端麦克风拾取。如果不进行声学回声消除,该音频内容会通过网络发送到远端,从而导致远端用户听到自己说话的回声,严重影响了语音通话的体验。
120.其中,一种回声消除方法是针对单一设备,也就是麦克风和扬声器位于同一设备中。而在分布式组合麦克风中,由于分布式麦克风作为语音输入设备散落在空间各个位置,而用于放音的扬声器可能是音响、大屏等设备,位置是不固定的。因此,麦克风和扬声器的距离无法确定,从而导致回声时延无法准确估算。此外,由于接入分布式麦克风阵列作为采集音频的麦克风设备可能是不同类型的设备,例如,手机或平板等,从而导致不同设备的回声时延无法准确估算。而回声消除是基于回声时延的,由于回声时延无法准确估算,由此会导致回声无法有效消除,进而降低用户体验。
121.为了解决上述问题,本技术实施例提出了一种回声消除方法,上述方法应用于电子设备100。其中,电子设备100可以是具有扬声器和麦克风的电子设备,例如,手机、平板等设备。可以理解的是,上述电子设备100的类型并不构成对本技术实施例的限定,在一些实施例中,上述电子设备100还可以是其他类型的电子设备。
122.图1为上述回声消除方法的应用场景,如图1所示,上述应用场景包括第一设备10、第二设备20及第二设备21。其中,上述第一设备10、第二设备20及第二设备21可以是上述电子设备100。可以理解的是,上述应用场景仅示例性的示出了3个电子设备100,并不构成对本技术实施例的限定,在一些实施例中,上述应用场景还可以包括更多或更少的电子设备100。
123.其中,在上述图1示出的应用场景中,第一设备10、第二设备20及第二设备21可以组成分布式组合麦克风网络。以第一设备10消除第一设备10与第二设备20之间的音频环路的回声为例,第二设备20具有麦克风,第一设备10通过扬声器发送超声波给第二设备20,第二设备20通过麦克风采集上述超声波,并通过wifi通道1101将采集的超声波发送给第一设备10,由此可以使得第一设备10基于发送的超声波和接收到的超声波计算回声时延,并可以根据回声时延消除第一设备10与第二设备20之间的音频环路的回声。可以理解的是,上述wifi通道1101为示例性说明,并不构成对本技术实施例的限定,在一些实施例中,还可以是其他无线通道。
124.接着,结合图2对上述电子设备100的系统框架图进行说明。如图2所示,电子设备
100包括。其中,电子设备100可以包括应用层200、驱动层300及物理层400。
125.应用层200用于提供不同的应用。上述应用可以是常用的功能应用,也可以是定制的功能应用。在本技术实施例中,通过上述应用可以发送预设的超声波音频。
126.驱动层300包括自动回声消除(automatic echo cancellation,aec)模块310、驱动模块320及时延估计模块330。其中,时延估计模块330用于估算回声时延。aec模块310用于基于回声时延进行回声消除。可以理解的是,上述回声消除的方式可以使用现有的aec算法,在此不再赘述。驱动模块320包括扬声器驱动321及麦克风驱动322。其中,扬声器驱动321用于接收音频数据,并将音频数据通过扬声器播放。麦克风驱动322用于接收扬声器播放的音频,将音频转换为音频数据。
127.需要说明的是,时延估计模块330进行回声时延的计算的数据通道与aec模块310进行回声消除的数据通道一致,也就是说,时延估计模块330进行回声时延的计算的数据通道与aec模块310进行回声消除的数据通道使用的是同一个线程或同一个进程,由此可以保证系统时延尽可能一致,进而可以保证数据通道的时延相同。在具体实现时,可以将时延估计模块330放置于aec模块310中,由此可以保证时延通路的一致性。
128.物理层400用于提供不同类型的通信接口,该通信接口可以是两个电子设备100之间的接口,该通信接口可以是wifi、蓝牙等无线通信接口。
129.下面结合图3首先介绍本技术以下实施例中提供的示例性电子设备。图3示出了电子设备100的结构示意图,该电子设备100可以是上述第一设备10、第二设备20或第二设备21。
130.电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。
131.可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本技术另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
132.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,ap),调制解调处理器,图形处理器(graphics processing unit,gpu),图像信号处理器(image signal processor,isp),控制器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
133.控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
134.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
135.在一些实施例中,处理器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)接口等。
136.i2c接口是一种双向同步串行总线,包括一根串行数据线(serial data line,sda)和一根串行时钟线(derail clock line,scl)。在一些实施例中,处理器110可以包含多组i2c总线。处理器110可以通过不同的i2c总线接口分别耦合触摸传感器180k,充电器,闪光灯,摄像头193等。例如:处理器110可以通过i2c接口耦合触摸传感器180k,使处理器110与触摸传感器180k通过i2c总线接口通信,实现电子设备100的触摸功能。
137.i2s接口可以用于音频通信。在一些实施例中,处理器110可以包含多组i2s总线。处理器110可以通过i2s总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过i2s接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
138.pcm接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过pcm总线接口耦合。在一些实施例中,音频模块170也可以通过pcm接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述i2s接口和所述pcm接口都可以用于音频通信。
139.uart接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,uart接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过uart接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过uart接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
140.mipi接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。mipi接口包括摄像头串行接口(cameraserial interface,csi),显示屏串行接口(display serial interface,dsi)等。在一些实施例中,处理器110和摄像头193通过csi接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过dsi接口通信,实现电子设备100的显示功能。
141.gpio接口可以通过软件配置。gpio接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,gpio接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。gpio接口还可以被配置为i2c接口,i2s接口,uart接口,mipi接口等。
142.usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接
口,usb type c接口等。usb接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如ar设备等。
143.可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本技术另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
144.充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
145.电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
146.电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
147.天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
148.移动通信模块150可以提供应用在电子设备100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
149.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170a,受话器170b等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
150.无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigationsatellite system,gnss),调频
(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
151.在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块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)。
152.电子设备100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
153.显示屏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的正整数。
154.电子设备100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
155.isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
156.摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备100可以包括1个或n个摄像头193,n为大于1的正整数。
157.数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其
他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
158.视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
159.npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
160.外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
161.内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
162.电子设备100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
163.音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
164.扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170a收听音乐,或收听免提通话。
165.受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。
166.麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170c发声,将声音信号输入到麦克风170c。电子设备100可以设置至少一个麦克风170c。在另一些实施例中,电子设备100可以设置两个麦克风170c,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
167.耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,
ctia)标准接口。
168.压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。压力传感器180a的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180a,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180a检测所述触摸操作强度。电子设备100也可以根据压力传感器180a的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
169.陀螺仪传感器180b可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180b确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180b可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180b检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180b还可以用于导航,体感游戏场景。
170.气压传感器180c用于测量气压。在一些实施例中,电子设备100通过气压传感器180c测得的气压值计算海拔高度,辅助定位和导航。
171.磁传感器180d包括霍尔传感器。电子设备100可以利用磁传感器180d检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180d检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
172.加速度传感器180e可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
173.距离传感器180f,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180f测距以实现快速对焦。
174.接近光传感器180g可以包括例如发光二极管(led)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180g检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180g也可用于皮套模式,口袋模式自动解锁与锁屏。
175.环境光传感器180l用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180l也可用于拍照时自动调节白平衡。环境光传感器180l还可以与接近光传感器180g配合,检测电子设备100是否在口袋里,以防误触。
176.指纹传感器180h用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
177.温度传感器180j用于检测温度。在一些实施例中,电子设备100利用温度传感器180j检测的温度,执行温度处理策略。例如,当温度传感器180j上报的温度超过阈值,电子设备100执行降低位于温度传感器180j附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
178.触摸传感器180k,也称“触控器件”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
179.骨传导传感器180m可以获取振动信号。在一些实施例中,骨传导传感器180m可以获取人体声部振动骨块的振动信号。骨传导传感器180m也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180m也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180m获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180m获取的血压跳动信号解析心率信息,实现心率检测功能。
180.按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
181.马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
182.指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
183.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分离。
184.图4为本技术实施例提供的回声消除方法一个实施例的流程示意图,包括:
185.步骤401,中心设备接收普通音频流并进行播放。
186.具体地,上述中心设备可以是分布式组合麦克风网络中的语音播放设备,也就是主设备。上述分布式组合麦克风网络中的其他设备可以作为拾音设备,也就是分布式设备。示例性的,上述分布式组合麦克风网络可以由多个设备(例如,第一设备10、第二设备20及
第二设备21)组成。上述第一设备10、第二设备20及第二设备21可以通过本地局域网进行连接,以组建分布式组合麦克风网络。用户可以将上述分布式组合麦克风网络中的第一设备10、第二设备20或第二设备21中的任一设备设为中心设备。示例性的,若用户将第一设备10设置为中心设备,则该第一设备10可以作为语音播放设备,其他设备(例如,第二设备20及第二设备21)可以作为分布式设备,也就是拾音设备。
187.当确定中心设备后,中心设备可以接收普通音频流并进行播放。可以理解的是,上述普通音频流的帧率可以是5ms或20ms,但并不构成对本技术实施例的限定。在一些实施例中,也可以是其他帧率。
188.步骤402,中心设备发送超声波音频数据。
189.具体地,该超声波音频数据可以通过应用层200发送。其中,该超声波音频数据可以从中心设备中预设的超声波音频文件中获取,该预设的超声波音频数据具有第一预设频率。可选地,该超声波音频文件也可以实时从互联网下载。本技术实施例对上述超声波音频数据的来源不做特殊限定。此外,上述超声波音频数据的预设频率范围可以是大于20khz,也就是高频声波,由此可以使得中心设备在播放上述超声波时,让用户无感,进而可以提高用户的体验。该超声波音频数据可以是具有频域特征的数据,例如,该超声波音频数据可以是一段持续的正弦波。
190.在具体实现时,上述超声波音频数据可以仅包含预设超声波的波形,也可以包含预设超声波波形及空白数据。示例性的,图5a为仅包含预设超声波的波形的超声波音频数据500,图5b为包含预设超声波波形及空白数据的超声波音频数据510。如图5b所示,超声波音频数据510包含预设超声波波形511及空白数据512。
191.步骤403,中心设备播放超声波。
192.具体地,中心设备可以通过扬声器驱动321驱动扬声器播放超声波。由此可以使得其他分布式设备可以通过麦克风采集上述超声波。可以理解的是,当中心设备播放上述超声波后,可以将与上述超声波对应的超声波音频数据进行存储,由此可以将上述超声波音频数据作为参考波形。此外,本技术中的超声波也可以包括其他频点或频段的超声波,其中,上述其他频点或频段的超声波为人耳难以感知的超声波,由此可以避免超声波对用户造成影响,进而可以提高用户的体验。
193.步骤404,分布式设备采集超声波。
194.具体地,每个分布式设备可以通过麦克风采集中心设备播放的超声波,并可以通过麦克风驱动322将采集的超声波转换为超声波音频数据。
195.需要说明的是,由于中心设备也可以具有麦克风,也就是说,中心设备的麦克风与中心设备的扬声器之间也会产生回声。因此,中心设备也可以采集上述超声波,由此可以对中心设备内的回声进行消除。
196.步骤405,分布式设备将超声波音频数据发送给中心设备。
197.具体地,每个分布式设备在通过扬声器接收到上述超声波后,可以通过物理层400中的无线通信接口(例如,wifi、蓝牙)将与上述超声波对应的超声波音频数据发送给中心设备。示例性的,分布式设备可以将超声波音频数据以数据包的形式发送给中心设备。可以理解的是,分布式设备也会接收中心设备播放的普通音频流,因此,分布式设备也会将普通音频流数据以数据包的形式发送给中心设备。此外,需要说明的是,分布式设备将超声波音
频数据发送给中心设备的通道与待消除回声的通道是一致的,由此可以更真实准确的进行回声时延计算,进而可以保证回声消除的准确性。其中,上述通道可以包括实际物理通道或通道类型,例如,上述通道可以是图1所示的应用场景中的wifi通道1101。
198.进一步地,由于中心设备在接收到分布式设备发送的超声波音频数据后,可以通过内部的软硬件模块(也就是发送上述超声波,以及接收超声波音频数据并基于超声波音频数据计算回声时延的传输通道)进行计算,从而可以计算出回声时延。因此,中心设备还可以将上述用于处理超声波及超声波音频数据的软件或硬件模块与待消除回声的通道保持一致或近似一致,由此可以保证回声消除的准确性。
199.其中,每个数据包可以包括音频数据(该音频数据可以是超声波音频数据或普通音频数据)中一个音频帧,每个数据包也可以包括音频数据中多个音频帧,本技术实施例对上述数据中包含音频帧的总数不作特殊限定。其中,该音频帧可以是音频流中的一帧数据,示例性的,若音频流的帧率为5ms,则音频流每5ms生成一帧音频数据,也就是5ms一个音频帧。
200.进一步地,每个分布式设备在将音频数据发送给中心设备时,还可以将分布式设备的设备号发送给中心设备。其中,上述设备号可以是分布式设备的身份识别号,该设备号可以用于区分不同的分布式设备。由此可以使得中心设备在收到上述分布式设备发送的音频数据后,可以区分该音频数据是哪个分布式设备发送的。以第二设备20为例,当第二设备20向中心设备发送第二设备20的音频数据时,可以将上述第二设备20发送的音频数据与第二设备20的设备号封装成数据包后发送。
201.步骤406,中心设备计算回声时延。
202.具体地,上述回声时延可以通过中心设备计算。当中心设备接收到每个分布式设备发送的音频数据后,可以计算每个分布式设备的回声时延。在具体实现时,中心设备可以在接收到的音频数据中识别出超声波音频数据,接着,可以根据发送超声波音频数据的时刻及接收到的超声波音频数据的时刻之间的时间差确定回声时延。
203.以上述音频数据包仅包含一个音频帧为例。当中心设备接收到任一分布式设备发送的音频数据包后,可以对上述音频数据包进行读取,获得该音频数据包中的音频帧。接着,可以将接收到的多个音频帧组成待验证超声波的波形(为说明方便,下文将“由多个音频帧组成的待验证超声波的波形”称为“待验证超声波”),并与上述步骤403中预先存储的超声波音频数据(为说明方便,下文将“步骤403中预先存储的超声波音频数据”称为“第一超声波”)进行比较。
204.可以理解的是,上述中心设备在发送超声波音频数据的时刻与接收到超声波音频数据的时刻的时间段之间,还可以接收步骤401中的普通音频流。因此,当中心设备从上述接收到的音频数据中识别出超声波音频数据后,可以计算出发送超声波音频数据的时刻与接收到超声波音频数据的时刻的时间段之间接收到的普通音频帧的总数,由此可以根据上述普通音频帧的总数计算回声时延。
205.其中,上述在接收到的音频数据中识别出超声波音频数据的方式可以是通过将待验证超声波与第一超声波进行比较的方式。在具体实现时,上述比较可以是对待验证超声波的频域数据与第一超声波的频域数据进行比较。由此可以获得待验证超声波的波形与第一超声波的波形之间的相似度。若该相似度大于预设第一阈值,则可以确定待验证超声波
的波形与第一超声波的波形相似,若该相似度小于或等于预设第一阈值,则可以确定待验证超声波的波形与第一超声波的波形不相似。
206.需要说明的是,上述待验证超声波音频数据可以包含多个待验证音频帧,其中,该待验证音频帧的总数可以由第一超声波音频数据中的音频帧的总数确定。举例来说,假设第一超声波包含5个音频帧,则中心设备在接收到一个音频帧后,可以将连续的5个音频帧组成的待验证超声波与第一超声波进行比较。当通过比较后,若中心设备确定待验证超声波的波形与上述第一超声波的波形相似,则可以计算发送超声波音频数据的时刻与接收超声波音频数据的时刻之间的普通音频帧的总数,由此可以根据上述普通音频帧的总数计算获得回声时延,例如,回声时延=普通音频帧的总数*帧率。其中,中心设备发送超声波音频数据(也就是第一超声波)的时刻可以由发送超声波音频数据后首个接收到的数据包的时刻确定。
207.现通过图6,以滑动窗方式为例对上述待验证波形与第一超声波波形的比较过程进行说明。如图6所示,波形600为第一超声波的波形,也就是预先存储的超声波参考波形。滑动窗口610包含多个音频帧,该音频帧可以由中心设备接收到的音频数据包读取后获得。其中,该滑动窗口610的大小(也就是滑动窗口610中可容纳的音频帧的总数)可以由第一超声波的波形的音频帧总数确定。可以理解的是,上述滑动窗口610可以随着每个接收到的音频帧进行滑动。示例性的,在时刻t,中心设备接收到音频帧x,而在t时刻之前的t-1时刻、t-2时刻、t-3时刻、t-4时刻分别收到音频帧x-1、音频帧x-2、音频帧x-3及音频帧x-4等4个音频帧。此时(也就是t时刻),中心设备共收到5个音频帧,分别是音频帧x、音频帧x-1、音频帧x-2、音频帧x-3及音频帧x-4。假设第一超声波包含5个音频帧,则中心设备可以将上述音频帧x、音频帧x-1、音频帧x-2、音频帧x-3及音频帧x-4等5个音频帧组成的待验证超声波与上述第一超声波进行比较。若待验证超声波与第一超声波不相似,则可以继续接收分布式设备发送的音频帧。在时刻t 1,中心设备又收到音频帧t 1。滑动窗口前移一个音频帧的位置,也就是说,此时,滑动窗口包含音频帧x 1、音频帧x、音频帧x-1、音频帧x-2、音频帧x-3等5个音频帧,并可以接着将由上述音频帧x 1、音频帧x、音频帧x-1、音频帧x-2、音频帧x-3等5个音频帧组成的待验证超声波与第一超声波进行比较。并可以不断按照上述方式向前推进滑动窗口610,直到找到与第一超声波相似的待验证超声波为止。当中心设备找到与第一超声波相似的待验证超声波后(为说明方便,下文将“与第一超声波相似的待验证超声波”称为“第二超声波”),可以计算接收到第二超声波中的首个音频帧y的时刻与中心设备发送第一超声波的时刻(也就是发送第一超声波后接收到首个音频帧z的时刻)之间的普通音频帧的总数,并根据上述音频帧的总数计算获得回声时延。
208.可以理解的是,上述图6中的滑动窗方式仅是示例性说明,并不构成对本技术实施例的限定,在一些实施例中,也可以通过其他方式进行波形的比较。
209.优选地,中心设备在接收到任一分布式设备发送的音频数据包后,还可以将上述同一分布式设备发送的音频数据包进行连续编号,其中,该音频数据包可以包括超声波音频数据包及普通音频数据包。接着,中心设备可以将同一分布式设备的连续编号的多个音频数据包进行读取,由此可以获得音频数据包中的音频帧,并获得由多个音频帧组成的待验证超声波。若中心设备将第一超声波与待验证超声波比较后,确定第一超声波与待验证超声波相似后,可以根据编号的差值确定发送第一超声波的时刻与接收超声波音频数据的
时刻之间的普通音频帧的总数。示例性的,假设中心设备在发送第一超声波后首个收到的音频数据包编号为n,第二超声波(该第二超声波与第一超声波相似)中的首个音频数据包编号为m,则普通音频帧的总数=m-n,由此可以根据上述普通音频帧的总数计算获得回声时延,例如,回声时延=普通音频帧的总数*帧率。
210.进一步地,中心设备还可以计算自身的回声时延,例如,中心设备可以将通过中心设备的麦克风采集到的超声波与第二超声波进行比较,由此可以得到中心设备自身的回声时延,具体回声时延的算法可以参数图6所示的方式,在此不再赘述。
211.步骤407,中心设备更新回声时延。
212.可选地,上述中心设备计算出上述回声时延后,还可以更新上述回声时延。上述更新回声时延的场景包括以下三种。其中,上述更新的回声时延包括中心设备与分布式设备之间的回声时延。
213.方式一:移动更新
214.当中心设备或任一分布式设备发生移动时,中心设备与分布式设备之间的距离会发生改变,因此,可以对中心设备与分布式设备之间的回声时延进行重新计算,由此可以使得中心设备可以获得更新的回声时延,进而可以使得中心设备根据更新后的回声时延消除回声。其中,上述检测设备发生移动的方式可以是通过震动传感器、位移传感器及无线定位技术(例如,uwb、蓝牙或rssi)。通过上述方式可以确定中心设备与分布式设备之间的距离发生了变化。可以理解的是,上述示例仅示例性的示出了检测设备进行移动的方式,并不构成对本技术实施例的限定,在一些实施例中,还可以通过其他方式确定设备发生了移动。
215.接着,中心设备可以重新通过扬声器向分布式设备发送超声波。其中,上述超声波可以是与步骤402相同的数据,也可以是与步骤402不相同的数据,本技术实施例对重新发送的超声波的音频数据不做特殊限定。
216.每个分布式设备通过麦克风采集到中心设备再次发送的超声波后,通过物理层400的无线通信接口将与上述超声波对应的音频数据发送给中心设备,由此可以使得中心设备重新计算中心设备与分布式设备之间的回声时延,具体的计算回声时延的过程可以参考上述步骤402-406,在此不再赘述。其中,上述超声波的发送可以是单独发送,也可以将超声波与中心设备的麦克风采集到的用户的正常语音混合后发送,其中,混合发送可以是将超声波与用户正常语音进行叠加。若超声波与中心设备的麦克风采集到的用户的正常语音混合发送,可以提高数据的发送效率。由于超声波是高频数据,因此,当分布式设备接收到上述混合数据后,可以通过滤波器过滤出上述超声波,示例性的,可以通过低通滤波器将低频信号数据进行滤除,由此可以获得上述高频超声波音频数据。
217.可选地,由于在中心设备与分布式设备中不一定是所有的设备都发生了移动,因此,本实施例中,若仅部分分布式设备与中心设备的距离发生了变化,可以仅更新中心设备与部分分布式设备之间的回声时延。示例性的,若中心设备与第二设备20之间的距离发生了变化,中心设备与第二设备21之间的距离未发生变化,则只需更新中心设备与第二设备20之间的回声时延。以中心设备与第二设备20之间的距离发生了变化的场景为例。中心设备可以获取预设第二频率的超声波,并向所有分布式设备发送预设第二频率的超声波。可以理解的是,该预设第二频率可以是和预设第一频率不同的频率。其中,预设第一频率可以用于指示每个分布式设备发送超声波音频数据,预设第二频率可以用于指示仅发生了移动
的分布式设备发送超声波音频数据。此时,当第二设备20接收到预设第二频率的超声波后,通过快速傅里叶变换(fast fourier transform,fft)对超声波进行识别,由此可以识别出超声波的频率。当第二设备20确定该超声波的频率为预设第二频率后,该第二设备20进一步判断与中心设备之间的距离是否发生了变化。当第二设备20确定与中心设备之间的距离发生了变化后,该第二设备20可以向中心设备发送与上述超声波对应的超声波音频数据。当第二设备21接收到预设第二频率的超声波后,同样通过快速傅里叶变换(fast fourier transform,fft)对超声波进行识别,由此可以识别出超声波的频率。当第二设备21确定该超声波的频率为预设第二频率后,该第二设备21进一步判断与中心设备之间的距离是否发生了变化。当第二设备21确定与中心设备之间的距离未发生变化后,该第二设备21无需向中心设备发送超声波音频数据。其中,分布式设备确定与中心设备之间的距离发生变化的方式可以参考上述中心设备的判断方式,在此不再赘述。
218.需要说明的,上述示例仅示例性的示出了通过频率用于指示部分分布式设备发送超声波音频数据的方式,并不构成对本技术实施例的限定,在一些实施例中,还可以通过其他方式,例如,不同的调制编码。
219.方式二:定时更新
220.中心设备可以预设时长,在中心设备发送首次超声波后可以启动计时,每隔预设时长后,中心设备可以重新获取超声波音频文件,并通过扬声器将超声波发送给分布式设备。当分布式设备通过扬声器采集到上述中心设备发送的超声波后,可以向中心设备发送与上述超声波对应的超声波音频数据,由此可以使得中心设备可以定时更新与每个分布式设备之间的回声时延,进而可以根据更新后的回声时延消除回声。
221.方式三:静默更新
222.当中心设备处于静默态(例如,没有采集到用户的语音)时,中心设备可以主动获取超声波音频文件,并通过扬声器将超声波发送给分布式设备。其中,上述静默态可以用于表征中心设备的麦克风未采集到任何语音数据,中心设备的扬声器也未播放任何语音数据。此时,中心设备可以将获取到的超声波通过扬声器发送给分布式设备。分布式设备通过扬声器采集到上述中心设备发送的超声波后,可以向中心设备发送与上述超声波对应的超声波音频数据,由此可以使得中心设备可以在静默态时更新与每个分布式设备之间的回声时延,进而可以根据更新后的回声时延消除回声。
223.方式四:事件触发更新
224.上述事件可以包括上线新分布式设备、会议重新开始及会议中断等事件。其中,上述上线新分布式设备可以是在上述分布式组合麦克风网络中新加入一个分布式设备。
225.中心设备可以实时检测上述事件,当中心设备监测到上述事件时,可以主动获取超声波音频文件,并通过扬声器将超声波发送给分布式设备。接着,分布式设备通过扬声器采集到上述中心设备发送的超声波后,可以向中心设备发送与上述超声波对应的超声波音频数据,由此可以使得中心设备可以在监测到上述事件时更新与每个分布式设备之间的回声时延,进而可以根据更新后的回声时延消除回声。
226.可选地,中心设备监测到上述事件时,也可以更新中心设备与部分分布式设备的回声时延。以上线新分布式设备为例,由于其他分布式设备与中心设备的距离未发生改变,因此,无需更新其他分布式设备与中心设备之间的回声时延,仅需更新中心设备与新加入
的分布式设备之间的回声时延。
227.步骤408,中心设备根据回声时延进行回声消除。
228.具体地,当中心设备计算出自身的回声时延及与每个分布式设备之间的回声时延后,可以对中心设备自身的回声时延及每个分布式设备之间的回声时延进行消除。
229.在具体实现时,中心设备可以使用aec算法对自身的回声时延进行消除。此外,中心设备还可以基于与分布式设备之间的回声时延将麦克风采集的数据与扬声器播放的数据对齐,由此可以使得每个分布式设备根据与中心设备之间的不同距离进行回声消除,进而可以提高设备之间的适配性。
230.以上述中心设备及分布式设备进行举例说明,由于分布式设备通过麦克风在采集到用户的语音后,发送给中心设备。中心设备通过扬声器将分布式设备发送的用户语音进行播放,此时,分布式设备的麦克风会采集到上述中心设备播放的用户语音,如果不对上述用户语音进行滤除,则分布式设备的麦克风采集到的中心设备播放的用户语音会再次发送给中心设备,从而会造成回声。因此,分布式设备需要对上述回声进行滤除。而中心设备通过计算与分布式设备之间的回声时延,可以根据该回声时延将中心设备中扬声器播放的数据与麦克风采集的数据进行对齐,从而可以使得分布式设备将麦克风采集到的中心设备播放的数据进行滤除,从而达到消除回声的目的。
231.图7为本技术回声消除装置一个实施例的结构示意图,如图7所示,上述回声消除装置70可以应用于第一设备,第一设备包括扬声器,包括:发送模块71、接收模块72、计算模块73及第一消除模块74;其中,
232.发送模块71,用于使用扬声器向第二设备发送第一超声波;
233.接收模块72,用于接收第二设备通过第一传输方式发送的第一数据,其中,第一数据包括第二设备采集到的第一超声波;
234.计算模块73,用于根据第一超声波和第一数据,计算第一设备与第二设备对应的音频环路的第一回声时延,其中,音频环路包括第一传输方式;
235.第一消除模块74,用于根据第一回声时延,对第一设备与第二设备所处的音频环路进行回声消除。
236.其中一种可能的实现方式中,第一设备还包括麦克风,上述装置70还包括:第二消除模块75;其中,
237.第二消除模块75,用于使用麦克风采集第一超声波;基于采集的第一超声波,计算获得与第一设备对应的第二回声时延;基于第二回声时延,对第一设备进行回声消除。
238.其中一种可能的实现方式中,上述装置70还包括:更新模块76;其中,
239.更新模块76,用于对第一设备与第二设备对应的音频环路的第一回声时延进行更新。
240.其中一种可能的实现方式中,上述更新模块76还用于
241.当检测到第一设备及第二设备中的至少一个设备发生移动后,向第二设备发送第二超声波;
242.基于接收到的第二设备发送的第二数据,更新第一设备与第二设备对应的音频环路的第一回声时延,其中,第二数据包括第二设备采集到的第二超声波。
243.其中一种可能的实现方式中,第一超声波具有预设第一频率,第二超声波具有预
设第二频率,预设第二频率与预设第一频率为不同频率。
244.其中一种可能的实现方式中,第二超声波与第一设备采集到的用户语音叠加后发送给第二设备。
245.其中一种可能的实现方式中,上述更新模块76还用于
246.基于预设周期,向第二设备发送第一超声波;
247.基于接收到的第二设备发送的第一数据,更新第一设备与第二设备对应的音频环路的第一回声时延。
248.其中一种可能的实现方式中,上述更新模块76还用于
249.当检测到第一设备处于静默态后,向第二设备发送第一超声波;
250.基于接收到的第二设备发送的第一数据,更新第一设备与第二设备对应的音频环路的第一回声时延。
251.其中一种可能的实现方式中,上述更新模块76还用于
252.基于检测到的预设事件,向第二设备发送第一超声波;
253.基于接收到的第二设备发送的第一数据,更新第一设备与第二设备对应的音频环路的第一回声时延。
254.其中一种可能的实现方式中,第一数据还包括与第二设备对应的设备号,设备号用于识别第二设备。
255.其中一种可能的实现方式中,第一传输方式包括wifi、移动网络及蓝牙中的一种无线网络传输方式。
256.其中一种可能的实现方式中,第一设备与第二设备之间的音频环路包括待消除回声的第一通道,第一传输方式包括第二通道,第一通道与第二通道保持一致。
257.其中一种可能的实现方式中,第一设备与第二设备之间的音频环路包括待消除回声的第一通道,第一设备具有处理第一超声波及第一数据的第三通道,第一通道与第三通道保持一致。
258.图7所示实施例提供的回声消除装置可用于执行本技术图1-图6所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
259.应理解以上图7所示的回声消除装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块以软件通过处理元件调用的形式实现,部分模块通过硬件的形式实现。例如,检测模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
260.例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit;以下简称:asic),或,一个或多个微处理器(digital signal processor;以下简称:dsp),或,一个或者多个现场可编程门阵列(field programmable gate array;以下简称:fpga)等。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip;以下简称:soc)的形式实现。
261.可以理解的是,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本技术另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
262.可以理解的是,上述电子设备等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术实施例的范围。
263.本技术实施例可以根据上述方法示例对上述电子设备等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
264.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
265.在本技术实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
266.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
267.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献