)可以取決于進(jìn)一步信號作用,即,操作模式可不同于應(yīng)用于分離變換幀以及長變換幀的 操作模式。
[0041] 在描述配合上述解碼器實施例的合適編碼器之前,上述實施例的實現(xiàn)方式被描 述,其適合因此升級xHE-AAC基礎(chǔ)的音頻編解碼器/解碼器,以允許以向后兼容方式支持變 換分離。
[0042] 即,下面描述如何在基于MPEG-DxHE-AAC(USAC)的音頻編解碼器中進(jìn)行變換長度 分離,以達(dá)到在低比特率下改進(jìn)特定音頻信號的編碼質(zhì)量的目的的可能性。變換分離工具 被信號化為部分向后兼容性,使得遺留的xHE-AAC解碼器可根據(jù)上述實施例分析以及解碼 比特流,而沒有明顯音頻錯誤或掉音。如下文中將顯示,部分向后兼容信號作用利用幀句法 元素的未用的可能數(shù)值,以有條件地編碼方式來控制噪聲填充的使用。而遺留的xHE-AAC解 碼器對各個噪聲填充句法元素的可能數(shù)值是不敏感的,但強化的音頻解碼器是敏感的。 [0043]特別的是,與上面描述的實施例一致,以下描述的實現(xiàn)方式使得實現(xiàn)為類似雨或 者喝彩的編碼信號提供中間變換長度,優(yōu)選地,分離長區(qū)塊,即兩個順序的變換,每個為長 區(qū)塊的頻譜長度的一半或四分之一,這些變換之間的最大時間重疊低于連續(xù)的長區(qū)塊之間 的最小時間重疊。為了允許具有變換分離(即信號作用34)的編碼比特流被傳統(tǒng)的xHE-AAC 解碼器讀取以及分析,應(yīng)以部分向后兼容的方式使用分離:此變換分離工具的存在不應(yīng)造 成傳統(tǒng)解碼器停止解碼或者甚至開始解碼。xHE-AAC基礎(chǔ)架構(gòu)下比特流的可讀性也可促進(jìn) 市場普及。為了達(dá)到上述的部分向后兼容的目的以在xHE-AAC或其潛在衍生品中使用變換 分離,經(jīng)由xHE-AAC的噪聲填充信號作用對變換分離進(jìn)行信號化。與上述實施例兼容,為了 將變換分離構(gòu)建到xHE-AAC編解碼器/解碼器中,代替頻域(FD)停止開始窗順序,可使用兩 個分離、半長度變換組成的分離變換。對于不支持變換分離的解碼器,即傳統(tǒng)的xHE-AAC解 碼器,以逐個系數(shù)的方式將時間上順序的半長度變換交錯成單個類停止開始區(qū)塊。以下將 描述經(jīng)由噪聲填充信號作用進(jìn)行信號化。特別的是,8-比特噪聲填充邊信息可用于傳輸變 換分離。這是可行的,因為即使待應(yīng)用的噪聲水平為零,MPEG-D標(biāo)準(zhǔn)[4]描述傳送所有的8比 特。在這種狀況下,一些噪聲填充比特可重復(fù)用于變換分離,即用于信號作用34。
[0044]關(guān)于傳統(tǒng)xHE-AAC解碼器的比特流分析以及播放的部分向后兼容性可如下確認(rèn)。 變換分離被經(jīng)由零的噪聲位準(zhǔn)而信號化,即前三個噪聲填充位皆為零值,接續(xù)有包含關(guān)于 變換分離以及消失噪聲位準(zhǔn)的邊信息的五個非零位(傳統(tǒng)上代表噪聲偏移)。因為如果3-比 特噪聲位準(zhǔn)為零,傳統(tǒng)的xHE-AAC解碼器忽視5比特偏移,變換分離信號作用34的存在僅對 傳統(tǒng)解碼器中的噪聲填充有影響:因為前三個比特皆為零所以噪聲填充被關(guān)閉,而解碼操 作的剩余部分如預(yù)期地運行。特別的是,分離變換的處理與全長反變換的傳統(tǒng)停止開始塊 相似(由于上述系數(shù)交錯),并且沒有執(zhí)行解交錯。因此,因為不需要在到達(dá)變換分離類型的 幀時消音輸出信號22或者甚至中止解碼,所以傳統(tǒng)的解碼器仍然提供增強數(shù)據(jù)流/比特流 20的"優(yōu)美"解碼。自然地,與根據(jù)圖1的適當(dāng)解碼器的解碼相比,傳統(tǒng)的解碼器不能提供分 離變換幀的正確重建,導(dǎo)致受影響的幀的質(zhì)量惡化。盡管如此,假設(shè)如預(yù)期地使用變換分 離,即僅在低比特率下將變換分離用于瞬態(tài)或是噪音輸入,通過xHE-AAC解碼器的質(zhì)量應(yīng)該 比受影響的幀由于消音或是導(dǎo)致明顯播放錯誤的其他原因而掉音,更好。
[0045] 具體地,xHE-AAC編碼器/解碼器的延伸朝向變換分離,如下所述。
[0046]根據(jù)以上所述,用于xHE-AAC的新工具可被稱為變換分離(TS)。其將是xHE-AAC或 者例如基于USAC[4]的MPEG-Η 3D-音頻的頻域(FD)編碼器中的新工具。然后,變換分離可被 用于特定瞬態(tài)信號通道上,以代替常規(guī)的長變換(其導(dǎo)致低比特率下的時間模糊,尤其預(yù)回 聲)或是八個短變換(其導(dǎo)致低比特率下的頻譜空洞以及幻影偽跡(bubble artifact))。然 后,可能通過將FD系數(shù)交錯成長變換,而部分向后兼容地信號化TS,其中可通過傳統(tǒng)的 MPEG-D USAC解碼器正確地分析長變換。
[0047] 這個工具的描述與上述內(nèi)容相似。當(dāng)TS活躍于長變換,兩個半長度MDCT被應(yīng)用代 替一個全長MDCT,并且兩個MDCT,即50以及52的系數(shù)以逐線交錯方式傳送。例如,在Π )(停 止)開始變換的情形中,交錯傳送已經(jīng)使用,第一實時MDCT的系數(shù)系放置在偶數(shù)索引而第二 實時MDCT的系數(shù)放置在奇數(shù)索引(索引從0開始),但是不能處理停止-開始變換的解碼器已 經(jīng)不能正確地分析數(shù)據(jù)流。即,由于用于熵編碼頻域系數(shù)的不同上下文為停止-開始變換服 務(wù),變化的句法被串流到半變換上,不能支持停止-開始窗口的任何解碼器必須忽略各個停 止-開始窗口幀。
[0048] 請再參閱上述實施例,這意味著上述描述以外,圖1的解碼器可以可選地支持其他 變換長度,即使用延伸信號作用34的信號作用將特定幀26劃分成甚至多于兩個變換。然而, 關(guān)于幀26的變換劃分的并列,與使用信號作用34激活的分離變換不同,Π )系數(shù)提取器12以 及比例因子提取器14將對信號作用敏感,其操作模式將依照除了信號作用34之外的額外信 號作用進(jìn)行改變。進(jìn)一步,TNS系數(shù)、MS參數(shù)以及復(fù)數(shù)預(yù)測參數(shù)的串流傳送,其定制成信號化 變換類型而不是根據(jù)56和59的分離變換類型,需要每一個解碼器必須能響應(yīng)(即了解)包含 根據(jù)60的長變換類型的這些"已知變換類型"或者幀和其他變換類型(例如,如在AAC的情況 中,將一個幀劃分成八個短變換)之間的信號作用選擇。在此情況中,這個"已知信號作用" 識別對于其信號作用34信號化分離變換類型的幀作為長變換類型的幀,使得不能了解信號 作用34的解碼器將這些幀當(dāng)長變換幀而不是其他類型幀(例如8個短變換類型幀)處理。 [0049]請再回到xHE-AAC的可能延伸的描述,為了將TS工具構(gòu)建至編碼框架,可提供特定 的操作限制。例如,TS可僅在ro長-開始或停止-開始窗中使用。即,下面的句法元素 wind〇w_ sequence可被請求為等于1。此外,由于部分向后兼容信號化,可要求TS僅當(dāng)句法元素 no i seFi 11 ing在句法容器UsacCoreConf ig〇中為1時應(yīng)用TS。當(dāng)TS被信號化為活躍時,除了 TNS以及逆MDCT之外的所有Π )工具操作在TS系數(shù)的交錯(長)組上。這許比例因子帶偏移和 長變換算術(shù)編碼表以及窗口形狀以及重疊長度的再使用。
[0050]下面,呈現(xiàn)下文中使用的術(shù)語以及定義,以便說明[4]中描述的USAC標(biāo)準(zhǔn)如何被延 伸提供向后兼容TS功能。針對有興趣的讀者,有時參考標(biāo)準(zhǔn)內(nèi)的章節(jié)。
[0051] 新的數(shù)據(jù)元素可為:
[0052] split_transform二元標(biāo)志,其指示當(dāng)前幀以及聲道中是否利用TS
[0053] 新的幫助元素可為:
[0054]
[0055] 在USAC框架中使用變換分離(TS)進(jìn)行FD(停止-)開始變換的解碼可按如下所示的 純順序步驟執(zhí)行:
[0056] 首先,可執(zhí)行 split_transform 以及 half_lowpass_line 的解碼。
[0057] split_transform實際上不代表獨立比特流元素,而是從噪聲填充元素 noise_ offset&&noise_level,&&UsacChannelPairElement(W4_B*,StereoCoreToolInfo ()中的common_window 標(biāo)志所得到。如果noiseFilling = = 0,8卩1;^_^&118:[>01'111為0。否則,
[0058] if ((noiseFilling! =0)&&(noise_level = = 0)) {
[0059] split-transform: (noise-off set&l 6 )/16;
[0060] noise-level = (noise-offset&14)/2;
[0061 ] noise-offset: (noise-off set&l )*16;
[0062] }
[0063] else{
[0064] sp1i t_transform = 0;
[0065] }
[0066] 換句話說,如果11〇186_16¥61等于0,11〇186_〇££86丨包含8卩1;^_奸3118:[>01'111標(biāo)志,其 后接著4位的噪聲填充數(shù)據(jù),然后重新設(shè)置。因為此操作改變no ise_l eve 1以及no is e_ o f f s e t的數(shù)值,其必須在章節(jié)7 . 2的噪聲填充過程之前執(zhí)行。此外,如果 UsacChannelPairElement()中common_window等于 1,則僅在左(第一)聲道中確定split_ transform;右聲道的split_transform被設(shè)定等于左聲道的split_transform(即復(fù)制),并 且上述偽代碼沒不在右聲道執(zhí)行。
[0067] Half_lowpass_line從當(dāng)前聲道的"長"比例因子帶偏移表、swb_off set_long- window以及max_sfb,或者立體聲以及common_window等于1的情形中的max_sfb_ste確定。
[0068] max_sfb_ste 具有 StereoCoreToolInfo()以及 common_window= = 1 的元素中,
[0069] lowpass-sfb =
[0070] max_sfb 否則。
[0071 ]基于 igFilling 標(biāo)志,得到 half_lowpass_line:
[0072] if (igFilling! = 0) {
[0073] lowpass_sfb=max( lowpass_sfb, ig_stop_sfb);
[0074] }
[0075] half_lowpass_line = swb_offset_long_window[ lowpass_sfb]/2 ;
[0076] 然后,在第二步驟,執(zhí)行針對時域噪聲整形的半長度頻譜的解交錯。
[0077] 在頻譜反量化、噪聲填充以及比例因子應(yīng)用之后以及在時域噪聲整形(TNS)應(yīng)用 之前,使用helper buffer[]解交錯spec[]中的TS系數(shù):
[0078] for(i = 0,i2 = 0; i<half_lowpass_line ; i+ = 1, i2+ = 2) {
[0079] spec[i] = spec[i2] ;/*隔離第一窗口*/
[0080] bufTer[i] = spec[i2+l] ;/*隔離第二窗口*/
[0081] }
[0082] for( i = 0 ;