用于獲取用于音頻信號的替換幀的頻譜系數(shù)的方法及裝置、音頻解碼器、音頻接收器、以 ...的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及編碼的音頻信號的發(fā)送的領(lǐng)域,尤其涉及,一種用于獲取用于音頻信 號的替換幀的頻譜系數(shù)的方法及裝置、音頻解碼器、音頻接收器以及用于發(fā)送音頻信號的 系統(tǒng)。實施例涉及一種用于基于先前所接收的幀來建構(gòu)用于替換幀的頻譜的方法。
【背景技術(shù)】
[0002] 在已有技術(shù)中,描述了處理音頻接收器處的幀丟失(frame-loss)的若干方法。舉 例而言,當幀在音頻或語音編解碼器的接收器側(cè)丟失時,可使用如參考文獻[1]中所描述 的用于幀丟失隱蔽(frame-loss-concealment)的簡單方法,諸如:
[0003] ?重復(fù)最后接收的幀,
[0004] ?使丟失幀靜音,或
[0005] ?符號加擾(signscrambling)。
[0006] 另外,在參考文獻[1]中,提出在子頻帶中使用預(yù)測器的先進技術(shù)。然后,將預(yù)測 器技術(shù)與符號加擾結(jié)合,且使用預(yù)測增益作為逐子頻帶決策準則以確定對于此子頻帶的頻 譜系數(shù)將使用哪種方法。
[0007] 在參考文獻[2]中,將時域中的波形信號外插用于MDCT(改進的離散余弦變換, ModifiedDiscreteCosineTransform)域編解碼器。對于包括語音的單音信號,此類方法 可能較好。
[0008] 若允許一個幀延遲,則可將周圍幀的內(nèi)插用于丟失幀的建構(gòu)。在參考文獻[3]中 描述了此方法,其中使用索引為m-1和m+1的鄰近幀來內(nèi)插具有索引m的丟失幀中的音調(diào) (tonal)分量的幅度。在比特流中發(fā)送定義用于音調(diào)分量的MDCT系數(shù)符號的旁側(cè)信息。符 號加擾用于其他非音調(diào)MDCT系數(shù)。音調(diào)分量被確定為具有最高幅度的預(yù)設(shè)固定數(shù)目的頻 譜系數(shù)。此方法選擇具有最高幅度的η個頻譜系數(shù)作為音調(diào)分量。
[0010] Cn+1 (k)
[0011] 圖7示出表示不具有所發(fā)送的旁側(cè)信息的內(nèi)插方法(正如在參考文獻[4]中所描 述)的方塊圖。該內(nèi)插方法基于使用MDCT(改進的離散余弦變換)在頻域中編碼的音頻幀 而進行操作。幀內(nèi)插區(qū)塊700接收丟失幀之前的幀及丟失幀之后的幀的MDCT系數(shù),更具體 地,在關(guān)于圖7所描述的方法中,在幀內(nèi)插區(qū)塊700處接收在先幀的MDCT系數(shù)(;i(k)及在 后幀的MDCT系數(shù)(;+1 (k)。幀內(nèi)插區(qū)塊700生成用于當前幀的內(nèi)插MDCT系數(shù)4認),該當 前幀早前已在接收器處丟失或由于其他原因(例如,歸因于所接收的數(shù)據(jù)中的錯誤,諸如 此類)而不能在接收器處進行處理。將由幀內(nèi)插區(qū)塊700輸出的內(nèi)插MDCT系數(shù)。(:&)應(yīng) 用至造成標度因子頻帶中的幅度定標的區(qū)塊702及造成具有索引集合的幅度定標的區(qū)塊 704,且各個區(qū)塊702及704分別輸出由因子_<)及孩(k)定標的MDCT系數(shù)匕,(幻。區(qū)塊702 的輸出信號被輸入至基于接收的輸入信號生成偽頻譜lUfc)的偽頻譜區(qū)塊706中,該偽頻 譜被輸入至生成指示檢測的峰值的信號的峰值檢測區(qū)塊708中。由區(qū)塊702提供的信號也 被施加至隨機符號改變區(qū)塊712,該區(qū)塊響應(yīng)于由區(qū)塊708生成的峰值檢測信號而造成所 接收的信號的符號改變并將修改的MDCT系數(shù)(?輸出至頻譜組成區(qū)塊710。由區(qū)塊704 提供的經(jīng)定標的信號被施加至符號校正區(qū)塊714,該符號校正區(qū)塊響應(yīng)于由區(qū)塊708提供 的峰值檢測信號,造成由區(qū)塊704提供的經(jīng)定標的信號的符號校正,并將修改的MDCT系數(shù) t(U輸出至頻譜組成區(qū)塊710,該頻譜組成區(qū)炔基于所接收的信號生成由頻譜組成區(qū)塊 710輸出的內(nèi)插MDCT系數(shù)t'A〇£),,如圖7所示,由區(qū)塊708提供的峰值檢測信號也被提供至 生成經(jīng)定標的MDCT系數(shù)的區(qū)塊704。
[0012] 圖7在區(qū)塊714的輸出端生成用于丟失幀的與音調(diào)分量相關(guān)聯(lián)的頻譜系數(shù) ' 00,且在區(qū)塊712的輸出端,提供用于非音調(diào)分量的頻譜系數(shù)心(fc),以便在頻譜組成 區(qū)塊710處,基于針對音調(diào)分量及非音調(diào)分量而接收的頻譜系數(shù),提供用于與丟失幀相關(guān) 聯(lián)的頻譜的頻譜系數(shù)。
[0013] 現(xiàn)將更詳細地描述圖7的方塊圖中所描述的FLC(幀丟失隱蔽)技術(shù)的操作。
[0014] 在圖7中,基本上,可區(qū)分四個模塊:
[0015] ?成形噪聲插入模塊(包括幀內(nèi)插700、在標度因子頻帶內(nèi)的幅度定標702及隨機 符號改變712),
[0016] ·MDCT頻率區(qū)間分類模塊(包括偽頻譜706及峰值檢測708),
[0017] ?音調(diào)隱蔽操作模塊(包括在索引集合內(nèi)的幅度定標704及符號校正714),及
[0018] ?頻譜組成710。
[0019] 該方法基于以下通用公式:
[0020] Cm(k)=C^(k)a*(/〇s"(/〇,0 <k<Μ
[0021] 通過逐頻率區(qū)間內(nèi)插得到G(k)(參見區(qū)塊700 "幀內(nèi)插")
[0023] 通過使用幾何平均值的能量內(nèi)插得到aYk):
[0024] ?用于所有分量的逐標度因子頻帶,(參見區(qū)塊702 "標度因子頻帶中的幅度定 標")及
[0025] ?用于音調(diào)分量的逐索引子集(參見區(qū)塊704 "在索引集合內(nèi)的幅度定標"):
[0027] ?對于音調(diào)分量,其可示出為a=cos(πfi),其中仁為音調(diào)分量的頻率。
[0028] 基于通過簡單平滑運算而得到的偽功率譜得到能量E:
[0029] P(k) ^C2 (k) +{C(k+1)-C(k-1)}2
[0030]sYk),對于非音調(diào)分量被隨機設(shè)定為±1(參見區(qū)塊712"隨機符號改變"),且對 于音調(diào)分量被隨機設(shè)定為+1或-1(參見區(qū)塊714"符號校正")。
[0031] 將峰值檢測執(zhí)行為在偽功率譜中搜索區(qū)域最大值以檢測與下伏正弦曲線相對應(yīng) 的頻譜峰值的確切位置。峰值檢測基于在參考文獻[5]中所描述的MPEG-1音質(zhì)模型中所 采用的音調(diào)識別過程(toneidentificationprocess)。在此之外,定義索引子集,其具有 依據(jù)MDCT頻率區(qū)間的分析窗口的主瓣的帶寬及在其中心的檢測的峰值。將這些頻率區(qū)間 視為正弦曲線的音調(diào)主導(dǎo)的MDCT頻率區(qū)間,并將索引子集視為各自的音調(diào)分量。
[0032] 符號校正sYk)使某個音調(diào)分量的所有頻率區(qū)間的符號翻轉(zhuǎn),或不翻轉(zhuǎn)。使用綜 合分析執(zhí)行該確定,即,針對兩個版本均得到SFM,并選擇具有較低SFM的版本。對于SFM的 得到,需要功率譜,而功率譜又需要MDST(改進的離散正弦變換,ModifiedDiscreteSine Transform)系數(shù)。為了保持復(fù)雜性是可管理的,僅使用音調(diào)分量的MDCT系數(shù),僅得到用于 此音調(diào)分量的MDST系數(shù)。
[0033] 圖8示出總FLC技術(shù)的方塊圖,與圖7的方法相比,該總FLC技術(shù)經(jīng)過改良并在參 考文獻[6]中加以描述。在圖8中,在MDCT頻率區(qū)間分類區(qū)塊800處接收丟失幀之前的上 一幀和丟失幀之后的第一幀的MDCT系數(shù)(;C"+1。這些系數(shù)也被提供至噪聲成形插入?yún)^(qū) 塊802和針對音調(diào)分量的MDCT估計區(qū)塊804。在區(qū)塊804,還接收由分類區(qū)塊800提供的輸 出信號,以及分別接收丟失幀之前的倒數(shù)第二個幀和丟失幀之后的第二幀的MDCT系數(shù)(;2 及(;+2。區(qū)塊804生成丟失幀的用于音調(diào)分量的MDCT系數(shù),且噪聲成形插入?yún)^(qū)塊802生 成用于的丟失幀的用于非音調(diào)分量的MDCT頻譜系數(shù)這些系數(shù)被提供至頻譜組成區(qū)塊806,頻譜組成區(qū)塊806在輸出端生成用于丟失幀的頻譜系數(shù)益。噪聲成形插入?yún)^(qū)塊802響 應(yīng)于由估計區(qū)塊804生成的系統(tǒng)Ιτ進行操作。
[0034]關(guān)于參考文獻[4],以下修改是令人感興趣的:
[0035] ?得到用于峰值檢測的偽功率譜為
[0037] ?為了消除感觀上的不相關(guān)或虛假峰值,將峰值檢測僅應(yīng)用于有限的頻譜范圍,且 僅考慮超出相對于偽功率譜的絕對最大值的相對閾值的區(qū)域最大值。對剩余峰值以其幅度 的遞減次序進行排序,且將預(yù)先指定數(shù)目的最高順位的最大值歸類為音調(diào)峰值。
[0038] ?該方法基于以下通用公式(此時α帶有符號):
[0040] ?如上所述地得到但α的得到變得更高級,遵循以下方法
[0042] 以以下方式取代及Ε^:
[0043] Em !(α ) ¥ |cm f+lsm」2= |cm」2+| ξ !+α ζ
[0044] Εη(α)^a2|cJ2+|sJ2=a21CJ2+|ξ 2+α ζ2|2
[0045] Εη+1(α ) ¥ |Cn+1|2+|sn+1|2= |Cn+1|2+| ξ3+α ζ3|2
[0046]而
[0047] snl^ A1cn2+A2cnil+aA3c n= ξ !+α
[0048] sn¥Aa!+aAcm+A#-:ξ2+αζ2
[0049] sn+1^αA1cn+A2cni+1+A3cn+2=ξ3+αζ3
[0050] 產(chǎn)生α為二次的表達式。因此,對于給定的MDCT估計,存在用于乘法校正因子 (A1、A2、A3為變換矩陣)的兩個候選者(具有相反的符號)。類似于參考文獻[4]中所描 述的,執(zhí)行較佳估計的選擇。
[0051] ?此先進方法需要在幀丟失之前及之后的兩個幀,以得到在先及后續(xù)幀的MDST系 數(shù)。
[0052] 在參考文獻[7]中建議此方法的較少延遲的版本:
[0053] ?作為開始點,重新使用內(nèi)插公式
對于幀m-1應(yīng) 用該內(nèi)插公式,從而產(chǎn)生:
[0055] ?然后,由真實估計替換內(nèi)插結(jié)果(此處,因子2變?yōu)樾U蜃拥牟糠郑害? 2。08(31以),致使
[0056] Cn(k) =aCnl(k)-Cn2(k)
[0057] ?通過觀察兩個在先幀的能量來確定校正因子。根據(jù)能量計算,將在先幀的MDST 系數(shù)近似為
[0058] snl^ (A1-A3)cn2+A2cnil+aA3cnil=ξ〇+αζ0
[0059] ?之后,將正弦能量計算為
[0060] Enl(a) ^|Cn |cnl|2+|ξ〇+αξ0|2
[0061] ?類似地,計算用于幀m-2的正弦能量并由與a無關(guān)的Em2表示。
[0062] ?應(yīng)用能量需求
[0063] En ! (a) =En2
[0064] 再次產(chǎn)生α為二次的表達式。
[0065] ?如前所述地執(zhí)行針對計算的候選者的選擇過程,但決策規(guī)則僅考慮在先幀的功 率譜。
[0066] 在參考文獻[8]中描述了頻域中的另一較少延遲的幀丟失隱蔽。不失一般性地, 參考文獻[8]的教示可簡化為:
[0067] ?使用時間信號的DFT的預(yù)測:
[0068] (a)從與接收到的編碼的頻域系數(shù)(;相對應(yīng)的解碼的時域信號獲得DFT頻譜。
[0069] (b)假設(shè)線性相位改變,調(diào)整DFT幅度以預(yù)測在下一幀中失去的頻域系數(shù)(;+1
[0070] ?使用自接收的頻率頻譜的幅度估計的預(yù)測:
[0071] (a)使用(;作為輸入,找出CmRS'm,以使得
[0074] 其中Qjk)為與Cjk)相對應(yīng)的DFT系數(shù)的幅度
[0075] (b)計算:
[0078] (c)執(zhí)行幅度及相位的線性外插:
[0079]Qm+1(k)= 2Qm(k)_Qm !(k)
[0082] ?使用濾波器以從(;計算C'"和S'",然后如上所述地繼續(xù)以得到(;+1(k)
[0083] ?使用適應(yīng)性濾波器以計算(;+1(k):
[0085] 參考文獻[8]中提及但未詳細描述待預(yù)測頻譜系數(shù)的選擇。
[0086] 在參考文獻[9]中,已認識到,對于準靜止信號,連續(xù)幀之間的相位差幾乎恒定, 且僅取決于分頻(fractionalfrequency)。然而,僅使用來自上兩個復(fù)頻譜的線性外插。
[0087] 在AMR_WB+(參見參考文獻[10])中,使用了參考文獻[11]中所描述的方法。假 設(shè)僅當前幀的一部分丟失,從某種意義上來說(參考文獻[11]中的方法也使用當前幀的可 用頻譜系數(shù)),參考文獻[11]中的方法為參考文獻[8]中所描述方法的擴展。然而,在參考 文獻[11]中未考慮幀完全丟失的情形。
[0088] 在參考文獻[12]中描述了MDCT域中的另一較少延遲的幀丟失隱蔽。在參考文獻 [12]中,首先判斷丟失的第P個幀是否為多諧波幀。若第P個幀之前的K個幀中,K。個以 上的幀具有小于閾值的頻譜平坦度,則丟失的第P個幀為多諧波幀。若丟失的第P個幀為 多諧波幀,則使用MDCT-MDST域中的第(P-K)至第