首页> 中国专利> 一种回声时延的确定方法、装置及智能会议设备

一种回声时延的确定方法、装置及智能会议设备

摘要

本发明公开了一种回声时延的确定方法、装置及智能会议设备。该方法包括:在基于音频输出设备播放包含音频测试信号的音频信号数据时,获取所述音频信号数据并存放于参考缓存区中;获取由音频输入设备拾取的输入信号数据,并将输入信号数据存放于输入缓存区;确定在参考缓存区中搜索到音频测试信号时的第一时间信息;确定在输入缓存区中搜索到所述音频测试信号时的第二时间信息;基于第一时间信息以及第二时间信息确定回声时延。利用该方法,能够在具有通话功能的电子设备与其他具有通话功能的电子设备建立通话连接之前,通过设定的测试信号简单有效地确定电子设备中的回声时延,以便为消除回声时延以及提高回声消除性能的稳定性提供基础。

著录项

  • 公开/公告号CN106210371A

    专利类型发明专利

  • 公开/公告日2016-12-07

    原文格式PDF

  • 申请/专利权人 广州视源电子科技股份有限公司;

    申请/专利号CN201610799055.2

  • 发明设计人 刘荣;

    申请日2016-08-31

  • 分类号H04M9/08(20060101);H04M1/20(20060101);

  • 代理机构11332 北京品源专利代理有限公司;

  • 代理人孟金喆;胡彬

  • 地址 510530 广东省广州市黄埔区云埔工业园云埔四路6号

  • 入库时间 2023-06-19 01:04:36

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-09-18

    授权

    授权

  • 2017-01-04

    实质审查的生效 IPC(主分类):H04M9/08 申请日:20160831

    实质审查的生效

  • 2016-12-07

    公开

    公开

说明书

技术领域

本发明实施例涉及声音信号处理技术领域,尤其涉及一种回声时延的确定方法、装置及智能会议设备。

背景技术

在具有通话功能的电子设备中,回声是指电子设备的扬声器播放出来的声音再次被电子设备的麦克风拾取后发回远端其他具有通话功能的电子设备,使远端的说话者能听到自己的声音。一般地,说话者很难适应在通话过程中听到自己的回声,因此,需要使用回声消除技术,或称自动回声消除(Automatic Echo Cancellation,简称AEC)来消除回声。具体地,基于AEC技术来消除回声的基本原理可描述为:从语音系统中获取扬声器当前所发出声音的参考信号,并对麦克风所拾取的麦克风输入信号进行采样,然后,将参考信号作为自适应滤波器的输入值,经过自适应滤波器的处理后其输出值就模拟了所采样的麦克风输入信号中的回声信号,之后,从所采样的麦克风输入信号中减去从自适应滤波器输出的回声信号,由此完成了回声消除,这样说话者就听不到自己的说话声。

一般地,在具有通话功能的电子设备中,基于语音通话系统进行通话时,需要把播放和采集两个通路上的信号数据先缓存到各自的缓冲区。这样当前要发送到扬声器的信号数据到实际发出声音会有一段延迟,同时麦克风采集到的麦克风输入信号回到采集通路也会存在一定延迟,由此从获取到参考信号到采集到麦克风输入信号之间便形成了时间延迟。电子设备中的回声消除模块在做回声消除时,每次都同时从播放和采集线程对应的缓存区读取的信号数据并对所读取的信号数据进行回音消除,但因为存在时间延迟,回音消除模块从采集缓存区读取到信号数据的时间延后于从播放缓存区读取到相同信号数据的时间,所以上述时间时延也可称为回声时延。

在实际使用中,当上述回声时延太长时,自适应滤波器对信号数据进行处理时所需要的阶数、计算量以及数据量都会大幅度增大,最终影响其滤波效果。因此,在进行回音消除操作时,需要尽量的缩短回声时延。要缩短其回声时延,首先需要确定其回声时延的长度,但是现有电子设备的语音通话系统对声音信号的播放和采集是通过不同的硬件通路和不同的线程完成的,在最初启动播放和采集线程时,因不确定各自缓存区中是否已存在信号数据,所以很难直接确定回声时延的长度。

现有的回声时延的确定方法通常基于相关性来分析麦克风输入信号中相似于参考信号的信号数据,由此估计回声时延,但是该方法必须要等到通话设备与另一通话设备建立连接后,在另一方说话者讲话时才能开始测量,属于被动测量,其计算和测量的操作过程繁琐且量测结果的可靠性也较低。

发明内容

本发明提供了一种回声时延的确定方法、装置及智能会议设备,简单有效地确定了具有通话功能的电子设备中的回声时延,为提高回声消除性能的稳定性提供了基础。

本发明实施例采用以下技术方案:

第一方面,本发明实施例提供了一种回声时延的确定方法,该方法包括:

