示例性實(shí)施方案涉及數(shù)據(jù)包丟失隱藏,并且更具體地涉及數(shù)據(jù)包丟失隱藏方法和裝置,以及在音頻的部分幀中發(fā)生錯(cuò)誤時(shí)能夠?qū)⒅貥?gòu)音質(zhì)的劣化最小化的音頻解碼方法和裝置。
背景技術(shù):
當(dāng)通過有線/無線網(wǎng)絡(luò)傳輸編碼的音頻信號(hào)時(shí),如果部分?jǐn)?shù)據(jù)包由于傳輸錯(cuò)誤而損壞或失真,則在解碼的音頻信號(hào)的部分幀中可能發(fā)生擦失。如果沒有正確地校正該擦失,則在包括發(fā)生錯(cuò)誤的幀(在下文中稱為“擦失幀”)和相鄰幀的持續(xù)時(shí)間中,解碼的音頻信號(hào)的音質(zhì)可能劣化。
關(guān)于音頻信號(hào)編碼,已知的是,對(duì)特定信號(hào)執(zhí)行時(shí)頻變換處理、然后在頻域中執(zhí)行壓縮處理的方法提供了良好的重構(gòu)音質(zhì)。在時(shí)頻變換處理中,廣泛使用經(jīng)修改的離散余弦變換(mdct)。在這種情況下,對(duì)于音頻信號(hào)解碼,使用反mdct(imdct)將頻域信號(hào)變換為時(shí)域信號(hào),并且可以對(duì)該時(shí)域信號(hào)執(zhí)行重疊相加(ola)處理。在ola處理中,如果在當(dāng)前幀中發(fā)生錯(cuò)誤,下一幀也可能受到影響。具體地,最終的時(shí)域信號(hào)是通過將前一幀和后續(xù)幀之間的混疊分量添加到時(shí)域信號(hào)中的重疊部分而產(chǎn)生的,并且如果發(fā)生錯(cuò)誤,則不存在精確的混疊分量,因此可能發(fā)生噪聲,從而導(dǎo)致重構(gòu)音質(zhì)的嚴(yán)重劣化。
當(dāng)使用時(shí)頻變換處理來編碼和解碼音頻信號(hào)時(shí),在來自用于隱藏已擦失幀的方法中的通過對(duì)在前好幀(pgf)的參數(shù)進(jìn)行回歸分析來獲得擦失幀的參數(shù)的回歸分析方法中,通過一定程度地考慮擦失幀的原始能量,隱藏是可能實(shí)現(xiàn)的,但是在信號(hào)逐漸增加或嚴(yán)重波動(dòng)的部分中,錯(cuò)誤隱藏效率可能降低。此外,當(dāng)將應(yīng)用的參數(shù)的類型數(shù)增加時(shí),回歸分析方法趨于導(dǎo)致復(fù)雜性的增加。在用于通過重復(fù)地再現(xiàn)擦失幀的pgf來恢復(fù)擦失幀中的信號(hào)的重復(fù)法中,可能難以將由于ola處理的特性引起的重構(gòu)音質(zhì)劣化最小化。用于通過對(duì)pgf和下一好幀(ngf)的參數(shù)進(jìn)行內(nèi)插來預(yù)測擦失幀的參數(shù)的內(nèi)插法需要一個(gè)幀的附加延遲,因此在對(duì)延遲敏感的通信編解碼器中不適合采用這種內(nèi)插法。
因此,當(dāng)使用時(shí)頻變換處理來編碼和解碼音頻信號(hào)時(shí),需要一種用于隱藏擦失幀而沒有附加時(shí)間延遲并且不會(huì)過度增加復(fù)雜性的方法,以最小化由于數(shù)據(jù)包丟失導(dǎo)致的重構(gòu)音質(zhì)劣化。
技術(shù)實(shí)現(xiàn)要素:
技術(shù)問題
示例性實(shí)施方案提供了一種數(shù)據(jù)包丟失隱藏方法和裝置以用于適應(yīng)于頻域或時(shí)域中的信號(hào)特性來更準(zhǔn)確地隱藏擦失幀,該方法和裝置具有低復(fù)雜度且沒有附加時(shí)間延遲。
示例性實(shí)施方案還提供了一種音頻解碼方法和裝置,以用于通過適應(yīng)于頻域或時(shí)域中的信號(hào)特性更準(zhǔn)確地重構(gòu)擦失幀,來最小化由于數(shù)據(jù)包丟失造成的重構(gòu)音質(zhì)劣化,該方法和裝置具有低復(fù)雜度且沒有附加時(shí)間延遲。
示例性實(shí)施方案還提供了一種其中存儲(chǔ)有程序指令的非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述程序指令在由計(jì)算機(jī)執(zhí)行時(shí)執(zhí)行數(shù)據(jù)包丟失隱藏方法或音頻解碼方法。
技術(shù)方案
根據(jù)示例性實(shí)施方案的一個(gè)方面,提供了一種用于時(shí)域數(shù)據(jù)包丟失隱藏的方法,該方法包括:檢查當(dāng)前幀是否為擦失幀或擦失幀之后的好幀;當(dāng)當(dāng)前幀是擦失幀或擦失幀之后的好幀時(shí),獲得信號(hào)特性;基于包括信號(hào)特性的多個(gè)參數(shù)選擇相位匹配工具和平滑工具中的一個(gè);以及基于所選工具對(duì)當(dāng)前幀執(zhí)行數(shù)據(jù)包丟失隱藏處理。
根據(jù)示例性實(shí)施方案的另一個(gè)方面,提供了一種用于時(shí)域數(shù)據(jù)包丟失隱藏的裝置,該裝置包括配置用于以下的處理器:檢查當(dāng)前幀是否為擦失幀或擦失幀之后的好幀;當(dāng)當(dāng)前幀是擦失幀或擦失幀之后的好幀時(shí),獲得信號(hào)特性;基于包括信號(hào)特性的多個(gè)參數(shù)選擇相位匹配工具和平滑工具中的一個(gè);以及基于所選工具對(duì)當(dāng)前幀執(zhí)行數(shù)據(jù)包丟失隱藏處理。
根據(jù)示例性實(shí)施方案的一個(gè)方面,提供了一種音頻解碼方法,該方法包括:當(dāng)當(dāng)前幀是擦失幀時(shí),在頻域中執(zhí)行數(shù)據(jù)包丟失隱藏處理;當(dāng)當(dāng)前幀是好幀時(shí)解碼頻譜系數(shù);對(duì)當(dāng)前幀進(jìn)行時(shí)頻逆變換處理,所述當(dāng)前幀是時(shí)頻逆變換后的擦失幀,或是好幀;檢查當(dāng)前幀是否為擦失幀或擦失幀之后的好幀,當(dāng)當(dāng)前幀是擦失幀或擦失幀之后的好幀時(shí),獲得信號(hào)特性;基于包括信號(hào)特性的多個(gè)參數(shù)選擇相位匹配工具和平滑工具中的一個(gè);以及基于所選工具對(duì)當(dāng)前幀執(zhí)行數(shù)據(jù)包丟失隱藏處理。
根據(jù)示例性實(shí)施方案的一個(gè)方面,提供了一種音頻解碼裝置,該裝置包括配置用于以下的處理器:當(dāng)當(dāng)前幀是擦失幀時(shí),在頻域中執(zhí)行數(shù)據(jù)包丟失隱藏處理;當(dāng)當(dāng)前幀是好幀時(shí)解碼頻譜系數(shù);對(duì)當(dāng)前幀進(jìn)行時(shí)頻逆變換處理,所述當(dāng)前幀是時(shí)頻逆變換后的擦失幀,或是好幀;檢查當(dāng)前幀是否為擦失幀或擦失幀之后的好幀,當(dāng)當(dāng)前幀是擦失幀或擦失幀之后的好幀時(shí),獲得信號(hào)特性;基于包括信號(hào)特性的多個(gè)參數(shù)選擇相位匹配工具和平滑工具中的一個(gè);以及基于所選工具對(duì)當(dāng)前幀執(zhí)行數(shù)據(jù)包丟失隱藏處理。
本發(fā)明的有益效果
根據(jù)示例性實(shí)施方案,可以適應(yīng)于信號(hào)特性來平滑頻域中的快速信號(hào)起伏和更精確地重構(gòu)擦失幀,所述信號(hào)特性為例如瞬態(tài)特性和突發(fā)擦失期,所述平滑和重構(gòu)具有低復(fù)雜度且沒有附加延遲。
另外,通過根據(jù)時(shí)域中的信號(hào)特性以最佳方法執(zhí)行平滑處理,可以在具有低復(fù)雜度且沒有附加延遲的情況下平滑由于解碼信號(hào)中的擦失幀引起的快速信號(hào)起伏。
具體地,可以更精確地重構(gòu)為瞬態(tài)幀的擦失幀或構(gòu)成突發(fā)錯(cuò)誤的擦失幀,因此可以將對(duì)與擦失幀相鄰的下一好幀的影響最小化。
另外,通過將基于相位匹配獲得的預(yù)定大小的區(qū)段從存儲(chǔ)在緩沖器中的多個(gè)先前幀復(fù)制到為擦失幀的當(dāng)前幀,并在相鄰幀之間執(zhí)行平滑處理,可以額外地期望對(duì)低頻帶的重構(gòu)音質(zhì)的改善。
附圖說明
圖1是根據(jù)示例性實(shí)施方案的頻域音頻解碼裝置的框圖;
圖2是根據(jù)示例性實(shí)施方案的頻域數(shù)據(jù)包丟失隱藏裝置的框圖;
圖3示出了根據(jù)示例性實(shí)施方案經(jīng)分組以應(yīng)用回歸分析的子帶的結(jié)構(gòu);
圖4示出了應(yīng)用于示例性實(shí)施方案的線性回歸分析和非線性回歸分析的概念;
圖5是根據(jù)示例性實(shí)施方案的時(shí)域數(shù)據(jù)包丟失隱藏裝置的框圖;
圖6是根據(jù)示例性實(shí)施方案的相位匹配隱藏處理裝置的框圖;
圖7是示出根據(jù)示例性實(shí)施方案操作圖6的第一隱藏單元的流程圖;
圖8是用于描述應(yīng)用于示例性實(shí)施方案的相位匹配方法的概念的圖;
圖9是常規(guī)ola單元的框圖;
圖10示出了通用的ola方法;
圖11是根據(jù)示例性實(shí)施方案的重復(fù)和平滑擦失隱藏裝置的框圖;
圖12是圖11的第一隱藏單元1110和ola單元1130的框圖;
圖13示出了擦失幀的重復(fù)和平滑處理中的加窗;
圖14是圖11的第三隱藏單元1170的框圖;
圖15示出了具有用于擦失幀之后下一好幀的窗口示例的重復(fù)和平滑處理中的加窗;
圖16是圖11的第二隱藏單元1170的示例的框圖;
圖17示出了用于平滑圖16中的突發(fā)擦失之后的下一好幀的重復(fù)和平滑處理中的加窗;
圖18是圖11的第二隱藏單元1170的另一示例的框圖;
圖19示出了用于圖18中的突發(fā)擦失之后的下一好幀的重復(fù)和平滑處理中的加窗;
圖20a和圖20b分別是根據(jù)示例性實(shí)施方案的音頻編碼裝置和音頻解碼裝置的框圖;
圖21a和圖21b分別是根據(jù)另一示例性實(shí)施方案的音頻編碼裝置和音頻解碼裝置的框圖;
圖22a和圖22b分別是根據(jù)另一示例性實(shí)施方案的音頻編碼裝置和音頻解碼裝置的框圖;
圖23a和圖23b分別是根據(jù)另一示例性實(shí)施方案的音頻編碼裝置和音頻解碼裝置的框圖;
圖24是示出根據(jù)本發(fā)明示例性實(shí)施方案的包括編碼模塊的多媒體裝置的框圖。
具體實(shí)施方式
本發(fā)明構(gòu)思可允許各種類型的改變或修改以及各種形式改變,并且具體示例性實(shí)施方案將在附圖中示出并在說明書中詳細(xì)描述。然而,應(yīng)當(dāng)理解,具體示例性實(shí)施方案并不將本發(fā)明構(gòu)思限于特定公開形式,而是包括在本發(fā)明構(gòu)思的精神和技術(shù)范圍內(nèi)的每種修改、等同物或替換。在以下描述中,不再詳細(xì)描述熟知的功能或構(gòu)造,因?yàn)樗鼈儠?huì)以不必要的細(xì)節(jié)模糊本發(fā)明。
雖然諸如“第一”和“第二”的術(shù)語可以用于描述各種要素,但是要素不可被這些術(shù)語限制。這些術(shù)語可以用于區(qū)分某個(gè)要素與另一個(gè)要素。
本申請(qǐng)中使用的術(shù)語僅用于描述具體的示例性實(shí)施方案,并且不具有限制本發(fā)明構(gòu)思的任何意圖。雖然在考慮本發(fā)明構(gòu)思中的功能的同時(shí)盡可能選擇當(dāng)前廣泛使用的術(shù)語作為本發(fā)明構(gòu)思中使用的術(shù)語,但是它們可以根據(jù)本領(lǐng)域中的普通技術(shù)人員的意圖、司法先例或新技術(shù)的出現(xiàn)而變化。此外,在特定情況下,可以使用由申請(qǐng)人有意選擇的術(shù)語,并且在這種情況下,術(shù)語的含義將在本發(fā)明的相應(yīng)描述中公開。因此,本發(fā)明構(gòu)思中使用的術(shù)語不應(yīng)限于術(shù)語的簡單名稱,而是由術(shù)語的含義和本發(fā)明構(gòu)思的內(nèi)容來限定。
單數(shù)形式的表達(dá)包括復(fù)數(shù)形式的表達(dá),除非它們?cè)谏舷挛闹斜舜嗣黠@不同。在本申請(qǐng)中,應(yīng)當(dāng)理解,諸如“包括”和“具有”的術(shù)語用于指示存在所實(shí)現(xiàn)的特征、數(shù)字、步驟、操作、要素、部件或它們的組合,但不預(yù)先排除存在或添加一個(gè)或多個(gè)其他特征、數(shù)字、步驟、操作、要素、部件或它們的組合的可能性。
現(xiàn)將參考附圖詳細(xì)描述示例性實(shí)施方案。
圖1是根據(jù)示例性實(shí)施方案的頻域音頻解碼裝置的框圖。
圖1所示的頻域音頻解碼裝置可以包括參數(shù)獲得單元110、頻域解碼單元130、以及后處理單元150。頻域解碼單元130可以包括頻域數(shù)據(jù)包丟失隱藏(plc)模塊132、頻譜解碼單元133、存儲(chǔ)器更新單元134、逆變換單元135、通用重疊相加(ola)單元136、以及時(shí)域plc模塊137。除了嵌入在存儲(chǔ)器更新單元134中的存儲(chǔ)器(未示出)之外的部件可以集成在至少一個(gè)模塊中,并且可以實(shí)現(xiàn)成至少一個(gè)處理器(未示出)。存儲(chǔ)器更新單元134的功能可以分布到并包括在頻域plc模塊132和頻譜解碼單元133中。
參見圖1,參數(shù)獲得單元110可以根據(jù)接收到的比特流解碼參數(shù),并且根據(jù)解碼的參數(shù)檢查幀單元中是否發(fā)生了錯(cuò)誤。由參數(shù)獲得單元110提供的信息可以包括錯(cuò)誤標(biāo)記,該錯(cuò)誤標(biāo)記指示當(dāng)前幀是否為擦失幀以及到目前為止已經(jīng)連續(xù)發(fā)生的擦失幀的數(shù)目。如果確定在當(dāng)前幀中發(fā)生了擦失,則諸如壞幀指示符(bfi)的錯(cuò)誤標(biāo)記可設(shè)置為1,以指示不存在關(guān)于該擦失幀的信息。
頻域plc模塊132可以在其中具有頻域數(shù)據(jù)包丟失隱藏算法,并且當(dāng)由參數(shù)獲得單元110提供的錯(cuò)誤標(biāo)志bfi為1并且前一幀的解碼模式為頻域模式時(shí)操作。根據(jù)示例性實(shí)施方案,頻域plc模塊132可以通過重復(fù)存儲(chǔ)在存儲(chǔ)器(未示出)中的pgf的合成頻譜系數(shù)來生成擦失幀的頻譜系數(shù)。在這種情況下,可以通過考慮前一幀的幀類型和到目前為止已經(jīng)發(fā)生的擦失幀的數(shù)量來執(zhí)行重復(fù)處理。為了便于描述,當(dāng)已經(jīng)連續(xù)發(fā)生的擦失幀的數(shù)量為兩個(gè)或更多時(shí),此發(fā)生對(duì)應(yīng)于突發(fā)擦失。
根據(jù)示例性實(shí)施方案,當(dāng)當(dāng)前幀是形成突發(fā)擦失的擦失幀并且前一幀不是瞬態(tài)幀時(shí),頻域plc模塊132可從例如第五擦失幀開始將pgf的解碼頻譜系數(shù)強(qiáng)制向下縮放固定值3db。也就是說,如果當(dāng)前幀對(duì)應(yīng)于已經(jīng)連續(xù)發(fā)生的擦失幀中的第五擦失幀,則頻域plc模塊132可以通過降低pgf的解碼頻譜系數(shù)的能量并重復(fù)用于第五擦失幀的該能量降低的頻譜系數(shù)來生成頻譜系數(shù)。
根據(jù)另一示例性實(shí)施方案,當(dāng)當(dāng)前幀是形成突發(fā)擦失的擦失幀并且前一幀是瞬態(tài)幀時(shí),頻域plc模塊132可以從例如第二擦失幀開始將pgf的解碼頻譜系數(shù)強(qiáng)制向下縮放固定值3db。也就是說,如果當(dāng)前幀對(duì)應(yīng)于已經(jīng)連續(xù)發(fā)生的擦失幀中的第二擦失幀,則頻域plc模塊132可以通過降低pgf的解碼頻譜系數(shù)的能量并重復(fù)用于第二擦失幀的該能量降低的頻譜系數(shù)來生成頻譜系數(shù)。
根據(jù)另一示例性實(shí)施方案,當(dāng)當(dāng)前幀是形成突發(fā)擦失的擦失幀時(shí),頻域plc模塊132可以通過隨機(jī)改變針對(duì)擦失幀生成的頻譜系數(shù)的符號(hào)來減少由于重復(fù)每個(gè)幀的頻譜系數(shù)而生成的調(diào)制噪聲。在形成突發(fā)擦失的擦失幀組中開始應(yīng)用隨機(jī)符號(hào)的擦失幀可以根據(jù)信號(hào)特性而變化。根據(jù)示例性實(shí)施方案,開始應(yīng)用隨機(jī)符號(hào)的擦失幀的位置可以根據(jù)信號(hào)特性是否指示當(dāng)前幀是瞬態(tài)的而不同地設(shè)置,或者開始應(yīng)用隨機(jī)符號(hào)的擦失幀的位置可以針對(duì)多個(gè)非瞬態(tài)信號(hào)中的穩(wěn)態(tài)信號(hào)而不同地設(shè)置。例如,當(dāng)確定輸入信號(hào)中存在諧波分量時(shí),輸入信號(hào)可以被確定為信號(hào)起伏不嚴(yán)重的穩(wěn)態(tài)信號(hào),并且可以執(zhí)行與該穩(wěn)態(tài)信號(hào)相對(duì)應(yīng)的數(shù)據(jù)包丟失隱藏算法。通常,從編碼器發(fā)送的信息可以用于輸入信號(hào)的諧波信息。當(dāng)不需要低復(fù)雜度時(shí),可以使用由解碼器合成的信號(hào)來獲得諧波信息。
根據(jù)另一示例性實(shí)施方案,頻域plc模塊132可以不僅對(duì)形成突發(fā)擦失的擦失幀,而且還在每隔一個(gè)幀是擦失幀的情況下應(yīng)用向下縮放或隨機(jī)符號(hào)。也就是說,當(dāng)當(dāng)前幀是擦失幀,前一幀是好幀,并且再前一幀是擦失幀時(shí),可以應(yīng)用向下縮放或隨機(jī)符號(hào)。
當(dāng)由參數(shù)獲得單元110提供的錯(cuò)誤標(biāo)志bfi為0時(shí),即,當(dāng)當(dāng)前幀是好幀時(shí),頻譜解碼單元133可以操作。頻譜解碼單元133可以通過使用由參數(shù)獲得單元110解碼的參數(shù)執(zhí)行頻譜解碼來合成頻譜系數(shù)。
關(guān)于當(dāng)前幀為好幀的情況,存儲(chǔ)器更新單元134可以針對(duì)下一幀更新合成的頻譜系數(shù)、使用解碼參數(shù)獲得的信息、直到目前為止已經(jīng)連續(xù)發(fā)生的擦失幀的數(shù)量、關(guān)于每個(gè)幀的信號(hào)特性或幀類型的信息。信號(hào)特性可以包括瞬態(tài)特性或穩(wěn)態(tài)特性,并且?guī)愋涂梢园ㄋ矐B(tài)幀、穩(wěn)態(tài)幀或諧波幀。
逆變單元135可以通過對(duì)合成的頻譜系數(shù)執(zhí)行時(shí)頻逆變換來生成時(shí)域信號(hào)。逆變單元135可以基于當(dāng)前幀的錯(cuò)誤標(biāo)記和前一幀的錯(cuò)誤標(biāo)記,而將當(dāng)前幀的時(shí)域信號(hào)提供給通用ola單元136和時(shí)域plc模塊137中的一個(gè)。
當(dāng)當(dāng)前幀和前一幀都是好幀時(shí),通用ola單元136可以操作。通用ola單元136可以通過使用前一幀的時(shí)域信號(hào)來執(zhí)行通用ola處理,生成當(dāng)前幀的最終時(shí)域信號(hào)作為通用ola處理的結(jié)果,并且將該最終時(shí)域信號(hào)提供給后處理單元150。
當(dāng)當(dāng)前幀是擦失幀時(shí),或當(dāng)前幀是好幀而前一幀是擦失幀,并且最新pgf的解碼模式是頻域模式時(shí),時(shí)域plc模塊137可以操作。也就是說,當(dāng)當(dāng)前幀是擦失幀時(shí),數(shù)據(jù)包丟失隱藏處理可以由頻域plc模塊132和時(shí)域plc模塊137執(zhí)行,并且當(dāng)前一幀是擦失幀且當(dāng)前幀是好幀時(shí),數(shù)據(jù)包丟失隱藏處理可以由時(shí)域plc模塊137執(zhí)行。
后處理單元150可以對(duì)從頻域解碼單元130提供的時(shí)域信號(hào)執(zhí)行用于音質(zhì)改進(jìn)的濾波、上采樣等,但不限于此。后處理單元150提供重構(gòu)音頻信號(hào)作為輸出信號(hào)。
圖2是根據(jù)示例性實(shí)施方案的頻域數(shù)據(jù)包丟失隱藏裝置的框圖。圖2的裝置可以應(yīng)用于bfi標(biāo)記為1并且前一幀的解碼模式為頻域模式的情況。圖2的裝置可以實(shí)現(xiàn)自適應(yīng)淡出并且可以應(yīng)用于突發(fā)擦失。
圖2所示的裝置可以包括信號(hào)特性確定器210、參數(shù)控制器230、回歸分析器250、增益計(jì)算器270、以及縮放器290。所述部件可以集成在至少一個(gè)模塊中,并且實(shí)現(xiàn)為至少一個(gè)處理器(未示出)。
參見圖2,信號(hào)特性確定器210可以通過使用解碼信號(hào)來確定信號(hào)的特性,并且使用解碼信號(hào)的特性,可以將幀分類為瞬態(tài)幀、正常幀、穩(wěn)態(tài)幀等。現(xiàn)將在下文描述確定瞬態(tài)幀的方法。根據(jù)示例性實(shí)施方案,可以使用從編碼器發(fā)送的幀類型is_transient和能量差energy_diff來確定當(dāng)前幀是瞬態(tài)幀還是穩(wěn)態(tài)幀。為此,可以使用針對(duì)好幀獲得的移動(dòng)平均能量ema和能量差energy_diff。
現(xiàn)將描述獲得ema和energy_diff的方法。
如果假設(shè)當(dāng)前幀的能量或范數(shù)值的平均值是ecurr,則可以通過ema=ema_old*0.8+ecurr*0.2來獲得ema。在這種情況下,ema的初始值可以被設(shè)置為例如100。ema_old表示前一幀的移動(dòng)平均能量,并且ema可以被更新為下一幀的ema_old。
接下來,energy_diff可以通過對(duì)ema和ecurr之差進(jìn)行歸一化來獲得,并且可以用歸一化的能量差的絕對(duì)值來表示。
當(dāng)energy_diff小于預(yù)定閾值并且?guī)愋蚷s_transient為0時(shí),即,不是瞬態(tài)幀時(shí),信號(hào)特性確定器210可以確定當(dāng)前幀不是瞬態(tài)的。當(dāng)energy_diff等于或大于預(yù)定閾值并且?guī)愋蚷s_transient為1,即,是瞬態(tài)幀時(shí),信號(hào)特性確定器210可以確定當(dāng)前幀是瞬態(tài)的。energy_diff為1.0表示ecurr是雙倍ema,并且可以指示與前一幀相比當(dāng)前幀的能量變化非常大。
參數(shù)控制器230可以使用由信號(hào)特性確定器210確定的信號(hào)特性以及包括在從編碼器發(fā)送的信息中的幀類型和編碼模式來控制用于數(shù)據(jù)包丟失隱藏的參數(shù)。
用于回歸分析的先前好幀的數(shù)量可以被例示為針對(duì)數(shù)據(jù)包丟失隱藏控制的參數(shù)。為此,可以通過使用從編碼器發(fā)送的信息或由信號(hào)特性確定器210獲得的瞬態(tài)信息來確定當(dāng)前幀是否是瞬態(tài)幀。當(dāng)同時(shí)使用兩種信息時(shí),可以使用以下條件:也就是說,如果從編碼器發(fā)送的瞬態(tài)信息is_transient是1,或者如果由解碼器獲得的信息energy_diff等于或大于預(yù)定閾值ed_thres,例如1.0,則此指示當(dāng)前幀是能量變化嚴(yán)重的瞬態(tài)幀,因此可以減少要用于回歸分析的pgf的數(shù)量num_pgf。否則,確定當(dāng)前幀不是瞬態(tài)幀,并且可以增大num_pgf。這可以表示為以下偽碼。
在上述情形中,ed_thres表示閾值,并且可以設(shè)置為例如1.0。
數(shù)據(jù)包丟失隱藏的參數(shù)的另一示例可以是突發(fā)錯(cuò)誤持續(xù)時(shí)間的縮放法。在一個(gè)突發(fā)錯(cuò)誤持續(xù)時(shí)間中可以使用相同的energy_diff值。如果確定為擦失幀的當(dāng)前幀不是瞬態(tài)的,那么,當(dāng)發(fā)生突發(fā)擦失時(shí),從例如第五幀開始的幀可以被強(qiáng)制縮放3db的固定值,而與對(duì)前一幀的解碼頻譜系數(shù)的回歸分析無關(guān)。否則,如果確定作為擦失幀的當(dāng)前幀是瞬態(tài)的,那么,當(dāng)發(fā)生突發(fā)擦失時(shí),從例如第二幀開始的幀可以被強(qiáng)制縮放3db的固定值,而與對(duì)前一幀的解碼頻譜系數(shù)的回歸分析無關(guān)。
數(shù)據(jù)包丟失隱藏的參數(shù)的另一示例可以是自適應(yīng)靜噪和隨機(jī)符號(hào)的應(yīng)用方法,下面將參考縮放器290來描述。
回歸分析器250可以通過使用存儲(chǔ)的前一幀的參數(shù)來執(zhí)行回歸分析。當(dāng)設(shè)計(jì)解碼器時(shí),可以預(yù)先定義執(zhí)行回歸分析的擦失幀的條件。在發(fā)生了突發(fā)擦失時(shí)執(zhí)行回歸分析的情況下,當(dāng)nblostcmpt指示連續(xù)擦失幀的數(shù)量為2時(shí),從第二個(gè)連續(xù)擦失幀開始執(zhí)行回歸分析。在這種情況下,對(duì)于第一個(gè)擦失幀,可以簡單地重復(fù)從前一幀獲得的頻譜系數(shù),或者可以將頻譜系數(shù)縮放確定的值。
if(nblostcmpt==2){
regression_anaysis();
}
在頻域中,即使作為在時(shí)域中變換重疊信號(hào)的結(jié)果沒有發(fā)生連續(xù)擦失,也可能發(fā)生類似于連續(xù)擦失的問題。例如,如果按照跳過一個(gè)幀而發(fā)生擦失,換句話說如果以擦失幀、好幀和擦失幀的順序發(fā)生擦失,那么,當(dāng)通過重疊50%形成變換窗口時(shí),音質(zhì)與以擦失幀、擦失幀和擦失幀的順序發(fā)生擦失的情況沒有很大不同,與中間是否存在好幀無關(guān)。即使第n幀是好幀,如果第(n-1)和第(n+1)幀是擦失幀,則在重疊處理中產(chǎn)生完全不同的信號(hào)。因此,當(dāng)以擦失幀、好幀和擦失幀的順序發(fā)生擦失時(shí),盡管發(fā)生第二次擦失的第三幀的nblostcmpt為1,但是nblostcmpt被強(qiáng)制地增加1。結(jié)果,nblostcmpt為2,并且確定發(fā)生了突發(fā)擦失,因此可以使用回歸分析。
if((prev_old_bfi==1)&&(nblostcmpt==1))
{
st->nblostcmpt++;
}
if(bfi_cnt==2){
regression_anaysis();
}
在上述情形中,prev_old_bfi表示第二個(gè)先前幀的幀錯(cuò)誤信息。當(dāng)當(dāng)前幀是錯(cuò)誤幀時(shí),該處理可以適用。
為了具有低復(fù)雜度,回歸分析器250可以通過對(duì)兩個(gè)或更多個(gè)頻帶進(jìn)行分組來形成各組,導(dǎo)出每個(gè)組的代表值,并將回歸分析應(yīng)用于代表值。代表值的示例可以是平均值、中間值和最大值,但是代表值不限于此。根據(jù)示例性實(shí)施方案,可以使用為包括在每個(gè)組中的頻帶的平均范數(shù)值的分組范數(shù)的平均矢量作為代表值。用于回歸分析的pgf的數(shù)量可以是2或4。用于回歸分析的矩陣的行數(shù)可以設(shè)置為例如2。
作為回歸分析器250的回歸分析的結(jié)果,可以針對(duì)擦失幀預(yù)測每個(gè)組的平均范數(shù)值。也就是說,可以針對(duì)屬于擦失幀中一個(gè)組的每個(gè)頻帶預(yù)測相同的范數(shù)值。詳細(xì)地,回歸分析器250可以通過回歸分析來根據(jù)線性回歸分析等式計(jì)算值a和b,并通過使用計(jì)算出的值a和b來預(yù)測每個(gè)組的平均范數(shù)值。計(jì)算出的值a可以在預(yù)定范圍內(nèi)調(diào)節(jié)。在evs編解碼器中,預(yù)定范圍可以被限制為負(fù)值。在以下偽代碼中,norm_values是前一好幀中每個(gè)組的平均范數(shù)值,而norm_p是每組的預(yù)測平均范數(shù)值。
if(a>0){
a=0;
norm_p[i]=norm_values[0];
}
else{
norm_p[i]=(b+a*(nblostcmpt-1+num_pgf);
}
利用此經(jīng)修改的a值,可以預(yù)測每個(gè)組的平均范數(shù)值。
增益計(jì)算器270可以獲得在針對(duì)擦失幀預(yù)測的每個(gè)組的平均范數(shù)值與在先前好幀中的每個(gè)組的平均范數(shù)值之間的增益。當(dāng)預(yù)測范數(shù)大于零并且前一幀的范數(shù)非零時(shí),可以執(zhí)行增益計(jì)算。當(dāng)預(yù)測范數(shù)小于零或前一幀的范數(shù)為零時(shí),增益可以從初始值如1.0向下縮放3db。計(jì)算的增益可以被調(diào)整到預(yù)定范圍。在evs編解碼器中,增益的最大值可以被設(shè)置為1.0。
縮放器290可以對(duì)前一好幀應(yīng)用增益縮放以預(yù)測擦失幀的頻譜系數(shù)。縮放器290還可以根據(jù)輸入信號(hào)的特性將自適應(yīng)靜噪應(yīng)用于擦失幀,并將隨機(jī)符號(hào)應(yīng)用于預(yù)測的頻譜系數(shù)。
首先,輸入信號(hào)可以被識(shí)別為瞬態(tài)信號(hào)和非瞬態(tài)信號(hào)。穩(wěn)態(tài)信號(hào)可以與非瞬態(tài)信號(hào)分離地識(shí)別并以另一種方法處理。例如,如果確定輸入信號(hào)具有大量的諧波分量,則輸入信號(hào)可以被確定為其信號(hào)變化不大的穩(wěn)態(tài)信號(hào),并且可執(zhí)行對(duì)應(yīng)于穩(wěn)態(tài)信號(hào)的數(shù)據(jù)包丟失隱藏算法。一般來說,輸入信號(hào)的諧波信息可以獲自從編碼器發(fā)送的信息。當(dāng)不需要低復(fù)雜度時(shí),可以使用由解碼器合成的信號(hào)來獲得輸入信號(hào)的諧波信息。
當(dāng)輸入信號(hào)主要被分類為瞬態(tài)信號(hào)、穩(wěn)態(tài)信號(hào)和殘余信號(hào)時(shí),可以如下所述應(yīng)用自適應(yīng)靜噪和隨機(jī)符號(hào)。在下面的情境中,由mute_start指示的數(shù)字指示:當(dāng)發(fā)生突發(fā)擦失時(shí),如果bfi_cnt等于或大于mute_start,則靜噪強(qiáng)制地開始。另外,可以以相同的方式分析與隨機(jī)符號(hào)相關(guān)的random_start。
if((old_clas==harmonic)&&(is_transient==0))/*stationarysignal*/
{
mute_start=4;
random_start=3;
}
elseif((energy_diff<ed_thres)&&(is_transient==0))/*residualsignal*/
{
mute_start=3;
random_start=2;
}
else/*transientsignal*/
{
mute_start=2;
random_start=2;
}
根據(jù)應(yīng)用自適應(yīng)靜噪的方法,將頻譜系數(shù)強(qiáng)制向下縮放固定值。例如,如果當(dāng)前幀的bfi_cnt是4,并且當(dāng)前幀是穩(wěn)態(tài)幀,則當(dāng)前幀的頻譜系數(shù)可以被向下縮放3db。
另外,頻譜系數(shù)的符號(hào)經(jīng)隨機(jī)地修改以減少由于每幀中的頻譜系數(shù)的重復(fù)而產(chǎn)生的調(diào)制噪聲??梢允褂酶鞣N熟知的方法作為應(yīng)用隨機(jī)符號(hào)的方法。
根據(jù)示例性實(shí)施方案,隨機(jī)符號(hào)可以應(yīng)用于幀的所有頻譜系數(shù)。根據(jù)另一示例性實(shí)施方案,可以預(yù)先定義開始應(yīng)用隨機(jī)符號(hào)的頻帶,并且可以將隨機(jī)符號(hào)應(yīng)用于等于或高于定義頻帶的頻帶,因?yàn)榭梢愿玫厥褂妙l譜系數(shù)與極低頻帶(例如200hz或更小)或第一頻帶中的前一幀的頻譜系數(shù)相同的符號(hào),這是因?yàn)椴ㄐ位蚰芰靠赡苡捎谠摌O低頻帶中的符號(hào)的變化而極大地變化。
因此,可以平滑信號(hào)的急劇變化,并且可以精確地恢復(fù)錯(cuò)誤幀以適應(yīng)于信號(hào)的特性,特別是瞬態(tài)特性和突發(fā)擦失持續(xù)時(shí)間,而在頻域中沒有低復(fù)雜度下的附加延遲。
圖3示出了根據(jù)示例性實(shí)施方案經(jīng)分組以應(yīng)用回歸分析的子帶的結(jié)構(gòu)。回歸分析可以應(yīng)用于窄帶信號(hào),其支持直到例如4.0khz。
參見圖3,對(duì)于第一區(qū)域,通過將8個(gè)子帶組合為一個(gè)組來獲得平均范數(shù)值,并且使用前一幀的分組平均范數(shù)值來預(yù)測擦失幀的分組平均范數(shù)值。從分組的子帶獲得的分組平均范數(shù)值形成了向量,該向量被稱為分組范數(shù)的平均向量。通過使用分組范數(shù)的平均向量,可以獲得等式1中的a和b。使用每個(gè)分組的子帶(gsb)的k個(gè)分組的平均范數(shù)值來進(jìn)行回歸分析。
圖4示出了線性回歸分析和非線性回歸分析的概念。線性回歸分析可應(yīng)用于根據(jù)示例性實(shí)施方案的數(shù)據(jù)包丟失算法。在這種情況下,“范數(shù)的平均值”表示通過對(duì)多個(gè)頻帶進(jìn)行分組而獲得的平均范數(shù)值,并且是應(yīng)用回歸分析的目標(biāo)。當(dāng)量化值用于前一幀的平均范數(shù)值時(shí),執(zhí)行線性回歸分析。指示用于回歸分析的pgf的數(shù)目的“pgf數(shù)目”可以可變地設(shè)定。
線性回歸分析的示例可以由等式2表示。
y=ax+b
如在等式2中,當(dāng)使用線性等式時(shí),可以通過獲得a和b來預(yù)測即將到來的轉(zhuǎn)變y。在等式2中,a和b可以通過逆矩陣獲得。獲得逆矩陣的簡單方法可以使用高斯-約當(dāng)消去法(gauss-jordanelimination)。
圖5是根據(jù)示例性實(shí)施方案的時(shí)域數(shù)據(jù)包丟失隱藏裝置的框圖。圖5的裝置可以用于實(shí)現(xiàn)考慮到輸入信號(hào)特性的附加質(zhì)量增強(qiáng),并且可以包括相位匹配工具和重復(fù)平滑工具這兩個(gè)隱藏工具以及通用ola模塊。利用這兩個(gè)隱藏工具,可以通過檢查輸入信號(hào)的平穩(wěn)性來選擇適當(dāng)?shù)碾[藏方法。
圖5所示的裝置500可以包括plc模式選擇單元531、相位匹配處理單元533、ola處理單元535、重復(fù)和平滑處理單元537、以及第二存儲(chǔ)器更新單元539。第二存儲(chǔ)器更新單元539的功能可以包括在每個(gè)處理單元533、535和537中。在此,第一存儲(chǔ)器更新單元510可以對(duì)應(yīng)于圖1的存儲(chǔ)器更新單元134。
參見圖5,第一存儲(chǔ)器更新單元510可以提供用于plc模式選擇的各種參數(shù)。各種參數(shù)可以包括phase_matching_flag、stat_mode_out和diff_energy等。
plc模式選擇單元531可以接收當(dāng)前幀的標(biāo)記bfi,前一幀的標(biāo)記prev_bfi,連續(xù)擦失幀的數(shù)目nblostcmpt以及從第一存儲(chǔ)器更新單元510提供的參數(shù),并選擇plc模式。關(guān)于每個(gè)標(biāo)記,1表示擦失幀,0表示好幀。當(dāng)連續(xù)擦失幀的數(shù)目等于或大于例如2時(shí),可以確定形成了突發(fā)擦失。根據(jù)plc模式選擇單元531中的選擇結(jié)果,可以向處理單元533、535和537中的一個(gè)提供當(dāng)前幀的時(shí)域信號(hào)。
表1概括了plc模式。存在用于時(shí)域plc的兩種工具。
[表1]
表2概括了plc模式選擇單元531中的plc模式選擇方法。
[表2]
用于選擇用于相位匹配工具的plc模式的偽代碼可以概括如下。
相位匹配標(biāo)記(phase_mat_flag)可以用于在前一好幀中在第一存儲(chǔ)器更新單元510處確定在下一幀中發(fā)生擦失時(shí)是否對(duì)每個(gè)好幀使用相位匹配擦失隱藏處理。為此,可以使用每個(gè)子帶的能量和頻譜系數(shù)。能量可以從范數(shù)值獲得,但不限于此。更具體地,當(dāng)當(dāng)前幀中具有最大能量的子帶屬于預(yù)定的低頻帶,并且?guī)g能量變化不大時(shí),相位匹配標(biāo)記可以被設(shè)置為1。
根據(jù)示例性實(shí)施方案,當(dāng)當(dāng)前幀中具有最大能量的子帶在75hz至1000hz的范圍內(nèi),當(dāng)前幀的索引與關(guān)于對(duì)應(yīng)子帶的前一幀的索引之間的差是1或更小,并且當(dāng)前幀是能量變化小于閾值的穩(wěn)態(tài)幀,并且例如存儲(chǔ)在緩沖器中的三個(gè)過去幀不是瞬態(tài)幀時(shí),相位匹配擦失隱藏處理將被應(yīng)用于已經(jīng)發(fā)生擦失的下一幀。偽代碼可以概括如下。
if((min_ind<5)&&(abs(min_ind-old_min_ind)<2)&&(diff_energy<ed_thres_90p)&&(!bfi)&&(!prev_bfi)&&(!prev_old_bfi)&&(!is_transient)&&(!old_is_transient[1])){
if((min_ind==0)&&(max_ind<3)){
phase_mat_flag=0;
}
else{
phase_mat_flag=1;
}
}
else{
phase_mat_flag=0;
}
用于重復(fù)和平滑工具和常規(guī)ola的plc模式選擇方法可以通過穩(wěn)定性檢測來執(zhí)行并且解釋如下。
可以引入滯后以便防止穩(wěn)定性檢測中的檢測結(jié)果頻繁改變。擦失幀的穩(wěn)定性檢測可以通過接收包括前一幀的穩(wěn)態(tài)模式stat_mode_old、能量差diff_energy等的信息來確定當(dāng)前的擦失幀是否是穩(wěn)態(tài)的。具體地,當(dāng)能量差diff_energy小于閾值如0.032209時(shí),當(dāng)前幀的穩(wěn)態(tài)模式標(biāo)記stat_mode_curr被設(shè)置為1。
如果確定當(dāng)前幀是穩(wěn)態(tài)的,則滯后應(yīng)用可以通過應(yīng)用前一幀的穩(wěn)態(tài)模式參數(shù)stat_mode_old來從當(dāng)前幀生成最終穩(wěn)定性參數(shù)stat_mode_out以防止當(dāng)前幀的穩(wěn)定性信息的頻繁改變。也就是說,當(dāng)確定當(dāng)前幀是穩(wěn)態(tài)的并且前一幀是穩(wěn)態(tài)幀時(shí),可以將當(dāng)前幀檢測為穩(wěn)態(tài)幀。
plc模式選擇的操作可以取決于當(dāng)前幀是否為擦失幀或擦失幀之后的下一好幀。參見表2,對(duì)于擦失幀,可以通過使用各種參數(shù)來確定輸入信號(hào)是否為穩(wěn)態(tài)的。更具體地,當(dāng)前一好幀是穩(wěn)態(tài)的并且能量差小于閾值時(shí),得出輸入信號(hào)是穩(wěn)態(tài)的結(jié)論。在這種情況下,可以執(zhí)行重復(fù)和平滑處理。如果確定輸入信號(hào)不是穩(wěn)態(tài)的,則可以執(zhí)行通用的ola處理。
同時(shí),如果輸入信號(hào)不是穩(wěn)態(tài)的,則對(duì)于擦失幀之后的下一好幀,可以通過檢查連續(xù)擦失幀的數(shù)量是否大于1來確定前一幀是否是突發(fā)擦失幀。如果是這種情況,則響應(yīng)于為突發(fā)擦失幀的前一幀來執(zhí)行對(duì)下一好幀的擦失隱藏處理。如果確定輸入信號(hào)不是穩(wěn)態(tài)的并且前一幀是隨機(jī)擦失,則執(zhí)行常規(guī)ola處理。
如果輸入信號(hào)是穩(wěn)態(tài)的,則可以響應(yīng)于被擦失的前一幀執(zhí)行對(duì)下一好幀的擦失隱藏處理,即,重復(fù)和平滑處理。對(duì)下一好幀的這種重復(fù)和平滑具有兩種類型的隱藏方法。一種是用于擦失幀之后的下一好幀的重復(fù)和平滑方法,另一種是用于突發(fā)擦失之后的下一好幀的重復(fù)和平滑方法。
針對(duì)重復(fù)和平滑工具以及常規(guī)ola來選擇plc模式的偽代碼如下。
if(bfi==0&&st->prev_bfi==1){
if((stat_mode_out==1)||(diff_energy<0.032209)){
repetition&smoothingfornextgoodframe();
}
elseif(nblostcmpt>1){
nextgoodframeafterbursterasures();
}
else{
conventionalola();
}
}
else{/*if(bfi==1)*/
if((stat_mode_out==1)||(diff_energy<0.032209)){
if(repetition&smoothingforerasedframe()){
conventionalola();
}
}
else{
conventionalola();
}
}
將參照?qǐng)D6至圖8來解釋相位匹配處理單元533的操作。
將參照?qǐng)D9和圖10來解釋ola處理單元535的操作。
將參照?qǐng)D11至圖19來解釋重復(fù)和平滑處理單元537的操作。
第二存儲(chǔ)器更新單元539可以更新用于對(duì)當(dāng)前幀的數(shù)據(jù)包丟失隱藏處理的各種類型的信息,并將該信息存儲(chǔ)在用于下一幀的存儲(chǔ)器(未示出)中。
圖6是根據(jù)示例性實(shí)施方案的相位匹配隱藏處理裝置的框圖。
圖6所示的裝置可以包括第一至第三隱藏單元610、630和650。相位匹配工具可以通過復(fù)制從先前的好幀獲得的相位匹配的時(shí)域信號(hào)來產(chǎn)生當(dāng)前擦失幀的時(shí)域信號(hào)。一旦將相位匹配工具被用于擦失幀,則該工具也將用于下一好幀或隨后的突發(fā)擦失。對(duì)于下一好幀,使用針對(duì)下一好幀的相位匹配工具。對(duì)于后續(xù)的突發(fā)擦失,使用用于突發(fā)擦失的相位匹配工具。
參見圖6,第一隱藏單元610可以對(duì)當(dāng)前擦失幀執(zhí)行相位匹配隱藏處理。
第二隱藏單元630可以對(duì)下一好幀執(zhí)行相位匹配隱藏處理。也就是說,當(dāng)前一幀是擦失幀并且對(duì)前一幀執(zhí)行了相位匹配隱藏處理時(shí),可以對(duì)下一好幀執(zhí)行相位匹配隱藏處理。
在第二隱藏單元630中,可以使用參數(shù)mean_en_high。mean_en_high參數(shù)表示高頻帶的平均能量并且指示最后的好幀的相似性。該參數(shù)通過以下等式2計(jì)算。
其中k是所確定的高頻帶的起始頻帶索引。
如果mean_en_high大于2.0或小于0.5,則其表示能量變化嚴(yán)重。如果能量變化嚴(yán)重,則將oldout_pha_idx設(shè)置為1。oldout_pha_idx用作使用oldauout存儲(chǔ)器的切換。兩組oldauout被保存在擦失幀區(qū)塊的相位匹配和突發(fā)擦失區(qū)塊的相位匹配兩者處。第一oldauout是通過相位匹配處理從復(fù)制的信號(hào)生成的,第二oldauout是由從imdct得到的時(shí)域信號(hào)生成的。如果oldout_pha_idx被設(shè)置為1,則其指示高頻帶信號(hào)不穩(wěn)定,并且第二oldauout將被用于下一好幀中的ola處理。如果oldout_pha_idx被設(shè)置為0,則其指示高頻帶信號(hào)穩(wěn)定,并且第一oldauout將被用于下一好幀中的ola處理。
第三隱藏單元650可以對(duì)突發(fā)擦失執(zhí)行相位匹配隱藏處理。也就是說,當(dāng)前一幀是擦失幀并且對(duì)前一幀執(zhí)行了相位匹配隱藏處理時(shí),可以對(duì)當(dāng)前幀作為突發(fā)擦失的一部分執(zhí)行相位匹配隱藏處理。
第三隱藏單元650沒有最大相關(guān)搜索處理和復(fù)制處理,因?yàn)檫@些處理所需的所有信息可以通過用于擦失幀的相位匹配來重復(fù)使用。在第三隱藏單元650中,為了重疊的目的,可以在對(duì)應(yīng)于復(fù)制信號(hào)的重疊持續(xù)時(shí)間的信號(hào)和存儲(chǔ)在當(dāng)前幀n中的oldauout信號(hào)之間進(jìn)行平滑。oldauout實(shí)際上是通過對(duì)前一幀的相位匹配處理獲得的復(fù)制信號(hào)。
圖7是示出根據(jù)示例性實(shí)施方案圖6的第一隱藏單元610的操作的流程圖。
為了使用相位匹配工具,phase_mat_flag應(yīng)設(shè)置為1。也就是說,當(dāng)先前好幀在預(yù)定低頻帶中具有最大能量并且能量變化小于閾值時(shí),可以對(duì)為隨機(jī)擦失幀的當(dāng)前幀執(zhí)行相位匹配隱藏處理。即使?jié)M足該條件,也獲得相關(guān)標(biāo)度acca,并且可以選擇相位匹配擦失隱藏處理或通用ola處理。該選擇取決于相關(guān)標(biāo)度acca是否在預(yù)定范圍內(nèi)。也就是說,可以取決于在搜索范圍內(nèi)的區(qū)段之間是否存在相關(guān)性,以及是否存在搜索區(qū)段和在搜索范圍中的區(qū)段之間的互相關(guān),來有條件地執(zhí)行相位匹配數(shù)據(jù)包丟失隱藏處理。
相關(guān)標(biāo)度由等式3給出。
在等式3中,d表示存在于搜索范圍中的區(qū)段的數(shù)目,rxy表示用于搜索與搜索區(qū)段(x信號(hào))具有相同長度的匹配區(qū)段相對(duì)于存儲(chǔ)在緩沖器中的過去好幀(y信號(hào))的互相關(guān)性,并且ryy表示存儲(chǔ)在緩沖器中的過去好幀中存在的區(qū)段之間的相關(guān)性。
接下來,確定相關(guān)標(biāo)度acca是否在預(yù)定范圍內(nèi)。如果是,則在當(dāng)前擦失幀上進(jìn)行相位匹配擦失隱藏處理。否則,執(zhí)行對(duì)當(dāng)前幀的常規(guī)ola處理。如果相關(guān)標(biāo)度acca小于0.5或大于1.5,則執(zhí)行常規(guī)ola處理。否則,執(zhí)行相位匹配擦失隱藏處理。在本文中,上限值和下限值僅是說明性的,并且可以通過實(shí)驗(yàn)或模擬預(yù)先設(shè)置為最佳值。
首先,從存儲(chǔ)在緩沖器中的n個(gè)過去好幀中的一個(gè)先前好幀中的解碼信號(hào)中搜索與當(dāng)前幀相鄰的搜索區(qū)段具有最大相關(guān)性,即最相似的匹配區(qū)段。對(duì)于確定執(zhí)行相位匹配擦失隱藏處理的當(dāng)前擦失幀,可以通過獲得相關(guān)性尺度來再次確定相位匹配擦失隱藏處理是否合適。
接下來,通過參考作為搜索結(jié)果獲得的匹配區(qū)段的位置索引,將從匹配區(qū)段的末尾開始的預(yù)定持續(xù)時(shí)間復(fù)制到為擦失幀的當(dāng)前幀。另外,當(dāng)前一幀是隨機(jī)擦失幀并且對(duì)前一幀執(zhí)行了相位匹配擦失隱藏處理時(shí),通過參考作為搜索結(jié)果獲得的匹配區(qū)段的位置索引,將從匹配區(qū)段的末尾開始的預(yù)定持續(xù)時(shí)間復(fù)制到為擦失幀的當(dāng)前幀。此時(shí),將對(duì)應(yīng)于窗口長度的持續(xù)時(shí)間復(fù)制到當(dāng)前幀。當(dāng)從匹配區(qū)段的末尾開始的復(fù)制比窗口長度短時(shí),從匹配區(qū)段的末尾開始的復(fù)制將被重復(fù)地復(fù)制到當(dāng)前幀中。
接下來,可以通過ola執(zhí)行平滑處理,以最小化當(dāng)前幀和相鄰幀之間的不連續(xù),從而在隱藏的當(dāng)前幀上生成時(shí)域信號(hào)。
圖8是用于描述應(yīng)用于示例性實(shí)施方案的相位匹配方法的概念的圖。
參見圖8,當(dāng)在解碼音頻信號(hào)中的幀n中發(fā)生錯(cuò)誤時(shí),可以從存儲(chǔ)在緩沖器中的n個(gè)過去的正常幀之中的先前幀n-1中的解碼信號(hào)中搜索與和幀n相鄰的搜索區(qū)段810最相似的匹配區(qū)段830。此時(shí),可以根據(jù)與要搜索的音調(diào)分量相對(duì)應(yīng)的最小頻率的波長來確定搜索區(qū)段810的大小和緩沖器中的搜索范圍。為了最小化搜索的復(fù)雜性,搜索區(qū)段810的大小優(yōu)選地較小。例如,搜索區(qū)段810的大小可以被設(shè)置為大于最小頻率的波長的一半,并且小于最小頻率的波長??梢詫⒕彌_器中的搜索范圍設(shè)置為等于或大于要搜索的最小頻率的波長。根據(jù)本發(fā)明的實(shí)施方案,可以基于上述標(biāo)準(zhǔn),根據(jù)輸入頻帶(nb、wb、swb或fb)預(yù)先設(shè)置搜索區(qū)段810的大小和緩沖器中的搜索范圍。
詳細(xì)地,可以從搜索范圍內(nèi)的過去解碼信號(hào)中搜索與搜索區(qū)段810具有最高互相關(guān)性的匹配區(qū)段830,可以獲得與匹配區(qū)段830相對(duì)應(yīng)的位置信息,并且可以通過考慮窗口長度(例如,通過將幀長度和重疊持續(xù)時(shí)間的長度相加而獲得的長度)來設(shè)置從匹配區(qū)段830的末尾開始的預(yù)定持續(xù)時(shí)間850,并將該預(yù)定持續(xù)時(shí)間復(fù)制到發(fā)生了錯(cuò)誤的幀n。
當(dāng)完成復(fù)制處理時(shí),在當(dāng)前幀n的開始部分,對(duì)復(fù)制信號(hào)和存儲(chǔ)在用于重疊的前一幀n-1中的oldauout信號(hào)執(zhí)行重疊處理達(dá)第一重疊持續(xù)時(shí)間。重疊持續(xù)時(shí)間的長度可以設(shè)置為2ms。
圖9是常規(guī)ola單元的框圖。常規(guī)ola單元可以包括加窗單元910和重疊相加(ola)單元930。
參見圖9,加窗單元910可以對(duì)當(dāng)前幀的imdct信號(hào)執(zhí)行加窗處理以去除時(shí)域混疊。根據(jù)實(shí)施方案,可以應(yīng)用具有小于50%的重疊持續(xù)時(shí)間的窗口。
ola單元930可以對(duì)經(jīng)加窗的imdct信號(hào)執(zhí)行ola處理。
圖10示出了通用的ola方法。
當(dāng)在頻域編碼中發(fā)生擦失時(shí),過去的頻譜系數(shù)通常被重復(fù),因此可能不能去除擦失幀中的時(shí)域混疊。
圖11是根據(jù)示例性實(shí)施方案的重復(fù)和平滑擦失隱藏裝置的框圖。
圖11的裝置可以包括第一至第三隱藏單元1110、1150和1170,以及ola單元1190。
將參考圖12和圖13來解釋第一隱藏單元1110和ola單元1130的操作。
將參照?qǐng)D16至圖19來解釋第二隱藏單元1130的操作。
將參考圖14和圖15來解釋第三隱藏單元1130的操作。
圖12是根據(jù)示例性實(shí)施方案的第一隱藏單元1110和ola單元1130的框圖。圖12的裝置可以包括加窗單元1210、重復(fù)單元1230、平滑單元1250、確定單元1270和ola單元1290(圖11的1130)。即使使用原始的重復(fù)方法,重復(fù)和平滑處理被用來最小化噪聲的發(fā)生。
參考圖12,加窗單元1210可以執(zhí)行與圖9的加窗單元910的操作相同的操作。
重復(fù)單元1230可以將在當(dāng)前幀之前兩個(gè)幀的幀(在圖13中稱為“先前舊的”)的imdct信號(hào)應(yīng)用于當(dāng)前擦失幀的開始部分。
平滑單元1250可以在前一幀的信號(hào)(舊音頻輸出)和當(dāng)前幀的信號(hào)(稱為“當(dāng)前音頻輸出”)之間應(yīng)用平滑窗口,并且執(zhí)行ola處理。平滑窗口被形成為使得相鄰窗口之間的重疊持續(xù)時(shí)間的總和等于1。滿足該條件的窗口的示例是正弦波窗口、使用主函數(shù)的窗口和漢寧窗口,但是平滑窗口不限于此。根據(jù)示例性實(shí)施方案,可以使用正弦波窗口,并且在這種情況下,窗口函數(shù)w(n)可以由等式4表示。
在等式4中,ov_size表示要在平滑處理中使用的重疊的持續(xù)時(shí)間。
通過執(zhí)行平滑處理,當(dāng)當(dāng)前幀是擦失幀時(shí),防止了前一幀和當(dāng)前幀之間的不連續(xù)性,該不連續(xù)性可能是通過使用從當(dāng)前幀之前兩個(gè)幀的幀復(fù)制的imdct信號(hào)而不是存儲(chǔ)在前一幀中的imdct信號(hào)而發(fā)生的。
在重復(fù)和平滑完成之后,在確定單元1270中,可以將重疊區(qū)域中的預(yù)定持續(xù)時(shí)間的能量pow1與非重疊區(qū)域中的預(yù)定持續(xù)時(shí)間的能量pow2進(jìn)行比較。詳細(xì)地,當(dāng)在錯(cuò)誤隱藏處理之后重疊區(qū)域的能量減小或大幅增加時(shí),可以執(zhí)行通用的ola處理,因?yàn)楫?dāng)相位在重疊中逆轉(zhuǎn)時(shí)可能發(fā)生能量減少,并且當(dāng)相位在重疊中保持時(shí)可能發(fā)生能量增加。當(dāng)信號(hào)一定程度地穩(wěn)定時(shí),由于重復(fù)和平滑操作中的隱藏性能優(yōu)異,所以如果重疊區(qū)域和非重疊區(qū)域之間的能量差大,則表示由于重疊中的相位而產(chǎn)生了問題。因此,當(dāng)重疊區(qū)域中的能量和非重疊區(qū)域中的能量之間的差值大時(shí),可以采用通用ola處理的結(jié)果,而不是重復(fù)和平滑處理的結(jié)果。當(dāng)重疊區(qū)域中的能量和非重疊區(qū)域中的能量之間的差不大時(shí),可以采用重復(fù)和平滑處理的結(jié)果。例如,可以通過pow2>pow1*3執(zhí)行比較。當(dāng)滿足pow2>pow1*3時(shí),可以采用ola單元1290的通用ola處理的結(jié)果,而不是重復(fù)和平滑處理的結(jié)果。當(dāng)不滿足pow2>pow1*3時(shí),可以采用重復(fù)和平滑處理的結(jié)果。
ola單元1290可以對(duì)重復(fù)單元1230的重復(fù)信號(hào)和當(dāng)前信號(hào)的imdct信號(hào)執(zhí)行ola處理。因此,產(chǎn)生音頻輸出信號(hào),并且可以減少音頻輸出信號(hào)的開始部分中的噪聲的產(chǎn)生。此外,如果在頻域中通過對(duì)前一幀的頻譜復(fù)制來應(yīng)用縮放,則可以大大減少當(dāng)前幀的開始部分中的噪聲產(chǎn)生。
圖13示出了擦失幀的重復(fù)加窗和平滑處理,其對(duì)應(yīng)于圖11中的第一隱藏單元1110的操作。
圖14是第三隱藏單元1170的框圖,并且可以包括加窗單元1410。
在圖14中,平滑單元1410可以將平滑窗應(yīng)用于舊的imdct信號(hào)和當(dāng)前imdct信號(hào)并執(zhí)行ola處理。類似地,平滑窗口被形成為使得相鄰窗口之間的重疊持續(xù)時(shí)間的總和等于1。
也就是說,當(dāng)前一幀是第一擦失幀并且當(dāng)前幀是好幀時(shí),難以在前一幀的imdct信號(hào)和當(dāng)前幀的imdct信號(hào)之間的重疊持續(xù)時(shí)間中去除時(shí)域混疊。因此,通過執(zhí)行基于平滑窗口的平滑處理而不是傳統(tǒng)的ola處理,可以使噪聲最小化。
圖15示出了具有用于平滑擦失幀之后的下一好幀的窗口的示例的重復(fù)和平滑方法,其對(duì)應(yīng)于圖11中的第三隱藏單元1170的操作。
圖16是圖11的第二隱藏單元1170的框圖并且可以包括重復(fù)單元1610、縮放單元1630、第一平滑單元1650和第二平滑單元1670。
參見圖16,重復(fù)單元1610可以將當(dāng)前幀的imdct信號(hào)的用于下一幀的部分復(fù)制到當(dāng)前幀的開始部分。
縮放單元1630可以調(diào)整當(dāng)前幀的比例以防止突然的信號(hào)增加。在一個(gè)實(shí)施方案中,縮放區(qū)塊執(zhí)行3db的向下縮放。
第一平滑單元1650可以對(duì)前一幀的imdct信號(hào)和來自未來幀的復(fù)制imdct信號(hào)應(yīng)用平滑窗,并執(zhí)行ola處理。類似地,平滑窗口被形成為使得相鄰窗口之間的重疊持續(xù)時(shí)間的總和等于1。也就是說,當(dāng)使用復(fù)制的信號(hào)時(shí),需要加窗以去除可能在前一幀和當(dāng)前幀之間發(fā)生的不連續(xù)性,并且可以用通過第一平滑單元1650的ola處理獲得的信號(hào)替換舊的imdct信號(hào)。
第二平滑單元1670可以執(zhí)行ola處理,同時(shí)通過在作為被替換信號(hào)的舊imdct信號(hào)和作為當(dāng)前幀信號(hào)的當(dāng)前imdct信號(hào)之間應(yīng)用平滑窗口來去除不連續(xù)性。類似地,平滑窗口被形成為使得相鄰窗口之間的重疊持續(xù)時(shí)間的總和等于1。
也就是說,當(dāng)前一幀是突發(fā)擦失并且當(dāng)前幀是好幀時(shí),不能去除前一幀的imdct信號(hào)和當(dāng)前幀的imdct信號(hào)之間的重疊持續(xù)時(shí)間中的時(shí)域混疊。在突發(fā)擦失幀中,由于噪聲可能因?yàn)槟芰繙p少或連續(xù)重復(fù)而發(fā)生,所以應(yīng)用復(fù)制來自未來幀的信號(hào)以與當(dāng)前幀重疊的方法。在這種情況下,執(zhí)行平滑處理兩次以去除可能在當(dāng)前幀中出現(xiàn)的噪聲,并同時(shí)去除在前一幀和當(dāng)前幀之間發(fā)生的不連續(xù)性。
圖17示出了用于圖16中的突發(fā)擦失之后的下一好幀的重復(fù)和平滑處理中的加窗。
圖18是圖11的第二隱藏單元1170的框圖并且可以包括重復(fù)單元1810、縮放單元1830、平滑單元1850、以及ola單元1870。
參見圖18,重復(fù)單元1810可以將當(dāng)前幀的imdct信號(hào)的用于下一幀的部分復(fù)制到當(dāng)前幀的開始部分。
縮放單元1830可以調(diào)整當(dāng)前幀的比例以防止突然的信號(hào)增加。在一個(gè)實(shí)施方案中,縮放區(qū)塊執(zhí)行3db的向下縮放。
第一平滑單元1850可以對(duì)前一幀的imdct信號(hào)和來自未來幀的復(fù)制imdct信號(hào)應(yīng)用平滑窗,并執(zhí)行ola處理。類似地,平滑窗口被形成為使得相鄰窗口之間的重疊持續(xù)時(shí)間的總和等于1。也就是說,當(dāng)使用復(fù)制的信號(hào)時(shí),需要加窗以去除可能在前一幀和當(dāng)前幀之間發(fā)生的不連續(xù)性,并且可以用通過第一平滑單元1850的ola處理獲得的信號(hào)替換舊的imdct信號(hào)。
ola單元1870可以在替換的oldauout信號(hào)和當(dāng)前imdct信號(hào)之間執(zhí)行ola處理。
圖19示出了用于圖18中的突發(fā)擦失之后的下一好幀的重復(fù)和平滑處理中的加窗。
圖20a和圖20b分別是根據(jù)示例性實(shí)施方案的音頻編碼裝置和音頻解碼裝置的框圖。
圖20a中示出的音頻編碼裝置2110可以包括預(yù)處理單元2112、頻域編碼單元2114、以及參數(shù)編碼單元2116。上述部件可以集成在至少一個(gè)模塊中,并且可以實(shí)現(xiàn)為至少一個(gè)處理器(未示出)。
在圖20a中,預(yù)處理單元2112可對(duì)輸入信號(hào)執(zhí)行濾波、下采樣等,但不限于此。輸入信號(hào)可以包括語音信號(hào)、音樂信號(hào),或語音和音樂的混合信號(hào)。在下文中,為了便于描述,將輸入信號(hào)稱為音頻信號(hào)。
頻域編碼單元2114可以對(duì)預(yù)處理單元2112提供的音頻信號(hào)進(jìn)行時(shí)頻變換,根據(jù)音頻信號(hào)的信道數(shù)、編碼頻帶和比特率選擇編碼工具,以及通過使用所選編碼工具來編碼音頻信號(hào)。時(shí)頻變換使用經(jīng)修改的離散余弦變換(mdct)、經(jīng)調(diào)制重疊變換(mlt)或快速傅里葉變換(fft),但不限于此。當(dāng)給定比特的數(shù)量足夠時(shí),可以對(duì)所有頻帶應(yīng)用一般的變換編碼方案,并且當(dāng)給定比特的數(shù)量不足時(shí),可以對(duì)部分頻帶應(yīng)用帶寬擴(kuò)展方案。當(dāng)音頻信號(hào)是立體聲信道或多信道時(shí),如果給定比特的數(shù)量足夠,則對(duì)每個(gè)信道執(zhí)行編碼,并且如果給定比特的數(shù)量不足,則可以應(yīng)用降混方案。由頻域編碼單元2114生成編碼頻譜系數(shù)。
參數(shù)編碼單元2116可以從由頻域編碼單元2114提供的編碼頻譜系數(shù)中提取參數(shù),并對(duì)提取的參數(shù)進(jìn)行編碼。例如,可以提取每個(gè)子帶的參數(shù),所述子帶為頻譜系數(shù)的分組單位并且可以通過反映臨界頻帶而具有均勻或不均勻的長度。當(dāng)每個(gè)子帶具有不均勻的長度時(shí),與存在于高頻帶中的子帶相比,存在于低頻帶中的子帶可以具有相對(duì)較短的長度。一個(gè)幀中包括的子帶的數(shù)量和長度根據(jù)編解碼器算法而變化,并且可能影響編碼性能。參數(shù)可以包括例如縮放系數(shù)、功率、平均能量或范數(shù),但不限于此。頻譜系數(shù)和作為編碼結(jié)果獲得的參數(shù)形成比特流,并且比特流可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,或者可以以例如數(shù)據(jù)包的形式通過信道發(fā)送。
圖20b中示出的音頻解碼裝置2130可以包括參數(shù)解碼單元2132、頻域解碼單元2134、以及后處理單元2136。頻域解碼單元2134可以包括數(shù)據(jù)包丟失隱藏算法。上述部件可以集成在至少一個(gè)模塊中,并且可以實(shí)現(xiàn)為至少一個(gè)處理器(未示出)。
在圖20b中,參數(shù)解碼單元2132可以從接收到的比特流中解碼參數(shù),并且根據(jù)解碼的參數(shù)來檢查幀單元中是否已經(jīng)發(fā)生了擦失。各種公知的方法可以用于擦失檢查,并且關(guān)于當(dāng)前幀是好幀還是擦失幀的信息被提供給頻域解碼單元2134。
當(dāng)當(dāng)前幀是好幀時(shí),頻域解碼單元2134可以通過經(jīng)由通用變換解碼處理執(zhí)行解碼來生成合成頻譜系數(shù)。當(dāng)當(dāng)前幀為擦失幀時(shí),頻域解碼單元2134可以通過經(jīng)由數(shù)據(jù)包丟失隱藏算法縮放前一好幀(pgf)的頻譜系數(shù)來生成合成頻譜系數(shù)。頻域解碼單元2134可以通過對(duì)合成的頻譜系數(shù)執(zhí)行頻率-時(shí)間變換來生成時(shí)域信號(hào)。
后處理單元2136可以對(duì)從頻域解碼單元2134提供的時(shí)域信號(hào)執(zhí)行用于音質(zhì)改進(jìn)的濾波、上采樣等,但不限于此。后處理單元2136提供重構(gòu)音頻信號(hào)作為輸出信號(hào)。
圖21a和圖21b分別是根據(jù)另一示例性實(shí)施方案的具有切換結(jié)構(gòu)的音頻編碼裝置和音頻解碼裝置的框圖。
圖21a中示出的音頻編碼裝置2210可以包括預(yù)處理單元2212、模式確定單元2213、頻域編碼單元2214、時(shí)域編碼單元2215、以及參數(shù)編碼單元2216。上述部件可以集成在至少一個(gè)模塊中,并且可以實(shí)現(xiàn)為至少一個(gè)處理器(未示出)。
在圖21a中,因?yàn)轭A(yù)處理單元2212基本上與圖20a的預(yù)處理單元2112相同,所以不再重復(fù)對(duì)其的描述。
模式確定單元2213可以通過參考輸入信號(hào)的特性來確定編碼模式。模式確定單元2213可以根據(jù)輸入信號(hào)的特性確定適合于當(dāng)前幀的編碼模式是語音模式還是音樂模式,并且還可以確定對(duì)當(dāng)前幀有效的編碼模式是時(shí)域模式還是頻域模式??梢酝ㄟ^使用一個(gè)幀的短期特性或多個(gè)幀的長期特性來感知輸入信號(hào)的特性,但是不限于此。例如,如果輸入信號(hào)對(duì)應(yīng)于語音信號(hào),則編碼模式可以被確定為語音模式或時(shí)域模式,并且如果輸入信號(hào)對(duì)應(yīng)于除了語音信號(hào)之外的信號(hào),即音樂信號(hào)或者混合信號(hào),則編碼模式可以被確定為音樂模式或頻域模式。當(dāng)輸入信號(hào)的特性對(duì)應(yīng)于音樂模式或頻域模式時(shí),模式確定單元2213可以提供預(yù)處理單元2212的輸出信號(hào)給頻域編碼單元2214,并且當(dāng)輸入信號(hào)的特性對(duì)應(yīng)于語音模式或時(shí)域模式時(shí),模式確定單元2213可以提供預(yù)處理單元2212的輸出信號(hào)給時(shí)域編碼單元215。
因?yàn)轭l域編碼單元2214基本上與圖20a的頻域編碼單元2114相同,所以不再重復(fù)對(duì)其的描述。
時(shí)域編碼單元2215可以對(duì)從預(yù)處理單元2212提供的音頻信號(hào)執(zhí)行碼激勵(lì)線性預(yù)測(celp)編碼。詳細(xì)地,代數(shù)celp可以用于celp編碼,但是celp編碼不限于此。由時(shí)域編碼單元2215生成編碼頻譜系數(shù)。
參數(shù)編碼單元2216可以從由頻域編碼單元2214或時(shí)域編碼單元2215提供的編碼頻譜系數(shù)中提取參數(shù),并對(duì)提取的參數(shù)進(jìn)行編碼。因?yàn)閰?shù)編碼單元2216基本上與圖20a的參數(shù)編碼單元2116相同,所以不再重復(fù)對(duì)其的描述。作為編碼結(jié)果獲得的頻譜系數(shù)和參數(shù)可以與編碼模式信息一起形成比特流,并且比特流可以以數(shù)據(jù)包的形式通過信道發(fā)送或者可以存儲(chǔ)在存儲(chǔ)介質(zhì)中。
圖21b中示出的音頻解碼裝置2230可以包括參數(shù)解碼單元2232、模式確定單元2233、頻域解碼單元2234、時(shí)域解碼單元2235、以及后處理單元2236。頻域解碼單元2234和時(shí)域解碼單元2235中的每一者可以在各自相應(yīng)的域中包括數(shù)據(jù)包丟失隱藏算法。上述部件可以集成在至少一個(gè)模塊中,并且可以實(shí)現(xiàn)為至少一個(gè)處理器(未示出)。
在圖21b中,參數(shù)解碼單元2232可以從以數(shù)據(jù)包形式發(fā)送的比特流中解碼參數(shù),并且根據(jù)解碼的參數(shù)檢查是否已經(jīng)在幀單位中發(fā)生了擦失。各種熟知的方法可以用于擦失檢查,并且關(guān)于當(dāng)前幀是好幀還是擦失幀的信息被提供給頻域解碼單元2234或時(shí)域解碼單元2235。
模式確定單元2233可以檢查包括在比特流中的編碼模式信息,并將當(dāng)前幀提供給頻域解碼單元2234或時(shí)域解碼單元2235。
當(dāng)編碼模式是音樂模式或頻域模式時(shí),頻域解碼單元2234可以操作,并且當(dāng)當(dāng)前幀是好幀時(shí)通過經(jīng)由通用變換解碼處理進(jìn)行解碼來生成合成的頻譜系數(shù)。當(dāng)當(dāng)前幀是擦失幀,并且前一幀的編碼模式是音樂模式或者頻域模式時(shí),頻域解碼單元2234可以通過經(jīng)由擦失隱藏算法縮放pgf的頻譜系數(shù)來生成合成的頻譜系數(shù)。頻域解碼單元2234可以通過對(duì)合成的頻譜系數(shù)執(zhí)行頻率-時(shí)間變換來生成時(shí)域信號(hào)。
當(dāng)編碼模式是語音模式或時(shí)域模式時(shí),時(shí)域解碼單元2235可以操作,并且當(dāng)當(dāng)前幀是好幀時(shí)通過經(jīng)由通用celp解碼處理進(jìn)行解碼來生成時(shí)域信號(hào)。當(dāng)當(dāng)前幀是擦失幀并且前一幀的編碼模式是語音模式或時(shí)域模式時(shí),時(shí)域解碼單元2235可以在時(shí)域中執(zhí)行擦失隱藏算法。
后處理單元2236可以對(duì)從頻域解碼單元2234或時(shí)域解碼單元2235提供的時(shí)域信號(hào)進(jìn)行濾波、上采樣等,但不限于此。后處理單元2236提供重構(gòu)音頻信號(hào)作為輸出信號(hào)。
圖22a和圖22b分別是根據(jù)另一示例性實(shí)施方案的音頻編碼裝置2310和音頻解碼裝置2320的框圖。
圖22a中示出的音頻編碼裝置2310可以包括預(yù)處理單元2312、線性預(yù)測(lp)分析單元2313、模式確定單元2314、頻域激勵(lì)編碼單元2315、時(shí)域激勵(lì)編碼單元2316、以及參數(shù)編碼單元2317。上述部件可以集成在至少一個(gè)模塊中,并且可以實(shí)現(xiàn)為至少一個(gè)處理器(未示出)。
在圖22a中,因?yàn)轭A(yù)處理單元2312基本上與圖20a的預(yù)處理單元2112相同,所以不再重復(fù)對(duì)其的描述。
lp分析單元2313可以通過對(duì)輸入信號(hào)執(zhí)行l(wèi)p分析來提取lp系數(shù),并且根據(jù)所提取的lp系數(shù)生成激勵(lì)信號(hào)??梢愿鶕?jù)編碼模式將激勵(lì)信號(hào)提供給頻域激勵(lì)編碼單元2315和時(shí)域激勵(lì)編碼單元2316中的一個(gè)。
因?yàn)槟J酱_定單元2314基本上與圖21a的模式確定單元2213相同,所以不再重復(fù)對(duì)其的描述。
當(dāng)編碼模式是音樂模式或頻域模式時(shí),頻域激勵(lì)編碼單元2315可以操作,并且因?yàn)轭l域激勵(lì)編碼單元2315基本上與圖20a的頻域編碼單元2114相同,除了輸入信號(hào)是激勵(lì)信號(hào)以外,所以不再重復(fù)對(duì)其的描述。
當(dāng)編碼模式是語音模式或時(shí)域模式時(shí),時(shí)域激勵(lì)編碼單元2316可以操作,并且因?yàn)闀r(shí)域激勵(lì)編碼單元2316基本上與圖21a的時(shí)域編碼單元2215相同,所以不再重復(fù)對(duì)其的描述。
參數(shù)編碼單元2317可以從由頻域激勵(lì)編碼單元2315或時(shí)域激勵(lì)編碼單元2316提供的編碼頻譜系數(shù)中提取參數(shù),并對(duì)所提取的參數(shù)進(jìn)行編碼。因?yàn)閰?shù)編碼單元2317基本上與圖20a的參數(shù)編碼單元2116相同,所以不再重復(fù)對(duì)其的描述。作為編碼結(jié)果獲得的頻譜系數(shù)和參數(shù)可以與編碼模式信息一起形成比特流,并且比特流可以以數(shù)據(jù)包的形式通過信道發(fā)送或者可以存儲(chǔ)在存儲(chǔ)介質(zhì)中。
圖22b中示出的音頻解碼裝置2330可以包括參數(shù)解碼單元2332、模式確定單元2333、頻域激勵(lì)解碼單元2334、時(shí)域激勵(lì)解碼單元2335、lp合成單元2336、以及后處理單元2337。頻域激勵(lì)解碼單元2334和時(shí)域激勵(lì)解碼單元2335中的每一者可以在各自相應(yīng)的域中包括數(shù)據(jù)包丟失隱藏算法。上述部件可以集成在至少一個(gè)模塊中,并且可以實(shí)現(xiàn)為至少一個(gè)處理器(未示出)。
在圖22b中,參數(shù)解碼單元2332可以從以數(shù)據(jù)包形式發(fā)送的比特流中解碼參數(shù),并且根據(jù)解碼的參數(shù)檢查是否已經(jīng)在幀單位中發(fā)生了擦失。各種熟知的方法可以用于擦失檢查,并且關(guān)于當(dāng)前幀是好幀還是擦失幀的信息被提供給頻域激勵(lì)解碼單元2334或時(shí)域激勵(lì)解碼單元2335。
模式確定單元2333可以檢查包括在比特流中的編碼模式信息,并將當(dāng)前幀提供給頻域激勵(lì)解碼單元2334或時(shí)域激勵(lì)解碼單元2335。
當(dāng)編碼模式是音樂模式或頻域模式時(shí),頻域激勵(lì)解碼單元2334可以操作,并且當(dāng)當(dāng)前幀是好幀時(shí)通過經(jīng)由通用變換解碼處理進(jìn)行解碼來生成合成的頻譜系數(shù)。當(dāng)當(dāng)前幀是擦失幀,并且前一幀的編碼模式是音樂模式或者頻域模式時(shí),頻域激勵(lì)解碼單元2334可以通過經(jīng)由數(shù)據(jù)包丟失隱藏算法縮放pgf的頻譜系數(shù)來生成合成的頻譜系數(shù)。頻域激勵(lì)解碼單元2334可以通過對(duì)合成的頻譜系數(shù)執(zhí)行頻率-時(shí)間變換來產(chǎn)生作為時(shí)域信號(hào)的激勵(lì)信號(hào)。
當(dāng)編碼模式是語音模式或時(shí)域模式時(shí),時(shí)域激勵(lì)解碼單元2335可以操作,并且當(dāng)當(dāng)前幀是好幀時(shí)通過經(jīng)由通用celp解碼處理進(jìn)行解碼來生成作為時(shí)域信號(hào)的激勵(lì)信號(hào)。當(dāng)當(dāng)前幀是擦失幀并且前一幀的編碼模式是語音模式或時(shí)域模式時(shí),時(shí)域激勵(lì)解碼單元2335可以在時(shí)域中執(zhí)行數(shù)據(jù)包丟失隱藏算法。
lp合成單元2336可以通過對(duì)從頻域激勵(lì)解碼單元2334或時(shí)域激勵(lì)解碼單元2335提供的激勵(lì)信號(hào)執(zhí)行l(wèi)p合成來生成時(shí)域信號(hào)。
后處理單元2337可以對(duì)從lp合成單元2336提供的時(shí)域信號(hào)執(zhí)行濾波、上采樣等,但不限于此。后處理單元2337提供重構(gòu)音頻信號(hào)作為輸出信號(hào)。
圖23a和圖23b分別是根據(jù)另一示例性實(shí)施方案的具有切換結(jié)構(gòu)的音頻編碼裝置2410和音頻解碼裝置2430的框圖。
圖23a中示出的音頻編碼裝置2410可以包括預(yù)處理單元2412、模式確定單元2413、頻域編碼單元2414、lp分析單元2415、頻域激勵(lì)編碼單元2416、時(shí)域激勵(lì)編碼單元2417、以及參數(shù)編碼單元2418。上述部件可以集成在至少一個(gè)模塊中,并且可以實(shí)現(xiàn)為至少一個(gè)處理器(未示出)。由于可以視為圖23a所示的音頻編碼裝置2410是通過組合圖21a的音頻編碼裝置2210和圖22a的音頻編碼裝置2310而獲得的,所以不再重復(fù)對(duì)共有部分的操作的描述,并且現(xiàn)將描述模式確定單元2413的操作。
模式確定單元2413可以通過參考輸入信號(hào)的特性和比特率來確定輸入信號(hào)的編碼模式。模式確定單元2413可以基于根據(jù)輸入信號(hào)的特性、當(dāng)前幀是語音模式還是音樂模式并且基于對(duì)當(dāng)前幀有效的編碼模式是時(shí)域模式還是頻域模式,而將編碼模式確定為celp模式或另一種模式。模式確定單元2413可以當(dāng)輸入信號(hào)的特性對(duì)應(yīng)于語音模式時(shí)確定編碼模式為celp模式,當(dāng)輸入信號(hào)的特性對(duì)應(yīng)于音樂模式和高比特率時(shí)確定編碼模式為頻域模式,以及當(dāng)輸入信號(hào)的特性對(duì)應(yīng)于音樂模式和低比特率時(shí),將編碼模式確定為音頻模式。模式確定單元2413可以當(dāng)編碼模式為頻域模式時(shí)提供輸入信號(hào)至頻域編碼單元2414,當(dāng)編碼模式為音頻模式時(shí)經(jīng)由lp分析單元2415提供輸入信號(hào)至頻域激勵(lì)編碼單元2416,以及當(dāng)編碼模式是celp模式時(shí),經(jīng)由lp分析單元2415將輸入信號(hào)提供給時(shí)域激勵(lì)編碼單元2417。
頻域編碼單元2414可以對(duì)應(yīng)于圖20a的音頻編碼裝置2110中的頻域編碼單元2114,或圖21a的音頻編碼裝置2210中的頻域編碼單元2214,并且頻域激勵(lì)編碼單元2416或時(shí)域激勵(lì)編碼單元2417可以對(duì)應(yīng)于圖22a的音頻編碼裝置2310中的頻域激勵(lì)編碼單元2315或時(shí)域激勵(lì)編碼單元2316。
圖23b中示出的音頻解碼裝置2430可以包括參數(shù)解碼單元2432、模式確定單元2433、頻域解碼單元2434、頻域激勵(lì)解碼單元2435、時(shí)域激勵(lì)解碼單元2436、lp合成單元2437,以及后處理單元2438。頻域解碼單元2434、頻域激勵(lì)解碼單元2435、以及時(shí)域激勵(lì)解碼單元2436可以中的每一者可以在各自相應(yīng)的域中包括數(shù)據(jù)包丟失隱藏算法。上述部件可以集成在至少一個(gè)模塊中,并且可以實(shí)現(xiàn)為至少一個(gè)處理器(未示出)。由于可以視為圖23b所示的音頻解碼裝置2430通過組合圖21b的音頻解碼裝置2230和圖22b的音頻解碼裝置2330而獲得的,所以不再重復(fù)對(duì)共有部分的操作的描述,并且現(xiàn)將描述模式確定單元2433的操作。
模式確定單元2433可以檢查包括在比特流中的編碼模式信息,并將當(dāng)前幀提供給頻域解碼單元2434、頻域激勵(lì)解碼單元2435或時(shí)域激勵(lì)解碼單元2436。
頻域解碼單元2434可以對(duì)應(yīng)于圖20b的音頻解碼裝置2130中的頻域解碼單元2134,或圖21b的音頻編碼裝置2230中的頻域解碼單元2234,并且頻域激勵(lì)解碼單元2435或時(shí)域激勵(lì)解碼單元2436可以對(duì)應(yīng)于圖22b的音頻解碼裝置2330中的頻域激勵(lì)解碼單元2334或時(shí)域激勵(lì)解碼單元2335。
上述示例性實(shí)施方案可以被編寫為計(jì)算機(jī)可執(zhí)行程序,并且可以在通過使用非暫態(tài)計(jì)算機(jī)可讀記錄介質(zhì)執(zhí)行程序的通用數(shù)字計(jì)算機(jī)中實(shí)現(xiàn)。另外,可以在各實(shí)施方案中使用的數(shù)據(jù)結(jié)構(gòu)、程序指令或數(shù)據(jù)文件可以以各種方式記錄在非暫態(tài)計(jì)算機(jī)可讀記錄介質(zhì)上。非暫態(tài)計(jì)算機(jī)可讀記錄介質(zhì)是可以存儲(chǔ)其后可以由計(jì)算機(jī)系統(tǒng)讀取的數(shù)據(jù)的任何數(shù)據(jù)存儲(chǔ)設(shè)備。非暫態(tài)計(jì)算機(jī)可讀記錄介質(zhì)的示例包括諸如硬盤、軟盤和磁帶的磁性存儲(chǔ)介質(zhì),諸如cd-rom和dvd的光學(xué)記錄介質(zhì),諸如光盤的磁光介質(zhì),以及專門配置用來存儲(chǔ)和執(zhí)行程序指令的硬件設(shè)備,諸如rom、ram和閃存存儲(chǔ)器。另外,非暫態(tài)計(jì)算機(jī)可讀記錄介質(zhì)可以是用于發(fā)送指定程序指令、數(shù)據(jù)結(jié)構(gòu)等的信號(hào)的傳輸介質(zhì)。程序指令的示例可以不僅包括由編譯器創(chuàng)建的機(jī)械語言代碼,而且還包括可由計(jì)算機(jī)使用解譯器等執(zhí)行的高級(jí)語言代碼。
雖然已經(jīng)具體示出和描述了一個(gè)或多個(gè)示例性實(shí)施方案,但是本領(lǐng)域中的普通技術(shù)人員將理解,在不脫離由權(quán)利要求書限定的發(fā)明構(gòu)思的精神和范圍的情況下,可以在形式和細(xì)節(jié)上進(jìn)行各種變化。應(yīng)當(dāng)理解,本文描述的示例性實(shí)施方案應(yīng)當(dāng)僅被認(rèn)為是描述性的,而不是為了限制性目的。每個(gè)示例性實(shí)施方案內(nèi)的特征或方面的描述通常應(yīng)被認(rèn)為可用于其他實(shí)施方案中的其他類似特征或方面。