一种基于低一致性词典和稀疏表示的音频修复方法和系统与流程

文档序号:11585576阅读:318来源:国知局
一种基于低一致性词典和稀疏表示的音频修复方法和系统与流程

本发明属于音频信号处理领域,涉及一种音频修复方法和系统,特别是一种采用低一致性词典学习和稀疏表示的音频修复技术。



背景技术:

人们常常需要对受损的音频信号进行数字修复,减少失真,以得到有效的音频信息,因此音频修复成为国内外研究热点问题。音频修复是音频信号处理领域研究的常规问题之一,它是利用数字信号处理算法对受损音频部分进行补全或者去除干扰,达到修复波形和增强音质的目的。在音频修复之前,一般要分析受损音频的类型,根据不同的受损类型设计不同的修复算法。在音频修复中,常把受损类型分为脉冲干扰、削顶失真和片段丢失等三种情况。

音频修复有广泛的应用,在音频传输过程中,通常在接收端进行此类处理,比如电话系统中的语音增强,它将带限语音中丢失的高频部分还原出来,使接收方听到的语音更加真实。也会应用于对广播电台录制的音频、图书馆保存的音像资料,会议录制的会议纪要等珍贵历史音频进行修复。同时也可以对网络传输过程中丢包导致的音频片段缺失进行修复。音频修复还可以作为语音识别的前期处理,将音频进行修复后再识别,会提高识别的准确率。

在稀疏理论中,信号被分解成一系列冗余基函数(也称原子)的线性组合,其中稀疏系数表示不同原子在组合中的比重,通常这些原子(单词)集合称为词典或字典。在信号的线性组合中,如果非零系数很少,换言之,只需要少量原子就可以表示该信号,则该信号被认为是稀疏的。研究表明,当使用冗余函数集来分解信号时,稀疏表示的效果会增强。音频信号也被认为是一种稀疏信号,如果字典设计合理,则将每帧信号在该字典上分解时,组合系数中只有少量系数是非零的。在冗余字典上对音频进行稀疏表示,本质是一个非凸的l0范数最小化问题,在数学上它是np难问题,无法得到解析解。工程上,一般采用逼近算法(如正交匹配追踪算法omp)来得到局部最优值。

稀疏表示理论的研究发展,为音频修复问题提供了一种新的解决方案。对于受损的音频,通常是某几帧出现片段缺失或者削顶,而它的相邻帧是完好的。虽然部分帧丢失,但是因为冗余信息的存在,可以利用周围帧的有用信息,通过稀疏表示和稀疏重构原理,将受损部分帧进行补全和修复。

在现有的稀疏表示方法中,很多方法使用固定字典,比如短时傅里叶变换字典或离散余弦变换字典,使用函数变换生成的固定字典通用性好,但是不能适应具体音频的结构化信息,这就导致不同信号的时频表示差异很大,字典无法对不同结构的信号,进行自适应调整,因而基于样本数据的词典学习方法受到广泛关注。通常词典的一致性(也就是单词之间的相似性)越低,词典的表示能力越强。然而大多数词典学习方法并不能保证学习到的词典具有较低的一致性。目前,在音频修复方面,还没有基于低一致性词典学习和稀疏表示的修复方法。为了解决上述音频修复问题,本发明提出一种基于低一致性词典学习和稀疏表示的音频修复方法,该方法自动从音频样本数据中学习具有低一致性的词典,然后使用该词典对受损测试音频进行稀疏重构,在重构的过程中保证未受损位置的重构信号与测试音频中在未受损位置的信号尽可能一致,这样在受损位置处的重构信号就是原始受损音频修复后的信号。



技术实现要素:

鉴于上述现有技术的不足,本发明所要解决的技术问题是如何针对不同的音频信号,构造出符合他们结构特性的自适应字典,进而通过稀疏表示和稀疏重构,将受损部分帧进行补全和修复。

为实现上述目的,本发明提供了一种基于低一致性词典学习和稀疏表示的音频修复方法,其特征包括:

(1)分帧、加窗:使用窗函数对待修复的音频信号进行分割成帧,从前到后对帧进行编号;

(2)掩码处理:用掩码矩阵与原始音频相乘,把原始音频分成可靠音频和受损音频两部分,对受损部分帧序列独立进行修复;

(3)构造过完备字典:将(2)中的可靠音频部分作为训练集,在训练数据集上,学习一个自适应字典;

(4)低一致性字典学习:计算(3)中字典的gram矩阵,矩阵中非对角线元素是字典中任意两个原子的相关性。然后将相关性值与给定的阈值进行比较,并对大于阈值的两个原子进行标记聚类。经过原子划分之后,大于阈值的原子已经两两聚类,然后利用并行算法,对聚类的原子两两解耦合,也就是降低原子间的相关性,得到具有低一致性的自适应字典;

(5)稀疏编码:结合(4)中训练后的低一致性字典,使用稀疏编码方法,对可靠部分音频进行稀疏表示,得到稀疏分解系数。

(6)信号的合成:通过稀疏重构将受损部分帧进行补全和修复,得到受损音频的估计值,将其和可靠音频的帧进行重叠相加,得到最终修复的音频。

进一步地,所述(1)中为了保证帧与帧之间平滑过渡,采用重叠分帧的方式。相邻帧之间的重叠部分称为帧移,帧移与帧长之比取为0~3/4;

所述(2)中掩码矩阵从l×l的单元矩阵il中选取与原始信号的可靠部分对应的ir行得到的,矩阵中元素只有0和1。将会在两处用到掩码处理,第一处是将可靠和受损两部分音频进行分离,定义可靠帧的支撑集为受损帧的支撑集为两个集合中的值分别为每帧中可靠部分和不可靠部分对应所述(1)中的样本编号。另一处在音频合成之前,作用是从稀疏系数和低一致性字典重建出的音频中,提取出原来受损位置处的音频,该音频即为原来受损音频的估计值;

所述(3)中,词典学习算法在每次迭代中,只更新一列原子,同时更新该原子对应的稀疏系数,迭代过程分为稀疏表示和字典更新两个阶段。

稀疏分解阶段:先假定字典d不变,结合输入样本信号y,通过如下式(1)来求解稀疏矩阵x,其中初始的字典d可以由随机矩阵生成,也可以是dct字典或者gabor字典;其中y是训练样本数据。

可以将式(1)错误!未找到引用源。分解成n个互不相同的计算子问题:

其中s是一个预先给定的稀疏度限制阀值。

因为l0范数最小化是一个np难题,不能直接得到解析解,本发明采用贪婪的匹配追踪算法对l0范数直接近似求解出稀疏矩阵x。

字典更新阶段:假定稀疏系数矩阵x和字典d不变,要更新字典中第k列原子dk以及x中与之相对的第k行,记为则有

将矩阵dx乘积分解成k个秩为1的矩阵之和,其中k-1项不变,而只有第k项待更新,ek是去除dk后的样本误差矩阵;对ek进行奇异值分解,找到与最接近的秩为1的矩阵,从而将有效的减小错误!未找到引用源。误差,但是这种处理会产生一个问题,因为在更新dk时并没有添加稀疏约束,所以导致可能不是稀疏的。为解决这个问题,本发明采取补偿处理的手段,引入下面定义:

其中集合ωk为的点所对应的索引,ωk为n×|ωk|矩阵,它在(ω(i),i)位置上的元素值为1,其余元素值均为0,则将会去掉中为0的项,从而得到的长度为|ωk|的收缩向量同理,是含有原子dk且大小为n×|ωk|样本矩阵,是排除dk列后的样本误差。引入以上记法之后,将式(1)的最小化问题,等价于如下式(5)错误!未找到引用源。:

对新的进行奇异值分解得到将u的第一列作为dk的优化结果,而δ(1,1)乘以v的第一列后作为的解,此时,字典d中的一列便更新完毕;然后,将d中各列依次按此方法更新,最终得到更新后的字典

