时延估计方法及装置制造方法及图纸

技术编号:20122527 阅读:29 留言:0更新日期:2019-01-16 12:54
本申请公开了一种时延估计方法及装置,属于音频处理领域。该方法包括:确定当前帧的多声道信号的互相关系数;根据缓存的至少一个过去帧的声道间时间差信息,确定当前帧的时延轨迹估计值;确定当前帧的自适应窗函数;根据所述当前帧的时延轨迹估计值和所述当前帧的自适应窗函数,对所述互相关系数进行加权,得到加权后的互相关系数;根据所述加权后的互相关系数确定所述当前帧的声道间时间差;解决了互相关系数被过度平滑或平滑不足的问题,提高了估计声道间时间差的准确性。

Time Delay Estimation Method and Device

This application discloses a method and device for time delay estimation, which belongs to the field of audio processing. The method includes: determining the cross-correlation coefficients of the multichannel signals of the current frame; determining the estimated value of the current frame's delay trajectory based on the time difference information between the channels of at least one past frame cached; determining the adaptive window function of the current frame; weighting the cross-correlation coefficients according to the estimated value of the current frame's delay trajectory and the adaptive window function of the current frame. To the weighted cross-correlation coefficient; to determine the time difference between the channels of the current frame according to the weighted cross-correlation coefficient; to solve the problem that the cross-correlation coefficient is excessively smoothed or insufficiently smoothed, and to improve the accuracy of estimating the time difference between the channels.

