一种音频压缩流的解码端错误恢复方法

文档序号:2830782阅读:494来源:国知局
专利名称:一种音频压缩流的解码端错误恢复方法
技术领域
本发明属于音频处理技术领域,尤其涉及一种音频压缩流的解码端错误恢复方法。

背景技术
为了节约存储空间和传输带宽,越来越多的高保真音频采用压缩编码并分帧传输,如MP3,AC3,AAC,WMA等。在存储和传输过程中,随机错误或者网络拥塞会带来帧丢失的问题,从而导致音频质量的下降。音频的错误恢复技术就是要在帧丢失的情况下,恢复出原始帧从而改善主观听觉质量。
解码端的音频错误恢复方法是对于接收到的数据通过一些方法来近似出丢失的数据,它既可以在时域,也可以在压缩域进行。因为音频一帧包含较多样点(1024~2048个样点),所以在时域上的错误恢复方法需要保存前向后向若干帧,从而导致存储空间开销过大,且仅适用于丢帧率低(<10%)的情况。而之前的压缩域错误恢复方法效果均不是十分理想。早期使用简单的静音,帧替代方法很难获得良好的错误恢复效果,而用噪声替代丢失帧(Y.Huang,et al.,Packet loss compensation method using injection ofspectrally shaped noise,to Zarlink Semiconductor Inc.,2006.)的方法是分析前后帧的能量,用一定能量的噪声来替代丢失帧,仍然较为简单,难以对付较高丢帧率(>10%)的情况。基于正弦加噪声模型的错误恢复方式(R.Sang-Uk and K.Rose,“An MDCT Domain Frame-Loss ConcealmentTechnique for MPEG Advanced Audio Coding,”Proc.IEEE InternationalConference on Acoustics,Speech and Signal Processing(ICASSP′07),2007,pp.I-273-I-276.)则是将改进离散余弦变换MDCT系数分为正弦部分与噪声部分,对正弦部分采用了MDCT-MDST(改进离散正弦变换)的计算方法。计算MDST变换的频谱能量方法需要使用前向后向共四帧数据,并且需要根据二次方程确定MDCT系数正弦部分的符号,所以运算复杂度高,并且该方法未能解决可能存在的双重敲击声。
综上所述,目前的解码端音频错误恢复技术尚不能实现对音频帧的高效错误处理,从而使得音频丢失帧的主观感受不理想。


发明内容
本发明提供了一种音频压缩流的解码端错误恢复方法,该方法基于正弦瞬态模型MDCT变换编码的错误恢复技术,改进了在MDCT变换域上前后帧的系数进行正弦估计与恢复的方法,算法复杂度大大降低。
一种音频压缩流的解码端错误恢复方法包括六个步骤,如下 1.检测得到当前MDCT域的解码音频流的某一帧发生帧丢失,命名该帧为第m帧,该帧的前一帧为m-1帧,该帧的后一帧为第m+1帧; 2.将解码音频流的MDCT系数进行分类,分为MDCT系数正弦成分和MDCT系数非正弦成分; 3.对解码音频流的丢失帧的前后帧进行瞬态信息检测,判断丢失帧的前后帧是否有瞬态帧; 4.若瞬态检测判断丢失帧的前后帧有瞬态帧,则采用瞬态帧恢复方法,即用非瞬态帧替代丢失帧; 5.若瞬态检测判断的前后帧无瞬态帧,则进行丢失帧的正弦成分系数恢复和非正弦成分系数恢复,实现解码音频流的丢失帧的错误恢复; 6.输出恢复好的解码音频流。
本发明所述的MDCT变换方法如下 以x(n)表示时域的第m帧内的一维音频信号序列,w(n)表示对信号所加的窗函数,MDCT变换表示为(8)式 其中dk,m表示第m帧内的MDCT系数,N表示频谱线的数目,一般为窗长的一半,m和k分别表示时域帧和频域的编号。
当x(n)为正弦信号,w(n)为正弦窗函数时,x(n)可表示为(10)式 x(n)=Asin((πf/N)n+φ)......(11) w(n)可表示为(3)式 其中,A、f和φ分别为正弦信号x(n)的幅度、频率和初始相位,这样可以将(1)式化简为(4)式
其中
从式(4)中可以发现,每一帧的MDCT系数随正弦信号的频率和相位变化较大。而对于相差一帧的MDCT系数,则相当于相移为πf,所以我们将前一帧和后一帧的MDCT系数分别表示为dk,m-1和dk,m+1