所述(4)中,低一致性词典学习算法是在上述算法中添加一个低一致性约束限制:

其中是相关性阈值,根据实验结果设定的一个最优值。字典的解耦合是在目标解空间г中,找到与给定的初始化字典最接近的字典使得的相关性小于给定的阈值用数学表达式定义为:

其中解空间为了找到低一致性字典可以按如下步骤进行:1)任取一对原子它们可以被认为是归一化的具有单位长度的向量,如果其相关性大于阈值则将对称地绕其夹角的角平分线向外等量地旋转直到其夹角大于或等于为止,也就是使它们的夹角增大,同时保持旋转后的两单位向量的夹角的角平分线与旋转前的两向量的夹角的角平分线相同,然后用代替原词典中的原子2)重复步骤1)直到所有原子对的相关性都低于阈值此时得到的词典就是具有低一致性的词典

为了加速解耦合过程,使用并行的方式,不是一次挑选一对原子,而是先将整个字典划分成一些高度相关的一些对(单个原子就不用进行更改),解耦合所有的对之后,再去更新相关性,大大加快了解耦合的速度。原子的划分采用贪婪的方式,先从整个字典开始,将相关性大于阈值的原子进行聚类,并将它从原来集合中移除,直到剩下的原子对之间的相关性都不高于阈值,最终得到原子间相关性较低且符合音频结构的自适应字典。

所述(5)中,将利用所述(4)中的低一致过完备冗余字典,在稀疏约束条件下,求出原始音频信号在字典中的稀疏投影,也就是使用字典中为数不多的几个原子来近似表示原始音频信号。在数学上,可以归结为错误!未找到引用源。优化问题:

其中εi是给定的近似误差阈值,mi是第i帧音频的未受损部份的位置掩膜矩阵,也就是midx提取信号dx在未受损位置上的部分信号。上式(8)中l0范数||x||0表示向量x中非零元素的个数,它的求解是一个np难题,所以不能直接求解错误!未找到引用源。。本发明采用传统的正交匹配贪婪算法,求出近似的稀疏解,其主要步骤如下:

1)输入:过完备字典d,观测信号y,目标稀疏度k或误差∈

2)输出:稀疏表示向量x,使得y=dx

3)初始化:原子支撑集冗余误差r=y,稀疏表示x=0

4)求解字典中原子与冗余误差内积最大的原子,记录下该原子的索引如下:

5)将该原子索引添加到支撑集中ω={ω,j}

6)在给定支撑集下求出稀疏表示向量:

其中表示dω的伪逆矩阵。

7)重新计算新的冗余误差:

r=y-dωxω

8)重复步骤4)至步骤7)直到满足终止条件:误差rtr小于∈或稀疏度||x||0达到k

正交匹配贪婪算法的最大优点是,对所选的原子进行正交化处理,所以它不会选择重复的原子,每次迭代后使得误差不断变小,最终得到信号的稀疏近似,收敛速度快。

所述(6)中,结合所述(4)中得到的低一致性过完备字典和所述(5)中正交匹配算法求得的稀疏系数,通过稀疏重构将受损部分帧进行补全和修复,得到受损音频的估计值,将其和可靠音频的帧进行重叠相加,得到最终修复的音频。与传统的音频修复方法相比,本发明在信噪比(snr)和主观评价指标(pesq)上均有提升,而且算法复杂度较低。

以下将结合附图对本发明的构思、具体方案及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

图1是本发明的音频修复原理框图;

图2是本发明的字典训练算法框图;

图3是本发明算法中不同相关性阈值对信号信噪比snr的影响的实验图;

图4是本发明字典训练迭代次数与字典均方误差rmse关系的实验图;

图5是本发明不同帧移对字典均方误差rmse影响的实验图

图6是本发明不同稀疏度对字典均方误差rmse影响的实验图

具体实施方式