在基于音频输出设备播放包含音频测试信号的音频信号数据时,获取所述音频信号数据并存放于设定的参考缓存区中,其中,所述音频测试信号为至少一路单频信号;

获取基于音频输入设备拾取的输入信号数据,并将所述输入信号数据存放于输入缓存区中,其中,所述输入信号数据中包含了所述音频测试信号的关联信号数据;

确定在所述参考缓存区中搜索到音频测试信号时对应的当前时间信息,记为第一时间信息;

确定在所述输入缓存区中搜索到所述关联信号数据时对应的当前时间信息,记为第二时间信息;

基于所述第一时间信息以及所述第二时间信息确定所述回声时延。

第二方面,本发明实施例还提供了一种回声时延的确定装置,该装置包括:

参考数据存放模块,用于在基于音频输出设备播放包含音频测试信号的音频信号数据时,获取所述音频信号数据并存放于设定的参考缓存区中,其中,所述音频测试信号为至少一路单频信号。

输入数据存放模块,用于获取基于音频输入设备拾取的输入信号数据,并将所述输入信号数据存放于输入缓存区中,其中,所述输入信号数据中包含了所述音频测试信号的关联信号数据;

第一信息确定模块,用于确定在所述参考缓存区中搜索到音频测试信号时对应的当前时间信息,记为第一时间信息;

第二信息确定模块,用于确定在所述输入缓存区中搜索到所述关联信号数据时对应的当前时间信息,记为第二时间信息;

回声时延确定模块,用于基于所述第一时间信息以及所述第二时间信息确定所述回声时延。

第三方面,本发明实施例又提供了一种智能会议设备,该智能会议设备集成了本发明实施例提供的一种回声时延的确定装置。

本发明提供了一种回声时延的确定方法、装置及智能会议设备,该确定方法首先在基于音频输出设备播放包含音频测试信号的音频信号数据时,获取所述音频信号数据并存放于设定的参考缓存区中;然后获取由音频输入设备拾取的输入信号数据,并将所述输入信号数据存放至输入缓存区;之后,分别在参考缓存区音频测试信号以及输入缓存区中搜索关联信号数据,并确定搜索到音频测试信号及关联信号数据时的时间信息,分别记为第一时间信息和第二时间信息,由此基于第一时间信息和第二时间信息确定回声时延。利用该确定方法,能够在具有通话功能的电子设备与其他具有通话功能的电子设备建立通话连接之前,通过设定的测试信号简单有效地确定电子设备中的回声时延,以便为消除回声时延以及提高回声消除性能的稳定性提供基础。

附图说明

图1为本发明实施例一提供的一种回声时延的确定方法的流程图;

图2为本发明实施例二提供的一种回声时延的确定方法的流程图;

图3为本发明实施例三提供的一种回声时延的确定方法的流程图;

图4为本发明实施例四提供的一种回声时延的确定装置的结构框图。

具体实施方式

下面结合附图和实施例对本发明作进一步地详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

实施例一

图1为本发明实施例一提供的一种回声时延的确定方法的流程图,本实施例可适用于对具有通话功能的电子设备中的回声时延进行确定的情况,该方法可以由回声时延的确定装置来执行。该装置可通过硬件和/或软件的方式实现,并一般可集成于具有语音通话功能的电子设备中。

一般地,对于具有语音通话功能的电子设备而言,主要基于电子设备中的语音通话系统来实现与其他具有语音通话功能电子设备的语音通话。本发明实施例提供的回声时延的确定方法,具体在当前电子设备启动语音通话系统后,与其他电子设备建立通话连接前,基于设定的音频测试信号来确定电子设备产生的回声时延。在本实施例中,所述电子设备具体可指手机、电脑、智能会议设备等能够基于语音通话系统实现语音通话的设备。

如图1所示,本实施例提供的一种回声时延的确定方法,具体包括:

S101、在基于音频输出设备播放包含音频测试信号的音频信号数据时,获取所述音频信号数据并存放于设定的参考缓存区中,其中,所述音频测试信号为至少一路单频信号。

在本实施例中,在检测到启动电子设备的语音通话系统后,会首先发出包含音频测试信号的音频信号数据,然后基于语音通话系统的通话原理,所述音频信号数据会存放于一个播放缓存中,之后会从该播放缓存中读取所述音频信号数据并通过电子设备的音频输出设备播放所述音频信号数据,其中,所述音频输出设备具体可指电子设备中的听筒和扬声器等用于播放音频数据的音频播放器件。需要说明的是,在基于所述音频输出设备播放所述音频信号数据的同时,还需要获取所述音频信号数据并存放至一个设定的参考缓存区中。所述参考缓存区存放的音频信号数据具体可以被回音消除模块读取并作为回声消除模块中自适应滤波器的输入值,以进行后续的回音消除操作。