【技术实现步骤摘要】
时延估计方法及装置
本申请涉及音频处理领域,特别涉及一种时延估计方法及装置。
技术介绍
相对于单声道信号来说,由于多声道信号(如立体声信号)更具有方位感和分布感,因此,备受人们青睐。多声道信号是由至少两路单声道信号组成的。例如,立体声信号是两路单声道信号,即左声道信号和右声道信号组成的。对立体声信号进行编码,可以是对立体声信号的左声道信号和右声道信号进行时域下混处理得到两路信号,再对得到的两路信号进行编码,这两路信号分别为:主要声道信号和次要声道信号。其中,主要声道信号用于表征立体声信号中的两路单声道信号之间的相关信息;次要声道信号用于表征立体声信号中的两路单声道信号之间的差异信息。如果两路单声道信号之间的时延越小,则主要声道信号越大,立体声信号的编码效率越高,编解码质量越好;反之,如果两路的单声道信号之间的时延越大,则次要声道信号越大,立体声信号的编码效率越低,编解码质量越差。为了保证编解码得到的立体声信号有较好的效果,需要估计立体声信号中的两路单声道信号之间的时延,即声道间时间差(ITD,Inter-channleTimeDifference),根据估计出的声道间时间差通过时延对齐处理从而使得两路单声道信号之间对齐,增强主要声道信号。一种典型的时域上的时延估计方法,包括:根据至少一个过去帧的互相关系数,对当前帧的立体声信号的互相关系数进行平滑处理,得到平滑后的互相关系数;从该平滑后的互相关系数中搜索最大值,将该最大值对应的索引值确定为当前帧的声道间时间差。其中,当前帧的平滑因子是根据输入信号的能量或者其它特征自适应调整得到的一个数值。互相关系数,用于指示不同的声道间时间差对应的时延调整后两路单声道信号的互相关程度,其中,互相关系数也可以称作互相关函数。音频编码设备采用统一的标准(当前帧的平滑因子),对当前帧的所有互相关值进行平滑,可能会导致一部分互相关值被过度平滑;和/或,另一部分互相关值平滑不足的问题。
技术实现思路
为了解决音频编码设备对当前帧的互相关系数中的互相关值过度平滑,或者平滑不足,导致音频编码设备估计出的声道间时间差不准确的问题,本申请实施例提供了一种时延估计方法及装置。第一方面,提供了一种时延估计方法,该方法包括:确定当前帧的多声道信号的互相关系数;根据缓存的至少一个过去帧的声道间时间差信息,确定当前帧的时延轨迹估计值;确定当前帧的自适应窗函数;根据当前帧的时延轨迹估计值和当前帧的自适应窗函数,对互相关系数进行加权,得到加权后的互相关系数;根据加权后的互相关系数确定当前帧的声道间时间差。通过计算当前帧的时延轨迹估计值来预测当前帧的声道间时间差;根据当前帧的时延轨迹估计值和当前帧的自适应窗函数,对互相关系数进行加权;由于自适应窗函数是升余弦窗,具有相对地放大中间部分抑制边缘部分的功能,这就使得根据当前帧的时延轨迹估计值和当前帧的自适应窗函数,对互相关系数进行加权时,离时延轨迹估计值越近,加权系数越大,避免了对第一互相系数过度平滑的问题;离时延轨迹估计值越远,加权系数越小,避免了对第二互相关系数平滑不足的问题;这样,实现了通过自适应窗函数自适应地抑制互相关系数中远离时延轨迹估计值的索引值对应的互相关值,提高了从加权后的互相关系数中确定声道间时间差的准确性。其中,第一互相关系数指互相关系数中时延轨迹估计值附近的索引值对应的互相关值,第二互相关系数指互相关系数中远离时延轨迹估计值的索引值对应的互相关值。结合第一方面,在第一方面的第一种实现中,确定当前帧的自适应窗函数,包括:根据第n-k帧的平滑后的声道间时间差估计偏差,确定当前帧的自适应窗函数,0<k<n。其中,当前帧为第n帧。通过第n-k帧的平滑后的声道间时间差估计偏差,确定当前帧的自适应窗函数,实现了根据该平滑后的声道间时间差估计偏差,调整自适应窗函数的形状,避免了由于当前帧时延轨迹估计的误差导致生成的自适应窗函数不准确的问题,提高了生成自适应窗函数的准确性。结合第一方面或第一方面的第一种实现,在第一方面的第二种实现中,确定当前帧的自适应窗函数,包括:根据当前帧的前一帧的平滑后的声道间时间差估计偏差,计算第一升余弦宽度参数;根据当前帧的前一帧的平滑后的声道间时间差估计偏差,计算第一升余弦高度偏移量;根据第一升余弦宽度参数和第一升余弦高度偏移量,确定当前帧的自适应窗函数。由于当前帧的前一帧的多声道信号与当前的帧的多声道信号之间关联性较大,因此,通过根据该当前帧的前一帧的平滑后的声道间时间差估计偏差,确定的前帧的自适应窗函数,提高了计算前帧的自适应窗函数的准确性。结合第一方面的第二种实现,在第一方面的第三种实现中,第一升余弦宽度参数的计算公式如下:win_width1=TRUNC(width_par1*(A*L_NCSHIFT_DS+1))width_par1=a_width1*smooth_dist_reg+b_width1其中,a_width1=(xh_width1-xl_width1)/(yh_dist1-yl_dist1)b_width1=xh_width1-a_width1*yh_dist1其中,win_width1为第一升余弦宽度参数;TRUNC表示对数值进行四舍五入取整;L_NCSHIFT_DS为声道间时间差的绝对值的最大值;A为预先设定的常数,A大于等于4;xh_width1为第一升余弦宽度参数的上限值;xl_width1为第一升余弦宽度参数的下限值;yh_dist1为第一升余弦宽度参数的上限值对应的平滑后的声道间时间差估计偏差;yl_dist1为第一升余弦宽度参数的下限值对应的平滑后的声道间时间差估计偏差;smooth_dist_reg为当前帧的前一帧的平滑后的声道间时间差估计偏差;xh_width1、xl_width1、yh_dist1和yl_dist1均为正数。结合第一方面的第三种实现,在第一方面的第四种实现中,width_par1=min(width_par1,xh_width1);width_par1=max(width_par1,xl_width1);其中,min表示取最小值,max表示取最大值。通过在width_par1大于第一升余弦宽度参数的上限值时,将width_par1限定为该第一升余弦宽度参数的上限值;在width_par1小于第一升余弦宽度参数的下限值时,将width_par1限定为该第一升余弦宽度参数的下限值,保证width_par1的值不会超过升余弦宽度参数的正常取值范围,从而保证计算出的自适应窗函数的准确性。结合第一方面的第二种实现至第四种实现中的任意一种,在第一方面的第五种实现中,第一升余弦高度偏移量的计算公式如下:win_bias1=a_bias1*smooth_dist_reg+b_bias1其中,a_bias1=(xh_bias1-xl_bias1)/(yh_dist2-yl_dist2)b_bias1=xh_bias1-a_bias1*yh_dist2其中,win_bias1为第一升余弦高度偏移量;xh_bias1为第一升余弦高度偏移量的上限值;xl_bias1为第一升余弦高度偏移量的下限值;yh_dist2为第一升余弦高度偏移量的上限值对应的平滑后的声道间时间差估计偏差;y本文档来自技高网
...