将(17)式和(18)式相加,化简可以得到(19)式 (21)式就是正弦频率为f的音频信号序列第m帧的MDCT系数,表明MDCT系数与前后帧系数和正弦频率相关。
本发明所述的将解码音频流的MDCT系数进行分类,分为MDCT系数正弦成分和MDCT系数非正弦成分的方法包括四个步骤,如下 1.根据(9)式计算解码音频流丢失帧第m帧的前后帧的伪谱; 2.根据式(9)计算得到前后帧的伪谱,并根据式(10)计算解码音频流丢失帧第m帧的能量估计值Sk,m; 3.在丢失帧的能量估计值中寻找局部最大值,设LM是能量估计值Sk,m局部最大值kl的集合,M是该集合的邻域,则丢失帧的正弦主要成分一定出现在局部最大值的邻域M内; 4.确定MDCT系数正弦成分和MDCT系数非正弦成分,正弦成分集合为满足式(9)的集合,非正弦成分集合为满足式式(11)的集合。
SCsub={k||k-kl|≤M,kl∈LM}......(11) 本发明所述的对解码音频流的丢失帧的前后帧进行瞬态信息检测,判断丢失帧的前后帧是否为瞬态帧的方法如下 1.根据公式(22)计算解码音频流的第m-2、m-1帧的高频正弦成分HFSC; 2.令E为正弦能量,根据式(23)计算得到解码音频流的m-1帧的正弦能量; 3.根据式(24)算出瞬态比例Rate,其中TD为自适应门限,由式(25)计算得到,mean、std代表了除当前帧以外的X个帧的均值和标准差,C为常数; TD=mean+k*std+C......(15) 4.判断音频解码流的前帧瞬态比例是否大于阈值,该阈值即为TD,若大于阈值则执行步骤9,若小于或等于阈值则执行步骤5; 5.根据上述(263)式计算解码音频流的m+1、m-1帧的高频正弦成分; 6.根据上述(274)式计算解码音频流的m+1帧的正弦能量; 7.根据上述(282)式计算解码音频流的m+1帧的瞬态比例; 8.判断音频解码流的后帧瞬态比例是否大于阈值,若大于阈值则执行步骤9,若小于或等于阈值则执行步骤10; 9.得出前后帧有瞬态的结论; 10.得出前后帧无瞬态的结论。
本发明所述的瞬态帧恢复方法,即用非瞬态帧的MDCT系数替代丢失帧,实现解码音频流的丢失帧的错误恢复的方法如下 通过瞬态检测方法得到音频解码流的用于恢复丢失帧的参考帧,即丢失帧的前后帧为瞬态帧时,则使用相邻的非瞬态帧MDCT系数替代丢失帧的MDCT系数,解决了将瞬态帧用于恢复丢失帧产生双重敲击声的问题。
本发明所述的对解码音频流的丢失帧进行正弦成分系数恢复和非正弦成分系数恢复的方法如下 正弦成分系数恢复方法步骤如下 1.根据式(8)定义一个参考因子α,α由式(16)表示,将α代入(8)式得到(17)式,由式(17)和式(9)可以计算出参考因子α,得到式(18), α=1/cos(πf)......(16) 2.因为伪谱(pseudo-spectrum)与DFT具有很强的相似性,所以我们对解码音频流丢失帧m的能量估计进行频率估计,根据式(10)计算能量估计值Sk,m; 3.确定参考因子α的符号,若令否则其中从而根据余弦函数cos(πf)的符号来得到α的符号; 4.求出解码音频流丢失帧的正弦成分系数 非正弦成分系数恢复方法采用噪声替代方法或者帧替代方法。帧替代方法是指既用前一帧的对应MDCT系数代替丢失帧的MDCT非正弦成分系数。
本发明改进了在MDCT变换域上对丢失帧的前后帧的系数进行正弦估计与恢复的方法,使算法复杂度大大降低,并结合MDCT域瞬态估计算法有效的解决了双重敲击声,算法效果突出。



