延时的估计方法及装置与流程

文档序号:12678550阅读:1876来源:国知局
延时的估计方法及装置与流程

本发明涉及语音信号处理技术领域,具体而言,涉及延时的估计方法及装置。



背景技术:

现有回声消除技术一般会通过增加自适应滤波器长度来补偿延时或用自相关估计法来估计延时。通过增加自适应滤波器长度来补偿延时适用于延时较小的应用场景,一旦延时增大,这种方法会导致自适应滤波器长度过大,计算量剧增的问题;通过自相关估计法来估计延时,这种方法的计算量很大,而且自相关值的动态范围和短时波动都很大,有可能导致估计延时不断变化,无法收敛。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种延时的估计方法及装置,以改善上述问题。为了实现上述目的,本发明采取的技术方案如下:

第一方面,本发明实施例提供了一种延时的估计方法,应用于回声消除系统,参考信号和主信号作为所述回声消除系统的输入信号,其中,所述主信号包括经过延时传播的参考信号,所述方法包括:获得所述参考信号对应的历史子带参考信号的第一比特特征;获得所述主信号对应的子带主信号的第二比特特征;比较所述第一比特特征与所述第二比特特征和,获得比特特征比较和以及平滑后的比特特征比较和;基于平滑后的比特特征和以及预设规则,获得所述延时的估计值。

第二方面,本发明实施例提供了一种延时的估计装置,应用于回声消除系统,参考信号和主信号作为所述回声消除系统的输入信号,其中,所述主信号包括经过延时传播的参考信号,所述装置包括:第一获取单元,用于获得所述参考信号对应的历史子带参考信号的第一比特特征;第二获取单元,用于获得所述主信号对应的子带主信号的第二比特特征;比较单元,用于比较所述第一比特特征与所述第二比特特征和,获得比特特征比较和以及平滑后的比特特征比较和;估计值获得单元,用于基于平滑后的比特特征和以及预设规则,获得所述延时的估计值。

本发明实施例提供的延时的估计方法及装置,应用于回声消除系统,参考信号和主信号作为所述回声消除系统的输入信号,其中,所述主信号包括经过延时传播的参考信号,所述方法包括:获得所述参考信号对应的历史子带参考信号的第一比特特征;获得所述主信号对应的子带主信号的第二比特特征;比较所述第一比特特征与所述第二比特特征和,获得比特特征比较和以及平滑后的比特特征比较和;基于平滑后的比特特征和以及预设规则,获得所述延时的估计值。以此解决回声延时大、回声抖动和延时估计不稳定的问题。

本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为一种可应用于本申请实施例中的回声消除系统;

图2为本发明第一实施例提供的延时的估计方法的流程图;

图3为本发明第一实施例提供的延时的估计方法的信号流程示意图;

图4为本发明第二实施例提供的可应用于本申请实施例中的回声消除系统的一种回声消除模块的结构框图;

图5为本发明第二实施例提供的可应用于本申请实施例中的回声消除系统的一种回声消除模块的信号示意图;

图6为本发明第二实施例提供的可应用于本申请实施例中的回声消除系统的另一种回声消除模块的结构框图;

图7为本发明第二实施例提供的可应用于本申请实施例中的回声消除系统的另一种回声消除模块的信号示意图。

图中:100-电子设备;110-存储器;111-存储控制器;112-处理器;113-外设接口;200-系统;201-麦克风;202-扬声器;210-回声消除模块;211-对齐单元;212-声学回声消除单元;213-第一综合滤波器组;214-残留回声抑制单元;215-第二综合滤波器组;216-参考历史单元;300-装置;310-第一获取单元;311-第一分析滤波器组;312-历史子带参考子单元;313-参考特征获得子单元;320-第二获取单元;321-第二分析滤波器组;322-主信号能量计算子单元;323-主特征获得子单元;330-比较单元;340-估计值获得单元。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

请参阅图1,图1示出了一种可应用于本申请实施例中的回声消除系统200。所述回声消除系统200包括电子设备100、麦克风201、扬声器202。所述电子设备100分别与麦克风201、扬声器202电连接。该电子设备100可以作为用户终端,也可以是计算机或服务器,所述用户终端可以为手机或平板电脑。如图1所示,电子设备100可以包括存储器110、存储控制器111、处理器112、外设接口113和延时的估计装置。所述外设接口113分别与所述麦克风201、扬声器202电连接。

存储器110、存储控制器111、处理器112、外设接口113各元件之间直接或间接地电连接,以实现数据的传输或交互。例如,这些元件之间可以通过一条或多条通讯总线或信号总线实现电连接。延时的估计方法分别包括至少一个可以以软件或固件(firmware)的形式存储于存储器110中的软件功能模块,例如所述延时的估计装置包括的软件功能模块或计算机程序。

