一种用于音频DSP数据的防溢出方法技术

技术编号:29672646 阅读:18 留言:0更新日期:2021-08-13 21:54
本申请公开的用于音频DSP数据的防溢出方法,包括:启动计数器;用Next帧和Last帧获取音频数据,对其进行格式转换、DSP及防溢出处理;在Next帧中,获取衰减系数,并对比历史衰减系数:若衰减系数<历史衰减系数,对Last帧数据进行线性变化系数衰减处理,清空计数器,后对Next帧进行固定系数衰减处理,更新历史衰减系数;反之对计数器进行加一处理,对比计数器值CNT与计算阈值Nth:若Nth>CNT,对Next帧进行固定系数衰减处理;反之对Next帧数据进行线性变化系数放大处理,清空计数器,更新历史衰减系数;最后输出Last帧数据。其能够平滑地修复数据,修复能力强,有效地实现数据的防溢出处理。

【技术实现步骤摘要】
一种用于音频DSP数据的防溢出方法
本申请涉及数据信号处理
,更具体地说,尤其涉及一种用于音频DSP数据的防溢出方法。
技术介绍
在音频行业中,DSP(数字信号处理)是其不可或缺的一部分。通过DSP技术,不仅可获得符合人们需要的信号形式,而且还可以实现语音识别、回音消除等功能。但音频文件有相应的文件格式,并且格式中有数据位数的限制,通过DSP处理后的数据有可能超过其位数所能表示的范围,造成溢出现象,严重影响音乐的音质。目前对于音频数据溢出现象,现有的消除方法主要包括:直接削去数据的溢出部分;使用动态更新衰减系数来对数据的溢出部分进行衰减以及使用预测的方法修复音频被截幅的部分。但是,上述的音频数据防溢出方法并没有关注截幅部分与非截幅部分的跳变,若用在音乐设备上,则有可能出现“哒哒”的噪声,并且各个频率之间相对功率比值发生了明显的改变,若音频数据发生严重的溢出现象,修复效果不明显。因此,如何提供一种用于音频DSP数据的防溢出方法,其能够平滑地修复数据,修复能力强,更有效地实现数据的防溢出处理,已经成为本领域技术人员亟待解决的技术问题。
技术实现思路
为解决上述技术问题,本申请提供一种用于音频DSP数据的防溢出方法,其能够平滑地修复数据,修复能力强,更有效地实现数据的防溢出处理。本申请提供的技术方案如下:本申请提供一种用于音频DSP数据的防溢出方法,包括步骤S1至步骤S7,具体为:S1:启动计数器,清理历史参数以及数据;S2:使用Next帧和Last帧获取待处理的音频数据;S3:对音频数据进行格式转换以及整合,随后对其进行DSP处理;S4:获取衰减系数NextQ、历史衰减系数NextAttQ以及辅助衰减系数LogAttQ,对比历史衰减系数NextAttQ与衰减系数NextQ的大小;S5:若NextQ<NextAttQ,更新历史衰减系数NextAttQ值以及辅助衰减系数LogAttQ值,清空计数器,对Last帧数据进行线性变化系数衰减处理,随后进入步骤S6进行固定系数衰减处理;若NextQ≥NextAttQ,则对计数器进行加一处理得到计数器值CNT,获取计数器计算阈值Nth;对比计数器值CNT与计算阈值Nth:若Nth>CNT,则进入步骤S6进行固定系数衰减处理;若Nth≤CNT,则对Next帧数据进行线性变化系数放大处理,清零计数器并更新历史衰减系数NextAttQ,随后直接进入步骤S7输出Last帧数据;S6:对Next帧数据进行固定系数衰减处理;S7:输出Last帧数据,交换Last帧与Next帧的数据缓冲区,随后跳回步骤S2进行新一轮数据防溢出处理。进一步地,在本专利技术一种优选方式中,在步骤S3中,所述音频数据进行格式转换以及整合包括:S301:将音频数据由整数型转换成浮点型。进一步地,在本专利技术一种优选方式中,在步骤S4中,所述获取衰减系数NextQ包括:S401:获取经DSP处理后Next帧数据中前M个最大绝对值MAXi,计算前M个最大绝对值的平均值NextMAX并获取音频数据的位数能表示的最大值MAXTH,对比NextMAX与MAXTH的大小;S402:若NextMAX≤MAXTH,则直接进入步骤S5;若NextMAX>MAXTH,计算衰减系数NextQ,计算公式为:;对比衰减系数NextQ以及预设的初始衰减值AttTH,若NextQ>AttTH,则给定NextQ=AttTH后进入步骤S5。进一步地,在本专利技术一种优选方式中,所述音频数据的位数能表示的最大值MAXTH具体表示为:式中:N—音频数据的位数。进一步地,在本专利技术一种优选方式中,在步骤S5中,所述对Last帧数据进行线性变化系数衰减处理包括:S501:进入Last帧衰减处理系统;S502:参数获取:获取数据帧的长度Len、参考步进长度StepMin、历史衰减系数NextAttQ以及辅助衰减系数LogAttQ;S503:参数预处理:首先,获取目标衰减系数:;并获取初步需操作的数据长度:;其次,处理NGap的长度:若NGap>Len×δ,则数据长度过长,进行裁剪操作:给定NGap=Len×δ,δ为数据帧长度的比例系数,取值范围为;若NGap<Len×δ,则表明数据长度过短,进行延长操作:给定NGap=Numth,其中Numth=Len/10;最后,获取系数步进值:;S504:将数据进行平滑操作;S505:步骤返回处理好的数据,退出Last帧衰减处理系统。进一步地,在本专利技术一种优选方式中,在步骤S502中,所述参考步进长度StepMin的计算公式具体为:式中:DOT—测试深度,所述DOT由单频音频测试获得。进一步地,在本专利技术一种优选方式中,在步骤S504中,所述将数据进行平滑操作的操作公式具体为:式中:。进一步地,在本专利技术一种优选方式中,在步骤S5中,所述对Next帧数据进行线性变化系数放大处理包括:S506:进入Next帧放大处理系统;S507:参数获取:获取数据帧的长度Len、历史衰减系数NextAttQ以及辅助衰减系数LogAttQ。S508:参数预处理:首先,获取目标放大系数:;其次,获取回升步进值:;S509:将数据进行放大操作;S510:步骤返回处理好的数据,退出Next帧放大处理系统。进一步地,在本专利技术一种优选方式中,在步骤S509中,所述将数据进行放大操作的操作公式具体为:式中:。进一步地,在本专利技术一种优选方式中,在步骤S6中,所述对Next帧数据进行固定系数衰减处理的处理公式为:。本专利技术提供的一种用于音频DSP数据的防溢出方法,与现有技术相比,包括以下步骤:S1:启动计数器,清理历史参数以及数据;S2:使用Next帧和Last帧获取待处理的音频数据;S3:对音频数据进行格式转换以及整合,随后对其进行DSP处理;S4:获取衰减系数NextQ、历史衰减系数NextAttQ以及辅助衰减系数LogAttQ,对比历史衰减系数NextAttQ与衰减系数NextQ的大小;S5:若NextQ<NextAttQ,更新历史衰减系数NextAttQ值以及辅助衰减系数LogAttQ值,清空计数器,对Last帧数据进行线性变化系数衰减处理,随后进入步骤S6进行固定系数衰减处理;若NextQ≥NextAttQ,则对计数器进行加一处理得到计数器值CNT,获取计数器计算阈值Nth;对比计数器值CNT与计算阈值Nth:若Nth>CNT,则进入步骤S6进行固定系数衰减处理;若Nth≤CNT,则对Next帧数据进行线性变化系数放大处理,清零计数器并更新历史衰减系数NextAttQ,随后直接进入步骤S7输出Last帧数据;S6:对Next帧数据进行固定系数衰减处理;S7:输出Last帧数据,交换Last帧与Next帧的数据缓冲区,本文档来自技高网...