图1是本发明的技术方案流程图; 图2是本发明时域/帧以及频谱线的标号关系示意图; 图3是MDCT系数分类的方法示意图示意图; 图4是瞬态信息检测的过程示意图; 图5是瞬态帧恢复示意图; 图6是正弦成分系数恢复的方法示意图。

具体实施例方式 本发明提供了一种音频压缩流的解码端错误恢复方法,该方法基于正弦瞬态模型MDCT变换编码的错误恢复技术,改进了在MDCT变换域上前后帧的系数进行正弦估计与恢复的方法,算法复杂度大大降低。
下面结合附图对本发明一种音频压缩流的解码端错误恢复方法的实施例进行详细说明。
如图1所示,一种音频压缩流的解码端错误恢复方法包括六个步骤,如下 1.检测得到当前MDCT域的解码音频流的某一帧发生帧丢失,命名该帧为第m帧,该帧的前一帧为m-1帧,该帧的后一帧为第m+1帧; 2.将解码音频流的MDCT系数进行分类,分为MDCT系数正弦成分和MDCT系数非正弦成分; 3.对解码音频流的丢失帧的前后帧进行瞬态信息检测,判断丢失帧的前后帧是否有瞬态帧; 4.若瞬态检测判断丢失帧的前后帧有瞬态帧,则采用瞬态帧恢复方法,即用相邻的非瞬态帧替代丢失帧; 5.若瞬态检测判断的前后帧无瞬态帧,则进行丢失帧的正弦成分系数恢复和非正弦成分系数恢复,实现解码音频流的丢失帧的错误恢复; 6.输出恢复好的解码音频流。
现具体介绍本方法的六个步骤 1)检测得到当前MDCT域的解码音频流的第m帧发生帧丢失 以x(n)表示时域上第m帧内的一维音频信号序列,w(n)表示对信号所加的窗函数,MDCT 变换表示为(29)式 其中dk,m表示第m帧内的MDCT系数,N表示频谱线的数目,一般为窗长的一半,m和k分别表示时域帧和频域的编号。
当x(n)为正弦信号,w(n)为正弦窗函数时,x(n)可表示为(31)式 x(n)=Asin((πf/N)n+φ)......(32) w(n)可表示为(3)式 其中,A、f和φ分别为正弦信号x(n)的幅度、频率和初始相位,这样可以将(1)式化简为(4)式
其中
从式(4)中可以发现,每一帧的MDCT系数随正弦信号的频率和相位变化较大。而对于相差一帧的MDCT系数,则相当于相移为πf,所以我们将前一帧和后一帧的MDCT系数分别表示为dk,m-1和dk,m+1

