一种丢包隐藏中基音周期的计算方法、计算装置及可读介质制造方法及图纸

技术编号:37168713 阅读:7 留言:0更新日期:2023-04-20 22:40
本发明专利技术公开了一种丢包隐藏中基音周期的计算方法、计算装置及可读介质,其中,所述计算方法通过相关系数法获得基音周期,而在相关系数的计算过程中,去掉了对于模板窗总能量和x2的计算,调整了滑动窗总能量和y2的计算过程,并用泰勒展开方法获得逼近方程,利用逼近方程近似替代了1/sqrt(z)的运算,相当于去掉了以往算法中除法和开方(sqrt)运算,而只用乘法、移位和加减替代,总计算量大大减少,即使再按这种方式实现成硬件加速电路,硬件面积也大大减少,可有效节约成本和功耗。可有效节约成本和功耗。可有效节约成本和功耗。

【技术实现步骤摘要】
一种丢包隐藏中基音周期的计算方法、计算装置及可读介质


[0001]本专利技术公开涉及网络通信
,尤其涉及一种丢包隐藏中基音周期的计算方法、计算装置及可读介质。

技术介绍

[0002]网络传输过程中,比如无线通信过程中,在受到干扰或者设备间距离比较远时,很容易发生语音包的丢失,导致语音通讯质量下降。除了使用拥有强纠错能力的信道编码以外,各种丢包隐藏技术成为在实时语音业务中应对无线网络不稳定问题的主要手段。
[0003]丢包隐藏(Packet Loss Concealment,简写PLC),是指通过合成的数据包补偿丢失的包,来消除或降低丢包对通话质量的不利影响的技术。而基音波形替代为基础的丢包隐藏方法是目前最常用的方法,该方法首先需要找到基音周期,而基音周期的确定关键在于获得基音周期对应的相关系数。
[0004]相关系数分析是一种常用的语音时域波形分析方法,由相关函数来定义。相关函数可用来测定信号间的时域相似性,当进行相关的两个信号完全不同时,相关函数的值接近于零;当进行相关的两个信号的波形相同时,则会在超前或滞后处出现峰值。因此,相关函数可用于研究信号本身,如波形的同步性、周期性等等。
[0005]现有技术,计算丢包隐藏中基音周期对应的相关系数的方法流程,如图1所示:
[0006]S101:确定模板窗x、初始的滑动窗y和滑动范围;
[0007]S102:更新滑动窗y,并计算模板窗和滑动窗两数组的点乘和num;
[0008]其中,M为模板窗x和初始的滑动窗y的长度;<br/>[0009]S103:计算模板窗总能量和x2;
[0010]S104:计算滑动窗总能量和y2;
[0011]S105:计算相关系数分母值den=sqrt(x2*y2);
[0012]S106:计算相关系数cn=num/den;
[0013]S107:保存最大的相关系数maxcn和对应滑动位置bestmatch;
[0014]S108:判断滑动窗滑动范围是否完成,若未完成,则跳转到S102继续执行;若完成,则结束。
[0015]上述计算方法中,若按16k采样率数据,模板窗长度M=120,滑动480次计算,至少需要173280次乘法,171360次加法,480次除法,480次开方运算(即sqrt运算)。而在低功耗、低成本的芯片中,比如RISC

V CPU或者ARM的M3/M4大部分使用时都是不带浮点单元且是定点的CPU,CPU跑的频率也不会太高,对sqrt运算支持不了,对定点CPU,一次定点sqrt运算要达到16bit计算精度,估计需要10个乘法5个加法的计算量,是比较耗时的计算过程,通常需要做成专用的硬件加速电路来实现,否则运算量太大;如果CPU不支持定点除法硬件加速电路,定点除法也是比定点乘法要多耗时很多的。可见现有技术对丢包隐藏算法内的模式匹配相关系数方法计算量非常大,一般在低功耗低成本的芯片中很可能跑得很吃力,并导致
需要提高频率,增加功耗,而如果要增加硬件加速电路,又增加了成本。
[0016]因此,是否可优化丢包隐藏中基音周期对应相关系数的计算方法,以降低运算量,成为人们亟待解决的问题。

技术实现思路