下面结合附图来说明本发明的实施方式

如图1所示,本发明的音频修复原理框图为

(1)先使用窗函数对待修复的音频s进行分割成帧,从前到后对帧进行编号;使用的窗函数为矩形窗,分的帧长为n=256。采用重叠分帧,结合图5不同帧移对字典均方误差rmse的影响可知在相同的帧移下,随着迭代次数增大,最终rmse在相同的迭代次数下,随着帧移的增大,rmse不断减小,因为帧移变大,相邻帧中重复数据减少,减小了冗余数据被不断训练,因而使字典误差更快的减小,所以实验中帧移设置为100。

(2)可靠信号yr是通过下面线性模型得到

yr=mrs

其中,掩码矩阵它是从l×l的单元矩阵il中选取与s的可靠部分对应的ir行得到的,矩阵中元素只有0和1,掩码矩阵与信号s相乘后,可以将可靠部分音频提取出来;记号|ir|指的是ir中元素的数目。同理,要恢复的受损部分是s(im)=mms,其中由il中抽取的im行构成。定义可靠帧的支撑集为受损帧的支撑集为两个集合中的值分别为每帧中可靠部分和不可靠部分对应所述(1)中的样本编号。

(3)词典学习算法的迭代过程分为稀疏表示和字典更新两个阶段,将(2)中的可靠音频部分yr作为训练集,在训练数据集上,先用词典学习方法训练得到一个自适应字典d。结合图4迭代次数与rmse关系可知,随着迭代次数的增加,rmse呈下降趋势。在迭代次数为10之前,rmse下降速度很快,在10次迭代之后开始缓慢下降,在迭代次数20之后,随着迭代次数增加,会有些上下波动,rmse趋于平稳。所以选取迭代次数为20,可以满足训练误差的要求,且训练时间不会很长。字典大小为3n,结合图6不同稀疏度对字典rmse影响可发现在经过5次迭代之后,rmse值基本保持不变。在迭代次数相同的条件下,稀疏度20的rmse高于稀疏度10,且两者都高于稀疏度3和6。也即rmse随着稀疏度增大,先减小后增大,稀疏度3和6时,rmse值很接近。因此,在本发明实验中取字典训练稀疏度为3。

(4)计算(3)中字典d的gram矩阵,矩阵中非对角线元素是字典中任意两个原子的相关性。然后将相关性值与给定的阈值进行比较,并对大于阈值的两个原子进行标记聚类。结合图(3)中不同相关性阈值对snr的影响可知,当相关度u小于0.3时,随着相关度增加,snr值不断增加,到达0.3之后,snr缓慢增长,在u大于0.5之后,snr又不断增长,在0.6附近snr值达到18db,所以实验中字典相关性阈值设为0.6。原子的划分采用贪婪的方式,先从整个字典开始,将相关性大于阈值的原子进行聚类,然后利用并行算法,通过对向量进行合适地旋转来对聚类的原子两两解耦合,每次解耦合之后,都要更新原子间的相关性,然后再进行下次选取和解耦合,直到剩下的原子对之间的相关性都不高于阈值,最终得到原子间相关性较低且符合音频结构的自适应字典

(5)稀疏分解:结合(4)中训练后的低一致性过完备字典使用正交匹配算法,对可靠部分音频yr进行稀疏表示,得到稀疏分解系数。在正交匹配算法的每次迭代中,主要有两个步骤:(a)原子的选取:从字典中选取与误差最相关的原子,对所选的原子进行正交化处理,并添加到集合中。(b)更新误差:选取原子后,重新计算误差,然后继续下次迭代,最终求出信号的稀疏系数。

(6)用掩码矩阵mm从恢复的音频中提取原来丢失位置的片段:

将恢复的音频片段与原始完好的音频相叠加,得到最终完整的修复音频。

本发明提供了一种基于低一致性词典表示和稀疏编码的音频修复系统,该系统主要包括两部分,一是低一致性词典学习;二是稀疏编码。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1