存储器110可以存储各种软件程序以及模块,如本申请实施例提供的延时的估计方法及装置对应的程序指令/模块。处理器112通过运行存储在存储器110中的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本申请实施例中的延时的估计方法。存储器110可以包括但不限于随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。

处理器112可以是一种集成电路芯片,具有信号处理能力。上述处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

外设接口113将各种输入/输出装置耦合至处理器112以及存储器110。在本实施例中,麦克风201和扬声器202通过外设接口113耦合至处理器112以及存储器110。

麦克风201用于采集用户的语音、扬声器202产生的回声和环境噪声;扬声器202用于输出用户的回声。

第一实施例

请参阅图2,本发明实施例提供了一种延时的估计方法,应用于回声消除系统200,参考信号和主信号作为所述回声消除系统200的输入信号,其中,所述主信号包括经过延时传播的参考信号,所述方法包括:

步骤S200:获得所述参考信号对应的历史子带参考信号的第一比特特征;

扬声器202产生参考信号,参考信号设为x(n);麦克风201采集主信号,主信号设为p(n),p(n)=s(n)+d(n)+b(n),其中,d(n)为x(n)经过空间传播的回声信号,s(n)为语音信号,b(n)为噪声信号。n为离散时间标度,n=0,1,2……。

x(n)由扬声器202播放的时刻为Tplayout,经过空间传播,被麦克风201接收,最后获得p(n)的时刻为Tcapture,令Δt=Tcapture-Tplayout。当Δt达到秒级别时,说明延时较大,传统回声消除算法依靠加大自适应滤波器长度来补偿延时,L=Lvalid+LΔt,LΔt>>Lvalid,其中,LΔt为自适应滤波器中的延时部分,Lvalid为自适应滤波器中的有效部分,这样会消耗大量的计算资源。

当扬声器与麦克风距离一定时,声音从扬声器到麦克风的直达声延时为dlm=slm/c,slm为扬声器与麦克风之间的距离,c为声速。一些简单的场景下,slm一般以米为单位,如slm=1m,dlm=1/340=0.00294s,这个延时是非常小的,所以回声路径的有效长度也较小。

由于硬件系统的播放、采集和软件调度等原因,可能使dlm增大,需要使用延时估计算法来估计延时。

为了解决上述问题,本发明实施例提供的延时的估计方法是基于子带能量的方法。对于回声从播放数据到被采集后的可访问数据,其延时用一个可以估测的最大延时范围来表示。对于回声消除系统,是对输入数据分帧处理的,所以延时也可表示为最大的帧数范围。定义延时的最大帧数范围为max_delay_frames,则有如下表达式:

max_delay_frames=max_delay/frame_length (1)

在式(1)中,max_delay为最大延时样本点数,frame_length为帧长。

根据以上定义,设定延时的范围为[0,max_delay_frames]。

作为一种实施方式,将获取到的参考信号输出为N个子带参考信号;在本实施例中,将参考信号x(n)输出为N个子带参考信号,即为x0(n),x1(n),...,xN-1(n),子带数为N,子带带宽为fs/(2N),fs为采样频率。

存储所述N个子带参考信号并输出为历史子带参考信号;在本实施例中,存储N个子带参考信号即x0(n),x1(n),...,xN-1(n)并输出为历史子带参考信号即xsub-history(n)。

其中,

0≤u≤D,D=max_delay/N。

根据获取到的所述历史子带参考信号的幅度值和平滑后的能量值,获得所述参考信号对应的历史子带参考信号的第一比特特征。

基于以下表达式(2):

计算得到所述历史子带参考信号的幅度值和平滑后的能量值;

判断当一帧所述历史子带参考信号的幅度值大于平滑后的能量值时,则该帧所述历史子带参考信号的比特特征置为1;否则置为0;如此对多帧所述历史子带信号进行处理,可以获得所述参考信号对应的历史子带参考信号的第一比特特征,即定义为ref_bit_slot:

其中,low_bound≤i≤high_bound,[low_bound,high_bound]∈[0,N-1],为离散频率范围,1≤k≤max_delay_frames,max_delay_frames为延时的最大帧数,xi(n)为第i个子带参考信号,ref_mag_slot(k,i)为历史第k帧参考信号的第i个子带参考信号的幅度值,β为常数,β∈[0.9,1.0],为当前帧参考信号的第i个子带参考信号平滑后的能量。

作为一种实施方式,基于得到的所述历史子带参考信号的历史子带参考信号的幅度值和平滑后的能量值,保存子带参考信号固定间隔的幅度谱差值和所述幅度谱差值平滑后的能量值到长度为max_delay_frames的插槽ref_mag_diff_slot和ref_pow_diff_slot中。