[0017]鉴于此,本专利技术提供了一种丢包隐藏中基音周期的计算方法、计算装置及可读介质,以解决
技术介绍
中所存在的问题。
[0018]一方面,本专利技术提供了一种丢包隐藏中基音周期的计算方法,该计算方法包括如下步骤:
[0019]S1:基于历史语音数据确定模板窗x、初始的滑动窗y以及滑动范围;
[0020]S2:计算所述初始的滑动窗能量和y2a;
[0021]S3:将滑动窗y沿预设方向滑动单元长度后,获得更新的滑动窗y,并计算模板窗和滑动窗两数组的点乘和num;
[0022]S4:利用公式y2=y2a+y(M

1),计算获得滑动窗总能量和y2,其中,y(M

1)为所述滑动窗内最后一个数值的能量;
[0023]S5:将函数f(z)=1/sqrt(z)进行泰勒展开,获得逼近方程,并依据所述逼近方程以及所述滑动窗总能量和y2,计算获得相关系数分母值的倒数den2;
[0024]S6:依据所述模板窗和滑动窗两数组的点乘和num以及相关系数分母值的倒数den2,计算获得相关系数cn;
[0025]S7:保存最大的相关系数maxcn以及对应的滑动位置bestmach;
[0026]S8:更新初始的滑动窗能量和y2a=y2

y(0),其中,y(0)为滑动窗内第一数值的能量;
[0027]S9:判断滑动窗滑动范围是否完成,若未完成,则依次执行S3

S8;
[0028]S10:若完成,获取步骤S7中保存的滑动位置bestmach,计算所述滑动位置bestmach与初始的滑动窗y位置的距离,获得基音周期。
[0029]优选,步骤S2中,所述计算所述初始的滑动窗能量和y2a的具体公式为:
[0030]其中,M为初始的滑动窗y的长度。
[0031]进一步优选,步骤S5中,所述逼近方程为:
[0032]进一步优选,步骤S5中,所述逼近方程为:
[0033]进一步优选,步骤S6中,所述依据所述模板窗和滑动窗两数组的点乘和num以及相关系数分母值的倒数den2,计算获得相关系数cn的具体公式为:
[0034]cn=num*den2。
[0035]另一方面,本专利技术还提供了一种计算装置,该计算装置包括:
[0036]一个或多个处理器;
[0037]存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述任意一种计算方法。
[0038]此外,本专利技术还提供了一种计算机可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种计算方法。
[0039]本专利技术提供的丢包隐藏中基音周期的计算方法中,通过相关系数法获得基音周期,而在相关系数的计算过程中,去掉了对于模板窗总能量和x2的计算,调整了滑动窗总能量和y2的计算过程,并用泰勒展开方法获得逼近方程,利用逼近方程近似替代了1/sqrt(z)的运算,相当于去掉了
技术介绍
中除法和开方(sqrt)运算,而只用乘法、移位和加减替代,总计算量大大减少,即使再按这种方式实现成硬件加速电路,硬件面积也大大减少,可有效节约成本和功耗。
[0040]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本专利技术的公开。
附图说明
[0041]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。
[0042]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种丢包隐藏中基音周期的计算方法,其特征在于,包括如下步骤:S1:基于历史语音数据确定模板窗x、初始的滑动窗y以及滑动范围;S2:计算所述初始的滑动窗能量和y2a;S3:将滑动窗y沿预设方向滑动单元长度后,获得更新的滑动窗y,并计算模板窗和滑动窗两数组的点乘和num;S4:利用公式y2=y2a+y(M

1),计算获得滑动窗总能量和y2,其中,y(M

1)为所述滑动窗内最后一个数值的能量;S5:将函数f(z)=1/sqrt(z)进行泰勒展开,获得逼近方程,并依据所述逼近方程以及所述滑动窗总能量和y2,计算获得相关系数分母值的倒数den2;S6:依据所述模板窗和滑动窗两数组的点乘和num以及相关系数分母值的倒数den2,计算获得相关系数cn;S7:保存最大的相关系数maxcn以及对应的滑动位置bestmach;S8:更新初始的滑动窗能量和y2a=y2

y(0),其中,y(0)为滑动窗内第一数值的能量;S9:判断滑动窗滑动范围是否完成,若未完成,则依次执行S3

S8;S10:若完成,获取步骤S7中保...

【专利技术属性】
技术研发人员:谢湘勇
申请(专利权)人:成都华曜芯科技股份有限公司
类型:发明
国别省市:

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

1