在本实施例中,对于具有通话功能的电子设备而言,为了消除所述电子设备与其他电子设备建立通话时产生的回声,一般会在电子设备中设置回声消除模块,以用于消除通话时产生的回声,本发明实施例所基于的回声消除模块的工作原理已在上述背景技术中描述,这里不再详述。

在本实施例中,所述音频测试信号具体为预先设定的至少一路单频信号,所述单频信号可以是任一路单频率的音频信号并一般存放于设定的信号缓存中,由于所述单频信号具有周期短、波动简单等特点,所以适用于作为音频测试信号。所述音频信号数据具体可理解为确定所述回声时延所需的能够从音频输出设备播放的信号数据,需要说明的是,本发明实施例为了保证回声时延的有效量测,所述音频信号数据除包含所述音频测试信号外,还包括一段无声信号数据。

S102、获取基于音频输入设备拾取的输入信号数据,并将所述输入信号数据存放于输入缓存区中,其中,所述输入信号数据中包含了所述音频测试信号的关联信号数据。

在本实施例中,基于音频输出设备播放所述音频测试信号后,所述音频测试信号可能会形成相应的关联信号数据,所述关联信号数据具体可以是所述音频测试信号形成的关联信号数据,且该关联信号数据会被音频输入设备重新拾取并与音频输入设备所拾取的其他信号数据一起称为输入信号数据。此外,在拾取所述输入信号数据后,所述输入信号数据会首先存放于设定的输入缓存区中,之后会以设定的方式从所述输入缓存区中读取所述输入信号数据并传送至之后的回声消除模块。

S103、确定在所述参考缓存区中搜索到音频测试信号时对应的当前时间信息,记为第一时间信息。

S104、确定在所述输入缓存区中搜索到所述关联信号数据时对应的当前时间信息,记为第二时间信息。

一般地,所述回声时延具体可理解为参考缓存区中音频信号数据被回声消除模块所读取的时间与输入缓存区中的关联信号数据被回声消除模块所读取时的时间差,所述时间差可以基于本发明实施例提供的回声时延的确定方法来获取。具体地,由步骤S103以及S104可知,为了确定所述回声时延,首先需要在所述参考缓存区以及所述输入缓存区分别读取设定长度的信号数据;然后在所读取的信号数据中分别搜索所述音频测试信号及所述关联信号数据,如果在参考缓存区中搜索到所述音频测试信号,则记录搜索到所述音频测试信号时的时间信息;同样,如果在输入缓存区中搜索到所述关联信号数据,则记录搜索到所述关联信号数据时的时间信息;最终,基于所记录的两个时间信息,就可以确定所述回声时延。

在本实施例中,并没有限制从所述参考缓存区以及所述输入缓存区对应搜索所述音频测试信号及所述关联信号数据的起始时间,优选地,可以在完成步骤S102之后开始所述音频测试信号或所述关联信号数据的搜索操作。由于在上述两缓存区中搜索各自信号数据时没有限定时间顺序,所以在确定所述回声时延时,需要将搜索到所述音频测试信号时记录的时间信息具体为一个相对的时间段信息,且所述时间段信息为在当前读取的信号数据中搜索到所述音频测试信号或所述关联信号数据的时刻与开始在缓存区(参考缓存区或输入缓存区)中读取信号数据的时刻的时间差。

示例性地,所述第一时间信息具体可以理解为从在所述参考缓存区中首次读取信号数据开始到在所读取的信号数据中搜索到音频测试信号结束所形成的时间段信息;所述第二时间信息具体可以理解为从在所述输入缓存区中首次读取信号数据开始到在所读取的信号数据中搜索到关联信号数据结束所形成的时间段信息。

需要注意的是,可以基于具体时刻来描述所述时间段信息,如时间段信息为搜索到音频测试信号的时刻与首次从缓存区(参考缓存区或输入缓存区)中读取信号数据的时刻之差;还可以基于时间帧(每帧时长为T,例如10ms)来描述所述时间段信息,如将首次从缓存区中读取信号数据记为第0帧,则所述时间段信息为搜索到音频测试信号时对应的当前帧号。

S105、基于所述第一时间信息以及所述第二时间信息确定所述回声时延。

在本实施例中,基于上述步骤S103以及S104分别确定所述第一时间信息以及第二时间信息之后,可以确定所述第二时间信息与第一时间信息的时间差,示例性地,如,基于具体时刻来描述所述第一时间信息以及第二时间信息时,可以确定所述第一时间信息对应的时间段,以及所述第二时间信息对应的时间段,由此可将上述两个时间段之差确定为所述回声时延;又如,基于时间帧来描述所述第一时间信息以及第二时间信息时,可以确定所述第一时间信息对应的时间帧数,以及所述第二时间信息对应的时间帧数,由此可将上述两个时间帧数之差确定为所述回声时延。