具体地,基于以下表达式(3):

其中,V∈[1,N-1]为固定离散频率间隔,abs表示取绝对值,为当前帧参考信号第i个子带参考信号固定间隔幅度谱差值平滑后的能量值。判断当一帧所述历史子带参考信号的固定间隔幅度谱差值大于所述幅度谱差值平滑后的能量值时,则该帧子带参考信号的比特特征置为1;否则置为0;如此对多帧所述历史子带信号进行处理,可以获得所述参考信号对应的历史子带参考信号的第一比特特征即定义为ref_bit_slot。

其中0≤g≤max_delay-1。

步骤S210:获得所述主信号对应的子带主信号的第二比特特征;

作为一种实施方式,将获取到的主信号输出为N个子带主信号;将所述主信号p(n)输出为N个子带主信号,即为p0(n),p1(n),...,pN-1(n),子带数为N,子带带宽为fs/(2N),fs为采样频率。

获取当前帧N个子带主信号的幅度值和平滑后的能量值;

根据所述当前帧N个子带主信号的幅度值和平滑后的能量值,获得当前帧主信号对应的子带主信号的第二比特特征。

具体地,基于以下表达式(4):

计算得到当前帧N个子带主信号的幅度值和平滑后的能量值;

判断若当前帧的子带主信号的幅度值大于平滑后的能量值时,则所述当前帧的子带主信号的比特特征为1;否则置为0;如此对多帧所述子带主信号进行处理,可以获得所述主信号对应的子带主信号的第二比特特征,即定义为pri_bit,即:

其中,pri_mag(i)为当前帧的第i个子带主信号幅度值,β为常数,pri_pow(i)为当前帧的第i个子带主信号的平滑后的能量值。

作为一种实施方式,基于得到当前帧N个子带主信号的幅度值和平滑后的能量值,保存子带主信号固定间隔的幅度谱差值pri_mag_diff和所述幅度谱差值平滑后的能量值pri_pow_diff。

基于以下表达式(5):

其中,γ∈[0.9,1.0],pri_mag_diff为当前帧主信号第i个子带固定间隔幅度谱差值,pri_pow_diff为当前帧主信号第i个子带固定间隔幅度谱差值平滑后的能量;

判断若所述当前帧的子带主信号的固定间隔幅度谱差值大于幅度谱差值平滑后的能量值时,则所述当前帧的子带主信号的比特特征为1;否则置为0;如此对多帧所述子带主信号进行处理,可以获得所述主信号对应的子带主信号的第二比特特征,即定义为pri_bit,即:

步骤S220:比较所述第一比特特征与所述第二比特特征,获得比特特征比较和以及平滑后的比特特征比较和;

基于以下表达式(6):

获得比特特征比较和以及平滑后的比特特征比较和,其中,η为常数,bit_compare_count(g)为所述比特特征比较和,bit_compare_smooth_count(g)为所述平滑后的比特特征比较和。表示异或运算。

步骤S230:基于平滑后的比特特征和以及预设规则,获得所述延时的估计值。

基于获得所述延时的估计值,其中,kopt(n)为所述延时的估计值,bit_compare_smooth_count(g)为所述平滑后的比特特征比较和。bit_compare_smooth_count(g)为所述预设规则。

所述基于获得所述延时的估计值,包括:

设置初始阈值和步长;对比所述初始阈值与所述平滑后的比特特征比较和,根据对比结果若所述平滑后的比特特征比较和大于所述初始阈值,则min imum_count+=bit_count_step;

若min imum_count-bit_count_step<bit_compare_smooth_count(g)<min imum_count,则K=kopt(n)=g,即认为当前值为最佳延时估计值;

若min imum_count-bit_count_step>bit_compare_smooth_count(kopt(n-1)),认为偏离过大,则min imum_count-=bit_count_step;

其中,min imum_count为所述初始阈值,bit_count_step为所述步长,bit_compare_smooth_count(g)为所述平滑后的比特特征比较和,K为所述延时的估计值。

min imum_count是动态设定的,设置初始阈值包括:

若min imum_count>bit_compare_smooth_count(kopt(n-1))+bit_count_step,则min imum_count=bit_compare_smooth_count(kopt(n-1))。以上过程可参见图3。

本发明实施例提供的延时的估计方法,应用于回声消除系统,参考信号和主信号作为所述回声消除系统的输入信号,其中,所述主信号包括经过延时传播的参考信号,所述方法包括:获得所述参考信号对应的历史子带参考信号的第一比特特征;获得所述主信号对应的子带主信号的第二比特特征;比较所述第一比特特征与所述第二比特特征和,获得比特特征比较和以及平滑后的比特特征比较和;基于平滑后的比特特征和以及预设规则,获得所述延时的估计值。以此解决回声延时大、回声抖动和延时估计不稳定的问题。

