语音特征提取加速方法、装置、设备和存储介质与流程
- 国知局
- 2024-06-21 11:38:52
本技术涉及语音识别,特别是涉及到一种语音特征提取加速方法、装置、设备和存储介质。背景技术:::1、在语音识别领域,一般会对输入的语音进行特征提取,然后进行后续的识别、降噪等。要将语音算法部署到实际产品中,特征提取算法的快慢直接影响到能否实时处理,特别是低算力芯片。在语音特征提取算法中,有一步是不可或缺的,就是开方计算,是在计算功率谱中的必要计算。在智能语音设备中,受到资源和实时计算的限制,一般推理计算采用定点方式。因此,如何加速低算力芯片定点开方的推理速度并且保证精度,从而加速语音特征提取的速度并且保证精度,进而使得语音实时识别能够在低算力芯片上实现且保证精度是亟需解决的技术问题。技术实现思路1、本发明的主要目的为提供一种语音特征提取加速方法、装置设备和存储介质,旨在加速低算力芯片语音特征提取的速度并且保证精度。2、为了实现上述发明目的,本发明第一方面提出一种语音特征提取加速方法,所述方法包括:3、获取原始语音信号;4、对所述原始语音信号进行语音特征提取,获得语音特征;其中,在语音特征提取过程中,通过如下步骤计算目标定点值的开方值;5、获取目标定点值;6、将所述目标定点值移动到固定的q0,得到第二目标定点值;其中,q0表示目标精度且预先设定;7、若所述第二目标定点值在第一预设区间内,则基于第一查找表获取所述目标定点值的开方值;其中,所述第一查找表存储的是第一预设区间的开方值;8、若所述第二目标定点值在第二预设区间内,则计算将所述第二目标定点值移动到所述第一预设区间所需右移的位数,利用所述所需右移的位数对所述第二目标定点值进行移位,移动到所述第一预设区间,获得第三目标定点值;计算对所述第二目标定点值进行移位导致的截断,作为第一截断;其中,所述第二预设区间的最小值大于所述第一预设区间的最大值;9、基于所述第三目标定点值、所述所需右移的位数、所述第一截断、所述第一查找表以及插值计算方法计算所述目标定点值的开方值;10、若所述第二目标定点值大于所述第二预设区间的最大值,则基于所述第二目标定点值和牛顿迭代法计算所述目标定点值的开方值。11、进一步的,所述若所述第二目标定点值在第一预设区间内,则基于第一查找表获取所述目标定点值的开方值的步骤包括:12、若所述第二目标定点值在第一预设区间内,则获取所述目标定点值移动到固定的q0导致的截断,作为第二截断;13、如果第二截断为0,则直接从所述第一查找表获取所述第二目标定点值的开方值;14、将所述第二目标定点值的开方值作为所述目标定点值的开方值;15、如果第二截断不为0,则结合所述第一查找表和所述第二截断进行插值处理,获得所述目标定点值的开方值。16、进一步的,所述获取所述目标定点值移动到固定的q0导致的截断,作为第二截断的步骤包括:17、根据公式mask2 = (1<<(q_in -q0)) - 1 和公式res 2= x&mask2计算所述目标定点值移动到固定的q0导致的截断;其中,q_in表示所述目标定点值的数值精度,mask2为第二掩膜,x为目标定点值,res2为第二截断;18、所述结合所述第一查找表和所述第二截断进行插值处理,获得所述目标定点值的开方值的步骤包括:19、根据公式计算所述目标定点值的开方值;20、y=(sqrt_table[x2] * (mask2 + 1 - res2) + sqrt_table[x2+ 1]* res2)>>(q_in - q0);21、其中,sqrt_table是第一查找表,x2为第二目标定点值,y表示所述目标定点值的开方值。22、进一步的,所述计算将所述第二目标定点值移动到所述第一预设区间所需右移的位数的步骤包括:23、根据公式 shift 1= (pos -9 )>>1以及公式shift2=2*shift1计算将所述第二目标定点值移动到所述第一预设区间所需右移的位数;其中,x2表示第二目标定点值;pos表示第二目标定点值最高位的1的位置,shift 1表示将所述第二目标定点值移动到所述第一预设区间所需右移的位数的一半,shift2表示将所述第二目标定点值移动到所述第一预设区间所需右移的位数;24、所述利用所述所需右移的位数对所述第二目标定点值进行移位,移动到所述第一预设区间,获得第三目标定点值的步骤包括;25、根据公式x3= x2>>(shift1*2)获得所述第三目标定点值;其中,x3表示第三目标定点值;x2 为第二目标定点值;26、所述计算对所述第二目标定点值进行移位导致的截断,作为第一截断的步骤包括:27、根据公式res1 = x2&mask1计算对所述第二目标定点值进行移位导致的截断;其中,res1表示第一截断;其中,mask1 = (1<<(shift1*2)) - 1;mask1表示第一掩膜;28、所述基于所述第三目标定点值、所述所需右移的位数、所述第一截断、所述第一查找表以及插值计算方法计算所述目标定点值的开方值的步骤包括:29、根据公式shift3=14+shift1-output_q计算最终需要移动的位数;其中,shift1是所需右移的位数的一半,output_q是输出存储的精度值;30、若所述shift3小于0,则根据公式:31、y = (sqrt_table[x3] * (mask1+ 1 - res1) + sqrt_table[x3 + 1]* res1)<<(-shift3 )计算所述目标定点值的开方值;其中,y表示所述目标定点值的开方值,sqrt_table表示第一查找表;32、若所述shift3大于或等于0,则根据公式:33、y = (sqrt_table[x3] * (mask1+ 1 - res1) + sqrt_table[x3 + 1]* res1)>>shift3 计算所述目标定点值的开方值。34、进一步的,所述若所述第二目标定点值大于所述第二预设区间的最大值,则基于所述第二目标定点值和牛顿迭代法计算所述目标定点值的开方值的步骤包括:35、计算所述第二目标定点值最高位的1的位置;36、若所述第二目标定点值最高位的1的位置是偶数,则将所述第二目标定点值最高位的1移动到第30位,获得第四目标定点值,并将预设的第一值作为初始值;37、若所述第二目标定点值最高位的1的位置是奇数,则将所述第二目标定点值最高位的1移动到第31位,获得第四目标定点值,并将预设的第二值作为初始值;38、基于所述第四目标定点值以及所述初始值进行牛顿迭代法进行有限次迭代,获得所述第四目标定点值的开方值;39、基于所述q0、所述第二目标定点值最高位的1的位置、所述第四目标定点值的开方值计算所述目标定点值的开方值。40、进一步的,所述基于所述q0、所述第二目标定点值最高位的1的位置、所述第四目标定点值的开方值计算所述目标定点值的开方值的步骤包括:41、根据公式y = (xn1)>>right_shift_bits计算所述目标定点值的开方值;其中,right_shift_bits = (r - pos+ q0)>>1;其中,当第二目标定点值最高位的1的位置是偶数时,r=30,当第二目标定点值最高位的1的位置是奇数时,r=31;xn1为第四目标定点值,y为目标定点值的开方值,pos是第二目标定点值最高位的1的位置,right_shift_bits是需要移动的位数。42、进一步的,所述计算所述第二目标定点值最高位的1的位置的步骤包括:43、判断所述第二目标定点值是否大于2^16;44、若大于2^16,则右移16位,然后判断是否大于2^8;45、若大于或等于2^8,则再右移8位,通过第二查找表计算出移位后剩余数值最高位1的位置,然后加上16,得到第二目标定点值最高位1的位置;46、如果小于2^8,通过第二查找表计算出移位后剩余数值最高位1的位置,得到第二目标定点值最高位1的位置;47、若小于2^16,则先判断第二目标定点值是否大于或等于2^8;48、如果大于或等于2^8,则再右移动8位,通过第二查找表计算出移位后剩余数值最高位1的位置,然后加上8,得到第二目标定点值最高位1的位置;49、如果小于2^8,则直接通过第二查找表获取所述第二目标定点值的最高位的1的位置;其中,所述第三查找表存储的是以1为间隔,0~256中每个数值对应的最高位1的位置。50、第二方面,本技术实施例提供一种语音特征提取加速装置,所述装置包括:51、获取模块,用于获取原始语音信号;52、语音特征提取模块,用于对所述原始语音信号进行语音特征提取,获得语音特征;其中,在语音特征提取过程中,通过如下单元计算目标定点值的开方值;53、获取单元,用于获取目标定点值;54、移动单元,用于将所述目标定点值移动到固定的q0,得到第二目标定点值;其中,q0表示目标精度且预先设定;55、第一获取单元,用于若所述第二目标定点值在第一预设区间内,则基于第一查找表获取所述目标定点值的开方值;其中,所述第一查找表存储的是第一预设区间的开方值;56、第一计算单元,用于若所述第二目标定点值在第二预设区间内,则计算将所述第二目标定点值移动到所述第一预设区间所需右移的位数,利用所述所需右移的位数对所述第二目标定点值进行移位,移动到所述第一预设区间,获得第三目标定点值;计算对所述第二目标定点值进行移位导致的截断,作为第一截断;其中,所述第二预设区间的最小值大于所述第一预设区间的最大值;57、第二计算单元,用于基于所述第三目标定点值、所述所需右移的位数、所述第一截断、所述第一查找表以及插值计算方法计算所述目标定点值的开方值;58、第三计算单元,用于若所述第二目标定点值大于所述第二预设区间的最大值,则基于所述第二目标定点值和牛顿迭代法计算所述目标定点值的开方值。59、第三方面,本技术实施例提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如上述任一项所述的语音特征提取加速方法的步骤。60、第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的语音特征提取加速方法的步骤。61、本技术实施例提供的语音特征提取加速方法,包括:获取原始语音信号;62、对所述原始语音信号进行语音特征提取,获得语音特征;其中,在语音特征提取过程中,通过如下步骤计算目标定点值的开方值;获取目标定点值;将所述目标定点值移动到固定的q0,得到第二目标定点值;其中,q0表示目标精度且预先设定;若所述第二目标定点值在第一预设区间内,则基于第一查找表获取所述目标定点值的开方值;其中,所述第一查找表存储的是第一预设区间的开方值;若所述第二目标定点值在第二预设区间内,则计算将所述第二目标定点值移动到所述第一预设区间所需右移的位数,利用所述所需右移的位数对所述第二目标定点值进行移位,移动到所述第一预设区间,获得第三目标定点值;计算对所述第二目标定点值进行移位导致的截断,作为第一截断;其中,所述第二预设区间的最小值大于所述第一预设区间的最大值;基于所述第三目标定点值、所述所需右移的位数、所述第一截断、所述第一查找表以及插值计算方法计算所述目标定点值的开方值;若所述第二目标定点值大于所述第二预设区间的最大值,则基于所述第二目标定点值和牛顿迭代法计算所述目标定点值的开方值。本技术实施例通过分情况处理,减少了移位引起的误差累加,提升了计算的精度1~2个数量级别,从而提升了语音特征的提取精度,进而提升了语音识别的精度。本技术考虑了移位截断导致的误差,提升了精度。另外,开方运算在特征计算中数值范围可控,通过表格的设定可将大部分数值控制在表格范围及很少次移动计算获取,大幅提升了计算速度,从而提升了语音特征提取的速度,进而提升了语音识别的速度。另外,对大的值也可进行处理,通过牛顿迭代法既可以保证精度、速度也大幅提升,从而大幅提升语音特征提取的精度,进而提升了语音识别的精度。当前第1页12当前第1页12
本文地址:https://www.jishuxx.com/zhuanli/20240618/22658.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。