一种音频双向延时估计方法、装置、会议终端及存储介质与流程

文档序号:29822184发布日期:2022-04-27 11:10阅读:172来源:国知局
一种音频双向延时估计方法、装置、会议终端及存储介质与流程

1.本发明实施例涉及音频处理技术领域,尤其涉及一种音频双向延时估计方法、装置、会议终端及存储介质。


背景技术:

2.在音视频远程会议软件系统中,往往存在远端参考信号(扬声器播放的音频信号)与近端音频信号(麦克风采集的音频信号)两种音频信号流,为了实现音视频远程会议软件系统中的回声消除,需要将上述两种音频数据流进行音频信号对齐操作,而音频信号对齐的前提是会议软件系统先能准确估计出远端参考信号与近端音频信号之间存在的延时差。
3.目前现有技术进行延时差估计时,采用的是正向延时估计方法,然而,在远端参考信号和近端音频信号不满足因果现象时,该正向延时估计方法将出现估计错误的现象出现,从而导致回声消除不能有效工作。


技术实现要素:

4.本发明实施例提供了一种音频双向延时估计方法、装置、会议终端及存储介质,通过确定出的正向相干函数和负向相干函数,进行音频信号的双向延时估计。
5.第一方面,本发明实施例提供了一种音频双向延时估计方法,包括:确定频域上正向相干函数和负向相干函数,所述正向相干函数为当前帧近端音频信号与所缓存远端参考信号的相干函数,所述负向相干函数为当前帧远端参考信号与所缓存近端音频信号的相干函数;根据所述正向相干函数和所述负向相干函数,确定所缓存近端音频信号和所缓存远端参考信号中每帧信号的平均相干值,所述所缓存近端音频信号中每帧信号的平均相干值为所缓存近端音频信号中每帧信号所对应频带与所述当前帧远端参考信号所对应频带间相干函数的均值,所述所缓存远端参考信号中每帧信号的平均相干值为所缓存远端音频信号中每帧信号所对应频带与所述当前帧近端音频信号所对应频带间相干函数的均值;根据最大平均相干值所对应信号帧的帧数与偏移帧数的差值,确定所缓存远端参考信号和所缓存近端音频信号的延时值,以基于所述延时值进行音频对齐处理,所述最大平均相干值为各所述平均相干值中数值最大的平均相干值,所述偏移帧数基于所允许估计出的最大的负向延时值确定。
6.第二方面,本发明实施例还提供了一种音频双向延时估计装置,包括:第一确定模块,用于确定频域上正向相干函数和负向相干函数,所述正向相干函数为当前帧近端音频信号与所缓存远端参考信号的相干函数,所述负向相干函数为当前帧远端参考信号与所缓存近端音频信号的相干函数;第二确定模块,用于根据所述正向相干函数和所述负向相干函数,确定所缓存近端音频信号和所缓存远端参考信号中每帧信号的平均相干值,所述所缓存近端音频信号中每帧信号的平均相干值为所缓存近端音频信号中每帧信号所对应频带与所述当前帧远端
参考信号所对应频带间相干函数的均值,所述所缓存远端参考信号中每帧信号的平均相干值为所缓存远端音频信号中每帧信号所对应频带与所述当前帧近端音频信号所对应频带间相干函数的均值;第三确定模块,用于根据最大平均相干值所对应信号帧的帧数与偏移帧数的差值,确定所缓存远端参考信号和所缓存近端音频信号的延时值,以基于所述延时值进行音频对齐处理,所述最大平均相干值为各所述平均相干值中数值最大的平均相干值,所述偏移帧数基于所允许估计出的最大的负向延时值确定。
7.第三方面,本发明实施例还提供了一种会议终端,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例提供的音频双向延时估计方法。
8.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例提供的音频双向延时估计方法。
9.本发明实施例提供了一种音频双向延时估计方法、装置、会议终端及存储介质,首先确定频域上正向相干函数和负向相干函数,所述正向相干函数为当前帧近端音频信号与所缓存远端参考信号的相干函数,所述负向相干函数为当前帧远端参考信号与所缓存近端音频信号的相干函数;然后根据所述正向相干函数和所述负向相干函数,确定所缓存近端音频信号和所缓存远端参考信号中每帧信号的平均相干值;最后根据最大平均相干值所对应信号帧的帧数与偏移帧数的差值,确定所缓存远端参考信号和所缓存近端音频信号的延时值,以基于所述延时值进行音频对齐处理,所述最大平均相干值为各所述平均相干值中数值最大的平均相干值。利用上述技术方案,能够基于当前帧近端音频信号和所缓存远端参考信号确定出正向相干函数,基于当前帧远端音频信号和所缓存近端音频信号确定出负向相干函数,基于负向相干函数能够实现负向延时估计,基于正向相干函数能够实现正向延时估计,在确定正向相干函数和负向相干函数后,通过确定出的最大平均相干值和预先设定的偏移帧数确定出延时值,以实现音频信号的双向延时估计。
附图说明
10.图1a为本发明实施例一提供的一种音频双向延时估计方法的流程示意图;图1b为本发明实施例一提供的一种音视频会议软件系统的结构示意图;图1c为本发明实施例一提供的一种正向延时示意图;图1d为本发明实施例提供的一种负向延时示意图;图2为本发明实施例二提供的一种音频双向延时估计方法的流程示意图;图3为本发明实施例三提供的一种音频双向延时估计装置的结构示意图;图4为本发明实施例四提供的一种会议终端的结构示意图。
具体实施方式
11.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便
于描述,附图中仅示出了与本发明相关的部分而非全部结构。
12.在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
13.本发明使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”。
14.需要注意,本发明中提及的“第一”、“第二”等概念仅用于对相应内容进行区分,并非用于限定顺序或者相互依存关系。
15.需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
16.实施例一图1a为本发明实施例一提供的一种音频双向延时估计方法的流程示意图,该方法可适用于在音视频远程会议软件系统中存在远端参考信号(扬声器播放的音频信号)与近端音频信号(麦克风采集的音频信号)两种音频信号流,并存在回声消除的会议软件系统进行音频信号双向延时估计的情况,该方法可以由音频双向延时估计装置来执行,其中该装置可由软件和/或硬件实现,并一般集成在会议终端上,在本实施例中会议终端可以认为是安装有音视频会议软件系统的终端设备。
17.音频会议软件系统,包括音视频会议软件系统。音频会议系统包括音频会议软件系统和音频会议硬件系统,音频会议软件系统可以为会议终端上集成的软件系统。音频会议硬件系统可以包括麦克风、扬声器和会议终端,麦克风和扬声器也可以外置于会议终端。音频会议硬件系统也可以包括会议终端,会议终端可以集成有麦克风和扬声器。
18.需要说明的是,在音频会议硬件系统中近端存在多个单麦克风节点和扬声器,各麦克风节点处于会议室中不同位置(任意间距),当近端会议室中不同位置的讲话人讲话时,此时各麦克风节点采集当前讲话人及周边说话人的音频信号,音频会议软件系统会选择其中一个讲话人作为主讲人,并将主讲人的音频信号输出至远端。
19.为了实现音视频远程会议软件系统中的回声消除,需要将上述两种音频数据流进行音频信号对齐操作。而音频信号对齐的前提是会议软件系统先能准确估计出远端参考信号与近端音频信号之间存在的延时差。比如,扬声器播放一个“测试”两个字的音频时刻为t0,麦克风采集到“测试”两个字的音频并输入到会议软件系统的时刻为t1,那么此时的延时差即为|t1-t0|。
20.从自然现象出发,一般远端参考信号早于近端音频信号(称为满足因果条件),所以现有的大部分技术都是正向估计出远端参考信号早于近端音频信号多少延时。
21.但是音视频远程会议软件系统中往往存在一些音频缓存及移位等处理模块,再加上系统多线程进行不同音频流采集及传输,因此,在进行回声消除前,信号对齐处理时,有可能存在非因果现象(远端音频信号迟于近端音频信号),从而正向延时算法出现估计错误,导致回声消除不能有效工作,进而出现回声泄漏现象。
22.相关技术主要基于时域语音信号互相关程度进行估计,但一般只考虑正向估计出远端参考信号早于近端音频信号,即基于时域语音信号互相关性进行延时估计检测,相关性强时对应的近、远端两者之间的延时差值。但是,音视频远程会议软件系统中,因系统缓存区缓存、移位等操作,或者系统多线程进行不同音频流采集及传输,导致远端近端两者数据可能存在非因果现象,正向延时失效。
23.本实施例检测频域近端音频信号和远端参考信号之间的信号互相关性,以快速准确确定出延时值。
24.图1b为本发明实施例一提供的一种音视频会议软件系统的结构示意图,参见图1b,音视频会议软件系统,又称音视频远程会议软件系统,该系统能够实现正向延时估计和负向延时估计,即双向延时估计。
25.系统软件中回采的扬声器播放的远端音频信号为参考信号ref,又称远端参考信号。麦克采集到的近端音频信号称为mic,mic包含近端人说话的语音信号、近端房间的环境噪声以及扬声器播放的回声信号echo。ref与mic自然存在一种时间先后关系,扬声器先播放,麦克风才采集到扬声器播放的回声信号。那么,称在时间上先后发生的信号排序为因果关系(即远端参考信号早于近端音频信号)。图1c为本发明实施例一提供的一种正向延时示意图,图1d为本发明实施例提供的一种负向延时示意图;图1c示出的为满足因果现象,又称因果关系音频信号。图1d示出的为不满足因果现象的音频信号。
26.参见图1b,音视频远程会议软件系统的外界设备硬件存在多路单节点麦克风和扬声器,不同路麦克风可以设置在会议室不同位置处,如不同参会人员所在位置处。多通道麦克风音频与系统回采扬声器播放的一路参考信号分别都以帧(固定时长)为单位进行处理。即近端音频信号和远端参考信号以帧为单位进行处理。
27.为了进行双向延时估计,如图1a所示,本发明实施例一提供的一种音频双向延时估计方法,包括如下步骤:s110、确定频域上正向相干函数和负向相干函数。
28.本发明在进行双向延时估计时是在频域上进行的。本步骤首先确定频域上正向相干函数和负向相干函数。在本实施例中,正向相干函数为当前帧近端音频信号与所缓存远端参考信号的相干函数,负向相干函数为当前帧远端参考信号与所缓存近端音频信号的相干函数。
29.其中,当前帧近端音频信号可以认为是所缓存近端音频信号中最新的音频信号,即最后缓存的音频信号。当前帧远端参考信号可以认为是所缓存远端参考信号中最新的音频信号,即最后缓存的音频信号。所缓存远端参考信号可以为多帧远端参考信号。所缓存近端音频信号可以为多帧近端音频信号。需要注意的是,当前帧可以认为当前进入音视频会议软件系统的帧。
30.所缓存远端参考信号的帧数和所缓存近端音频信号的帧数基于实际物理场景确定,不同场景下,所缓存远端参考信号的帧数不同,不同场景下所缓存近端音频信号的帧数不同。如不同操作系统下所能估计出的延时值不同,对应的音视频远程会议软件系统所缓存的远端参考信号的帧数不同。不同操作系统下所能估计出的延时值不同,对应的音视频远程会议软件系统所缓存的近端音频信号的帧数不同。
31.正向相干函数可以认为是表征远端参考信号和近端音频信号正向相干性的函数。
负向相干函数可以认为是表征远端参考信号和近端音频信号负向相干性的函数。相干函数所对应的数值越大,则对应的两个音频信号越相似。
32.本步骤可以基于所缓存远端参考信号、所缓存近端音频信号、当前帧远端参考信号和当前帧近端音频信号中的多个确定正向相干函数和负向相干函数。正向相干函数和负向相干函数的确定时机和确定方式相互独立。
33.在一个实施例中,本实施例可以根据所缓存远端参考信号、所缓存近端音频信号、当前帧近端音频信号,确定正向相干函数。如根据所缓存远端参考信号、所缓存近端音频信号分别确定对应的远端自功率谱和近端自功率谱;然后根据所述近端自功率谱、所述远端自功率谱、所缓存远端参考信号和当前帧近端音频信号,确定正向相干函数。
34.在结合当前帧近端音频信号和所缓存远端参考信号确定正向相干函数时,可以基于当前帧近端音频信号和所缓存远端参考信号确定正向互功率谱,以结合远端自功率谱和近端自功率谱,确定正向相干函数。
35.在一个实施例中,本实施例可以根据所缓存远端参考信号、所缓存近端音频信号、当前帧远端参考信号,确定负向相干函数。如根据所缓存远端参考信号、所缓存近端音频信号分别确定对应的远端自功率谱和近端自功率谱;然后根据所述近端自功率谱、所述远端自功率谱、所缓存近端音频信号和当前帧远端参考信号,确定负向相干函数。
36.在结合当前帧远端参考信号和所缓存近端音频信号确定负向相干函数时,可以基于当前帧远端参考信号和所缓存近端音频信号确定负向互功率谱,以结合远端自功率谱和近端互功率谱,确定负向相干函数。
37.s120、根据所述正向相干函数和所述负向相干函数,确定所缓存近端音频信号和所缓存远端参考信号中每帧信号的平均相干值。
38.在本实施例中,正向相干函数可以为当前帧近端音频信号中部分或全部频带与所缓存远端参考信号各帧对应频带的相干函数。负向相干函数可以为当前帧远端参考信号中部分或全部频带与所缓存近端音频信号各帧对应频带的相干函数。正向相干函数和负向相干函数可以是以频带为单位。本步骤在确定平均相干值时,可以是以帧为单位。即确定每帧信号各频带所对应相干函数的平均值。相干函数包括负向相干函数和正向相干函数。
39.所述所缓存近端音频信号中每帧信号的平均相干值为所缓存近端音频信号中每帧信号所对应频带与所述当前帧远端参考信号所对应频带间相干函数的均值,所述所缓存远端参考信号中每帧信号的平均相干值为所缓存远端音频信号中每帧信号所对应频带与所述当前帧近端音频信号所对应频带间相干函数的均值。
40.在一个实施例中,正向相干函数为当前帧近端音频信号第j个频带与所缓存远端参考信号第i帧第j个频带的相干函数,负向相干函数为当前帧远端信号第j个频带与所缓存近端音频信号第k帧第j个频带的相干函数,每帧信号的平均相干值为基于所对应频带的相干函数所确定的均值,如,所缓存近端音频信号中k帧近端音频信号第j个频带的相干函数与当前帧远端参考信号第j个频带的相干函数的均值为所缓存近端音频信号中k帧近端音频信号的平均相干值;又如,所缓存远端参考信号中i帧远端参考信号第j个频带的相干函数与当前帧近端音频信号第j个频带的相干函数的均值为所缓存远端参考信号中第i帧远端参考信号的平均相干值。
41.示例性的,本步骤可以通过如下公式确定平均相干值,即确定相干函数cxd的平均
值:cxd
t
(n)avg = σcxd
t
(n,j)/总频带数,n∈[0,n];(公式1)其中,cxd
t
(n,j)为第n帧第j个频带的相干函数。所缓存近端音频信号和所缓存远端参考信号的总帧数可以为n帧。0到n帧中前第一数量negativetaps帧可以为所缓存近端音频信号,后第二数量positivetaps帧可以为所缓存远端参考信号。cxd
t
(n)avg为n+1帧的相干系数,即每帧信号的平均相干值。
[0042] s130、根据最大平均相干值所对应信号帧的帧数与偏移帧数的差值,确定所缓存远端参考信号和所缓存近端音频信号的延时值,以基于所述延时值进行音频对齐处理。
[0043]
如将ref和mic中两路音频信号进行移位操作,对齐后读取,以进行回声消除。
[0044]
之所以需要在麦克风多通道切换之前需要进行回声消除(aec)的操作,是因为在多通道切换前需要判断输入的音频信号是去除扬声器播放的声音部分,保证只有会议中近端主讲人及周边人的音频信号。
[0045]
最大平均相干值为各所述平均相干值中数值最大的平均相干值,偏移帧数基于所允许估计出的最大的负向延时值确定。偏移帧数可以基于最大的允许估计出的负向延时值确定。如,基于操作系统所能检测的负向延时中最大的延时值确定。如,检测的范围为-100至500ms。最大平均相干值确定后,可以将最大平均相干值减去100作为最终确定的延时值。其中,所缓存的近端音频信号为-100到0ms的近端音频信号缓存。所缓存的远端参考信号为0到500ms的远端参考信号缓存。
[0046]
偏移帧数数值的设定要能够覆盖所有操作系统延时变动的区间。如安卓系统所能检测的最大延时是300ms,则偏移帧数基于300ms确定。
[0047]
每帧信号,即每帧音频信号,如每帧所缓存远端参考信号、每帧所缓存近端音频信号的平均相干值确定后,即确定n+1帧的相干系数cxd
t (n)avg后,从所确定的平均相干值中选取数值最大的平均相干值作为最大平均相干值,即找出其中最大的cxd值(即最大平均相干值)及其所在的位置index,即所对应信号帧的帧数。该最大平均相干值所对应的信号帧的帧数减去偏移帧数后,可以确定远端参考信号和近端音频信号所延时的帧数。然后基于帧数相差的差值确定延时差,延时差不同的表示形式对应有不同的确定手段。如延时差以时间标识时,可以将相差帧数转换为延时时间,此处不对转换手段进行限定。
[0048]
示例性的,最大平均相干值对应信号帧的帧数为第20帧,本实施例共缓存30帧,其中,所缓存近端音频信号为10帧,所缓存远端参考信号为20帧,则将最大平均相干值对应信号帧的帧数20减去10,得到延时的帧数,以进一步确定延时值,即实现当知道当前的cxd最大值所在的位置index后,将其映射到正、负向的具体索引位置。
[0049]
在确定延时值后,本实施例可以跟踪cxd的平均值中最大的位置确定稳定的延时值。如,在一定时间窗长内跟踪,保证延时值稳定可靠。
[0050]
具体的,图1b示出的音视频会议软件系统架构中,通过音频数据管理(aduio buffer manager)获取从会议近端涉及到的两种音频流:麦克风采集的音频信号mic及系统回采扬声器播放的参考原始信号ref。处理后进行mic和ref缓存,然后进行延时值估计,确定延时值后,进行远端参考信号和近端音频信号的对齐处理,最后进行回声消除aec。
[0051]
在进行延时估计时,本实施例在频域上基于音频信号的互相干性进行延时估计。
[0052]
本发明实施例一提供的一种音频双向延时估计方法,首先确定频域上正向相干函
数和负向相干函数,所述正向相干函数为当前帧近端音频信号与所缓存远端参考信号的相干函数,所述负向相干函数为当前帧远端参考信号与所缓存近端音频信号的相干函数;然后根据所述正向相干函数和所述负向相干函数,确定所缓存近端音频信号和所缓存远端参考信号中每帧信号的平均相干值;最后根据最大平均相干值所对应信号帧的帧数与偏移帧数的差值,确定所缓存远端参考信号和所缓存近端音频信号的延时值,以基于所述延时值进行音频对齐处理,所述最大平均相干值为各所述平均相干值中数值最大的平均相干值。利用上述方法,能够基于当前帧近端音频信号和所缓存远端参考信号确定出正向相干函数,基于当前帧远端音频信号和所缓存近端音频信号确定出负向相干函数,基于负向相干函数能够实现负向延时估计,基于正向相干函数能够实现正向延时估计,在确定正向相干函数和负向相干函数后,通过确定出的最大平均相干值和预先设定的偏移帧数确定出延时值,以实现音频信号的双向延时估计。
[0053]
在上述实施例的基础上,提出了上述实施例的变型实施例,在此需要说明的是,为了使描述简要,在变型实施例中仅描述与上述实施例的不同之处。
[0054]
在一个实施例中,在根据所述正向相干函数和所述负向相干函数,确定所缓存近端音频信号和所缓存远端参考信号中每帧信号的平均相干值之前,还包括:对所述正向相干函数和所述负向相干函数进行特征增强处理,得到更新后的正向相干函数和更新后的负向相干函数。
[0055]
一般地,会议房间中声学环境存在混响很强时,对延时估计效果影响很大,甚至导致估计不出来或者不准确。另外,客观存在系统对数据会进行缓存、移位等操作,导致延时差,即延时值可能存在有时是负方向(t1-t0《0)。本实施例对正向相干函数和负向相干函数进行特征增强处理以抵抗高混响的影响。本实施例不对特征增强处理的手段进行限定。示例性的,特征增强处理的手段可以是将正向相干函数和负向相干函数乘以时间差分系数和频带差分系数。
[0056]
其中,时间差分系数可以基于相干函数和确定上一延时值时的相干函数确定。频带差分系数可以基于相干函数确定。
[0057]
相干系数经过时间差分系数和频带差分系数处理后,可以认为是进过时域一阶差分和频域一阶差分。
[0058]
在一个实施例中,对所述正向相干函数和所述负向相干函数进行特征增强处理,得到更新后的正向相干函数和更新后的负向相干函数,包括:将所述正向相干函数和所述负向相干函数乘以时间差分系数和频带差分系数,得到更新后的正向相干函数和更新后的负向相干函数;所述时间差分系数基于当前相干函数和上一相干函数确定;所述频带差分系数基于当前帧的当前相干函数和上一帧的当前相干函数确定;其中,当前相干函数为本次进行延时估计所确定的相干函数,上一相干函数为上一次进行延时估计所确定的相干函数。
[0059]
所述时间差分系数通过如下公式确定:timediff(n,j) = |cxd
t
(n,j)-lastcxd
t (n,j)|/cxd
t
(n,j),n∈[1,n];所述频带差分系数通过如下公式确定:spacediff(n,j) = |cxd
t (n+1,j)-cxd
t
(n,j)|/cxd
t (n+1,j),n∈[0,n-1]
其中,cxd
t
(n,j)为第n帧第j个频带的相干函数,所述相干函数包括所述正向相干函数和所述负向相干函数,timediff(n,j)为cxd
t
第n帧第j个频带的相干函数的时间差分系数,即当前相干函数,spacediff(n,j)为cxd
t
第n帧第j个频带的相干函数的频带差分系数,即当前帧的当前相干函数,cxd
t (n+1,j)为第n+1帧的第j个频带的相干函数的频带差分系数,即上一帧的当前相干函数。lastcxd
t
(n,j)为确定上一延时值时第n帧第j个频带的相干函数,即上一相干函数。其中,确定上一延时值可以为上一次确定延时值,即音视频远程会议软件系统上一次执行本实施例所述方法确定延时值。
[0060]
其中,当前帧和上一帧是从处理角度描述,序号n和n+1是从存储角度考虑。
[0061]
当已知mic和ref正负两方向的相干函数cxd,即正向相干函数和负向相干函数,再对相干函数cxd进行特征增强处理,以抵抗在高混响的影响。具体的,遍历n帧(totaltaps-1,其中totaltaps = negativetaps + positivetaps)cxd,分别计算出相干系数的时间差分系数timediff和频带差分系数spacediff。
[0062]
当已知mic和ref正负两方向的相干函数cxd和时间差分系数timediff和频带差分系数spacediff后,可以将cxd乘系数因子以抵抗强混响,即:cxd
t
(0,j) = cxd
t
(0,j)* timediff(0,j) * spacediff(0,j); cxd
t
(n+1,j) = cxd
t
(n,j)* timediff(n,j) * spacediff(n,j),n∈[0,n-1];将相干函数乘以时间差分系数和频带差分系数等效于去混响的影响,以增强mic与ref的相干函数特征,有利于找到稳定的延时估计值,即延时值。
[0063]
实施例二图2为本发明实施例二提供的一种音频双向延时估计方法的流程示意图,本实施例二在上述各实施例的基础上进行具体化。在本实施例中,将确定频域上正向相干函数和负向相干函数,进一步具体化为:根据所缓存远端参考信号确定远端自功率谱;根据所缓存近端音频信号确定近端自功率谱;根据所述近端自功率谱、所述远端自功率谱、所缓存远端参考信号和当前帧近端音频信号,确定正向相干函数;根据所述近端自功率谱、所述远端自功率谱、所缓存近端音频信号和当前帧远端参考信号,确定负向相干函数。
[0064]
本实施例尚未详尽的内容请参考上述实施例。
[0065]
如图2所示,本发明实施例二提供的一种音频双向延时估计方法,包括如下步骤:s210、根据所缓存远端参考信号确定远端自功率谱。
[0066]
为了解决图1c所示的正向延时情况,需要缓存ref频谱信号,将t0至t1前之间的ref的每个频带谱以及每个频带能量谱进行一定时间positivetaps(帧数)长度的缓存;同时将positivetaps长度的每个频带能量谱进行平滑处理,得到远端自功率谱sx,即缓存一定时长的ref频域频谱信号及远端自功率谱sx,用于计算正向延时(如图1c)估计:sx(i,j) = α* sx(i,j) + (1
ꢀ‑ꢀ
α)* engref(i,j);其中,sx(i,j)为ref第i帧第j个频带的远端自功率谱,其中i∈[0,positivetaps],α为平滑因子。
[0067]
s220、根据所缓存近端音频信号确定近端自功率谱。
[0068]
为了解决图1d所示的负向延时情况,需要缓存mic频谱信号,将t0至t1前之间的
mic,即所缓存近端音频信号的每个频谱子带以及每个频带能量谱进行一定时间negativetaps(帧数)长度的缓存;同时将negativetaps长度的每个频带能量谱进行平滑处理,得到近端自功率谱sd,即缓存一定时长的mic频域频谱信号即近端自功率谱sd,用于计算负向延时估计(如图1d):sd(k,j) = α* sd(k,j) + (1
ꢀ‑ꢀ
α)* engmic(k,j);其中,sd(k,j)为mic第k帧第j个频带的近端自功率谱,其中k∈[0,negativetaps],α为平滑因子。engmic(k,j)为mic第k帧第j个频带的频带能量谱。
[0069]
因为延时估计必须是在远端存在有效音频信号时,才进行相干性检测。因此,需要计算远端参考信号的平均信号水平,当该信号水平大于设定的阈值(称其为简式的vad检测)时,延时最大位置的跟踪、更新才能正常进行。
[0070]
如在进行一定时间窗长跟踪时,判断vad检测结果是否是远端参考信号的能量值大于设定的阈值,若是,进行跟踪,以得到稳定的延时值。
[0071]
当已知mic的近端自功率谱sd和ref的远端自功率谱sx后,可以计算正向和负向的互功率谱sxd及两者之间的相干函数cxd。
[0072]
需要注意的是,s210和s220的执行先后不作限定。
[0073]
s230、根据所述近端自功率谱、所述远端自功率谱、所缓存远端参考信号和当前帧近端音频信号,确定正向相干函数。
[0074]
本步骤可以基于所缓存远端参考信号和当前帧近端音频信号确定正向互功率谱,然后结合近端自功率谱和远端自功率谱确定正向相干函数。
[0075]
其中,正向互功率谱是基于所缓存远端参考信号、当前帧近端音频信号和平滑因子确定的。正向相干函数是基于正向互功率谱、近端自功率谱和远端自功率谱确定的。
[0076]
在一个实施例中,根据所述近端自功率谱、所述远端自功率谱、所缓存远端参考信号和当前帧近端音频信号,确定正向相干函数,包括:根据所述当前帧近端音频信号的频谱、所缓存远端参考信号的频谱和平滑因子,确定正向互功率谱;根据所述正向互功率谱、当前帧近端音频信号的自功率谱和所述远端自功率谱,确定正向相干函数;其中,所述当前帧近端音频信号为所缓存近端音频信号中最晚缓存的近端音频信号,所述当前帧近端音频信号的自功率谱为所述最晚缓存的近端音频信号对应的近端自功率谱。
[0077]
本步骤可以通过如下公式确定正向相干函数:sxd
p0
(i,j) = x(i,j) * d(0,j);sxd
p
(i,j) = α* sxd
p
(i,j) + (1
ꢀ‑ꢀ
α)* sxd
p0
(i,j);cxd
p
(i,j) = sxd
p
(i,j)/ sx(i,j) * sd(0,j);其中,x(i,j)为ref第i帧第j个频带的频谱,即所缓存远端参考信号第i帧第j个频带的频谱,其中i∈[0,positivetaps],并且相乘是在复数域上进行; d(0,j)为mic当前帧第j个频带的频谱,即当前帧远端音频信号第j个频带的频谱。sxd
p
(i,j)是经过α因子平滑的mic当前帧第j个频带与ref第i帧第j个频带的正向互功率谱; cxd
p
(i,j)是mic当前帧第j个频带与ref第i帧第j个频带的正相干函数。sd(0,j)为mic当前帧即当前帧近端音频信号第j个频带的近端自功率谱信号。sx(i,j)为ref第i帧第j个频带的远端自功率谱。
[0078]
s240、根据所述近端自功率谱、所述远端自功率谱、所缓存近端音频信号和当前帧远端参考信号,确定负向相干函数。
[0079]
本步骤可以基于所缓存近端音频信号和当前帧远端参考信号,确定负向辅功率谱,然后结合近端自功率谱和远端自功率谱确定负向相干函数。
[0080]
其中,负向互功率谱是基于所缓存近端音频信号、当前帧远端参考信号和平滑因子确定的。负向相干函数是基于负向互功率谱、近端自功率谱和远端自功率谱确定的。
[0081]
在一个实施例中,根据所述近端自功率谱、所述远端自功率谱、所缓存近端音频信号和当前帧远端参考信号,确定负向相干函数,包括:根据所述当前帧远端参考信号的频谱、所缓存近端音频信号的频谱和平滑因子,确定负向互功率谱;根据所述负向互功率谱、当前帧远端参考信号的自功率谱和所述近端自功率谱,确定负向相干函数;其中,所述当前帧远端参考信号为所缓存远端参考信号中最晚缓存的远端音频信号,所述当前帧远端参考信号的自功率谱为所述最晚缓存的远端音频信号对应的远端自功率谱。
[0082]
本步骤可以通过如下公式确定负向相干函数:sxd
n0
(k,j) = x(0,j) * d(k,j);sxdn(k,j) = α* sxdn(k,j) + (1
ꢀ‑ꢀ
α)* sxd
n0
(k,j);cxdn(k,j) = sxdn(k,j)/ sx(0,j) * sd(k,j)其中,sd(k,j)为mic第k帧第j个频带的自功率谱,即所缓存近端音频信号第k帧第j个频带的自功率谱,其中k∈[0,negativetaps],并且相乘是在复数域上进行;sx(0,j)为ref当前帧远端参考信号第j个频带的近端自功率谱,即当前帧远端参考信号的自功率谱,sxdn(k,j)是经过α因子平滑的ref当前帧第j个频带与mic第k帧第j个频带的负向互功率谱;cxdn(k,j)是ref当前帧第j个频带与mic第k帧第j个频带的负向相干函数。
[0083]
需要注意的是,s230和s240的执行先后不作限定。
[0084]
s250、根据所述正向相干函数和所述负向相干函数,确定所缓存近端音频信号和所缓存远端参考信号中每帧信号的平均相干值。
[0085]
s260、根据最大平均相干值所对应信号帧的帧数与偏移帧数的差值,确定所缓存远端参考信号和所缓存近端音频信号的延时值。
[0086]
可见,本实施例通过缓存用于计算正负两方向的mic和ref两路历史信号,计算mic与ref的相干系数,即cxd
t (n)avg及用于抵抗混响的时间差分系数与频带差分系数,计算平均相干系数,即平均相干值及用跟踪法找到最大相关系数的位置即为delay等主要的处理流程,能快速、准确、抗混响地计算出远近两端之间稳定的延时差,为回声消除前的信号对齐做准备,保证回声消除有效工作。
[0087]
本实施例通过计算正负双向延时的相干函数,又称相干系数,不管近、远端两路信号的关系是因果关系还是非因果关系,都不受限制,灵活性强,适用于不同需求;计算相干系数的时间差分系数和频带差分系数,再用两者乘以相干系数,进行特征增强处理,即使是在高混响的房间响应下,也不会受其影响,并且直达声特征明显,有利于快速、准确计算出稳定的延时值。
[0088]
本发明实施例二提供的一种音频双向延时估计方法,具体化了确定正向相干函数和负向相干函数的具体操作。利用该方法,能够有效的基于所缓存近端音频信号、所缓存远端参考信号、当前帧近端音频信号和所缓存远端参考信号确定正向相干函数和负向相干函数,以准确确定出延时值,从而实现快速、准确、抗混响的基于音频信号相干性的双向延时估计。基于频域相干性计算双向延时,保证mic与ref两者在输入回声消除模块前总保持因果关系。
[0089]
实施例三图3为本发明实施例三提供的一种音频双向延时估计装置的结构示意图,该装置可适用于进行音频信号双向延时估计的情况,其中该装置可由软件和/或硬件实现,并一般集成在会议终端上。
[0090]
如图3所示,该装置包括:第一确定模块31,用于确定频域上正向相干函数和负向相干函数,所述正向相干函数为当前帧近端音频信号与所缓存远端参考信号的相干函数,所述负向相干函数为当前帧远端参考信号与所缓存近端音频信号的相干函数;第二确定模块32,用于根据所述正向相干函数和所述负向相干函数,确定所缓存近端音频信号和所缓存远端参考信号中每帧信号的平均相干值,所述所缓存近端音频信号中每帧信号的平均相干值为所缓存近端音频信号中每帧信号所对应频带与所述当前帧远端参考信号所对应频带间相干函数的均值,所述所缓存远端参考信号中每帧信号的平均相干值为所缓存远端音频信号中每帧信号所对应频带与所述当前帧近端音频信号所对应频带间相干函数的均值;第三确定模块33,用于根据最大平均相干值所对应信号帧的帧数与偏移帧数的差值,确定所缓存远端参考信号和所缓存近端音频信号的延时值,以基于所述延时值进行音频对齐处理,所述最大平均相干值为各所述平均相干值中数值最大的平均相干值,所述偏移帧数基于所允许估计出的最大的负向延时值确定。
[0091]
在本实施例中,该装置首先通过第一确定模块31确定频域上正向相干函数和负向相干函数,所述正向相干函数为当前帧近端音频信号与所缓存远端参考信号的相干函数,所述负向相干函数为当前帧远端参考信号与所缓存近端音频信号的相干函数;其次通过第二确定模块32根据所述正向相干函数和所述负向相干函数,确定所缓存近端音频信号和所缓存远端参考信号中每帧信号的平均相干值;最后通过第三确定模块33根据最大平均相干值所对应信号帧的帧数与偏移帧数的差值,确定所缓存远端参考信号和所缓存近端音频信号的延时值,以基于所述延时值进行音频对齐处理,所述最大平均相干值为各所述平均相干值中数值最大的平均相干值,所述偏移帧数基于所允许估计出的最大的负向延时值确定。
[0092]
本实施例提供了一种音频双向延时估计装置 ,能够基于当前帧近端音频信号和所缓存远端参考信号确定出正向相干函数,基于当前帧远端音频信号和所缓存近端音频信号确定出负向相干函数,基于负向相干函数能够实现负向延时估计,基于正向相干函数能够实现正向延时估计,在确定正向相干函数和负向相干函数后,通过确定出的最大平均相干值和预先设定的偏移帧数确定出延时值,以实现音频信号的双向延时估计。
[0093]
在一个实施例中,所述确定频域上正向相干函数和负向相干函数,包括:
根据所缓存远端参考信号确定远端自功率谱;根据所缓存近端音频信号确定近端自功率谱;根据所述近端自功率谱、所述远端自功率谱、所缓存远端参考信号和当前帧近端音频信号,确定正向相干函数;根据所述近端自功率谱、所述远端自功率谱、所缓存近端音频信号和当前帧远端参考信号,确定负向相干函数。
[0094]
在一个实施例中,根据所述近端自功率谱、所述远端自功率谱、所缓存远端参考信号和当前帧近端音频信号,确定正向相干函数,包括:根据所述当前帧近端音频信号的频谱、所缓存远端参考信号的频谱和平滑因子,确定正向互功率谱;根据所述正向互功率谱、当前帧近端音频信号的自功率谱和所述远端自功率谱,确定正向相干函数;其中,所述当前帧近端音频信号为所缓存近端音频信号中最晚缓存的近端音频信号,所述当前帧近端音频信号的自功率谱为所述最晚缓存的近端音频信号对应的近端自功率谱。
[0095]
在一个实施例中,根据所述近端自功率谱、所述远端自功率谱、所缓存近端音频信号和当前帧远端参考信号,确定负向相干函数,包括:根据所述当前帧远端参考信号的频谱、所缓存近端音频信号的频谱和平滑因子,确定负向互功率谱;根据所述负向互功率谱、当前帧远端参考信号的自功率谱和所述近端自功率谱,确定负向相干函数;其中,所述当前帧远端参考信号为所缓存远端参考信号中最晚缓存的远端音频信号,所述当前帧远端参考信号的自功率谱为所述最晚缓存的远端音频信号对应的远端自功率谱。
[0096]
在一个实施例中,所述正向相干函数为当前帧近端音频信号第j个频带与所缓存远端参考信号第i帧第j个频带的相干函数,所述负向相干函数为当前帧远端信号第j个频带与所缓存近端音频信号第k帧第j个频带的相干函数,每帧信号的平均相干值为基于所对应频带的相干函数所确定的均值。
[0097]
在一个实施例中,在根据所述正向相干函数和所述负向相干函数,确定所缓存近端音频信号和所缓存远端参考信号中每帧信号的平均相干值之前,还包括:对所述正向相干函数和所述负向相干函数进行特征增强处理,得到更新后的正向相干函数和更新后的负向相干函数。
[0098]
在一个实施例中,对所述正向相干函数和所述负向相干函数进行特征增强处理,得到更新后的正向相干函数和更新后的负向相干函数,包括:将所述正向相干函数和所述负向相干函数乘以时间差分系数和频带差分系数,得到更新后的正向相干函数和更新后的负向相干函数;所述时间差分系数基于当前相干函数和上一相干函数确定;所述频带差分系数基于当前帧的当前相干函数和上一帧的当前相干函数确定;其中,当前相干函数为本次进行延时估计所确定的相干函数,上一相干函数为上一次进行延时估计所确定的相干函数。
[0099]
所述时间差分系数通过如下公式确定:timediff(n,j) = |cxd
t
(n,j)-lastcxd
t (n,j)|/cxd
t
(n,j),n∈[1,n];所述频带差分系数通过如下公式确定:spacediff(n,j) = |cxd
t (n+1,j)-cxd
t
(n,j)|/cxd
t (n+1,j),n∈[0,n-1]其中,cxd
t
(n,j)为第n帧第j个频带的相干函数,所述相干函数包括所述正向相干函数和所述负向相干函数,timediff(n,j)为cxd
t
第n帧第j个频带的相干函数的时间差分系数,spacediff(n,j)为cxd
t
第n帧第j个频带的相干函数的频带差分系数,lastcxd
t (n,j)为确定上一延时值时第n帧第j个频带的相干函数。
[0100]
上述音频双向延时估计装置可执行本发明任意实施例所提供的音频双向延时估计方法,具备执行方法相应的功能模块和有益效果。
[0101]
实施例四图4为本发明实施例四提供的一种会议终端的结构示意图。如图4所示,本发明实施例四提供的会议终端包括:一个或多个处理器41和存储装置42;该会议终端中的处理器41可以是一个或多个,图4中以一个处理器41为例;存储装置42用于存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器41执行,使得所述一个或多个处理器41实现如本发明实施例中任一项所述的音频双向延时估计方法。
[0102]
所述会议终端还可以包括:输入装置43和输出装置44。
[0103]
会议终端中的处理器41、存储装置42、输入装置43和输出装置44可以通过总线或其他方式连接,图4中以通过总线连接为例。
[0104]
该会议终端中的存储装置42作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例一或二所提供音频双向延时估计方法对应的程序指令/模块(例如,附图3所示的音频双向延时估计装置中的模块,包括:第一确定模块31、第二确定模块32和第三确定模块33)。处理器41通过运行存储在存储装置42中的软件程序、指令以及模块,从而执行会议终端的各种功能应用以及数据处理,即实现上述方法实施例中音频双向延时估计方法。
[0105]
存储装置42可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据会议终端的使用所创建的数据等。此外,存储装置42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置42可进一步包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0106]
输入装置43可用于接收输入的数字或字符信息,以及产生与会议终端的用户设置以及功能控制有关的键信号输入。输出装置44可包括显示屏等显示设备。
[0107]
并且,当上述会议终端所包括一个或者多个程序被所述一个或者多个处理器41执行时,程序进行如下操作:确定频域上正向相干函数和负向相干函数,所述正向相干函数为当前帧近端音频信号与所缓存远端参考信号的相干函数,所述负向相干函数为当前帧远端参考信号与所缓存近端音频信号的相干函数;根据所述正向相干函数和所述负向相干函数,确定所缓存近端音频信号和所缓存
远端参考信号中每帧信号的平均相干值,所述所缓存近端音频信号中每帧信号的平均相干值为所缓存近端音频信号中每帧信号所对应频带与所述当前帧远端参考信号所对应频带间相干函数的均值,所述所缓存远端参考信号中每帧信号的平均相干值为所缓存远端音频信号中每帧信号所对应频带与所述当前帧近端音频信号所对应频带间相干函数的均值;根据最大平均相干值所对应信号帧的帧数与偏移帧数的差值,确定所缓存远端参考信号和所缓存近端音频信号的延时值,以基于所述延时值进行音频对齐处理,所述最大平均相干值为各所述平均相干值中数值最大的平均相干值,所述偏移帧数基于所允许估计出的最大的负向延时值确定。
[0108]
实施例五本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行音频双向延时估计方法,该方法包括:确定频域上正向相干函数和负向相干函数,所述正向相干函数为当前帧近端音频信号与所缓存远端参考信号的相干函数,所述负向相干函数为当前帧远端参考信号与所缓存近端音频信号的相干函数;根据所述正向相干函数和所述负向相干函数,确定所缓存近端音频信号和所缓存远端参考信号中每帧信号的平均相干值,所述所缓存近端音频信号中每帧信号的平均相干值为所缓存近端音频信号中每帧信号所对应频带与所述当前帧远端参考信号所对应频带间相干函数的均值,所述所缓存远端参考信号中每帧信号的平均相干值为所缓存远端音频信号中每帧信号所对应频带与所述当前帧近端音频信号所对应频带间相干函数的均值;根据最大平均相干值所对应信号帧的帧数与偏移帧数的差值,确定所缓存远端参考信号和所缓存近端音频信号的延时值,以基于所述延时值进行音频对齐处理,所述最大平均相干值为各所述平均相干值中数值最大的平均相干值,所述偏移帧数基于所允许估计出的最大的负向延时值确定。
[0109]
可选的,该程序被处理器执行时还可以用于执行本发明任意实施例所提供的音频双向延时估计方法。
[0110]
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(random access memory,ram)、只读存储器(read only memory,rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式cd-rom、光存储器件、磁存储器件、或者上述的任意合适的组合。计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0111]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0112]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:
无线、电线、光缆、无线电频率(radio frequency,rf)等等,或者上述的任意合适的组合。
[0113]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0114]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1