本发明实施例提供的一种回声时延的确定方法,首先在设定的参考缓存区以及输入缓存区中存放了包含音频测试信号的信号数据,然后通过对所述参考缓存区以及输入缓存区中的信号数据进行搜索来确定搜索到音频测试信号时对应的时间信息,最终基于所确定的时间信息确定通话设备的回声时延。利用该确定方法,能够在具有通话功能的电子设备与其他具有通话功能的电子设备建立通话连接之前,通过设定的测试信号简单有效地确定电子设备中的回声时延,以便为消除回声时延以及提高回声消除性能的稳定性提供基础。

实施例二

图2为本发明实施例二提供的一种回声时延的确定方法的流程图,本实施例以上述实施例为基础进行优化,在本实施例中,将所述确定在所述参考缓存区中搜索到音频测试信号时对应的当前时间信息,记为第一时间信息,进一步优化为:以帧为单位读取所述参考缓存区中的音频信号数据;确定所获取的当前帧中音频信号数据的数值是否为0,若是,则读取下一帧的音频信号数据并重复执行数值的确定操作;若否,则确定当前帧的信号数据中包含了所述音频测试信号,记所述当前帧的帧号为第一时间信息。

进一步地,将所述确定在所述输入缓存区中搜索到所述音频测试信号时对应的当前时间信息,记为第二时间信息,具体化为:以帧为单位读取所述输入缓存区中的输入信号数据;确定所述关联信号数据在所获取的当前帧中对应的能量值,记为测试能量值;确定所述当前帧中输入信号数据对应的总能量值,记为当前帧总能量值;如果所述测试能量值大于设定阈值且所述测试能量值与所述当前帧总能量值的比值大于设定参数值,则确定当前帧的输入信号数据中包含了所述关联信号数据,记所述当前帧的帧号为第二时间信息;否则,读取下一帧的输入信号数据并重复执行能量值及能量比值的确定及判断操作。

如图2所示,本发明实施例二提供的一种回声时延的确定方法,具体包括如下操作:

S201、在基于音频输出设备播放包含音频测试信号的音频信号数据时,获取所述音频信号数据并存放于设定的参考缓存区中,其中,所述音频测试信号为至少一路单频信号。

示例性地,为了保证电子设备的音频输入设备能够拾取到音频测试信号的关联信号数据,因此在启动语音通话系统后,与其他电子设备建立通话连接前,首先发出一段无声信号(该无声信号具体可理解为数值为0的信号数据),然后再发出已构造好的音频测试信号(为至少一路单频信号),由此形成包含无声信号以及音频测试信号的音频信号数据并基于音频输出设备播放,且在播放的同时存放至参考缓存区。

S202、获取基于音频输入设备拾取的输入信号数据,并将所述输入信号数据存放于输入缓存区中,其中,所述输入信号数据中包含了所述音频测试信号的关联信号数据。

示例性地,在音频输出设备播放所述音频信号数据后,所述音频输入设备首先拾取到音频信号数据中的无声信号,然后拾取到所述音频测试信号的关联信号数据。在所述音频输入设备拾取所述音频信号数据的时候,所述音频输入设备还会拾取一些噪声信号,本实施例将所拾取的无声信号、关联信号数据以及其他噪声信号等称为输入信号数据。

在本实施例中,步骤S203~步骤S206为所述第一时间信息的确定过程,所述步骤S207~步骤S210为所述第二时间信息的确定过程。对于上述两个时间信息的确定,并不存在先后顺序的限定,只要基于步骤S201确定所述参考缓存区中存放了音频信号数据就可开始第一时间信息的确定,同样只要基于步骤S202确定所述输入缓存区中存放了输入信号数据就可开始第二时间信息的确定,优选地,本实施例在完成上述步骤S201和S202之后开始进行时间信息的确定操作。

S203、以帧为单位读取所述参考缓存区中的音频信号数据。

在本实施例中,将所述音频信号数据存入所述参考缓存区之前,并不清楚所述参考缓存区中是否已存在数据,因此,在进行第一时间信息确定时,可以以帧为单位读取所述参考缓存区中的信号数据(包括音频信号数据和之前可能存在的缓存数据)。

在本实施例中,所述以帧为单位读取所述参考缓存区中的音频信号数据具体可理解为每次读取所述参考缓存区中的单位帧数据。示例性地,在已知采样率的前提下可以确定单位帧所包含的采样点数,假设采用率为16KHz,且设定单位帧的时长为10ms,则单位帧所包含的采样点数为160,即每次从参考缓存区中读取信号数据的个数为160。

需要注意的是,在缓存区(参考缓存区和输入缓存区)中读取信号数据(音频信号数据或输入信号数据)时,如果缓存区中当前存放的信号数据个数不足N,则需要等待所述缓存区中的信号数据个数达到N,只有在达到N之后才能再次读取,其中,N表示单位帧中包含的信号数据个数。

