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