【技术保护点】
1.一种用于音频DSP数据的防溢出方法,其特征在于,包括步骤S1至步骤S7七个步骤,具体为:/nS1:启动计数器,清理历史参数以及数据;/nS2:使用Next帧和Last帧获取待处理的音频数据;/nS3:对音频数据进行格式转换以及整合,随后对其进行DSP处理;/nS4:获取衰减系数NextQ、历史衰减系数NextAttQ以及辅助衰减系数LogAttQ,对比历史衰减系数NextAttQ与衰减系数NextQ的大小;/nS5:若NextQ<NextAttQ,更新历史衰减系数NextAttQ值以及辅助衰减系数LogAttQ值,清空计数器,对Last帧数据进行线性变化系数衰减处理,随后进入步骤S6进行固定系数衰减处理;/n若NextQ≥NextAttQ,则对计数器进行加一处理得到计数器值CNT,获取计数器计算阈值Nth;对比计数器值CNT与计算阈值Nth:若Nth>CNT,则进入步骤S6进行固定系数衰减处理;若Nth≤CNT,则对Next帧数据进行线性变化系数放大处理,清零计数器并更新历史衰减系数NextAttQ,随后直接进入步骤S7输出Last帧数据;/nS6:对Next帧数据进行固定系数衰减处理;/nS7:输出Last帧数据,交换Last帧与Next帧的数据缓冲区,随后跳回步骤S2进行新一轮数据防溢出处理。/n...