第二实施例

请参阅图4,本发明实施例提供了一种延时的估计装置300,应用于回声消除系统200,参考信号和主信号作为所述回声消除系统200的输入信号,其中,所述主信号包括经过延时传播的参考信号,所述系统200包括回声消除模块210,所述回声消除模块210存储在所述存储器110中。

作为一种实施方式,所述回声消除模块210包括对齐单元211、声学回声消除单元212、第一综合滤波器组213、残留回声抑制单元214、第二综合滤波器组215以及延时的估计装置300,所述装置300包括:

第一获取单元310,用于获得所述参考信号对应的历史子带参考信号的第一比特特征。

作为一种实施方式,第一获取单元310包括第一分析滤波器组311、历史子带参考子单元312以及参考特征获得子单元313。

第一分析滤波器组311,用于将获取到的参考信号输出为N个子带参考信号。

历史子带参考子单元312,用于存储所述N个子带参考信号并输出为历史子带参考信号。

参考特征获得子单元313,用于根据获取到的所述历史子带参考信号的幅度值和平滑后的能量值,获得所述参考信号对应的历史子带参考信号的第一比特特征。

第二获取单元320,用于获得所述主信号对应的子带主信号的第二比特特征。

作为一种实施方式,第二获取单元320包括第二分析滤波器组321、主信号能量计算子单元322以及主特征获得子单元323。

第二分析滤波器组321,用于将获取到的主信号输出为N个子带主信号。

主信号能量计算子单元322,用于获取当前帧N个子带主信号的幅度值和平滑后的能量值。

主特征获得子单元323,用于根据所述当前帧N个子带主信号的幅度值和平滑后的能量值,获得当前帧主信号对应的子带主信号的第二比特特征。

比较单元330,用于比较所述第一比特特征与所述第二比特特征和,获得比特特征比较和以及平滑后的比特特征比较和;

估计值获得单元340,用于基于平滑后的比特特征和以及预设规则,获得所述延时的估计值。

请参阅图5,图5为图4对应的信号流向示意图,为了简要描述,部分功能模块未画出。如图5所示,参考信号x(n)经过第一分析滤波器组311后,输出为N个子带参考信号,历史子带参考子单元312存储所述N个子带参考信号并输出为历史子带参考信号;在本实施例中,存储N个子带参考信号即x0(n),x1(n),...,xN-1(n)并输出为历史子带参考信号即xsub-history(n)。

其中,

0≤u≤D,D=max_delay/N。

同理可得,p(n)=s(n)+d(n)+b(n),其中d(n)为x(n)经过空间传播的回声信号,s(n)为语音信号b(n)为噪声信号。n为离散时间标度,n=0,1,2……。主信号p(n)经过第二分析滤波器组321后,输出为N个子带主信号即p0(n),p1(n),...,pN-1(n)。基于本发明实施例提供的延时的估计方法,计算出延时的估计值K。对齐单元211基于延时的估计值K和历史子带参考信号xsub-history(n),输出为对齐后的子带向量:

经过声学回声消除单元212获得子带估计回声信号p0(n),p1(n),...,pN-1(n)和相减得到子带残差信号e0(n),e1(n),...,eN-1(n),子带残差信号经过第二综合滤波器组215得到时域残差信号e(n),e(n)和第一综合滤波器组213输出的x(n-K)输入到残留回声抑制单元214,获得最后消除回声的输出信号。

作为一种实施方式,请参阅图6,所述回声消除模块210包括对齐单元211、声学回声消除单元212、残留回声抑制单元214、参考历史单元216以及延时的估计装置300。请参阅图7,图7为图6对应的信号流向示意图,为了简要描述,部分功能模块未画出。

同理可得,p(n)=s(n)+d(n)+b(n),其中d(n)为x(n)经过空间传播的回声信号,s(n)为语音信号b(n)为噪声信号。n为离散时间标度,n=0,1,2……。每一帧参考信号保存到参考历史单元216,参考历史单元216输出为:

其中,0≤k≤Max_Delay-1。Max_Delay为最大延时样本点数。基于本发明实施例提供的延时的估计方法,计算出延时的估计值K。根据延时的估计值K和xhistory(n),对齐单元211输出时间对齐后的参考信号x(n-K),x(n-K)和主信号p(n)输入到声学回声消除单元212,获得残差信号并更新自适应滤波器系数。残差信号e(n)和x(n-K)输入到残留回声抑制单元214,获得最后消除回声的输出信号。

以上各单元可以是由软件代码实现,此时,上述的各单元可存储于存储器110内。以上各单元同样可以由硬件例如集成电路芯片实现。

本发明实施例提供的延时的估计装置300,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1