将(38)式和(39)式相加,化简可以得到(40)式 (42)式就是正弦频率为f的音频信号序列第m帧的MDCT系数,表明MDCT系数与前后帧系数和正弦频率相关。本发明时域/帧以及频谱线的标号关系如图2所示,m表示当前丢失帧,m+1表示下一时刻到来的帧,m-1表示前一时刻的帧,k表示当前频谱线,k+1表示更高的频谱线,k-1表示更低的频谱线。
2)将解码音频流的MDCT系数进行分类,分为MDCT系数正弦成分和MDCT系数非正弦成分 如图3所示,将解码音频流的MDCT系数进行分类,分为MDCT系数正弦成分和MDCT系数非正弦成分包括以下四个步骤 1.根据(9)式计算解码音频流丢失帧第m帧的前后帧的伪谱; 2.根据式(9)计算得到前后帧的伪谱,并根据式(10)计算解码音频流丢失帧第m帧的能量估计值Sk,m; 3.在丢失帧的能量估计值中寻找局部最大值,设LM是能量估计值Sk,m局部最大值kl的集合,M是该集合的邻域,则丢失帧的正弦主要成分一定出现在局部最大值的邻域M内; 4.确定MDCT系数正弦成分和MDCT系数非正弦成分,正弦成分集合为满足式(9)的集合,非正弦成分集合为满足式式(11)的集合。
SCsub={k||k-kl|≤M,kl∈LM}......(11) 3)对解码音频流的丢失帧的前后帧进行瞬态信息检测,判断丢失帧的前后帧是否为瞬态帧 如图4所示,对解码音频流的丢失帧的前后帧进行瞬态信息检测,判断丢失帧的前后帧是否为瞬态帧包括以下十个步骤 1.根据公式(43)计算解码音频流的第m-2、m-1帧的高频正弦成分HFSC; 2.令E为正弦能量,根据式(44)计算得到解码音频流的m-1帧的正弦能量; 3.根据式(45)算出瞬态比例Rate,其中TD为自适应门限,由式(46)计算得到,mean、std代表了除当前帧以外的X个帧的均值和标准差,C为常数; TD=mean+k*std+C......(15) 4.判断音频解码流的前帧瞬态比例是否大于阈值,该阈值即为TD,若大于阈值则执行步骤9,若小于或等于阈值则执行步骤5; 5.根据上述(473)式计算解码音频流的m+1、m-1帧的高频正弦成分; 6.根据上述(484)式计算解码音频流的m+1帧的正弦能量; 7.根据上述(492)式计算解码音频流的m+1帧的瞬态比例; 8.判断音频解码流的后帧瞬态比例是否大于阈值,若大于阈值则执行步骤9,若小于或等于阈值则执行步骤10; 9.得出前后帧有瞬态的结论; 10.得出前后帧无瞬态的结论。
4)采用瞬态帧恢复方法,即用非瞬态帧的MDCT系数替代丢失帧,实现解码音频流的丢失帧的错误恢复 如图5所示,通过瞬态检测方法得到音频解码流的用于恢复丢失帧的参考帧,即丢失帧的前后帧为瞬态帧时,则使用相邻的非瞬态帧MDCT系数替代丢失帧的MDCT系数,解决了将瞬态帧用于恢复丢失帧产生双重敲击声的问题。
5)对解码音频流的丢失帧进行正弦成分系数恢复和非正弦成分系数恢复 如图6所示,正弦成分系数恢复方法包括以下四个步骤 1.根据式(8)定义一个参考因子α,α由式(16)表示,将α代入(8)式得到(17)式,由式(17)和式(9)可以计算出参考因子α,得到式(18), α=1/cos(πf)......(16) 2.因为伪谱(pseudo-spectrum)与DFT具有很强的相似性,所以我们对解码音频流丢失帧m的能量估计进行频率估计,根据式(10)计算能量估计值Sk,m; 3.确定参考因子α的符号,若令否则其中从而根据余弦函数cos(πf)的符号来得到α的符号; 4.求出解码音频流丢失帧的正弦成分系数 非正弦成分系数恢复方法采用噪声替代方法或者帧替代方法。帧替代方法是指既用前一帧的对应MDCT系数代替丢失帧的MDCT非正弦成分系数。
6)输出恢复好的解码音频流 本发明改进了在MDCT变换域上对丢失帧的前后帧的系数进行正弦估计与恢复的方法,使算法复杂度大大降低,并结合MDCT域瞬态估计算法有效的解决了双重敲击声,算法效果突出。
权利要求
1.一种音频压缩流的解码端错误恢复方法,该方法包括以下六个步骤
(1)检测得到当前MDCT域的解码音频流的第m帧发生帧丢失;
(2)将解码音频流的MDCT系数进行分类,分为MDCT系数正弦成分和MDCT系数非正弦成分;
(3)对解码音频流的丢失帧的前后帧进行瞬态信息检测,判断丢失帧的前后帧是否为瞬态帧;
(4)若瞬态检测判断丢失帧的前后帧是瞬态帧,则采用瞬态帧恢复方法,即用相邻的非瞬态帧的MDCT系数替代丢失帧,实现解码音频流的丢失帧的错误恢复;
(5)若瞬态检测判断丢失帧的前后帧不是瞬态帧,则进行丢失帧的正弦成分系数恢复和非正弦成分系数恢复;
(6)输出恢复好的解码音频流。
2.根据权利要求1所述的一种音频压缩流的解码端错误恢复方法,其特征在于所述的瞬态信息检测方法包括以下十个步骤,如下
(1)根据公式(1)计算解码音频流的第m-2、m-1帧的高频正弦成分HFSC,其中dk为音频序列MDCT域的表达式,SCsu b是非正弦成分集合;
(2)令E为正弦能量,根据式(2)计算得到解码音频流的m-1帧的正弦能量;
(3)根据式(3)算出瞬态比例Rate,其中TD为自适应门限,由式(4)计算得到,mean、std代表了除当前帧以外的X个帧的均值和标准差,C为常数;
TD=m+k*std+C……(15)
(4)判断音频解码流的前帧瞬态比例是否大于阈值,若大于阈值则执行步骤9,若小于或等于阈值则执行步骤5;
(5)根据上述(53)式计算解码音频流的m+1、m-1帧的高频正弦成分;
(6)根据上述(64)式计算解码音频流的m+1帧的正弦能量;
(7)根据上述(72)式计算解码音频流的m+1帧的瞬态比例;
(8)判断音频解码流的后帧瞬态比例是否大于阈值,若大于阈值则执行步骤9,若小于或等于阈值则执行步骤10;
(9)得出前后帧有瞬态的结论;
(10)得出前后帧无瞬态的结论。
3.根据权利要求1所述的一种音频压缩流的解码端错误恢复方法,其特征在于所述的瞬态帧恢复方法如下
通过瞬态检测方法得到音频解码流的用于恢复丢失帧的参考帧,即丢失帧的前后帧为瞬态帧时,则使用相邻的非瞬态帧MDCT系数替代丢失帧的MDCT系数。
4.根据权利要求1所述的一种音频压缩流的解码端错误恢复方法,其特征在于所述的正弦成分系数恢复方法包括以下四个步骤,如下
(1)根据式(8)定义一个参考因子α,α由式(16)表示,将α代入(8)式得到(17)式,由式(17)和式(9)可以计算出参考因子α,得到式(18);
α=1/cos(πf)……(16)
(2)对解码音频流丢失帧m的能量估计进行频率估计,根据式(10)计算能量估计值Sk,m;
(3)确定参考因子α的符号,若令否则其中根据余弦函数cos(πf)的符号来得到α的符号;
(4)求出解码音频流丢失帧的正弦成分系数
全文摘要
本发明公开了一种音频压缩流的解码端错误恢复方法,该方法包括检测得到当前MDCT域的解码音频流的第m帧发生帧丢失;将解码音频流的MDCT系数分为MDCT系数正弦成分和MDCT系数非正弦成分;对解码音频流的丢失帧的前后帧进行瞬态信息检测,判断丢失帧的前后帧是否为瞬态帧;若丢失帧的前后帧是瞬态帧,则采用瞬态帧恢复方法;若丢失帧的前后帧不是瞬态帧,则进行正弦成分系数恢复和非正弦成分系数恢复;输出恢复好的解码音频流六个步骤。该方法改进了在MDCT变换域上对丢失帧的前后帧的系数进行正弦估计与恢复的方法,使算法复杂度大大降低,并结合MDCT域瞬态估计算法解决了双重敲击声问题,效果突出。
文档编号G10L19/00GK101308660SQ200810063029
公开日2008年11月19日 申请日期2008年7月7日 优先权日2008年7月7日
发明者朱梦尧, 李东晓, 伟 郑, 明 张 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1