一种音频修复方法、装置、设备及介质
技术领域
本公开涉及音频处理
技术领域
,尤其涉及一种音频修复方法、装置、设备及介质。背景技术
在诸如音视频会议、网络直播和网络课程等场景都涉及到音频传播,但因诸如音频设备、录制方式、录制场合等各种原因都可能会出现音频截波(截幅)现象,从而导致音频失真。诸如,当用户使用的麦克风设备增益较高且播放设备的音量设定过高时,麦克风采集到的近端语音信号和远端回声信号的大小容易超出阈值而出现音频波形的截波现象,也即,超出阈值的波形部分会被截断。
相关技术中大多采用较为复杂的方式来进行音频修复,诸如,采用稀疏合成和稀疏分析模型法、最小均方自回归模型法和最小化高阶导数能量法等较为复杂的方式来进行音频修复,但是这种方式运算量非常大,修复用时较长,难以达到诸如音视频会议、网络直播、网络课程等场景所需的快速实时的音频修复效果。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种音频修复方法、装置、设备及介质。
本公开实施例提供了一种音频修复方法,所述方法包括:获取待处理的音频帧信号;检测所述音频帧信号中存在的截波区间;其中,所述截波区间中包含连续的多个截波点,所述截波点为幅值超过预设阈值的信号点;根据与所述截波区间临近的非截波点判断检测到的所述截波区间是否满足指定插值条件;如果是,基于所述非截波点采用指定插值法对所述截波区间进行修复。
可选的,所述获取待处理的音频帧信号的步骤,包括:将待处理音频进行分帧处理,得到初始帧信号;如果所述初始帧信号的原始数据类型并非指定数据类型,则将所述初始帧信号转换为所述指定数据类型;将转换后的初始帧信号作为待处理的音频帧信号。
可选的,所述方法还包括:将修复处理后的所述音频帧信号的数据类型转换为所述原始数据类型。
可选的,所述指定插值条件包括抛物线插值条件,所述根据所述截波区间临近的非截波点判断所述截波区间是否满足指定插值条件的步骤,包括:检测所述截波区间的首个截波点之前且在不跨越其它截波区间的情况下是否存在至少两个非截波点;以及,检测所述截波区间的末个截波点之后且在不跨越其它截波区间的情况下是否存在至少两个非截波点;如果检测结果均为是,确定所述截波区间满足抛物线插值条件。
可选的,所述基于所述非截波点采用抛物线插值法对所述截波区间进行修复的步骤,包括:计算与所述截波区间的首个截波点最临近的两个非截波点之间的第一斜率的绝对值,以及与所述截波区间的末个截波点最临近的两个非截波点之间的第二斜率的绝对值;如果所述第一斜率的绝对值小于或等于所述第二斜率的绝对值,选择与所述截波区间的首个截波点最临近的两个非截波点以及与所述截波区间的末个截波点最临近的一个非截波点进行抛物线插值计算,基于得到的第一插值计算结果对所述截波区间进行修复;如果所述第一斜率的绝对值大于所述第二斜率的绝对值,选择与所述截波区间的末个截波点最临近的两个非截波点以及与所述截波区间的首个截波点最临近的一个非截波点进行所述抛物线插值计算,基于得到的第二插值计算结果对所述截波区间进行修复。
可选的,所述方法还包括:采用预设平滑滤波算法,针对修复后的所述截波区间、位于所述截波区间的首个截波点之前的第一指定长度区间、以及位于所述截波区间的末个截波点之后的第二指定长度区间进行平滑处理。
可选的,所述方法还包括:针对修复后的所述音频帧信号进行动态范围压缩处理,以使修复后的所述音频帧信号的幅值范围均位于指定幅值范围区间。
可选的,所述针对修复后的所述音频帧信号进行动态范围压缩处理的步骤,包括:通过对数查表法将修复后的所述音频帧信号转换至对数域进行表示;将转换后的所述音频帧信号进行动态范围压缩处理。
可选的,所述方法还包括:如果所述截波区间不满足所述指定插值条件,对所述音频帧信号进行动态范围压缩处理,以使所述音频帧信号的幅值范围均位于指定幅值范围区间。
本公开实施例还提供了一种音频修复装置,所述装置包括:信号获取模块,用于获取待处理的音频帧信号;截波检测模块,用于检测所述音频帧信号中存在的截波区间;其中,所述截波区间中包含连续的多个截波点,所述截波点为幅值超过预设阈值的信号点;判断模块,用于根据与所述截波区间临近的非截波点判断检测到的所述截波区间是否满足指定插值条件;截波修复模块,用于在所述判断模块的判断结果为是时,基于所述非截波点采用指定插值法对所述截波区间进行修复。
本公开实施例还提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现如本公开实施例提供的音频修复方法。
本公开实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如本公开实施例提供的音频修复方法。
在本公开实施例提供的上述技术方案中,能够根据检测到的音频信号中截波区间临近的非截波点,判断截波区间是否满足指定插值条件,在满足条件时则基于非截波点采用指定插值法对截波区间进行修复。本公开实施例提供的上述方式,利用截波区间临近的非截波点对截波区间进行插值修复,由于插值法的运算量很低,因此可极大缩短修复时间,可达到快速实时的音频修复效果。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种音频修复方法的流程示意图;
图2为本公开实施例提供的另一种音频修复方法的流程示意图;
图3为本公开实施例提供的一种动态范围压缩处理示意图;
图4为本公开实施例提供的一种音频修复装置的结构框图;
图5为本公开实施例提供的另一种音频修复装置的结构框图;
图6为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
音频截波现象会导致音频失真,在音频的截波位置中,连续波形超过阈值(诸如±32767)的部分会被截断,截断的部分也可称为截波区间或者截波区域,容易出现类似白噪声的高频噪声成分。对于近端信号而言,会出现“呲呲”的噪声而影响听感;对于远端回声信号,截波区间出现的高频噪声成分和参考信号的特征不一致,是一种非线性信号,也会影响线性回声消除效果,因此需要针对截波区间进行音频修复。而相关技术中采用的稀疏合成和稀疏分析模型法、最小均方自回归模型法和最小化高阶导数能量法等都需要涉及到大量的矩阵计算,运算量非常大,需要修复的时间也较长,这种高运算量和高延时性的特征使得相关技术无法适用于诸如音视频会议、网络直播和网络课程等场景进行实时修复,为改善以上问题,本公开实施例提供了一种音频修复方法、装置、设备及介质,通过在截波区间临近的非截波点符合条件时采用运算量较小的插值法进行音频修复,从而可达到快速实时的音频修复效果。为便于理解,具体可参照下文。
图1为本公开实施例提供的一种音频修复方法的流程示意图,该方法可以由音频修复装置执行,其中该装置可以采用软件和/或硬件实现,一般可集成在电子设备中。如图1所示,该方法主要包括如下步骤S102~步骤S108:
步骤S102,获取待处理的音频帧信号。
在一些实施方式中,可以实时主动获取待处理的音频帧信号,也可以被动接收外部设备输入的或者用户上传的待处理的音频帧信号。如果获取到的是一段待修复音频,则可以将待修复音频进行分帧处理,诸如按照每10ms等指定时间间隔为一帧进行划分,每个音频帧信号中包含多个信号点(也可称为数据点或采样点)。在实际应用中,还可以将分帧所得到的音频帧信号转换为指定数据类型以便于后续处理。
步骤S104,检测音频帧信号中存在的截波区间;其中,截波区间中包含连续的多个截波点,截波点为幅值超过预设阈值的信号点。
诸如,可以先检测截波点,然后根据各截波点的位置确定截波区间。通常而言,截波点由于幅值超过预设阈值而会被截断(也即,截幅或截波),连续的多个截波点则可视为一段截波区间。诸如,该预设阈值可以设置为32760等值,在检测截波区间时,可以先检测音频帧信号中幅值绝对值大于32760的信号点,并记录第一个截波点的时间坐标以及后面连续的截波点的个数,从而可确定截波区间。在实际应用中,可以遍历当前的音频帧信号所具有的所有截波区间并记录截波区间的信息,诸如将所有截波区间的起始坐标以及截波点个数存储在二维矩阵中便于后续处理。
步骤S106,根据与截波区间临近的非截波点判断检测到的截波区间是否满足指定插值条件;如果是,执行步骤S108;如果否,结束。前述“临近”可理解为“相距在指定范围内”,也即,与截波区间临近的非截波点即可以理解为与截波区间相距指定范围内的非截波点。具体而言,上述与截波区间临近的非截波点可以包括:1)在截波区间的首个截波点之前且与该首个截波点临近(相距预设距离范围内),2)在截波区间的末个截波点之后且与该末个截波点临近(相距预设距离范围内)。其中,前述截波区间的首个截波点即为截波区间的起始端,截波区间的末个截波点即为截波区间的结束端。在一些实施方式中,可以根据需求而灵活设置上述“指定范围”的范围长度,在另一些实施方式中,可以设置上述“指定范围”为两个相邻的截波区间之间的范围,也即,两个相邻的截波区间之间的非截波区段。
前述指定插值条件包括但不限于抛物线插值条件、三次样条插值条件或正弦插值条件,在此不进行限制。可以理解的是,倘若信号点进行插值,需要满足相应的插值条件,该插值条件也即能够针对信号点使用相应的插值法的前提条件,具体而言,插值条件也即能够基于与截波区间临近的非截波点,使用相应的插值法对截波区间进行插值的前提条件。以指定插值条件是抛物线插值条件为例,则该抛物线插值条件是指能够针对与截波区间临近的非截波点,采用抛物线插值法对截波区间进行插值的条件。其中,抛物线插值法又可称为二次插值法或者三阶lagrange插值法,是一种多项式插值法,只有在满足一定条件的情况下才可应用该方法。诸如,至少三个点才可实现抛物线插值。因此,只有在截波区间临近的非截波点满足条件(诸如截波区间的两端外侧均至少有指定数量个有效的非截波点)时,才能够应用这些有效的非截波点进行抛物线插值计算,得到截波区间的信号点幅值,从而拟合修复截波区间的原有波形。
步骤S108,基于非截波点采用指定插值法对截波区间进行修复。
在指定插值条件包括抛物线插值条件时,指定插值法包括抛物线插值法;在指定插值条件包括三次样条插值条件时,指定插值法包括三次样条插值法;在指定插值条件包括正弦插值条件时,指定插值法包括正弦插值法。同理,如果指定插值条件包括除上述插值条件之外的其它插值条件时,指定插值法包括与其它插值条件相应的插值法,在此不进行限制。
如果截波区间满足抛物线插值条件,则可以采用截波区间临近的非截波点对截波区间进行抛物线插值修复。由于抛物线插值法的核心计算量仅涉及到二次抛物线方程,运算量远远低于相关技术中需要采用大量矩阵运算的修复方式所需的运算量,因此可较大的缩短修复时间。
综上,本公开实施例提供的上述方式,利用截波区间临近的非截波点对截波区间进行抛物线插值修复,抛物线插值法的运算量很低,因此可极大缩短修复时间,可达到快速实时的音频修复效果。
大多待修复音频的数据类型为short短整型,原因在于short类型的音频帧信号最容易出现超出预设阈值的问题,从而导致音频帧信号被截波,为了便于进行音频修复处理,可将short类型的音频帧信号转换为float浮点型,从而能够针对因幅值超出预设阈值而被截断的截波点进行修复还原,因此,在一些实施方式中,前述步骤S102可以参照如下步骤a~步骤c执行:
步骤a,将待处理音频进行分帧处理,得到初始帧信号。初始帧信号的数量可以为多个。诸如,按照每10ms等指定时间间隔为一帧进行划分,每个音频帧信号中包含多个信号点,诸如包含160个信号点或者480个信号点等。应当注意的是,以上10ms或者每帧所包含的160个信号点或480个信号点仅是示例性说明,不应当被视为限制,在实际应用中可以根据实际需要进行音频分帧处理。
步骤b,如果初始帧信号的原始数据类型并非指定数据类型,则将初始帧信号转换为指定数据类型。在一些实施方式中,指定数据类型可以为float浮点型。
步骤c,将转换后的初始帧信号作为待处理的音频帧信号。也即,可将每个转换为float浮点型的初始帧信号分别作为待处理的音频帧信号。
如果在进行音频修复之前已针对音频帧信号进行了数据类型的转换,则在修复处理之后,上述方法还包括:将修复处理后的音频帧信号的数据类型转换为原始数据类型。诸如,如果之前已将short类型的音频帧信号转换为float类型的音频帧信号进行音频修复操作,则在修复完成后,可进一步将float类型的音频帧信号转换回short类型的音频帧信号,从而使得音频修复前后的数据类型保持一致。
在一些实施方式中,可在多种插值法中选用计算量较小的抛物线插值法对截波区间进行插值修复,以进一步缩小音频修复所需的计算量。此时,前述指定插值条件包括抛物线插值条件,指定插值法包括抛物线插值法;可以理解的是,抛物线插值法通常需要至少三个点,诸如在截波区间临近的非截波点至少有三个点才可应用抛物线插值法,而为了能够更好的实现抛物线插值,使抛物线插值结果更可靠,本公开实施例提供了一种根据截波区间临近的非截波点判断截波区间是否满足抛物线插值条件的实施方式,包括:检测截波区间的首个截波点之前且在不跨越其它截波区间的情况下是否存在至少两个非截波点;以及,检测截波区间的末个截波点之后且在不跨越其它截波区间的情况下是否存在至少两个非截波点;如果检测结果均为是,确定截波区间满足抛物线插值条件。其中,截波区间的首个截波点可认为是截波区间的起始点(或者左端点),截波区间的末个截波点可认为是截波区间的终止点(或者右端点)。为便于理解,以下按照待处理的当前截波区间是音频帧信号中的首个截波区间(也即只有后面有其它截波区间,前面没有其它截波区间)、中间的截波区间(也即前后均有其它截波区间)、末个截波区间(也即只有前面有其它截波区间,后面不再有截波区间)为例分别阐述如下:
如果当前截波区间为音频帧信号的首个截波区间,则检测当前截波区间之前是否存在至少两个非截波点,以及,该截波区间与下一个截波区间之间是否存在至少两个非截波点,如果检测结果均是,则确定该截波区间满足抛物线插值条件。
如果当前截波区间为音频帧信号的中间的截波区间,则检测当前截波区间与相邻的前一个截波区间之间是否存在至少两个非截波点,以及,当前截波区间与相邻的下一个截波区间之间是否存在至少两个非截波点,如果检测结果均是,则确定该截波区间满足抛物线插值条件。
如果当前截波区间为音频帧信号的末个截波区间,则检测当前截波区间之后是否存在至少两个非截波点,以及,当前截波区间与相邻的前一个截波区间之间是否存在至少两个非截波点,如果检测结果均是,则确定该截波区间满足抛物线插值条件。
通过设置上述条件,确保截波区间的两端外侧都有至少两个非截波点,便于后续进一步择优选取合适的非截波点进行抛物线插值,使得抛物线插值结果更可靠。如果基于截波区间临近的非截波点确定检测到的截波区间满足抛物线插值条件时,则可以进一步基于非截波点采用抛物线插值法对截波区间进行修复,为了提升抛物线插值效果,保证截波修复后波形的合理性和可靠性,本公开实施例还可以进一步对临近的非截波点进行斜率评估,从而从中选择更合适的非截波点进行抛物线插值。在一种实施方式中,基于非截波点采用抛物线插值法对截波区间进行修复的具体步骤可以参照如下(1)~(3)实现:
(1)计算与截波区间的首个截波点最临近的两个非截波点之间的第一斜率的绝对值,以及与截波区间的末个截波点最临近的两个非截波点之间的第二斜率的绝对值。假设与截波区间的首个截波点最临近的两个非截波点为P11和P12,P11和P12连线斜率的绝对值为K1(第一斜率);与截波区间的末个截波点最临近的两个非截波点为P21和P22,P21和P22连线斜率的绝对值为K2(第二斜率);
(2)如果第一斜率的绝对值小于或等于第二斜率的绝对值,选择与截波区间的首个截波点最临近的两个非截波点以及与截波区间的末个截波点最临近的一个非截波点进行抛物线插值计算,基于得到的第一插值计算结果对截波区间进行修复。也即,如果K1小于或等于K2,则选择P11、P12以及P21三点。
(3)如果第一斜率的绝对值大于第二斜率的绝对值,选择与截波区间的末个截波点最临近的两个非截波点以及与截波区间的首个截波点最临近的一个非截波点进行抛物线插值计算,基于得到的第二插值计算结果对截波区间进行修复。也即,如果K1大于K2,则选择P12、P21以及P22三点。
可以理解的是,通过上述方式,优先选择斜率绝对值较低的非截波点进行抛物线插值计算来修复截波区间,可尽量保证修复后波形的合理性,尽可能降低因采用斜率较大的非截波点进行插值而导致的修复后波形在原截波位置出现波形能量的剧烈增长的概率,从而较好地保障音频修复效果。
在前述音频修复方法的实施例基础上,以指定插值条件为抛物线插值条件,指定插值法为抛物线插值法为例,本公开实施例提供了另一种音频修复方法,该方法还对音频帧信号进行了后续的平滑处理以及动态范围压缩处理,以进一步改善音频帧信号的修复效果。该方法具体可以参照如下步骤S202~步骤S212实现:
步骤S202,获取待处理的音频帧信号。诸如,可以对待修复音频进行分帧、数据类型转换等操作,得到具有指定数据类型的音频帧信号。
步骤S204,检测音频帧信号中存在的截波区间。
步骤S206,根据与截波区间临近的非截波点判断检测到的截波区间是否满足抛物线插值条件;如果是,执行步骤S208;如果否,执行步骤S210。
步骤S208,基于非截波点采用抛物线插值法对截波区间进行修复,之后执行步骤S212。
可以理解的是,步骤S204~步骤S208可参照前述实施例相关内容,在此不再赘述。
步骤S210,采用预设平滑滤波算法,针对修复后的截波区间、位于截波区间的首个截波点之前的第一指定长度区间、以及位于截波区间的末个截波点之后的第二指定长度区间进行平滑处理。
通过采用平滑滤波算法对截波区间进行平滑处理可有效降低截波区间的高频伪噪声,提升波形修复效果,而且上述方式充分考虑到了截波区间两侧的信号点可能存在的抖动问题,因此不仅针对修复后的截波区间进行平滑处理,而且还会针对截波区间两侧的指定长度区间进行平滑处理,第一指定长度区间和第二指定长度区间的长度可以相同也可以不同,具体可根据需求而灵活设置,诸如设置第一指定长度区间和第二指定长度区间各自均包含指定数量个信号点,假设指定数量为四,则采用预设平滑滤波算法对截波区间以及前后各四个点进行平滑滤波操作。在实际应用中,预设平滑滤波算法诸如可采用五点三次平滑滤波算法,其它平滑滤波算法也可,在此不进行限制。
步骤S212,针对当前的音频帧信号进行动态范围压缩处理,以使音频帧信号的幅值范围均位于指定幅值范围区间。动态范围压缩处理又可称为动态能量压缩处理,目的在于限制波形能量,确保处理后的信号幅值范围在指定幅值范围内,诸如在-32768~32767之间,从而避免了修复后的波形可能还存在的截波能量溢出等问题,通过进一步的动态能量压缩,可保证修复后的波形不会二次截波。
上述步骤S212中涉及的当前的音频帧信号可以为经抛物线插值法修复后的音频帧信号,也可以是检测后因不满足抛物线插值条件而未经抛物线插值法修复的音频帧信号。也即,如果截波区间满足抛物线插值条件,后续针对修复后的音频帧信号进行动态范围压缩处理,以使修复后的音频帧信号的幅值范围均位于指定幅值范围区间;如果截波区间不满足指定插值条件,后续直接针对音频帧信号进行动态范围压缩处理,以使音频帧信号的幅值范围均位于指定幅值范围区间。
为了进一步缩短运算时间,针对修复后的音频帧信号进行动态范围压缩处理的步骤,包括:通过对数查表法将修复后的音频帧信号转换至对数域进行表示;将转换后的音频帧信号进行动态范围压缩处理。在实际应用中,可以预先录入对数表,在动态范围压缩处理的过程中会涉及到对数运算,直接以查表的方式即可得知相应结果,相比于直接计算而言,对数查表法会更加便捷省时,以尽可能缩短时间,达到快速实时的音频修复效果。
为便于理解,本公开实施例提供了一种动态范围压缩的实施方式,参见图3所示的一种动态范围压缩处理示意图,主要流程可参照步骤1~步骤6实现:
步骤1,将输入信号x[n]转换为dB域(对数域),使用如下公式:
xdB[n]=20×log10|x[n]|
在该步骤中,可采用log查表法来进一步降低dB计算的运算量,缩短运算时间。
步骤2,在增益计算(gain computer)部分中,可设定能量阈值的上限T,在本公开实施例提供的一种具体的实施方式中,T值可采用-4.3dB,W为过段带窗长,其值可为2dB,然后通过下述方式计算静态特性(static characteristic)xsc:
步骤3,在增益计算(gain computer)部分中,已知xsc后进一步计算对数增益(gain)值gc:
gc[n]=xSC[n]-xdB[n].
步骤4,对增益值进行平滑操作(gain smoothing),得到平滑增益值gs:
在本公开实施例提供的一种具体的实施方式中,TA为attack time,其值可为0.0004;TR为release time,其值可为0.004:Fs为信号采样频率;αA为第一系数,αR为第二系数。
步骤5,对数域gain值(也即,gs)转换到线性域glin:
步骤6:输出动态范围压缩结果:y[n]=x[n]×glin[n].。
通过上述方式,可以有效的将修复波形的能量进行压缩调整,避免出现二次截波问题。
综上所述,本公开实施例提供的前述音频修复方法,通过抛物线插值方法针对截波区间进行修复的方式可极大降低运算量,缩短修复时间,有助于达到快速实时的修复效果,从而较好应用于诸如音视频会议、网络直播、网络课程等场景。在实际应用中,通过试验可得本公开实施例提供的音频修复方法的计算量仅仅为主流截波修复方法的计算量的1%~0.1%,完全满足实时通信的计算量需求。
另外,通过对截波区间及前后长度区间进行平滑处理,可充分降低高频伪噪,进一步完善修复后的波形。而采用对数域的动态范围压缩方法,可有效调整修复后波形的能量,避免出现二次截波问题。
本公开实施例提供的音频修复方法可应用于各种需要对截波进行修复的场合,还可以提前对音频进行修复,并将修复后的音频输入到后续的音频处理模块进行后续处理,诸如,采用本公开实施例的音频修复方法对常见的音频通讯算法之线性回声消除算法AEC的输入信号进行截波修复,将截波修复后的信号再输入给AEC进行后续音频处理,从而使得AEC算法基于修复好的信号进行处理后所得到的处理效果更佳。
对应于前述音频修复方法,本公开实施例又提供了一种音频修复装置,该装置可由软件和/或硬件实现,一般可集成在电子设备中,可通过执行本公开实施例提供的音频修复方法来实现快速实时的音频修复效果。参见图4所示的一种音频修复装置的结构框图,包括:
信号获取模块402,用于获取待处理的音频帧信号;
截波检测模块404,用于检测音频帧信号中存在的截波区间;其中,截波区间中包含连续的多个截波点,截波点为幅值超过预设阈值的信号点;
判断模块406,用于根据与截波区间临近的非截波点判断检测到的截波区间是否满足指定插值条件;
截波修复模块408,用于在判断模块的判断结果为是时,基于非截波点采用指定插值法对截波区间进行修复。
本公开实施例提供的上述装置,利用截波区间临近的非截波点对截波区间进行插值修复,由于插值法的运算量很低,因此可极大缩短修复时间,可达到快速实时的音频修复效果。
在一些实施方式中,信号获取模块402用于:将待处理音频进行分帧处理,得到初始帧信号;如果初始帧信号的原始数据类型并非指定数据类型,则将初始帧信号转换为指定数据类型;将转换后的初始帧信号作为待处理的音频帧信号。
在一些实施方式中,上述装置还包括数据转换模块,用于将修复处理后的音频帧信号的数据类型转换为原始数据类型。
在一些实施方式中,所述指定插值条件包括抛物线插值条件,判断模块406具体用于:检测截波区间的首个截波点之前且在不跨越其它截波区间的情况下是否存在至少两个非截波点;以及,检测截波区间的末个截波点之后且在不跨越其它截波区间的情况下是否存在至少两个非截波点;如果检测结果均为是,确定截波区间满足抛物线插值条件。
在一些实施方式中,所述指定插值法包括抛物线插值法,截波修复模块408具体用于:计算与截波区间的首个截波点最临近的两个非截波点之间的第一斜率的绝对值,以及与截波区间的末个截波点最临近的两个非截波点之间的第二斜率的绝对值;如果第一斜率的绝对值小于或等于第二斜率的绝对值,选择与截波区间的首个截波点最临近的两个非截波点以及与截波区间的末个截波点最临近的一个非截波点进行抛物线插值计算,基于得到的第一插值计算结果对截波区间进行修复;如果第一斜率的绝对值大于第二斜率的绝对值,选择与截波区间的末个截波点最临近的两个非截波点以及与截波区间的首个截波点最临近的一个非截波点进行抛物线插值计算,基于得到的第二插值计算结果对截波区间进行修复。
在一些实施方式中,参见图5所示的另一种音频修复装置的结构框图,在图4的基础上,上述装置还包括平滑模块502和第一压缩模块504,平滑模块502用于:采用预设平滑滤波算法,针对修复后的截波区间、位于截波区间的首个截波点之前的第一指定长度区间、以及位于截波区间的末个截波点之后的第二指定长度区间进行平滑处理。第一压缩模块504用于:针对修复后的音频帧信号进行动态范围压缩处理,以使修复后的音频帧信号的幅值范围均位于指定幅值范围区间。在一些实施方式中,第一压缩模块504具体用于:通过对数查表法将修复后的音频帧信号转换至对数域进行表示;将转换后的音频帧信号进行动态范围压缩处理。
在一些实施方式中,上述装置还包括:第二压缩模块,用于如果截波区间不满足指定插值条件,对音频帧信号进行动态范围压缩处理,以使音频帧信号的幅值范围均位于指定幅值范围区间。
本公开实施例所提供的音频修复装置可执行本发明任意实施例所提供的音频修复方法,具备执行方法相应的功能模块和有益效果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置实施例的具体工作过程,可以参考方法实施例中的对应过程,在此不再赘述。
本公开实施例提供了一种电子设备,该电子设备包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器,用于从存储器中读取可执行指令,并执行指令以实现上述任一种音频修复方法。
图6为本公开实施例提供的一种电子设备的结构示意图。如图6所示,电子设备600包括一个或多个处理器601和存储器602。
处理器601可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备600中的其他组件以执行期望的功能。
存储器602可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器601可以运行所述程序指令,以实现上文所述的本公开的实施例的音频修复方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备600还可以包括:输入装置603和输出装置604,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置603还可以包括例如键盘、鼠标等等。
该输出装置604可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置604可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图6中仅示出了该电子设备600中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备600还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的音频修复方法。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的音频修复方法。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本公开实施例还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现本公开实施例中的音频修复方法。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种回声消除时延估算方法及回声消除方法