S204、确定所获取的当前帧中音频信号数据的数值是否为0,若是,则执行步骤S205;若否,则执行步骤S206。

在本实施例中,在获取当前帧的音频信号数据后,可以判定所获取的当前帧中音频信号数据的数值是否为0,如果为0则说明当前帧中的音频信号数据为无声信号,需要执行步骤S205;否则可认为当前帧中包含了所述音频测试信号,需要执行步骤S206。

S205、读取所述参考缓存区中下一帧的音频信号数据,并返回步骤S204。

在本实施例中,如果所获取的当前帧中信号数据的数值为0,则可接着在所述参考缓存区中读取下一帧的音频信号数据,之后再返回步骤S204对下一帧的音频信号数据进行判断。

S206、确定当前帧的音频信号数据中包含了所述音频测试信号,记所述当前帧的帧号为第一时间信息。

在本实施例中,如果所获取的当前帧中音频信号数据的数值不为0,则可确定在当前帧搜索到了所述参考缓存中的音频测试信号,由此可将当前帧的帧号记为第一时间信息。

S207、以帧为单位读取所述输入缓存区中的输入信号数据。

同上述步骤S203,在本实施例中,将所述输入信号数据存入所述输入缓存区之前,并不清楚所述输入缓存区中是否已存在数据,因此,在进行第二时间信息确定时,可以以帧为单位读取所述输入缓存区中的信号数据(包括输入信号数据以及之前可能存在的缓存数据)。

S208、确定所述关联信号数据在所获取的当前帧中对应的能量值,记为测试能量值。

在本实施例中,由于所述音频输入设备拾取的信号除了关联信号数据之外,还存在电路噪声、环境噪声、人声等干扰信号,所以并不能对所获取的输入缓存区中的输入信号数据简单地通过判断信号数据的数值是否为0来搜索所述关联信号数据。

在本实施例中,要判断当前帧的信号数据中是否存在所述关联信号数据,首先可以确定所述关联信号数据对应的能量值。一般情况下,信号数据的能量值的确定可以通过傅里叶变换或者快速傅里叶变换的方式实现,且对于单频信号而言,还可以基于特定的计算公式来简单求取。本实施例将所求取的关联信号数据的能量值称作测试能量值。

S209、确定所述当前帧中输入信号数据对应的总能量值,记为当前帧总能量值。

在本实施例中,在基于步骤S208确定所述关联信号数据对应的测试能量值之后,还可以确定当前帧中所包含输入信号数据对应的总能量值。一般地,所述总能量值可以通过相应的卷积公式获取。

S210、如果所述测试能量值大于设定阈值且所述测试能量值与所述当前帧总能量值的比值大于设定参数值,则确定当前帧的输入信号数据中包含了所述关联信号数据,记所述当前帧的帧号为第二时间信息;否则,读取下一帧的输入信号数据并返回步骤S208。

在本实施例中,要确定所述当前帧中是否包含所述关联信号数据,则可以基于步骤S210设定的判定条件实现,如果符合所述判定条件,则认为所述当前帧中包含所述关联信号数据,此时,可以记所述当前帧的帧号为第二时间信息;否则,需要获取下一帧的输入信号数据并返回S208再次进行判定操作。

S211、基于所述第一时间信息以及所述第二时间信息确定所述回声时延。

示例性地,基于步骤S203~步骤S206以及步骤S207~步骤S210分别确定出的第一时间信息和第二时间信息,分别相当于在所述参考缓存区中搜索到音频测试信号时对应的当前帧信息,以及在所述输入缓存区中搜索到关联信号数据时对应的当前帧信息,由于首次从所述参考缓存区以及所述输入缓存区中读取信号数据均记为第0帧,所以所述回声时延为上述第一时间信息与所述第二时间信息的差值所对应的时间长度,其中,所述差值为相差时间帧的帧数。

本发明实施例二提供的一种回声时延的确定方法,具体化了第一时间信息以及第二时间信息的确定过程,利用该确定方法,能够在具有通话功能的电子设备与其他具有通话功能的电子设备建立通话连接之前,通过设定的测试信号简单有效地确定电子设备中的回声时延,以便为消除回声时延以及提高回声消除性能的稳定性提供基础。

实施例三

图3为本发明实施例三提供的一种回声时延的确定方法的流程图,本发明实施例以上述实施例为基础进行优化,在本实施例中,该确定方法还优化包括了:设定相同频率的正弦信号和余弦信号,并分别存放于设定的正弦缓存区和余弦缓存区中;其中,所述正弦信号和/或所述余弦信号用于作为所述音频测试信号。

进一步地,在上述优化的基础上,将确定所述关联信号数据在所获取的当前帧中对应的能量值,记为测试能量值,具体优化为:基于设定的功率计算公式确定所述关联信号数据在所述当前帧中的功率值,其中,所述功率计算公式设定为:

PF表示关联信号数据所对应频率F的功率,micBuf[i]表示单位帧中第i+1个采样点在所述输入缓存区对应的幅值,sinBuf[i]表示单位帧中第i+1个采样点在所述正弦缓存区对应的幅值,cosBuf[i]表示单位帧中第i+1个采样点在所述余弦缓存区对应的幅值,N表示单位帧中的采样点数;基于所述功率值确定所述关联信号数据在所述当前帧中的能量值,记为测试能量值。

进一步地,在上述优化的基础上,还将确定所述当前帧中输入信号数据对应的总能量值,记为当前帧总能量值,具体优化为:基于设定的总功率计算公式确定所述当前帧中输入信号数据的总功率值,其中,单位帧中输入信号数据的总功率计算公式设定为:

ET表示输入信号数据在单位帧T内的总功率值,micBuf[i]表示单位帧中第i+1个采样点在所述输入缓存区对应的幅值,N表示单位帧中的采样点数;基于所述总功率值确定所述当前帧中输入信号数据的总能量值,记为当前帧总能量值。

此外,本发明实施例在将基于所述第一时间信息以及所述第二时间信息确定所述回声时延之后,还优化增加了:删除所述输入缓存区中第二时间信息所对应信号数据之前的设定帧数的信号数据,以使所述输入缓存区中的输入信号数据与所述参考缓存区中的音频信号数据同时进入回声消除模块;其中,所述设定帧数等于所述回声时延对应的时间帧数。

如图3所示,本发明实施例三提供的一种回声时延的确定方法,具体包括如下操作:

S301、设定相同频率的正弦信号和余弦信号,并分别存放于设定的正弦缓存区和余弦缓存区中。

在本实施例中,步骤S301相当于一个预处理操作,即,用来预先设定用于测试的单频信号,本实施例将所述单频信号设定为正弦信号或余弦信号,并预先存放在设定好的正弦缓存区和余弦缓存区中。

需要说明的是,由于所述语音测试信号为至少一路单频信号,即,存在由多路单频信号组成语音测试信号的可能,且上述多路单频信号有可能是正弦信号也有可能是余弦信号,所以为了保证音频测试信号的单频特性,需要设定所述正弦信号和余弦信号的频率相同。

S302、在基于音频输出设备播放包含音频测试信号的音频信号数据时,获取所述音频信号数据并存放于设定的参考缓存区中,其中,所述音频测试信号为至少一路单频信号。

S303、获取基于音频输入设备拾取的输入信号数据,并将所述输入信号数据存放于输入缓存区中,其中,所述输入信号数据中包含了所述音频测试信号的关联信号数据。

S304、确定在所述参考缓存区中搜索到音频测试信号时对应的当前时间信息,记为第一时间信息。

在本实施例中,步骤S302~S304已在上述实施例中具体阐述,这里不再详述。需要说明的是,本实施例中的第一时间信息为搜索到所述音频测试信号时对应的当前帧号。

下述步骤S305~S310具体阐述了所述第二时间信息在本实施例中的确定过程。

S305、以帧为单位读取所述输入缓存区中的输入信号数据。

S306、基于设定的功率计算公式确定所述关联信号数据在所述当前帧中的功率值。

在本实施例中,要计算所述关联信号数据在所述当前帧中的能量值,首先计算所述关联信号数据在所述当前帧中的功率值。具体地,由于本实施例中构造的音频测试信号为单频信号,则所述音频测试信号的关联信号数据也对应为单频信号,且只需要考虑所述关联信号数据对应的能量值,所以无需基于复杂的傅里叶变换或快速傅里叶变换计算,可以直接采用设定的能量计算公式来简单求取。

示例性地,所述功率计算公式设定为:

PF表示关联信号数据所对应频率F的功率,micBuf[i]表示单位帧中第i+1个采样点在所述输入缓存区对应的幅值,sinBuf[i]表示单位帧中第i+1个采样点在所述正弦缓存区对应的幅值,cosBuf[i]表示单位帧中第i+1个采样点在所述余弦缓存区对应的幅值,N表示单位帧中的采样点数。

S307、基于所述功率值确定所述关联信号数据在所述当前帧中的能量值,记为测试能量值。

在本实施例中,基于能量值的计算公式,即能量值等于功率值乘以时间,在计算出所述功率值之后,可以确定所述关联信号数据在所述当前帧中的能量值,记所述能量值为测试能量值。

S308、基于设定的总功率计算公式确定所述当前帧中输入信号数据的总功率值。

