本文公開的發(fā)明總體上涉及音頻信號的編碼和解碼,并且特別地,涉及用于掩蓋錯誤的方法和裝置。
背景技術(shù):
修正離散余弦變換(mdct)和對應(yīng)的逆修正離散變換(imdct)被用于例如音頻譯碼和解碼技術(shù),諸如mpeg-2和mpeg-4音頻層、高級音頻編碼、mpeg-4he-aac、mpeg-dusac、杜比數(shù)字(plus)以及其他專有格式。
在這種技術(shù)的應(yīng)用中,在分組在解碼系統(tǒng)中被接收之前或之后,由于與音頻信號的變換相關(guān)的分組丟失或分組錯誤,有時會出現(xiàn)錯誤。這樣的錯誤例如包括分組丟失或分組失真,并且可能導(dǎo)致解碼音頻信號的聽得見的失真。
因此已經(jīng)提供了用于在分組中出現(xiàn)錯誤的情況下掩蓋錯誤的方法。錯誤掩蓋法一般分為估計掩蓋法和非估計掩蓋法,在估計掩蓋法中,錯誤幀被估計替代,非估計掩蓋法例如使用錯誤幀的靜默、幀重復(fù)或噪聲代替。
估計掩蓋法包括在頻域中使用估計的方法(諸如美國專利no.8620644中公開的方法)以及在時域中使用估計的方法(諸如國際專利公開no.wo/2014/052746中公開的方法)。
用于錯誤掩蓋的所有技術(shù)都面臨與掩蓋的質(zhì)量和所需估計的復(fù)雜度之間的權(quán)衡相關(guān)的問題。因此,存在對于錯誤掩蓋的其他方法的需求。
附圖說明
現(xiàn)在將參照附圖來描述示例性實施例,其中:
圖1a和圖1b分別以舉例的方式描繪mdct和imdct的概括框圖,
圖2是第一解碼系統(tǒng)的概括框圖,
圖3是第二解碼系統(tǒng)的概括框圖,以及
圖4是第三解碼系統(tǒng)的概括框圖。
所有圖都是示意性的,并且一般僅描繪闡明本公開所必需的部分,而其他部分則可以被省略或僅被建議。除非另有指示,否則相似的附圖標(biāo)記指代不同圖中的相同部分。
具體實施方式
鑒于以上,一個目的是提供旨在以不顯著的復(fù)雜度提供期望的錯誤掩蓋的解碼器系統(tǒng)和相關(guān)方法。
i.概述——第一方面
根據(jù)第一方面,示例性實施例提出了用于解碼的解碼方法、解碼系統(tǒng)以及計算機程序產(chǎn)品。所提出的方法、解碼系統(tǒng)以及計算機程序產(chǎn)品一般可以具有相同的特征和優(yōu)點。
根據(jù)示例性實施例,提供了一種用于掩蓋在基于mdct的音頻解碼器中將被解碼的數(shù)據(jù)分組中的錯誤的方法,該音頻解碼器被布置為將分組序列解碼為解碼幀序列。該方法包括:從被布置為對音頻信號進(jìn)行編碼的基于mdct的音頻編碼器接收包括mdct系數(shù)集合的分組,該mdct系數(shù)集合與包括音頻信號的時域樣本的幀相關(guān)聯(lián);并且在接收分組(receivedpacket)包括一個或多個錯誤時,將接收分組識別為錯誤分組。該方法還包括產(chǎn)生替代錯誤分組的mdct系數(shù)集合的估計mdct系數(shù),估計mdct系數(shù)基于與在分組序列中緊挨在錯誤分組前面的接收分組相關(guān)聯(lián)的對應(yīng)mdct系數(shù)。該方法還包括:將估計mdct系數(shù)中的mdct系數(shù)的第一子集的符號指定為等于在分組序列中緊挨在錯誤分組前面的接收分組的對應(yīng)mdct系數(shù)的對應(yīng)符號,其中,第一子集包括與分組的音調(diào)狀譜區(qū)間(tonal-likespectralbin)相關(guān)聯(lián)的這些mdct系數(shù);并且隨機地指定估計mdct系數(shù)中的mdct系數(shù)的第二子集的符號,其中第二子集包括與分組的噪聲狀譜區(qū)間(noise-likespectralbin)相關(guān)聯(lián)的這些mdct系數(shù);基于所述分組的選定符號和估計mdct系數(shù)來產(chǎn)生掩蓋分組;并且用掩蓋分組來替代錯誤分組。
如本文所使用的,“錯誤分組”表示包括以某種方式相對于音頻信號的正確樣本的正確mdct的mdct系數(shù)不同的mdct系數(shù)。這可能意味著,整個分組的一部分在分組序列中丟失,或者整個分組的一部分包括失真。
分組的音調(diào)狀譜區(qū)間和噪聲狀譜區(qū)間的識別可以使用任何合適的方法來執(zhí)行。音調(diào)狀譜區(qū)間和噪聲狀譜區(qū)間的識別的次序是任意的,并且可以例如取決于所用方法。
要注意,術(shù)語“第一子集”和“第二子集”僅用于在文本中將這兩個子集相互區(qū)分開,而不是用于指示與這兩個不同子集相關(guān)的處理次序。指定的執(zhí)行次序是任意的??梢允紫葘τ糜诘谝蛔蛹膍dct系數(shù)執(zhí)行指定,最后對用于第二子集的mdct系數(shù)執(zhí)行指定,或者倒過來。此外,在一些示例性實施例中,可以不對mdct系數(shù)執(zhí)行指定,以使得與第一子集相關(guān)聯(lián)的所有mdct系數(shù)都被連續(xù)地指定,并且與第二子集相關(guān)聯(lián)的所有mdct系數(shù)都被連續(xù)地指定。在一些示例性實施例中,可以首先對其中一個子集的一個或多個mdct系數(shù)進(jìn)行指定,然后對其他子集的一個或多個mdct系數(shù)進(jìn)行指定。此外,分組不一定具有與噪聲狀譜區(qū)間和音調(diào)狀譜區(qū)間這兩者相關(guān)聯(lián)的mdct系數(shù)。在一些示例性實施例中,分組可以具有與噪聲狀譜區(qū)間相關(guān)聯(lián)的所有mdct系數(shù)或者全都與音調(diào)狀譜區(qū)間相關(guān)聯(lián),以使得其中一個子集是空的。最后,mdct系數(shù)通常被識別為要么屬于第一子集、要么屬于第二子集。
要注意,使估計基于與在分組序列中緊挨在錯誤分組前面的接收分組相關(guān)聯(lián)的mdct系數(shù)和mdct系數(shù)符號不排除估計可以附加地基于與在分組序列中比緊挨在錯誤分組前面的分組更早的接收分組相關(guān)聯(lián)的mdct系數(shù)和mdct系數(shù)符號。
如本文所使用的,“產(chǎn)生估計mdct系數(shù)”涉及將如下值指定給mdct系數(shù):這些值不一定是在錯誤分組中尚未存在任何錯誤時mdct系數(shù)將會具有的值的最佳近似(approximation),而是實現(xiàn)期望的錯誤掩蓋性能以使得解碼音頻信號的不想要的失真被避免或減少。
如本文所使用的,“估計mdct系數(shù)”涉及所估計的mdct系數(shù)的絕對值。
根據(jù)示例性實施例,該方法還包括:對于每個估計mdct系數(shù),基于與錯誤分組相關(guān)聯(lián)的功率譜的近似的譜峰檢測來確定mdct系數(shù)是與音調(diào)狀譜區(qū)間相關(guān)聯(lián)、還是與噪聲狀譜區(qū)間相關(guān)聯(lián),其中,近似的功率譜基于與在分組序列中緊挨在錯誤分組前面的接收分組相關(guān)聯(lián)的功率譜。
根據(jù)一些實施例,該方法還包括:對于每個估計mdct系數(shù),基于與分組相關(guān)聯(lián)的元數(shù)據(jù)來確定mdct系數(shù)是與音調(diào)狀譜區(qū)間相關(guān)聯(lián)、還是與噪聲狀譜區(qū)間相關(guān)聯(lián),其中,元數(shù)據(jù)是在包括分組序列和元數(shù)據(jù)的比特流中接收的。
如本文所使用的,“元數(shù)據(jù)”涉及用于控制音頻解碼器處理的比特流參數(shù)。
元數(shù)據(jù)可以在分組序列的分組中以及在包括分組序列和元數(shù)據(jù)的比特流中的分組的外部被發(fā)送。
可以用于確定mdct系數(shù)是與音調(diào)狀譜區(qū)間相關(guān)聯(lián)還是與噪聲狀譜區(qū)間相關(guān)聯(lián)的元數(shù)據(jù)是用于基于音頻內(nèi)容類型來控制某個音頻解碼器處理的元數(shù)據(jù)。這種元數(shù)據(jù)的一個例子是與ac-4中使用的壓擴工具相關(guān)的元數(shù)據(jù)。在一些實施例中,對于音調(diào)信號可以關(guān)掉壓擴(compand)工具,因此,如果壓擴關(guān)閉,則信號被假定為是音調(diào)。作為另一個例子,如果最長的mdct被使用,則音頻內(nèi)容最可能是音調(diào)信號。
根據(jù)一些實施例,估計mdct系數(shù)被選為等于在分組序列中緊挨在錯誤分組前面的接收分組的對應(yīng)mdct系數(shù)。
根據(jù)一些實施例,估計mdct系數(shù)被選為等于在分組序列中緊挨在錯誤分組前面的接收分組的以縮放因子帶分辨率被用能量縮放因子進(jìn)行能量調(diào)整的對應(yīng)mdct系數(shù)。關(guān)于縮放因子帶分辨率的詳細(xì)描述,參照etsits103190v1.1.1“digitalaudiocompression(ac-4)standard”,2014-04,其內(nèi)容通過引用并入本文。
根據(jù)一些實施例,接收分組包括與音頻信號的n個加窗時域樣本相關(guān)聯(lián)的n/2個mdct系數(shù),進(jìn)一步包括:通過imdct從掩蓋幀產(chǎn)生包括n個加窗時域混疊樣本的中間幀;基于中間幀的加窗時域混疊樣本之間的對稱關(guān)系來修改中間幀的加窗時域混疊樣本。
如本文所使用的,“n”是偶數(shù)。
如本文所使用的,“包括n個加窗時域混疊樣本的中間幀”表示由從編碼器接收的mdct系數(shù)在解碼器系統(tǒng)中的imdct得到的樣本幀。在一些示例性實施例中,中間幀是在解碼系統(tǒng)中執(zhí)行重疊相加以便生成解碼幀序列中的解碼幀之前的幀。
根據(jù)一些實施例,修改使用包括n個加窗時域混疊樣本的中間幀的第一半的第一半和包括n個加窗時域混疊樣本的中間幀的第一半的第二半之間的對稱關(guān)系、以及包括n個加窗時域混疊樣本的中間幀的第二半的第一半和包括n個加窗時域混疊樣本的中間幀的第二半的第二半之間的對稱關(guān)系。
如本文所使用的,“中間幀的第一半”表示中間幀的頭n/2個樣本。如果中間幀的樣本被連續(xù)地編號為0至n-1,則第一半將是樣本0至n/2-1。此外,“中間幀的第二半”表示中間幀的最后n/2個樣本。如果中間幀的樣本被連續(xù)地編號為0至n-1,則第二半將是樣本0至n/2至n-1。
如本文所使用的,“中間幀的第一半的第一半”表示包括中間幀的第一半的頭n/4個樣本的子集,“中間幀的第一半的第二半”表示包括中間幀的第一半的最后n/4個樣本的子集,“中間幀的第二半的第一半”表示包括中間幀的第二半的頭n/4個樣本的子集,“中間幀的第二半的第二半”表示包括中間幀的第二半的最后n/4個樣本的子集。
根據(jù)一些實施例,接收分組包括與音頻信號的n個加窗時域樣本相關(guān)聯(lián)的n/2個mdct系數(shù),進(jìn)一步包括:通過imdct從掩蓋幀產(chǎn)生包括n個加窗時域混疊樣本的中間幀;基于中間幀的加窗時域混疊樣本和音頻信號的n個時域樣本的加窗時域樣本之間的關(guān)系來修改中間幀的加窗時域混疊樣本。
示例性實施例提供與在分組序列中緊挨在錯誤分組前面的接收分組相關(guān)聯(lián)的前一個解碼幀可以被用作第一子集的加窗時域混疊樣本和音頻信號的n個加窗時域樣本中的加窗時域樣本之間的關(guān)系的近似。然后可以使用該關(guān)系來修改所產(chǎn)生的中間幀以便增強錯誤掩蓋性能。
根據(jù)示例性實施例,提供了一種用于掩蓋在基于修正離散余弦變換mdct的音頻解碼器中將被解碼的數(shù)據(jù)分組中的錯誤的解碼系統(tǒng),所述基于mdct的音頻解碼器被布置為將分組序列解碼為解碼幀序列,所述系統(tǒng)包括:接收器部分,被配置為從被布置為對音頻信號進(jìn)行編碼的基于mdct的音頻編碼器接收包括mdct系數(shù)集合的分組,所述mdct系數(shù)集合與包括所述音頻信號的時域樣本的幀相關(guān)聯(lián);錯誤檢測部分,被配置為在所述接收分組包括一個或多個錯誤時,將所述接收分組識別為錯誤分組;以及錯誤掩蓋部分,被配置為:產(chǎn)生用于替代所述錯誤分組的mdct系數(shù)集合的估計mdct系數(shù),所述估計mdct系數(shù)基于與在所述分組序列中緊挨在所述錯誤分組前面的接收分組相關(guān)聯(lián)的對應(yīng)mdct系數(shù);將所述估計mdct系數(shù)中的mdct系數(shù)的第一子集的符號指定為等于在所述分組序列中緊挨在所述錯誤分組前面的接收分組的對應(yīng)mdct系數(shù)的對應(yīng)符號,其中,所述第一子集包括與所述分組的音調(diào)狀譜區(qū)間相關(guān)聯(lián)的mdct系數(shù);隨機地指定所述估計mdct系數(shù)中的mdct系數(shù)的第二子集的符號,其中,所述第二子集包括與所述分組的噪聲狀譜區(qū)間相關(guān)聯(lián)的mdct系數(shù);基于所述分組的估計mdct系數(shù)和選定符號來產(chǎn)生掩蓋分組;以及用所述掩蓋分組來替代所述錯誤分組。
ii.概述——第二方面
根據(jù)第二方面,示例性實施例提出了用于解碼的解碼方法、解碼系統(tǒng)以及計算機程序產(chǎn)品。所提出的方法、解碼系統(tǒng)以及計算機程序產(chǎn)品一般可以具有相同的特征和優(yōu)點。
根據(jù)示例性實施例,提供了一種用于掩蓋在基于mdct的音頻解碼器中將被解碼的數(shù)據(jù)分組中的錯誤的方法,該音頻解碼器被布置為將分組序列解碼為解碼幀序列。該方法包括:從被布置為對音頻信號進(jìn)行編碼的基于mdct的音頻編碼器接收包括與音頻信號的n個加窗時域樣本相關(guān)聯(lián)的n/2個mdct系數(shù)的分組;并且在該分組包括一個或多個錯誤時,將該分組識別為錯誤分組。該方法還包括:估計第一子集,第一子集包括中間幀的第一半的n/4個加窗時域混疊樣本,中間幀包括與錯誤分組相關(guān)聯(lián)的n個加窗時域混疊樣本,該估計基于第一子集的加窗時域混疊樣本和音頻信號的n個加窗時域樣本中的加窗時域樣本之間的關(guān)系;并且估計第二子集,第二子集包括中間幀的第一半的剩余n/4個加窗時域混疊樣本,該估計基于第二子集的加窗時域混疊樣本和第一子集的加窗時域混疊樣本之間的對稱關(guān)系。
如本文所使用的,“n”是偶數(shù)。
如本文所使用的,“錯誤分組”表示包括以某種方式相對于音頻信號的正確樣本的正確mdct的mdct系數(shù)不同的mdct系數(shù)。這可能意味著,整個分組的一部分在分組序列中丟失,或者整個分組的一部分包括失真。
如本文所使用的,“包括n個加窗時域混疊樣本的中間幀”表示由從編碼器接收的mdct系數(shù)在解碼器系統(tǒng)中的逆imdct得到的樣本幀。因此,中間幀是在解碼系統(tǒng)中執(zhí)行重疊相加以便生成解碼幀序列中的解碼幀之前的加窗時域混疊樣本的幀。
如本文所使用的,“中間幀的第一半”表示中間幀的頭n/2個樣本。如果中間幀的樣本被連續(xù)地編號為0至n-1,則第一半將是樣本0至n/2-1。
如本文所使用的,“包括n/4個加窗時域混疊樣本的第一子集”表示包括中間幀的第一半的n/4個樣本的子集,這n/4個樣本無需是中間幀的第一半中的連續(xù)樣本,但是應(yīng)被選為使得不生成關(guān)于來自第二子集的樣本和第一子集的樣本之間的對稱關(guān)系的信息的冗余信息。
如本文所使用的,“估計第一子集”和“估計第二子集”涉及將如下值指定給第一子集和第二子集的加窗時域混疊樣本:這些值不一定是在錯誤分組中尚未存在任何錯誤時它們將會具有的值的最佳近似,但是實現(xiàn)期望的錯誤掩蓋性能以使得解碼音頻信號的不想要的失真被避免或減少。
根據(jù)示例性實施例,第一子集的估計基于與在分組序列中緊挨在錯誤分組前面的接收分組相關(guān)聯(lián)的前一個解碼幀。
要注意,使估計基于與在分組序列中緊挨在錯誤分組前面的接收分組相關(guān)聯(lián)的前一個解碼幀不排除估計可以附加地基于與在分組序列中比緊挨在錯誤分組前面的分組更早的接收分組相關(guān)聯(lián)的更早的解碼幀。
基于前一個解碼幀對第一子集的估計在示例性實施例中可以與包括n/4個加窗時域混疊樣本(這n/4個加窗時域混疊樣本是中間幀的第一半的第一半)的第一子集相組合,其中,對于n等于0,1,…,n/4-1,第一子集的樣本編號n被估計為前一個解碼幀的樣本編號n的加窗版本減去前一個解碼幀的樣本編號n/2-1-n的加窗版本。
示例性實施例提供:第一子集的加窗時域混疊樣本和音頻信號的n個加窗時域樣本中的加窗時域樣本之間的關(guān)系可以通過使用與錯誤分組相關(guān)聯(lián)的n個加窗時域樣本和與在分組序列中緊挨在錯誤分組前面的接收分組相關(guān)聯(lián)的先前的n個加窗時域樣本的重疊性質(zhì)來重新制定。因此,第一子集的加窗時域混疊樣本和音頻信號的先前的n個加窗時域樣本之間的關(guān)系被導(dǎo)出。示例性實施例還提供:音頻信號的先前的n個加窗時域樣本中的加窗時域樣本可以用前一個解碼幀的樣本的加窗版本來近似。
基于前一個解碼幀估計第一子集、產(chǎn)生估計解碼幀、估計第三子集以及估計第四子集在示例性實施例中可以與包括n/4個加窗時域混疊樣本(這n/4個加窗時域混疊樣本是中間幀的第一半的第一半)的第一子集以及包括n/4個加窗時域混疊樣本(這n/4個加窗時域混疊樣本是中間幀的第二半的第一半)的第三子集相組合,并且其中,對于n等于0,1,…,n/4-1,第一子集的樣本編號n被估計為前一個解碼幀的樣本編號n的加窗版本減去前一個解碼幀的樣本編號n/2-1-n的加窗版本,并且其中,對于n等于0,1,…,n/4-1,第三子集的樣本編號n被估計為估計解碼幀的樣本編號n的加窗版本加上估計解碼幀的樣本編號n/2-1-n的加窗版本。
要注意,使估計基于與錯誤分組相關(guān)聯(lián)的估計解碼幀不排除估計可以附加地基于與在分組序列中比錯誤分組更早的接收分組相關(guān)聯(lián)的更早的解碼幀。
示例性實施例提供:音頻信號的先前的n個加窗時域樣本中的加窗時域樣本可以用前一個解碼幀和估計解碼幀的樣本的加窗版本來近似。
在一些示例性實施例中,第一子集的估計基于偏移集合,該偏移集合包括與在分組序列中緊挨在與前一個解碼幀相關(guān)聯(lián)的分組前面的接收分組相關(guān)聯(lián)的再前一個解碼幀以及與在分組序列中緊挨在錯誤分組前面的接收分組相關(guān)聯(lián)的前一個解碼幀的n/2個樣本,該偏移集合包括所述再前一個解碼幀的最后k個樣本以及所述前一個解碼幀的除了最后k個樣本之外的所有樣本,其中,k<n/2。在本示例性實施例中,k可以基于要用前面的幀估計的幀的自相似性的最大化來設(shè)置,并且k可以例如取決于n。
代替僅使用前一個解碼幀的n/2個樣本,將前一個解碼幀的n-k個樣本與來自所述再前一個解碼幀的k個樣本一起使用。更具體地說,使用所述再前一個解碼幀的最后k個樣本以及所述前一個解碼幀的除了最后k個樣本之外的所有樣本。這要求k<n/2。
基于前一個解碼幀估計第一子集、產(chǎn)生估計解碼幀、估計第三子集以及估計第四子集在示例性實施例中可以與第一子集的估計相組合,第一子集的估計進(jìn)一步基于與在分組序列中緊挨在與前一個解碼幀相關(guān)聯(lián)的分組前面的接收分組相關(guān)聯(lián)的再前一個解碼幀,第一子集包括n/4個加窗時域混疊樣本,這n/4個加窗時域混疊樣本是中間幀的第一半的第一半,第三子集包括n/4加窗時域混疊樣本,這n/4個加窗時域混疊樣本是中間幀的第二半的第一半,對于n等于0,1,…,k,第一子集的樣本編號n被估計為所述再前一個解碼幀的樣本編號n/2-1+n-k的加窗版本減去所述前一個解碼幀的樣本編號n/2-1-n-k的加窗版本,并且對于n等于k+1,…,n/4-1,第一子集的樣本編號n被估計為所述前一個解碼幀的樣本編號n-k-1的加窗版本減去所述前一個解碼幀的樣本編號n/2-1-n-k的加窗版本,并且n等于0,1,…,k,第三子集的樣本編號n被估計為所述前一個解碼幀的樣本編號n/2-1+n-k的加窗版本減去估計解碼幀的樣本編號n/2-1-n-k的加窗版本,并且其中,對于n等于k+1,…,n/4-1,第三子集的樣本編號n被估計為估計解碼幀的樣本編號n-k-1的加窗版本加上估計解碼幀的樣本編號n/2-1-n-k的加窗版本,其中,k≤n/4-1。
在示例性實施例中,提供了一種用于掩蓋在基于mdct的音頻解碼器中將被解碼的數(shù)據(jù)分組中的錯誤的解碼系統(tǒng),該音頻解碼器被布置為將分組序列解碼為解碼幀序列,該系統(tǒng)包括:接收器部分,被配置為從被布置為對音頻信號進(jìn)行編碼的基于mdct的音頻編碼器接收包括與音頻信號的n個加窗時域樣本相關(guān)聯(lián)的n/2個mdct系數(shù)的分組;錯誤檢測部分,被配置為在該分組包括一個或多個錯誤時,將該分組識別為錯誤分組;以及錯誤掩蓋部分,被配置為:估計第一子集,第一子集包括中間幀的第一半的n/4個加窗時域混疊樣本,中間幀包括與錯誤分組相關(guān)聯(lián)的n個加窗時域混疊樣本,該估計基于第一子集的加窗時域混疊樣本和音頻信號的n個加窗時域樣本中的加窗時域樣本之間的關(guān)系;并且估計第二子集,第二子集包括中間幀的第一半的剩余n/4個加窗時域混疊樣本,該估計基于第二子集的加窗時域混疊樣本和第一子集的加窗時域混疊樣本之間的對稱關(guān)系。
iii.概述——第三方面
根據(jù)第三方面,示例性實施例提出了用于解碼的解碼方法、解碼系統(tǒng)以及計算機程序產(chǎn)品。所提出的方法、解碼系統(tǒng)以及計算機程序產(chǎn)品一般可以具有相同的特征和優(yōu)點。
在一些示例性實施例中,提供了一種用于掩蓋在基于mdct的音頻解碼器中將被解碼的數(shù)據(jù)分組中的錯誤的方法,該基于mdct的音頻解碼器被布置為將分組序列解碼為解碼幀序列。該方法包括:從被布置為對音頻信號進(jìn)行編碼的基于mdct的音頻編碼器接收包括與音頻信號的n個加窗時域樣本相關(guān)聯(lián)的n/2個mdct系數(shù)的分組;并且在該分組包括一個或多個錯誤時,將該分組識別為錯誤分組。該方法還包括將包括與錯誤分組相關(guān)聯(lián)的n/2個樣本的解碼幀估計為等于前一個中間幀的第二半,該前一個中間幀包括與在分組序列中緊挨在錯誤分組前面的接收分組相關(guān)聯(lián)的n個非加窗時域樣本。
如本文所使用的,“n”是偶數(shù)。
如本文所使用的,“錯誤分組”表示包括以某種方式相對于音頻信號的正確樣本的正確mdct的mdct系數(shù)不同的mdct系數(shù)。這可能意味著,整個分組的一部分在分組序列中缺失,或者整個分組的一部分包括失真。
如本文所使用的,“估計解碼幀”涉及將如下值指定給解碼幀的樣本:這些值不一定是在錯誤分組中尚未存在任何錯誤時這些樣本將會具有的值的最佳近似,但是實現(xiàn)期望的錯誤掩蓋性能,以使得解碼音頻信號的不想要的失真被避免或減少。
如本文所使用的,“前一個中間幀的第二半”表示前一個中間幀的最后n/2個樣本。如果中間幀的樣本被連續(xù)地編號為0至n-1,則第二半將是樣本n/2至n-1。
在一些示例性實施例中,提供了將包括與在分組序列中緊挨在錯誤分組后面的接收分組相關(guān)聯(lián)的n/2個樣本的后一個解碼幀估計為等于后一個中間幀的第一半,該后一個中間幀包括與在分組序列中緊挨在錯誤分組后面的接收分組相關(guān)聯(lián)的非加窗時域樣本。
在一些示例性實施例中,提供了一種用于掩蓋在基于mdct的音頻解碼器中將被解碼的數(shù)據(jù)分組中的錯誤的解碼系統(tǒng),該基于mdct的音頻解碼器被布置為將分組序列解碼為解碼幀序列,該系統(tǒng)包括:接收器部分,被配置為從被布置為對音頻信號進(jìn)行編碼的基于mdct的音頻編碼器接收包括與音頻信號的n個加窗時域樣本相關(guān)聯(lián)的n/2個mdct系數(shù)的分組;錯誤檢測部分,被配置為在該分組包括一個或多個錯誤時,將該分組識別為錯誤分組;錯誤掩蓋部分,被配置為:將包括與錯誤分組相關(guān)聯(lián)的n/2個樣本的解碼幀估計為等于前一個中間幀的第二半,前一個中間幀包括與在分組序列中緊挨在錯誤分組前面的接收分組相關(guān)聯(lián)的非加窗時域樣本。
在一些示例性實施例中,所述方法還包括:確定可用的復(fù)雜度資源,并且基于可用的復(fù)雜度資源來確定適用于掩蓋錯誤的方法。
iv.示例性實施例
圖1a和圖1b以舉例的方式描繪示例性實施例可以分別與其一起實現(xiàn)的mdct和逆變換。在音頻編碼/解碼系統(tǒng)中,音頻信號通常在編碼器端被采樣并且被劃分為幀101-105的序列,其中,該序列中的每各幀對應(yīng)于相應(yīng)的時間間隔t-2、t-1、t、t+1、t+2。幀101-105各自包括n/2個樣本,其中,取決于編碼器類型和所選擇的時間頻率分辨率,n可以為2048、1920、1536等。代替將mdct應(yīng)用于幀101-105,將mdct應(yīng)用于兩個相鄰幀的組合。因此,mdct使用重疊,并且是所謂的重疊變換的例子。從幀101-105的序列(每個幀包括音頻信號的n/2個時域樣本),按連續(xù)的次序?qū)瑑蓚€和兩個地重疊地組合,以使得例如幀101-105序列的第一幀101和第二幀102被組合為第一組合幀110,第二幀102和第三幀103被組合為第二組合幀111,等等,這意味著第一組合幀110和第二組合幀111具有重疊,因為它們兩個都包括第二幀102。為了使順序幀之間的轉(zhuǎn)變平滑,將窗口函數(shù)w[n](n=0,…,n-1)應(yīng)用于幀序列的兩個幀的每個組合以產(chǎn)生n個加窗時域樣本的組合幀110-113。如圖1a所描繪的,分別對應(yīng)于時間間隔t-2和t-1的第一幀101和第二幀102被組合,并且加窗函數(shù)被應(yīng)用于該組合以產(chǎn)生包括n個加窗時域樣本
mdct然后被應(yīng)用于組合幀110-113,得到分組120-123的序列,每個分組包括n/2個mdct系數(shù)。如圖1a所描繪的,mdct被應(yīng)用于第一組合幀110以產(chǎn)生包括n/2個mdct系數(shù)
在解碼器端,imdct被應(yīng)用于分組120-123,每個分組包括n/2個mdct系數(shù),以產(chǎn)生包括n個時域混疊樣本的中間幀130-133。如圖1b所描繪的,imdct被應(yīng)用于第一分組120以產(chǎn)生包括n個時域混疊樣本
為了產(chǎn)生解碼樣本的解碼幀150-152,在考慮窗口函數(shù)w[n]的情況下對中間幀130-133執(zhí)行重疊相加操作140-142。如圖1b所描繪的,在第二中間幀131的第一半和第一中間幀130的第二半之間執(zhí)行第一重疊相加操作140以產(chǎn)生包括對應(yīng)于時間間隔t-1的n/2個解碼樣本的第一解碼幀150,在第三中間幀132的第一半和第二中間幀131的第二半之間執(zhí)行第二重疊相加操作141以產(chǎn)生包括對應(yīng)于時間間隔t的n/2個解碼樣本的第二解碼幀151,在第四中間幀133的第一半和第三中間幀132的第二半之間執(zhí)行第三重疊相加操作142以產(chǎn)生包括對應(yīng)于時間間隔t+1的n/2個解碼樣本的第三解碼幀152。
在包括mdct系數(shù)的分組中可能出現(xiàn)錯誤,或者分組或分組的一部分可能丟失。除非錯誤被糾正或者丟失的分組被重構(gòu),否則這種錯誤或丟失可能以如下方式影響解碼幀:解碼音頻信號受損,而使得信息丟失或者不想要的偽像出現(xiàn)在解碼音頻信號中。例如并且參照圖1b,如果在解碼器端在第三分組122中檢測到錯誤,則第三中間幀132通常將受到錯誤的第三分組122的影響。在本文件中,包括錯誤的分組將被稱為錯誤分組,并且與和錯誤分組相同的時間間隔相對應(yīng)的中間幀將被稱為與錯誤分組相關(guān)聯(lián)的中間幀或包括與錯誤分組相關(guān)聯(lián)的n個時域混疊樣本的中間幀。此外,當(dāng)?shù)谌虚g幀132在重疊相加操作141中被使用以生成第二解碼幀151時,第二解碼幀151通常將受到錯誤分組的影響。在本文件中,與和錯誤分組相同的時間間隔相對應(yīng)的解碼幀將被稱為與錯誤分組相關(guān)聯(lián)的解碼幀。此外,當(dāng)?shù)诙虚g幀132在重疊相加操作142中也被使用以生成第三解碼幀152時,第三解碼幀152通常也將受到錯誤分組的影響。
由于組合幀的重疊性質(zhì),可以根據(jù)方程1導(dǎo)出組合幀的與時間間隔t相關(guān)聯(lián)的頭n/2個樣本和組合幀的與時間間隔t-1相關(guān)聯(lián)的后n/2個樣本之間的關(guān)系:
此外,通過在中間幀的第一半和前一個中間幀的第二半之間使用重疊相加來產(chǎn)生解碼幀。因此,根據(jù)以下方程產(chǎn)生與時間間隔t相關(guān)聯(lián)的解碼幀:
中間幀的加窗時域樣本之間的特殊性質(zhì)可以用于估計受錯誤分組影響的中間幀。更具體地說,可以證明,每個中間幀擁有第一半和第二半中的加窗時域樣本之間的奇對稱和偶對稱。對于時間間隔t,以下關(guān)系可以被證明:
此外,可以證明,加窗時域混疊樣本可以根據(jù)以下方程(參見v.britanak等人在signalprocessing第89卷第7期(2009年7月)第1379-1394頁上的“fastcomputationalstructuresforanefficientimplementationofthecompletetdacanalysis/synthesismdct/mdstfilterbanks”,其內(nèi)容通過引用并入本文)就音頻信號的原始加窗樣本顯式地導(dǎo)出:
在方程(4)中使用方程(1),推出以下關(guān)系:
在另一個近似中,受錯誤分組影響的解碼幀可以根據(jù)以下方程使用非加窗時域混疊信號
在方程(6)和(7)中,記號a→b指示變量b被指定值a。
圖2以舉例的方式描繪了第一解碼系統(tǒng)200的概括框圖。解碼系統(tǒng)200被布置為掩蓋在基于mdct的音頻解碼器中將被解碼的數(shù)據(jù)分組中的錯誤,該基于mdct的音頻解碼器被布置為將分組序列解碼為解碼幀序列。
該系統(tǒng)包括接收器部分201,接收器部分201被配置為接收分組序列,其中,每個分組包括與包括音頻信號的時域樣本的幀相關(guān)聯(lián)的mdct系數(shù)集合。分組序列通常如關(guān)于圖1a所描述的那樣通過將mdct應(yīng)用于n個加窗時域樣本的組合幀而產(chǎn)生。分組序列的每個分組包括n/2個mdct系數(shù)。
解碼系統(tǒng)200還包括錯誤檢測部分(未示出),錯誤檢測部分被配置為因為接收分組包括一個或多個錯誤而識別接收分組是否是錯誤分組。在錯誤檢測部分中檢測錯誤的方式是任意的,并且錯誤檢測部分的位置也是任意的,只要檢測到需要錯誤掩蓋的錯誤分組并且檢測到的錯誤分組可以在解碼系統(tǒng)200的錯誤掩蓋中被識別即可。
解碼系統(tǒng)200還包括錯誤掩蓋部分202,錯誤掩蓋部分202被配置為估計錯誤分組的mdct系數(shù)、將符號指定給估計mdct系數(shù)、產(chǎn)生掩蓋分組并且在分組序列中用掩蓋分組替代錯誤分組。掩蓋分組被產(chǎn)生為具有錯誤分組的對應(yīng)選定符號的估計mdct系數(shù)。
解碼系統(tǒng)200還包括imdct部分203,imdct部分203用于對分組序列的每個分組應(yīng)用imdct,該分組序列包括替代分組序列中的錯誤分組的掩蓋分組。imdct部分203的輸出是n個加窗時域混疊樣本的中間幀的序列。
解碼系統(tǒng)200還包括重疊相加部分204,重疊相加部分204用于執(zhí)行中間幀序列中的連續(xù)的中間幀的重疊部分之間的重疊相加操作以便產(chǎn)生n/2個樣本的解碼幀。
在一個實施例中,估計mdct系數(shù)基于與在分組序列中緊挨在錯誤分組前面的接收分組相關(guān)聯(lián)的對應(yīng)mdct系數(shù)。在其他實施例中,估計mdct系數(shù)被選為等于在分組序列中緊挨在錯誤分組前面的接收分組的對應(yīng)mdct系數(shù)。此外,估計mdct系數(shù)中的mdct系數(shù)的第一子集的符號被指定為等于在分組序列中緊挨在錯誤分組前面的接收分組的對應(yīng)mdct系數(shù)的對應(yīng)符號。第一子集包括與分組的音調(diào)狀譜區(qū)間相關(guān)聯(lián)的那些mdct系數(shù)。估計mdct系數(shù)中的mdct系數(shù)的第二子集的符號是任意指定的。第二子集包括與分組的噪聲狀譜區(qū)間相關(guān)聯(lián)的那些mdct系數(shù)。連同每個mdct系數(shù)的符號一起,錯誤掩蓋部分202從接收部分201連續(xù)地接收分組序列的每個分組的mdct系數(shù)。錯誤掩蓋部分202還從接收部分接收錯誤幀的標(biāo)識。當(dāng)錯誤幀被接收到時,錯誤掩蓋部分202可以提取在分組序列中的錯誤分組前面接收的前一個分組的mdct系數(shù)和對應(yīng)符號,產(chǎn)生錯誤分組的估計mdct系數(shù),并且使用來自前一個分組的mdct系數(shù)和符號一起來對符號進(jìn)行指定。當(dāng)系數(shù)和符號已經(jīng)被估計和指定時,產(chǎn)生基于估計分組的估計mdct系數(shù)和選定符號的掩蓋分組,在接收部分201中錯誤掩蓋部分用掩蓋分組替代錯誤分組,并且將掩蓋分組從接收部分201轉(zhuǎn)發(fā)給mdct部分203。
要注意,當(dāng)關(guān)于估計以及將符號指定給每個估計mdct系數(shù)而提到估計mdct系數(shù)時,這隱含地指的是估計mdct系數(shù)的絕對值。即使對于mdct系數(shù)的符號指定被公開是首先針對第一子集、第二針對第二子集,符號的指定也可以按相反的次序執(zhí)行。因此,在示例性實施例中,可以首先對第二子集執(zhí)行指定,最后對第一子集執(zhí)行指定。事實上,可以按任何次序?qū)dct系數(shù)執(zhí)行指定。在示例性實施例中,可能不一定連續(xù)地對與音調(diào)狀譜區(qū)間相關(guān)聯(lián)的所有mdct系數(shù)以及連續(xù)地對與噪聲狀譜區(qū)間相關(guān)聯(lián)的所有mdct系數(shù)執(zhí)行指定。例如,可以首先對與第一子集相關(guān)聯(lián)的mdct系數(shù)中的一個或多個進(jìn)行指定,然后對與第二子集相關(guān)聯(lián)的mdct系數(shù)中的一個或多個進(jìn)行指定,然后對與第一子集相關(guān)聯(lián)的mdct系數(shù)中的一個或多個進(jìn)行指定,等等。此外,分組不一定具有與噪聲狀譜區(qū)間和音調(diào)狀譜區(qū)間這兩者相關(guān)聯(lián)的mdct系數(shù)。相反,分組可以具有與噪聲狀譜區(qū)間相關(guān)聯(lián)的所有mdct系數(shù)或與音調(diào)狀譜區(qū)間相關(guān)聯(lián)的所有mdct系數(shù),以使得第一子集和第二子集中的一個是空的。最后,mdct系數(shù)通常被要么識別為屬于第一子集、要么屬于第二子集。
就錯誤掩蓋性能而言,相比于僅使用隨機指定的估計或僅基于分組序列中先前接收的分組的mdct系數(shù)的符號的估計,基于內(nèi)容類型來估計mdct系數(shù)的符號可以提供改善的效果。與噪聲狀譜區(qū)間相關(guān)的mdct系數(shù)如果通過隨機指定估計的話,可能是足夠精確的,而就錯誤掩蓋性能而言,與音調(diào)狀譜區(qū)間相關(guān)的mdct系數(shù)可以通過基于在分組序列中緊挨在錯誤分組前面的接收分組的對應(yīng)mdct系數(shù)的指定來提供改善的結(jié)果。此外,當(dāng)基于與在分組序列中緊挨在錯誤分組前面的接收分組相關(guān)聯(lián)的對應(yīng)mdct系數(shù)估計mdct系數(shù)時,可以僅使用來自先前接收的分組的數(shù)據(jù)來實現(xiàn)錯誤掩蓋。
在一些現(xiàn)有技術(shù)中,包括估計所有mdct系數(shù)的符號而不使用隨機指定的更復(fù)雜的方法已經(jīng)被使用。在其他現(xiàn)有技術(shù)中,附加的元數(shù)據(jù)已經(jīng)被提供用于估計符號(這給該方法添加了更多的復(fù)雜度),并且需要改變從譯碼器到解碼器的數(shù)據(jù)流。此外,這種元數(shù)據(jù)必須在錯誤分組后面的分組中傳送,這使得在解碼系統(tǒng)中可執(zhí)行符號估計的時間延遲。
通過將估計mdct系數(shù)選為等于前一個分組的對應(yīng)mdct系數(shù),可以使復(fù)雜度保持低,同時如果這與根據(jù)示例性實施例的基于內(nèi)容類型對mdct系數(shù)的符號的估計相組合的話,可以實現(xiàn)提供期望的錯誤掩蓋性能的掩蓋分組。
在其他實施例中,在前一個分組的mdct系數(shù)被選為錯誤分組的mdct系數(shù)的估計之前,通過能量縮放因子以縮放因子帶分辨率對這些mdct系數(shù)進(jìn)行能量調(diào)整。
通過將估計mdct系數(shù)選為等于前一個分組的通過能量縮放因子以縮放因子帶分辨率進(jìn)行能量調(diào)整的對應(yīng)mdct系數(shù),可以增強通過掩蓋分組實現(xiàn)的錯誤掩蓋性能,同時可以僅略微提高復(fù)雜度。
存在幾種替代方式來確定分組序列中的分組(例如錯誤分組)的mdct系數(shù)是與音調(diào)狀譜區(qū)間相關(guān)聯(lián)、還是與噪聲狀譜區(qū)間相關(guān)聯(lián)。在一個例子中,該確定基于與錯誤分組相關(guān)聯(lián)的功率譜的近似的譜峰檢測,其中,經(jīng)近似的功率譜基于與在分組序列中緊挨在錯誤分組前面的接收分組相關(guān)聯(lián)的功率譜。在另一個例子中,使用mdct子帶譜平坦度度量。如果mdct子帶譜平坦度的值高于某個閾值,則子帶譜是平坦的,這暗示它是有噪聲的。否則,譜是有峰的,這暗示它是音調(diào)的。mdct子帶平坦度被估計為mdct系數(shù)的幅值的幾何平均值和算術(shù)平均值之間的比率。它表示信號的功率譜相對于平坦形狀的偏差。該度量是逐個帶地計算的,其中,術(shù)語“帶”與mdct系數(shù)集合有關(guān),并且這些帶的寬度是根據(jù)感知相關(guān)的縮放因子帶分辨率的。關(guān)于譜平坦度度量的描述,參照n.jayant和p.noll在englewoodcliffs,nj:prentice-hall(1984)上的“digitalcodingofwaveforms,principlesandapplicationstospeechandvideo”。在其他例子中,確定是基于在分組中或者在包括分組序列和元數(shù)據(jù)的比特流中接收的元數(shù)據(jù)的。將被使用的元數(shù)據(jù)可以例如是用于基于音頻內(nèi)容類型控制某個音頻解碼器處理的元數(shù)據(jù)。例如在ac-4中,存在對于音調(diào)信號必須被關(guān)掉的壓擴工具。因此,如果接收到指示壓擴被關(guān)掉的元數(shù)據(jù),則信號可以假定是音調(diào)的。此外,如果例如最長mdct被使用,則音頻內(nèi)容非常有可能是音調(diào)信號。
在一個實施例中,方程(3)的與錯誤幀相關(guān)聯(lián)的中間幀的加窗時域混疊樣本之間的對稱關(guān)系被用于修改與錯誤幀相關(guān)聯(lián)的中間幀的加窗時域混疊樣本。當(dāng)與時間間隔t相關(guān)聯(lián)的錯誤幀已經(jīng)被識別出時,在錯誤掩蓋部分202中產(chǎn)生掩蓋分組,并且掩蓋分組替代錯誤幀。在imdct部分203中,對掩蓋分組應(yīng)用imdct,這產(chǎn)生與錯誤分組相關(guān)聯(lián)的中間幀。所產(chǎn)生的與錯誤分組相關(guān)聯(lián)的中間幀被從imdct部分203轉(zhuǎn)發(fā)給錯誤掩蓋部分202。錯誤掩蓋部分202然后修改所產(chǎn)生的中間幀的加窗時域混疊樣本,以使得方程(3)的關(guān)系被更好地滿足。
能在中間幀的加窗時域混疊樣本之間得到證明的對稱關(guān)系可以被用于修改中間幀的加窗時域混疊樣本,以便增強錯誤掩蓋性能。于是,可以實現(xiàn)錯誤掩蓋性能的增強,同時可以僅略微提高復(fù)雜度。
在其他實施例中,方程(5)的與錯誤幀相關(guān)聯(lián)的中間幀的加窗時域混疊樣本和原始數(shù)據(jù)樣本之間的關(guān)系被用于修改與錯誤幀相關(guān)聯(lián)的中間幀的加窗時域混疊樣本。當(dāng)與時間間隔t相關(guān)聯(lián)的錯誤幀已經(jīng)被識別出時,在錯誤掩蓋部分202中產(chǎn)生掩蓋分組,并且掩蓋分組替代錯誤幀。在imdct部分203中,對掩蓋分組應(yīng)用imdct,這產(chǎn)生與錯誤分組相關(guān)聯(lián)的中間幀。所產(chǎn)生的與錯誤分組相關(guān)聯(lián)的中間幀被從imdct部分203轉(zhuǎn)發(fā)給錯誤掩蓋部分202。錯誤掩蓋部分202然后修改所產(chǎn)生的中間幀的加窗時域混疊樣本,以使得方程(5)的關(guān)系被更好地滿足。例如,用在錯誤估計部分202中從重疊相加部分204接收的與時間間隔t-1相關(guān)聯(lián)的過去的解碼幀來近似方程(5)的與和錯誤分組相關(guān)聯(lián)的中間幀的第一半相關(guān)的第一關(guān)系的右手邊。結(jié)果是與錯誤分組相關(guān)聯(lián)的中間幀的第一半的替代性估計,該替代性估計可以被用于修改通過將imdct應(yīng)用于在掩蓋部分202中產(chǎn)生的掩蓋分組而產(chǎn)生的與錯誤分組相關(guān)聯(lián)的中間幀的第一半。此外,用與時間間隔t相關(guān)聯(lián)的解碼幀(即,基于與錯誤分組相關(guān)聯(lián)的中間幀的經(jīng)修改的第一半的解碼幀)來近似方程(5)的與和錯誤分組相關(guān)聯(lián)的中間幀的第二半相關(guān)的第二關(guān)系的右手邊。與時間間隔t相關(guān)聯(lián)的解碼幀是在錯誤估計部分202中從重疊相加部分204接收的。結(jié)果是與錯誤分組相關(guān)聯(lián)的中間幀的第二半的替代性估計,該替代性估計可以被用于修改通過將imdct應(yīng)用于在掩蓋部分202中產(chǎn)生的掩蓋分組而產(chǎn)生的與錯誤分組相關(guān)聯(lián)的中間幀的第二半。
圖3以舉例的方式描繪了第二解碼系統(tǒng)300的概括框圖。解碼系統(tǒng)300被布置為掩蓋在基于mdct的音頻解碼器中將被解碼的數(shù)據(jù)分組中的掩蓋,該基于mdct的音頻解碼器被布置為將分組序列解碼為解碼幀序列。
該系統(tǒng)包括接收器部分301,接收器部分301被配置為接收分組序列,其中,每個分組包括與包括音頻信號的時域樣本的幀相關(guān)聯(lián)的mdct系數(shù)集合。分組序列通常如關(guān)于圖1a所描述的那樣通過將mdct應(yīng)用于n個加窗時域樣本的組合幀而產(chǎn)生。分組序列的每個分組包括n/2個mdct系數(shù)。
解碼系統(tǒng)300還包括錯誤檢測部分(未示出),錯誤檢測部分被配置為識別是否由于接收分組包括一個或多個錯誤從而接收分組是錯誤分組。錯誤檢測部分中檢測錯誤的方式是任意的,并且錯誤檢測部分的位置也是任意的,只要檢測到需要錯誤掩蓋的錯誤分組并且檢測到的錯誤分組可以在解碼系統(tǒng)200的錯誤掩蓋中被識別即可。
解碼系統(tǒng)300還包括錯誤掩蓋部分302,錯誤掩蓋部分302被配置為估計包括與錯誤分組相關(guān)聯(lián)的n個加窗時域混疊樣本的中間幀的加窗時域混疊樣本。
解碼系統(tǒng)300還包括imdct部分303,imdct部分303用于對分組序列的每個分組應(yīng)用imdct。imdct部分303的輸出是n個加窗時域混疊樣本的中間幀的序列。
錯誤掩蓋部分302還被配置為用估計中間幀替代包括與錯誤分組相關(guān)聯(lián)的n個加窗時域混疊樣本的中間幀。
解碼系統(tǒng)300還包括重疊相加部分304,重疊相加部分304用于執(zhí)行中間幀序列中的連續(xù)的中間幀的重疊部分之間的重疊相加操作以便產(chǎn)生n/2個樣本的解碼幀。
在實施例中,當(dāng)在時間間隔t內(nèi)識別出錯誤分組時,可以對與錯誤分組相關(guān)聯(lián)的中間幀進(jìn)行估計。使用與時間間隔t相關(guān)聯(lián)的中間幀的加窗時域混疊樣本和方程(5)的音頻信號的原始加窗樣本的項之間的關(guān)系以及方程(3)的對稱關(guān)系來執(zhí)行估計。對包括中間幀的第一半的頭n/4個加窗時域混疊樣本的第一子集進(jìn)行估計,該中間幀包括與錯誤分組相關(guān)聯(lián)(即,與時間間隔t相關(guān)聯(lián))的n個加窗時域混疊樣本。通過方程(5)的第一關(guān)系來進(jìn)行估計,其中,用前一個解碼幀的樣本來近似右手邊的樣本,其中,前一個解碼幀與時間間隔t-1相關(guān)聯(lián)。在錯誤估計部分302中從重疊相加部分304接收與時間間隔t-1相關(guān)聯(lián)的解碼幀。更具體地說,對于n=0,1,…,n/4-1,第一子集的樣本編號n被估計為前一個解碼幀的樣本編號n的加窗版本減去前一個解碼幀的樣本編號n/2-1-n的加窗版本。通過方程(3)的對稱關(guān)系,估計第二子集,第二子集包括中間幀的第一半的剩余(即,最后的)n/4個加窗時域混疊樣本。在重疊相加部分304中通過將估計中間幀的第一半與和在分組序列中緊挨在錯誤分組前面的接收分組相關(guān)聯(lián)(即,與時間間隔t-1相關(guān)聯(lián))的前一個中間幀的第二半相加來產(chǎn)生與錯誤分組相關(guān)聯(lián)(即,與時間間隔t相關(guān)聯(lián))的估計解碼幀。
通過使用第二子集的加窗時域混疊樣本和第一子集的加窗時域混疊樣本之間的對稱關(guān)系來估計第二子集,可以在保持所實現(xiàn)的錯誤掩蓋性能的同時實現(xiàn)估計的復(fù)雜度降低。
通過使用前一個解碼幀作為第一子集的加窗時域混疊樣本和音頻信號的n個加窗時域樣本中的加窗時域樣本之間的關(guān)系的近似以便產(chǎn)生第一子集的估計,可以在實現(xiàn)期望的錯誤掩蓋性能的同時實現(xiàn)估計的低復(fù)雜度。
對第三子集進(jìn)行估計,第三子集包括與錯誤分組相關(guān)聯(lián)的中間幀的第二半的頭n/4個加窗時域混疊樣本。通過方程(5)的第二關(guān)系來進(jìn)行估計,其中,用估計解碼幀的樣本來近似右手邊的樣本,其中,估計解碼幀與錯誤分組相關(guān)聯(lián),即,與時間間隔t相關(guān)聯(lián)。與時間間隔t相關(guān)聯(lián)的估計解碼幀是在錯誤估計部分302中從重疊相加部分304接收的。更具體地說,對于n=0,1,…,n/4-1,第三子集的樣本編號n被估計為估計解碼幀的樣本編號n的加窗版本加上估計解碼幀的樣本編號n/2-1-n的加窗版本。通過方程(3)的對稱關(guān)系來估計第四子集,第四子集包括中間幀的第二半的剩余(即,最后的)n/4個加窗時域混疊樣本。要注意,對于n=0,1,…,n/4-1,第三子集的樣本編號n是中間幀的樣本編號n/2+n,因為第三子集是中間幀的第二半的第一半。在重疊相加部分304中通過將與時間間隔t相關(guān)聯(lián)的估計中間幀的第二半與后一個估計中間幀的第一半相加來產(chǎn)生與緊跟在錯誤分組后面的接收分組相關(guān)聯(lián)(即,與時間間隔t+1相關(guān)聯(lián))的后一個估計解碼幀。
在替代性實施例中,第一子集的估計基于如下偏移集合,該偏移集合包括與時間間隔t-2相關(guān)聯(lián)的再前一個解碼幀(未示出)以及與時間間隔t-1相關(guān)聯(lián)的前一個解碼幀的n/2個樣本,并且第三子集的估計基于如下偏移集合,該偏移集合包括與時間間隔t-1相關(guān)聯(lián)的前一個解碼幀以及與時間間隔t相關(guān)聯(lián)的估計解碼幀的n/2個樣本。偏移集合包括所述再前一個解碼幀的最后k個樣本以及所述前一個解碼幀的除了最后k個樣本之外的所有樣本,其中,k<n/2。更具體地說,對于k≤n/4-1,對于n=0,1,…,k,第一子集的樣本編號n被估計為所述再前一個解碼幀(未示出)的樣本編號n/2-1+n-k的加窗版本減去所述前一個解碼幀的樣本編號n/2-1+n-k的加窗版本。對于n等于k+1,…,n/4-1,第一子集的樣本編號n被估計為所述前一個解碼幀的樣本編號n-k-1的加窗版本減去所述前一個解碼幀的樣本編號n/2-1-n-k的加窗版本。對于n等于0,1,…,k,第三子集的樣本編號n被估計為所述前一個解碼幀的樣本編號n/2-1+n-k的加窗版本減去估計解碼幀的樣本編號n/2-1-n-k的加窗版本。對于n=k+1,…,n/4-1,第三子集的樣本編號n被估計為估計解碼幀的樣本編號n-k-1的加窗版本加上估計解碼幀的樣本編號n/2-1-n-k的加窗版本。
k的值可以被計算為使將用前面的幀估計的幀的自相似性最大化,或者它可以被預(yù)先計算以節(jié)省復(fù)雜度。此外,k通常取決于n。
關(guān)于只有前一個解碼幀的樣本的加窗版本被用于估計第一子集的加窗時域混疊樣本時,錯誤掩蓋性能可以得到改善。更具體地說,增強的錯誤掩蓋性能可以是由在第一子集的加窗時域混疊樣本的估計中使用若干樣本的偏移或時間的偏移而引起的。
圖4以舉例的方式描繪了第三解碼系統(tǒng)400的概括框圖。解碼系統(tǒng)400被布置為掩蓋在基于mdct的音頻解碼器中將被解碼的數(shù)據(jù)分組中的錯誤,該基于mdct的音頻解碼器被布置為將分組序列解碼為解碼幀序列。
該系統(tǒng)包括接收器部分401,接收器部分401被配置為接收分組序列,其中,每個分組包括與包括音頻信號的時域樣本的幀相關(guān)聯(lián)的mdct系數(shù)集合。分組序列通常如關(guān)于圖1a所描述的那樣通過將mdct應(yīng)用于n個加窗時域樣本的組合幀而產(chǎn)生。分組序列的每個分組包括n/2個mdct系數(shù)。
解碼系統(tǒng)400還包括錯誤檢測部分(未示出),錯誤檢測部分被配置為識別是否由于接收分組包括一個或多個錯誤從而接收分組是錯誤分組。錯誤檢測部分中檢測錯誤的方式是任意的,并且錯誤檢測部分的位置也是任意的,只要檢測到需要錯誤掩蓋的錯誤分組并且檢測到的錯誤分組可以在解碼系統(tǒng)400的錯誤掩蓋中被識別即可。
解碼系統(tǒng)400還包括錯誤掩蓋部分402,錯誤掩蓋部分402被配置為估計包括與錯誤分組相關(guān)聯(lián)的n/2個樣本的解碼幀以產(chǎn)生估計解碼幀。解碼幀被估計為等于包括與在分組序列中緊挨在錯誤分組前面的接收分組相關(guān)聯(lián)的n個非加窗時域樣本的前一個中間幀的第二半。
解碼系統(tǒng)400還包括imdct部分403,imdct部分403用于對分組序列的每個分組應(yīng)用imdct。imdct部分403的輸出是n個加窗時域混疊樣本的中間幀的序列。
解碼系統(tǒng)400還包括重疊相加部分404,重疊相加部分404用于執(zhí)行中間幀序列中的連續(xù)的中間幀的重疊部分之間的重疊相加操作以便產(chǎn)生n/2個樣本的解碼幀。
錯誤掩蓋部分402還被配置為將包括與在分組序列中緊挨在錯誤分組后面的接收分組相關(guān)聯(lián)的n/2個樣本的后一個解碼幀估計為等于包括與在分組序列中緊挨在錯誤分組后面的接收分組相關(guān)聯(lián)的非加窗時域樣本的后一個中間幀的第一半。錯誤掩蓋部分402還被配置為用估計解碼分組來替代來自重疊相加部分404的與錯誤分組相關(guān)聯(lián)的解碼幀并且用估計解碼分組來替代來自重疊相加部分404的與錯誤分組相關(guān)聯(lián)的后一個解碼幀。
解碼系統(tǒng)400使用方程(6)和(7)的近似。
用前一個中間幀的非加窗時域樣本估計與錯誤分組相關(guān)聯(lián)的樣本的解碼幀的樣本可以提供用于提供錯誤掩蓋的低復(fù)雜度方法。
此外,可以提供確定可用復(fù)雜度資源的適應(yīng)性方法,例如該方法連續(xù)地確定對于錯誤掩蓋所允許的復(fù)雜度水平。例如,當(dāng)錯誤分組被識別到時,確定可用的復(fù)雜度資源,并且根據(jù)所確定的可用資源來選擇用于錯誤掩蓋的方法。
v.等同、擴展、替代及其他
在研究以上描述之后,對于本領(lǐng)域技術(shù)人員來說,本公開的其他實施例將變得清楚。即使本描述和附圖公開了實施例和例子,本公開也不限于這些具體例子。在不脫離所附權(quán)利要求書限定的本公開的范圍的情況下,可以做出許多修改和變化。權(quán)利要求書中出現(xiàn)的任何引用符號不被解釋為限制它們的范圍。
另外,通過研究附圖、本公開以及所附權(quán)利要求書,技術(shù)人員在實施本公開時可以理解和實行所公開的實施例的變型。在權(quán)利要求書中,詞語“包括”不排除任何元件或步驟,并且不定冠詞“一個”不排除復(fù)數(shù)。只有某些措施被記載在相互不同的從屬權(quán)利要求中的事實并不表明這些措施的組合不能被有利地使用。
以上所公開的裝置和方法可以實現(xiàn)為軟件、固件、硬件或它們的組合。在硬件實現(xiàn)中,以上描述中提到的功能單元之間的任務(wù)劃分不一定對應(yīng)于劃分為物理單元的劃分;相反,一個物理組件可以具有多個功能,并且一個任務(wù)可以由幾個物理組件合作執(zhí)行。某些組件或所有組件可以實現(xiàn)為數(shù)字信號處理器或微處理器執(zhí)行的軟件,或者可以實現(xiàn)為硬件或?qū)S眉呻娐?。這樣的軟件可以分布在計算機可讀介質(zhì)上,計算機可讀介質(zhì)可以包括計算機存儲介質(zhì)(或非暫時性介質(zhì))和通信介質(zhì)(或暫時性介質(zhì))。軟件可以分布在專門編程的裝置上,這些裝置在本文中一般可以被稱為“模塊”。模塊的軟件組件部分可以用任何計算機語言編寫,并且可以是龐大代碼庫的一部分,或者可以在更多的離散代碼部分中開發(fā),諸如通常用面向?qū)ο蟮挠嬎銠C語言。另外,模塊可以分布在多個計算機平臺、服務(wù)器、終端、移動裝置等上。給定模塊甚至可以被實現(xiàn)為使得所描述的功能由分開的處理器和/或計算機硬件平臺執(zhí)行。如本各領(lǐng)域技術(shù)人員眾所周知的,計算機存儲介質(zhì)這一術(shù)語包括按照用于存儲信息(諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù))的任何方法或技術(shù)實現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。計算機存儲介質(zhì)包括但不限于ram、rom、eeprom、閃存或其他存儲器技術(shù)、cd-rom、數(shù)字多功能盤(dvd)或其他光學(xué)盤儲存器、磁盒、磁帶、磁盤儲存器或其他磁性存儲裝置、或可以用于存儲期望的信息并且可以被計算機訪問的任何其他介質(zhì)。如本申請中所使用的,術(shù)語“部分”是指以下所有方面:(a)僅硬件的電路實現(xiàn)(諸如僅在模擬和/或數(shù)字電路中的實現(xiàn));(b)電路和軟件(和/或固件)的組合,諸如(如果適用的話):(i)處理器(一個或多個)的組合或(ii)處理器(一個或多個)/軟件的部分(包括一起工作以使設(shè)備(諸如移動電話或服務(wù)器)執(zhí)行各種功能的數(shù)字信號處理器(一個或多個))、軟件和存儲器(一個或多個));以及(c)需要用于操作的軟件或固件的電路,諸如微處理器(一個或多個)或微處理器(一個或多個)的一部分,即使該軟件或固件不是物理存在的。此外,技術(shù)人員眾所周知的是,通信介質(zhì)通常包含計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或模塊化數(shù)據(jù)信號(諸如載波或其他傳輸介質(zhì))中的其他數(shù)據(jù),并且包括任何信息遞送介質(zhì)。