【技术特征摘要】
1.一种用于音频DSP数据的防溢出方法,其特征在于,包括步骤S1至步骤S7七个步骤,具体为:
S1:启动计数器,清理历史参数以及数据;
S2:使用Next帧和Last帧获取待处理的音频数据;
S3:对音频数据进行格式转换以及整合,随后对其进行DSP处理;
S4:获取衰减系数NextQ、历史衰减系数NextAttQ以及辅助衰减系数LogAttQ,对比历史衰减系数NextAttQ与衰减系数NextQ的大小;
S5:若NextQ<NextAttQ,更新历史衰减系数NextAttQ值以及辅助衰减系数LogAttQ值,清空计数器,对Last帧数据进行线性变化系数衰减处理,随后进入步骤S6进行固定系数衰减处理;
若NextQ≥NextAttQ,则对计数器进行加一处理得到计数器值CNT,获取计数器计算阈值Nth;对比计数器值CNT与计算阈值Nth:若Nth>CNT,则进入步骤S6进行固定系数衰减处理;若Nth≤CNT,则对Next帧数据进行线性变化系数放大处理,清零计数器并更新历史衰减系数NextAttQ,随后直接进入步骤S7输出Last帧数据;
S6:对Next帧数据进行固定系数衰减处理;
S7:输出Last帧数据,交换Last帧与Next帧的数据缓冲区,随后跳回步骤S2进行新一轮数据防溢出处理。


2.根据权利要求1所述的用于音频DSP数据的防溢出方法,其特征在于,在步骤S3中,所述音频数据进行格式转换以及整合包括:S301:将音频数据由整数型转换成浮点型。


3.根据权利要求1所述的用于音频DSP数据的防溢出方法,其特征在于,在步骤S4中,所述获取衰减系数NextQ包括:
S401:获取经DSP处理后Next帧数据中前M个最大绝对值MAXi,计算前M个最大绝对值的平均值NextMAX并获取音频数据的位数能表示的最大值MAXTH,对比NextMAX与MAXTH的大小;
S402:若NextMAX≤MAXTH,则直接进入步骤S5;若NextMAX>MAXTH,计算衰减系数NextQ,计算公式为:


对比衰减系数NextQ以及预设的初始衰减值AttTH,若NextQ>AttTH,则给定NextQ=AttTH后进入步骤S5。


4.根据权利要求3所述的用于音频DSP数据的防溢出方法,其特征在于,所述音频数据的位数能表示的最大值MAXTH具体表示为:



式中:N—音频数据的位数。


5.根...

【专利技术属性】
技术研发人员:王俊华
申请(专利权)人:长沙联远电子科技有限公司
类型:发明
国别省市:湖南;43

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

1