在本实施例中,还可以基于设定的总功率计算公式确定所述当前帧中信号数据的总功率值。具体地,基于总功率计算公式设定为:就可以确定所述当前帧中信号数据的总功率值,其中,ET表示信号数据在单位帧T内的总功率值,micBuf[i]表示单位帧中第i+1个采样点在所述输入缓存区对应的幅值,N表示单位帧中的采样点数。

S309、基于所述总功率值确定所述当前帧中输入信号数据的总能量值,记为当前帧总能量值。

在本实施例中,确定出所述总功率值之后,就可以确定所述所述当前帧中输入信号数据的总能量值,并记为当前帧总能量值。

S310、如果所述测试能量值大于设定阈值且所述测试能量值与所述当前帧总能量值的比值大于设定参数值,则确定当前帧的输入信号数据中包含了所述关联信号数据,记所述当前帧的帧号为第二时间信息;否则,读取下一帧的输入信号数据并返回步骤S306。

示例性地,假设基于S306和S307确定出的测试能量值为WF,基于S308和S309确定出的总能量值为WT,则确定所述当前帧的输入信号数据中是否包含关联信号数据的判定条件为:确定WF是否大于W0以及WF/WT是否大于设定参数值,其中,W0为设定的能量阈值,一般取单频信号的历史经验值,所述设定参数值可优选为0.6。

S311、基于所述第一时间信息以及所述第二时间信息确定所述回声时延。

示例性地,假设确定所述第一时间信息为第6帧,所述第二时间信息为第10帧,则所述回声时延为4帧所对应的时间长度,假设1帧的时间长度为10ms,则4帧的时间长度为40ms。

S312、删除所述输入缓存区中第二时间信息所对应信号数据之前的设定帧数的信号数据,以使所述输入缓存区中的输入信号数据与所述参考缓存区中的音频信号数据同时进入回声消除模块。

在本实施例中,通过确定所述回声时延可知,所述音频测试信号的关联信号数据进入所述输入缓存区的时间延后于进入参考缓存区的时间,即,回音消除模块在参考缓存区中读取到所述音频测试信号时,还不能在所述输入缓存区中读取到所述关联信号数据。因此,需要在所述输入缓存区中删除关联信号数据前与回声时延长度相对应的信号数据,才能保证回音消除模块在参考缓存区中读取到所述音频测试信号的同时也在所述输入缓存区中读取到关联信号数据。

需要说明的是,由于语音通话系统启动后其播放线程和采集线程的时间差保持不变,所以在基于本实施例进行步骤S312的操作后,参考缓存区中缓存的信号数据长度将比输入缓存区中缓存的信号数据长度多出回声时延所对应的数据长度。这样可以保证在基于语音通话系统进行实际通话时,所述参考缓存区中的音频信号数据与所述输入缓存区中的与所述音频信号数据相关的输入信号数据能够同时进入回声消除模块,由此降低了自适应滤波器对音频信号数据的处理时间,进而保证了回音消除的工作效率。

本发明实施例三提供的一种回声时延的确定方法,在第二时间信息的确定过程中,具体化了测试能量值以及当前帧总能量值的确定过程;同时还增加了信号数据的删除操作,能够在确定回声时延后,基于回声时延通过删除信号数据使得输入缓存区中的输入信号数据与所述参考缓存区中的音频信号数据同时进入回声消除模块,由此大大降低自适应滤波器处理音频信号数据的处理时间。利用该方法,能够在具有通话功能的电子设备与其他具有通话功能的电子设备建立通话连接之前,通过设定的测试信号简单有效地确定电子设备中的回声时延,以便为消除回声时延以及提高回声消除性能的稳定性提供基础,大大减少回音消除的处理时间。

实施例四

图4为本发明实施例四提供的一种回声时延的确定装置的结构框图,本实施例可适用于对具有通话功能的电子设备中的回声时延进行确定的情况,该装置可通过硬件和/或软件的方式实现,并一般可集成于具有语音通话功能的电子设备中。如图4所示,该确定装置包括:参考数据存放模块41,输入数据存放模块42,第一信息确定模块43,第二信息确定模块44以及回声时延确定模块45。

其中,参考数据存放模块41,用于在基于音频输出设备播放包含音频测试信号的音频信号数据时,获取所述音频信号数据并存放于设定的参考缓存区中,其中,所述音频测试信号为至少一路单频信号。

输入数据存放模块42,用于获取基于音频输入设备拾取的输入信号数据,并将所述输入信号数据存放于输入缓存区中,其中,所述输入信号数据中包含了所述音频测试信号的关联信号数据。

第一信息确定模块43,用于确定在所述参考缓存区中搜索到音频测试信号时对应的当前时间信息,记为第一时间信息。

第二信息确定模块44,用于确定在所述输入缓存区中搜索到所述关联信号数据时对应的当前时间信息,记为第二时间信息。

回声时延确定模块45,用于基于所述第一时间信息以及所述第二时间信息确定所述回声时延。