【技术保护点】
1.一种时延估计方法,其特征在于,所述方法包括:确定当前帧的多声道信号的互相关系数;根据缓存的至少一个过去帧的声道间时间差信息,确定当前帧的时延轨迹估计值;确定当前帧的自适应窗函数;根据所述当前帧的时延轨迹估计值和所述当前帧的自适应窗函数,对所述互相关系数进行加权,得到加权后的互相关系数;根据所述加权后的互相关系数确定当前帧的声道间时间差。

【技术特征摘要】
1.一种时延估计方法,其特征在于,所述方法包括:确定当前帧的多声道信号的互相关系数;根据缓存的至少一个过去帧的声道间时间差信息,确定当前帧的时延轨迹估计值;确定当前帧的自适应窗函数;根据所述当前帧的时延轨迹估计值和所述当前帧的自适应窗函数,对所述互相关系数进行加权,得到加权后的互相关系数;根据所述加权后的互相关系数确定当前帧的声道间时间差。2.根据权利要求1所述的方法,其特征在于,所述确定当前帧的自适应窗函数,包括:根据当前帧的前一帧的平滑后的声道间时间差估计偏差,计算第一升余弦宽度参数;根据所述当前帧的前一帧的平滑后的声道间时间差估计偏差,计算第一升余弦高度偏移量;根据所述第一升余弦宽度参数和所述第一升余弦高度偏移量,确定所述当前帧的自适应窗函数。3.根据权利要求2所述的方法,其特征在于,所述第一升余弦宽度参数通过如下计算公式计算获得:win_width1=TRUNC(width_par1*(A*L_NCSHIFT_DS+1))width_par1=a_width1*smooth_dist_reg+b_width1其中,a_width1=(xh_width1-xl_width1)/(yh_dist1-yl_dist1)b_width1=xh_width1-a_width1*yh_dist1其中,win_width1为所述第一升余弦宽度参数;TRUNC表示对数值进行四舍五入取整;L_NCSHIFT_DS为声道间时间差的绝对值的最大值;A为预先设定的常数,A大于等于;xh_width1为第一升余弦宽度参数的上限值;xl_width1为第一升余弦宽度参数的下限值;yh_dist1为所述第一升余弦宽度参数的上限值对应的平滑后的声道间时间差估计偏差;yl_dist1为所述第一升余弦宽度参数的下限值对应的平滑后的声道间时间差估计偏差;smooth_dist_reg为所述当前帧的前一帧的平滑后的声道间时间差估计偏差;所述xh_width1、所述xl_width1、所述yh_dist1和所述yl_dist1均为正数。4.根据权利要求3所述的方法,其特征在于,width_par1=min(width_par1,xh_width1);width_par1=max(width_par1,xl_width1);其中,min表示取最小值,max表示取最大值。5.根据权利要求3或4所述的方法,其特征在于,所述第一升余弦高度偏移量通过如下计算公式计算获得:win_bias1=a_bias1*smooth_dist_reg+b_bias1其中,a_bias1=(xh_bias1-xl_bias1)/(yh_dist2-yl_dist2)b_bias1=xh_bias1-a_bias1*yh_dist2其中,win_bias1为所述第一升余弦高度偏移量;xh_bias1为第一升余弦高度偏移量的上限值;xl_bias1为第一升余弦高度偏移量的下限值;yh_dist2为所述第一升余弦高度偏移量的上限值对应的平滑后的声道间时间差估计偏差;yl_dist2为所述第一升余弦高度偏移量的下限值对应的平滑后的声道间时间差估计偏差;smooth_dist_reg为所述当前帧的前一帧的平滑后的声道间时间差估计偏差;所述yh_dist2、所述yl_dist2、所述xh_bias1和所述xl_bias1均为正数。6.根据权利要求5所述的方法,其特征在于,win_bias1=min(win_bias1,xh_bias1);win_bias1=max(win_bias1,xl_bias1);其中,min表示取最小值,max表示取最大值。7.根据权利要求5或6所述的方法,其特征在于,yh_dist2=yh_dist1;yl_dist2=yl_dist1。8.根据权利要求1至7任一所述的方法,其特征在于,所述自适应窗函数通过下述公式表示:当0≤k≤TRUNC(A*L_NCSHIFT_DS/2)-2*win_width1-1时,loc_weight_win(k)=win_bias1当TRUNC(A*L_NCSHIFT_DS/2)-2*win_width1≤k≤TRUNC(A*L_NCSHIFT_DS/2)+2*win_width1-1时,loc_weight_win(k)=0.5*(1+win_bias1)+0.5*(1-win_bias1)*cos(π*(k-TRUNC(A*L_NCSHIFT_DS/2))/(2*win_width1))当TRUNC(A*L_NCSHIFT_DS/2)+2*win_width1≤k≤A*L_NCSHIFT_DS时,loc_weight_win(k)=win_bias1其中,loc_weight_win(k),k=0,1,…,A*L_NCSHIFT_DS,用于表征所述自适应窗函数;A为预设的常数,且A大于等于4;L_NCSHIFT_DS为声道间时间差的绝对值的最大值;win_width1为第一升余弦宽度参数;win_bias1为第一升余弦高度偏移量。9.根据权利要求2至8任一所述的方法,其特征在于,所述根据所述加权后的互相关系数确定当前帧的声道间时间差之后,还包括:根据所述当前帧的前一帧的平滑后的声道间时间差估计偏差、所述当前帧的时延轨迹估计值和所述当前帧的声道间时间差,计算当前帧的平滑后的声道间时间差估计偏差;所述当前帧的平滑后的声道间时间差估计偏差,通过如下计算公式计算获得:smooth_dist_reg_update=(1-γ)*smooth_dist_reg+γ*dist_reg’dist_reg’=|reg_prv_corr-cur_itd|其中,smooth_dist_reg_update为所述当前帧的平滑后的声道间时间差估计偏差;γ为第一平滑因子,0<γ<1;smooth_dist_reg为所述当前帧的前一帧的平滑后的声道间时间差估计偏差;reg_prv_corr为所述当前帧的时延轨迹估计值;cur_itd为所述当前帧的声道间时间差。10.根据权利要求1所述的方法,其特征在于,所述确定当前帧的自适应窗函数,包括:根据所述互相关系数,确定当前帧的声道间时间差的初始值;根据所述当前帧的时延轨迹估计值和所述当前帧的声道间时间差的初始值,计算当前帧的声道间时间差估计偏差;根据所述当前帧的声道间时间差估计偏差,确定所述当前帧的自适应窗函数;所述当前帧的声道间时间差估计偏差通过如下计算公式计算获得:dist_reg=|reg_prv_corr-cur_itd_init|其中,dist_reg为所述当前帧的声道间时间差估计偏差,reg_prv_corr为所述当前帧的时延轨迹估计值,cur_itd_init为所述当前帧的声道间时间差的初始值。11.根据权利要求10所述的方法,其特征在于,所述根据所述当前帧的声道间时间差估计偏差,确定所述当前帧的自适应窗函数,包括:根据所述当前帧的声道间时间差估计偏差,计算第二升余弦宽度参数;根据所述当前帧的声道间时间差估计偏差,计算第二升余弦高度偏移量;根据所述第二升余弦宽度参数和所述第二升余弦高度偏移量,确定所述当前帧的自适应窗函数。12.根据权利要求1至11任一所述的方法,其特征在于,所述加权后的互相关系数通过如下计算公式计算获得:c_weight(x)=c(x)*loc_weight_win(x-TRUNC(reg_prv_corr)+TRUNC(A*L_NCSHIFT_DS/2)-L_NCSHIFT_DS)其中,c_weight(x)为所述加权后的互相关系数;c(x)为所述互相关系数;loc_weight_win为所述当前帧的自适应窗函数;TRUNC表示对数值进行四舍五入取整;reg_prv_corr为所述当前帧的时延轨迹估计值;x为大于等于零且小于等于2*L_NCSHIFT_DS的整数;所述L_NCSHIFT_DS为声道间时间差的绝对值的最大值。13.根据权利要求1至12任一所述的方法,其特征在于,所述确定所述当前帧的自适应窗函数之前,还包括:根据当前帧的前一帧的编码参数,确定所述当前帧的自适应窗函数的自适应参数;其中,所述编码参数用于指示当前帧的前一帧的多声道信号的类型,或者,所述编码参数用于指示经过时域下混处理的当前帧的前一帧的多声道信号的类型;所述自适应参数用于确定所述当前帧的自适应窗函数。14.根据权利要求1至13任一所述的方法,其特征在于,所述根据缓存的至少一个过去帧的声道间时间差信息,确定当前帧的时延轨迹估计值,包括:根据缓存的所述至少一个过去帧的声道间时间差信息,通过线性回归方法进行时延轨迹估计,确定所述当前帧的时延轨迹估计值。15.根据权利要求1至13任一所述的方法,其特征在于,所述根据缓存的至少一个过去帧的声道间时间差信息,确定当前帧的时延轨迹估计值,包括:根据缓存的所述至少一个过去帧的声道间时间差信息,通过加权线性回归方法进行时延轨迹估计,确定所述当前帧的时延轨迹估计值。16.根据权利要求1至15任一所述的方法,其特征在于,所述根据所述加权后的互相关系数确定当前帧的声道间时间差之后,还包括:对缓存的所述至少一个过去帧的声道间时间差信息进行更新,所述至少一个过去帧的声道间时间差信息为至少一个过去帧的声道间时间差平滑值或至少一个过去帧的声道间时间差。17.根据权利要求16所述的方法,其特征在于,所述至少一个过去帧的声道间时间差信息为所述至少一个过去帧的声道间时间差平滑值,所述对缓存的所述至少一个过去帧的声道间时间差信息进行更新,包括:根据所述当前帧的时延轨迹估计值和所述当前帧的声道间时间差,确定当前帧的声道间时间差平滑值;根据所述当前帧的声道间时间差平滑值,对缓存的所述至少一个过去帧的声道间时间差平滑值进行更新;所述当前帧的声道间时间差平滑值,通过如下计算公式获得:其中,cur_itd_smooth为所述当前帧的声道间时间差平滑值;为第二平滑因子,且为大于等于0且小于等于1的常数,reg_prv_corr为所述当前帧的时延轨迹估计值,cur_itd为所述当前帧的声道间时间差。18.根据权利要求16或17所述的方法,其特征在于,所述对缓存的所述至少一个过去帧的声道间时间差信息进行更新,包括:当当前帧的前一帧的语音激活检测结果为激活帧或当前帧的语音激活检测结果为激活帧时,对缓存的所述至少一个过去帧的声道间时间差信息进行更新。19.根据权利要求15至18任一所述的方法,其特征在于,所述根据所述加权后的互相关系数确定当前帧的声道间时间差之后,还包括:对缓存的至少一个过去帧的加权系数进行更新,所述至少一个过去帧的加权系数是所述加权线性回归方法中的加权系数。20.根据权利要求19所述的方法,其特征在于,当所述当前帧的自适应窗函数是根据当前帧的前一帧的平滑后的声道间时间差确定的时,所述对缓存的至少一个过去帧的加权系数进行更新,包括:根据当前帧的平滑后的声道间时间差估计偏差,计算当前帧的第一加权系数;根据所述当前帧的第一加权系数,对缓存的所述至少一个过去帧的第一加权系数进行更新;所述当前帧的第一加权系数通过如下计算公式计算获得:wgt_par1=a_wgt1*smooth_dist_reg_update+b_wgt1a_wgt1=(xl_wgt1-xh_wgt1)/(yh_dist1’-yl_dist1’)b_wgt1=xl_wgt1-a_wgt1*yh_dist1’其中,wgt_par1为所述当前帧的第一加权系数,smooth_dist_reg_update为所述当前帧的平滑后的声道间时间差估计偏差;xh_wgt为第一加权系数的上限值;xl_wgt为第一加权系数的下限值;yh...

【专利技术属性】
技术研发人员:艾雅·苏谟特李海婷苗磊
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1