在本实施例中,该装置首先通过参考数据存放模块41在基于音频输出设备播放包含音频测试信号的音频信号数据时,获取所述音频信号数据并存放于设定的参考缓存区中;然后通过输入数据存放模块42获取基于音频输入设备拾取的输入信号数据,并将所述输入信号数据存放于输入缓存区中;之后又通过第一信息确定模块43确定在所述参考缓存区中搜索到音频测试信号时对应的当前时间信息,记为第一时间信息,以及第二信息确定模块44确定在所述输入缓存区中搜索到所述关联信号数据时对应的当前时间信息,记为第二时间信息;最终通过回声时延确定模块45基于所述第一时间信息以及所述第二时间信息确定所述回声时延。

本发明实施例四提供的一种回声时延的确定装置,能够在具有通话功能的电子设备与其他具有通话功能的电子设备建立通话连接之前,通过设定的测试信号简单有效地确定电子设备的回声时延,以便为消除回声时延以及提高回声消除性能的稳定性提供基础。

进一步地,所述第一信息确定模块43,具体用于:

以帧为单位读取所述参考缓存区中的音频信号数据;确定所获取的当前帧中音频信号数据的数值是否为0,若是,则读取下一帧的音频信号数据并重复执行数值的确定操作;若否,则确定当前帧的信号数据中包含了所述音频测试信号,记所述当前帧的帧号为第一时间信息。

进一步地,所述第二信息确定模块44,具体包括:

信号读取单元,用于以帧为单位读取所述输入缓存区中的输入信号数据;第一数值确定单元,用于确定所述关联信号数据在所获取的当前帧中对应的能量值,记为测试能量值;第二数值确定单元,用于确定所述当前帧中输入信号数据对应的总能量值,记为当前帧总能量值;测试信号判定单元,用于当所述测试能量值大于设定阈值且所述测试能量值与所述当前帧总能量值的比值大于设定参数值时,则确定当前帧的输入信号数据中包含了所述关联信号数据,记所述当前帧的帧号为第二时间信息;否则,读取下一帧的输入信号数据并重复执行能量值及能量比值的确定及判断操作。

在上述实施例的基础上,该装置还包括:

信号设定与存放模块,用于设定相同频率的正弦信号和余弦信号,并分别存放于设定的正弦缓存区和余弦缓存区中;其中,所述正弦信号和/或所述余弦信号用于作为所述音频测试信号。

进一步地,所述第一数值确定单元,具体用于:

基于设定的功率计算公式确定所述关联信号数据在所述当前帧中的功率值,其中,所述功率计算公式设定为:

PF表示关联信号数据所对应频率F的功率,micBuf[i]表示单位帧中第i+1个采样点在所述输入缓存区对应的幅值,sinBuf[i]表示单位帧中第i+1个采样点在所述正弦缓存区对应的幅值,cosBuf[i]表示单位帧中第i+1个采样点在所述余弦缓存区对应的幅值,N表示单位帧中的采样点数;基于所述功率值确定所述关联信号数据在所述当前帧中的能量值,记为测试能量值。

进一步地,所述第二数值确定单元,具体用于:

基于设定的总功率计算公式确定所述当前帧中信号数据的总功率值,其中,单位帧中信号数据的总功率计算公式设定为:

ET表示信号数据在单位帧T内的总功率值,micBuf[i]表示单位帧中第i+1个采样点在所述输入缓存区对应的幅值,N表示单位帧中的采样点数;基于所述总功率值确定所述当前帧中信号数据的总能量值,记为当前帧总能量值。

在上述实施例的基础上,该装置还包括:

信号数据删除模块,用于在基于所述第一时间信息以及所述第二时间信息确定所述回声时延之后,删除所述输入缓存区中第二时间信息所对应信号数据之前的设定帧数的信号数据,以使所述输入缓存区中的输入信号数据与所述参考缓存区中的音频信号数据同时进入回声消除模块;其中,所述设定帧数等于所述回声时延对应的时间帧数。

实施例五

本发明实施例提供了一种智能会议设备,该智能会议设备集成了上述实施例四提供的一种回声时延的确定装置。可以通过上述实施例一至实施例三提供的回声时延的确定方法进行回声时延的确定。

在本实施例中,所述智能会议设备属于具有通话功能的电子设备的一种,所述智能会议设备中集成有语音通话系统,同时还具备音频输入设备以及音频输出设备,且该语音通话系统中包括用于回音消除的回声消除模块。

在所述智能会议设备中集成本发明上述实施例提供的一种回声时延的确定装置之后,能够在与其他具有通话功能的电子设备建立通话连接之前,通过设定的测试信号简单有效地确定该智能会议设备中的回声时延,由此为缩短或消除回声时延以及提高回声消除模块工作性能的稳定性提供基础,同时也进一步提高了智能会议设备的用户体验。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号