專利名稱:對(duì)多聲道數(shù)字音頻信號(hào)進(jìn)行壓縮編碼的編碼方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字音頻信號(hào)的編碼/解碼設(shè)備及其方法,更確切地說,是關(guān)于對(duì)多聲道數(shù)字音頻信號(hào)進(jìn)行壓縮編碼/解碼的設(shè)備及方法。
背景技術(shù):
多聲道(包括立體聲)數(shù)字音頻壓縮編碼技術(shù)已被廣泛應(yīng)用于VCD,SVCD,DVD,衛(wèi)星電視,數(shù)字電視,和互聯(lián)網(wǎng)(Internet)等領(lǐng)域中。它要解決的主要問題是用于表達(dá)多聲道數(shù)字音頻信號(hào)的碼率很高,但可用于傳播或儲(chǔ)存它的信道容量卻非常有限。例如,用PCM來表達(dá)48kHz采樣率每個(gè)樣本24比特的5.1聲道的環(huán)繞聲需要6912kbps(千比特/秒)的碼率,而如數(shù)字電視之類的信道容量比較有限的應(yīng)用可分配給數(shù)字音頻信號(hào)的碼率一般為384kbps,即使是DVD這樣的信道容量比較寬松的應(yīng)用可分配給數(shù)字音頻信號(hào)的碼率也一般為384kbps,768kbps,和1536kbps。在此,數(shù)字音頻壓縮編碼技術(shù)需要提供高達(dá)18倍的壓縮比。
數(shù)字音頻壓縮編碼技術(shù)的研究開發(fā)可以追溯到70年代早期。經(jīng)過三十年的發(fā)展,目前廣泛采用的技術(shù)框架已基本定型為幀長選擇器,頻率或子帶分解器,暫態(tài)檢測器,線性預(yù)測器,比特分配器,量化器,熵編碼器,和多路復(fù)用器。
例如,MPEG 2AAC[參考文獻(xiàn)1]和MPEG 4 AAC[參考文獻(xiàn)2]技術(shù)把輸入音頻PCM信號(hào)流分成1024個(gè)樣本一幀,然后對(duì)每幀信號(hào)作暫態(tài)檢測。如果未發(fā)現(xiàn)本幀樣本中有暫態(tài)響應(yīng),則(可選擇地)作長期線性預(yù)測,然后作1024個(gè)子帶的頻率分解,再(可選擇地)對(duì)每個(gè)子代信號(hào)作短期線性預(yù)測。如果發(fā)現(xiàn)有暫態(tài)響應(yīng),則進(jìn)一步把本幀的1024個(gè)樣本分成8個(gè)子幀,每幀128個(gè)樣本,然后作128個(gè)子帶的頻率分解,并把暫態(tài)響應(yīng)所在的那些子幀的位置傳送給多路復(fù)用器。隨后作基于人耳聽覺模型的全局比特分配器,對(duì)子帶信號(hào)作非線性標(biāo)量量化,和對(duì)量化指數(shù)作哈夫曼(Huffman)編碼。最后,多路復(fù)用器把以上各步驟所產(chǎn)生的輔助信息和表達(dá)各個(gè)子帶樣本的哈夫曼碼打包成一個(gè)完整的以幀為單位的壓縮碼流。AAC的優(yōu)點(diǎn)是壓縮效率高。但編碼器和解碼器復(fù)雜,解碼后的音頻信號(hào)的音質(zhì)不完全透明。
再例如,DTS的多聲道音頻編碼器[參考文獻(xiàn)3,4和5]的幀長選擇器可根據(jù)采樣率和碼率從256,512,1024,2048,和4096中選一個(gè)幀長,并按此幀長把輸入音頻PCM信號(hào)流分成幀。隨后作32個(gè)子帶的頻率分解,再對(duì)每個(gè)子帶信號(hào)作子帶編碼。子帶編碼包括暫態(tài)檢測,線性預(yù)測,基于人耳聽覺模型的全局比特分配器,標(biāo)量/矢量量化,和哈夫曼(Huffman)編碼。最后,多路復(fù)用器把以上各步驟所產(chǎn)生的輔助信息和表達(dá)各個(gè)子帶樣本的量化指數(shù)或哈夫曼碼打包成一個(gè)完整的以幀為單位的壓縮碼流。DTS的優(yōu)點(diǎn)是解碼后的音頻信號(hào)的音質(zhì)好,在高碼率(如1536kbps)時(shí)被很多人認(rèn)為完全透明。但它的壓縮效率不高。
隨著數(shù)字電視近幾年在歐州和北美的商業(yè)廣播,多聲道音頻節(jié)目作為電視伴音的配送成為一個(gè)迫切需要解決的問題。這里涉及到的一個(gè)主要問題是目前的電視臺(tái)和錄音棚的設(shè)施僅僅支持立體聲。把它們改成多聲道意味著更換與音頻相關(guān)的幾乎全部設(shè)備。把多聲道節(jié)目壓縮到立體聲能支持的碼率即可避免這個(gè)問題。對(duì)多聲道節(jié)目壓縮后也有利于各個(gè)電視臺(tái)和錄音棚之間傳輸和分享節(jié)目。但壓縮后的音頻碼流引入了幀的結(jié)構(gòu)。如果音頻幀的長度與視頻幀的不等,在對(duì)視頻碼流在其幀的邊界上作剪輯時(shí)就會(huì)切到音頻幀的內(nèi)部,從而破壞音頻幀的結(jié)構(gòu),使解碼器出錯(cuò)。另外,在多聲道節(jié)目的制作和配送過程中往往需要對(duì)其進(jìn)行多次的編碼和解碼(縱列編碼Tandem Coding)操作。這要求壓縮技術(shù)必須能經(jīng)得起至少十次以上的縱列編碼而聽不到失真。
Dolby E是一個(gè)專為以上應(yīng)用而設(shè)計(jì)的音頻壓縮編碼技術(shù)[參考文獻(xiàn)6]。它的幀長度固定為1792,但它用采樣率變換的方法來使一幀Dolby E的數(shù)據(jù)流所占的時(shí)間與各種通用的視頻幀頻率(NTSC,PAL,和電影)的幀長度相等以達(dá)到能與它們同步剪輯的目的。同時(shí),它又用高碼率來確保能經(jīng)得起十次以上的縱列編碼而聽不到失真。但是,Dolby E的壓縮效率不高,不適合作為把多聲道節(jié)目傳輸?shù)阶罱K用戶(如電視機(jī))的壓縮技術(shù)。因此,電視臺(tái)在用Dolby E制作好節(jié)目后還得解碼成PCM,然后再編碼成AC-3[參考文獻(xiàn)7]或MPEG之類的高壓縮效率的編碼技術(shù)的碼流后才能發(fā)射出去。圖1示出采用Dolby E作節(jié)目配送的壓縮編碼技術(shù),AC-3作節(jié)目傳輸?shù)膲嚎s編碼技術(shù)的電視臺(tái)配送和傳輸音頻節(jié)目的過程。從中可以看出,這個(gè)電視臺(tái)法方案存在以下幾個(gè)困難1)音頻信號(hào)的失真大Dolby E本身的采樣率轉(zhuǎn)換引入失真,從Dolby E格式的碼流到AC-3格式的碼流的轉(zhuǎn)移編碼(Transcoding)又引入新的失真。2)已發(fā)射過的節(jié)目很難再用如圖1所示,如果要再用已發(fā)射過的節(jié)目,它必須被解碼成PCM再經(jīng)Dolby E編碼后才能與其他節(jié)目(如廣告等)切換。在發(fā)射時(shí)還得重新經(jīng)過從Dolby E解碼到AC-3編碼的轉(zhuǎn)移編碼過程。由于作最終傳輸?shù)拇a率一般不高,已發(fā)射過的節(jié)目在經(jīng)過以上這一串(AC-3解碼->Dolby E編碼->Dolby E解碼->AC-3編碼)轉(zhuǎn)移編碼后的音質(zhì)很難或無法保證。3)由于Dolby E的輸入和輸出的采樣率沒有簡單的倍頻關(guān)系,其編碼和解碼器都很復(fù)雜昂貴。
發(fā)明內(nèi)容
本發(fā)明的第一方面,提供一種高效高保真的對(duì)多聲道(包括單聲道)音頻信號(hào)進(jìn)行壓縮編碼的編碼器及其編碼方法。當(dāng)該音頻信號(hào)作為視頻信號(hào)的伴音時(shí),該方法既能滿足配送多聲道數(shù)字音頻節(jié)目的要求,也能滿足以中低碼率傳播多聲道數(shù)字音頻節(jié)目的要求(壓縮效率高)。也即,它實(shí)現(xiàn)了Dolby E和其它傳輸壓縮編碼技術(shù)如AC-3加起來的功能。
本發(fā)明在該方面的編碼器包括1)幀長選擇器,用于根據(jù)音頻信號(hào)的采樣率,碼率,和視頻幀頻率(當(dāng)多聲道音頻信號(hào)作為視頻信號(hào)的伴音時(shí))選擇音頻幀長;2)子帶分解濾波器組,用于將一幀一幀輸入的音頻信號(hào)分解成多個(gè)子帶信號(hào);3)暫態(tài)檢測器,用于將輸入的子帶信號(hào)分成暫態(tài)段與穩(wěn)態(tài)段;4)比特分配器,用于將由目標(biāo)碼率所決定的比特資源分配到各個(gè)子帶段;5)子帶量化器,用于對(duì)所述的子帶信號(hào)以段為單位量化;6)多路復(fù)用器(MUX),用于將子帶的量化指數(shù)以及相關(guān)的輔助信息多路復(fù)用打包成一個(gè)以幀為單位的完整的碼流。
本發(fā)明在該方面的編碼方法包括1)根據(jù)音頻信號(hào)的采樣率,碼率,和視頻幀頻率(當(dāng)多聲道音頻信號(hào)作為視頻信號(hào)的伴音時(shí))選擇音頻幀長;2)通過子帶分解濾波器組將一幀一幀輸入的音頻信號(hào)分解成多個(gè)子帶信號(hào);3)將各個(gè)子帶信號(hào)分成暫態(tài)段與穩(wěn)態(tài)段;4)將由目標(biāo)碼率所決定的比特資源分配到各個(gè)子帶段;5)對(duì)所述的子帶信號(hào)以段為單位量化;6)將子帶信號(hào)的量化指數(shù)以及相關(guān)的輔助信息多路復(fù)用打包成一個(gè)以幀為單位的完整的碼流。
本發(fā)明的第二方面,提供一種對(duì)由上述編碼器按上述編碼方法編碼形成的音頻碼流進(jìn)行解碼的解碼器及其解碼方法。其中該解碼器包括1)多路分解器(DEMUX),用于從上述編碼的碼流中多路分解出子帶信號(hào)的量化指數(shù)以及相關(guān)的如音頻幀長,子帶段邊界,和比特分配等輔助信息;2)子帶逆量化器,用于依據(jù)相關(guān)的輔助信息以段為單位由子帶信號(hào)的量化指數(shù)重建子帶信號(hào);3)子帶合成濾波器組,用于由子帶信號(hào)重建音頻信號(hào)。
本發(fā)明在該方面的解碼方法包括1)從上述音頻編碼的碼流中多路分解出子帶信號(hào)的量化指數(shù)以及相關(guān)的輔助信息;2)依據(jù)相關(guān)的輔助信息以段為單位由子帶信號(hào)的量化指數(shù)重建子帶信號(hào);3)用子帶合成濾波器組由子帶信號(hào)重建音頻信號(hào)。
當(dāng)多聲道音頻信號(hào)作為視頻信號(hào)的伴音時(shí),本發(fā)明選擇的音頻幀長與視頻幀長有簡單的倍數(shù)關(guān)系或者視頻幀長是音頻幀長的正整數(shù)倍,或者音頻幀長是視頻幀長的整數(shù)倍。這樣,本發(fā)明產(chǎn)生的碼流可以與視頻節(jié)目同步剪輯。
更進(jìn)一步,當(dāng)多聲道音頻信號(hào)作為視頻信號(hào)的伴音時(shí),本發(fā)明選擇的子帶分解濾波器組的子帶數(shù)是不同視頻幀頻(PAL和電影)所對(duì)應(yīng)的不同音頻幀長的公因子。這樣,當(dāng)視頻節(jié)目的幀頻發(fā)生變化時(shí),本發(fā)明的編碼器和解碼器只須改變音頻幀長與這個(gè)公因子的倍數(shù),而不是子帶數(shù),即可維持音頻幀長與視頻幀長的前述倍數(shù)關(guān)系,以維持與視頻節(jié)目的同步剪輯能力。由于子帶數(shù)未變,編碼器和解碼器的各個(gè)延遲線也不用改變,因而編碼器和解碼器不用復(fù)位即可適應(yīng)視頻節(jié)目的幀頻的變化。
以上對(duì)子帶數(shù)和幀長度的限制并不妨礙本發(fā)明有一個(gè)很短的幀長度以提供一個(gè)低延遲工作模式。
本發(fā)明的子帶分解器與合成器所采用的濾波器較長以保證在對(duì)經(jīng)本發(fā)明壓縮編碼后的數(shù)據(jù)流在幀的邊界上作剪輯后能保持解碼后的音頻信號(hào)平滑過渡。
本發(fā)明的編碼系統(tǒng)的暫態(tài)檢測器把輸入子帶信號(hào)分割成暫態(tài)和平穩(wěn)片段。它有很高的時(shí)間分辨率,以減小音頻壓縮編碼常碰到的前向回聲(Pre-echo)效應(yīng)。本發(fā)明隨后的各個(gè)部件對(duì)輸入音頻信號(hào)的處理都以片段為單位進(jìn)行。
本發(fā)明利用跨聲道的音頻信號(hào)在同一子帶(頻率)上的相關(guān)性來作長期和短期預(yù)測。這樣既可充分地利用音頻信號(hào)的周期性及聲道之間的相關(guān)性,又可采用低階數(shù)的預(yù)測器以降低運(yùn)算量。
本發(fā)明的比特分配器只非常有限地利用了人耳聽覺模型以達(dá)到簡化比特分配的目的。這樣既可極大的減小比特分配的計(jì)算復(fù)雜度,還可僅僅用一個(gè)參數(shù)來表達(dá)比特分配的結(jié)果。解碼器在接收到這個(gè)參數(shù)后即可根據(jù)它而很簡單地準(zhǔn)確重建編碼器用的比特分配。這樣就節(jié)省掉了其他技術(shù)用于傳送比特分配的比特資源。由于這個(gè)節(jié)省,用這種方法為編碼效率帶來的改善很可能能與用很復(fù)雜的人耳聽覺模型的媲美。
在量化方面,本專利采用的策略是在量化級(jí)少時(shí)用矢量量化,量化級(jí)多時(shí)用標(biāo)量量化,以達(dá)到優(yōu)化壓縮效率,解碼復(fù)雜度和對(duì)記憶單元的需求的目的。
圖1采用Dolby的音頻壓縮技術(shù)的數(shù)字電視節(jié)目的配送和傳輸方案。
圖2第一實(shí)施例的編碼器。
圖3本發(fā)明暫態(tài)檢測示意圖。
圖4第二實(shí)施例的編碼器。
圖5人耳在安靜環(huán)境下的聽覺門限(Threshold in Quite)。
圖6第三實(shí)施例的編碼器。
圖7第四實(shí)施例的編碼器。
圖8本聲道線性預(yù)測與預(yù)測誤差信號(hào)的量化。
圖9跨聲道線性預(yù)測與預(yù)測誤差信號(hào)的量化。
圖10本聲道與跨聲道線性預(yù)測并用,以及預(yù)測誤差信號(hào)的量化。
圖11編碼流程圖。
圖12解碼流程圖。
圖13解碼器。
圖14采用本聲道線性預(yù)測時(shí)子帶樣本的重建過程。
圖15采用跨聲道線性預(yù)測時(shí)子帶樣本的重建過程。
圖16本聲道和跨聲道線性預(yù)測并用時(shí)子帶樣本的重建過程。
圖17采用本發(fā)明的編碼器和解碼器的數(shù)字電視節(jié)目的配送和傳輸示意圖。
具體實(shí)施例方式
本發(fā)明的編碼及解碼方法對(duì)各個(gè)聲道的處理幾乎是完全分離和相同的,因此以下對(duì)本發(fā)明的描述都基于一個(gè)聲道,除非另外說明。
編碼[實(shí)施例1]如圖2所示,本發(fā)明的編碼器由幀長選擇器1,子帶分解濾波器組2、暫態(tài)檢測器3、比特分配器4,子帶量化器5,以及多路復(fù)用器6構(gòu)成,用于對(duì)輸入的音頻信號(hào)進(jìn)行壓縮編碼。該音頻信號(hào)可以是數(shù)字電視的伴音信號(hào)。以下通過對(duì)各組件的詳細(xì)描述來說明編碼器的工作原理。
幀長選擇器1幀長選擇器1的作用是把輸入的音頻信號(hào)按照一定的幀長分成幀。至于幀長的選擇,一般認(rèn)為幀長越大,編碼壓縮效率越高,但編碼延遲越大,編碼器和解碼器對(duì)記憶單元的需求量也越大。因此,碼率高時(shí)一般選用小一些的幀長,碼率低時(shí)一般選用大一些的幀長。由于編碼延遲與幀長和采樣率的乘積成正比,在選擇幀長時(shí)一定得考慮采樣率。
當(dāng)音頻信號(hào)是視頻信號(hào)的伴音時(shí),在選擇幀長時(shí)除了要考慮以上因素外,還得考慮作為視頻信號(hào)的伴音的一些特殊要求。這些特殊要求中最突出的,同時(shí)也是本發(fā)明要解決的問題之一,是被壓縮后的音頻碼流能與視頻信號(hào)作同步剪輯。本發(fā)明用“同步剪輯”來指被壓縮后的音頻碼流與視頻碼流的合理剪輯點(diǎn)在時(shí)間上完全同步,以使得在它們的任何一個(gè)剪輯點(diǎn)同時(shí)對(duì)音視頻碼流作剪輯后,音視頻碼流都不出錯(cuò),并且解碼后的音視頻信號(hào)在剪輯點(diǎn)都能平滑過渡。
實(shí)現(xiàn)同步剪輯的基本要求是一幀音頻碼流所占的時(shí)間必須與一幀視頻碼流所占的時(shí)間有一個(gè)簡單的倍數(shù)關(guān)系。否則,在視頻幀的邊界上剪輯視頻碼流時(shí)就會(huì)剪在音頻幀的內(nèi)部,破壞音頻幀的結(jié)構(gòu),引起解碼器出錯(cuò)。我們考慮兩種情況。第一種為視頻幀長是音頻幀長的整數(shù)倍或相等的情況。此時(shí)可在每個(gè)視頻幀的邊界上作剪輯,而此剪輯點(diǎn)總會(huì)落在音頻幀的邊界上。
對(duì)于25幀/秒(PAL)的視頻信號(hào),其每幀所占的時(shí)間為0.04秒。相對(duì)于以48000kHz采樣的音頻信號(hào),它相當(dāng)于1920個(gè)樣本。由于1920=3×5×27,這些因子的任何組合而形成的音頻幀長都可與25幀/秒的視頻信號(hào)做同步編輯。
對(duì)于24幀/秒(電影)的視頻信號(hào),與其對(duì)等的一幀音頻信號(hào)(48000kHz采樣率)的樣本數(shù)為2000=24×53。同理,由這些因子組合而形成的音頻幀長都可與視頻信號(hào)做同步剪輯。
對(duì)音頻幀長度選擇的另一個(gè)限制是它必須是后面將要經(jīng)歷的子帶分解濾波器組的子帶數(shù)的整數(shù)倍。如果從1920和2000的最大公因子24×5中選一些組合作為子帶數(shù),我們則可在不變動(dòng)子帶數(shù)的條件下實(shí)現(xiàn)與24幀/秒和25幀/秒這兩種視頻信號(hào)的同步編輯。在子帶分解濾波器組的描述中將對(duì)此做進(jìn)一步的描述。
現(xiàn)在考慮第二種情況,即音頻幀長是視頻幀長的整數(shù)倍(如V倍)的情況。為了確保音頻幀的完整性,必須每隔V個(gè)視頻幀才有一個(gè)音頻信號(hào)的剪輯點(diǎn)。被壓縮過的視頻碼流往往要隔好幾幀才會(huì)有一個(gè)剪輯點(diǎn),而這個(gè)間隔還可能是動(dòng)態(tài)的。假定這個(gè)動(dòng)態(tài)間隔的最大值為W,則能同時(shí)滿足視頻和音頻剪輯限制的最大剪輯間隔為WV個(gè)視頻幀。這顯然需要很大的存儲(chǔ)量。但是,前面所描述的方法任然適用。
子帶分解濾波器組2子帶分解濾波器組2用于把由幀長選擇器1傳過來的音頻信號(hào)分解成M個(gè)子帶信號(hào)。在這里可以采用各種各樣的濾波器組[參考文獻(xiàn)8],包括但不限于完美重建和非完美重建濾波器組,正交和非正交濾波器組,樹狀濾波器組,余弦調(diào)制的濾波器組,子波包等。為了保證在對(duì)經(jīng)本發(fā)明編碼的碼流進(jìn)行剪輯后音頻信號(hào)的平滑性,特別推薦使用重疊較長的濾波器組。
由于運(yùn)算量低和設(shè)計(jì)簡單,余弦調(diào)制的濾波器組是本發(fā)明優(yōu)選濾波器組。它的第k個(gè)子帶濾波器為[參考文獻(xiàn)8]hk(n)=2p0(n)cos(πM(k+0.5)(n-N2)+λk)---(1)]]>其中n為樣本指數(shù),k為子帶指數(shù),M為子帶數(shù),p0(·)為原型濾波器,N為原型濾器的長度,λk=(-1)kπ4.]]>本發(fā)明對(duì)子帶分解濾波器組2的子帶數(shù)M有一定的限制,其原則是子帶數(shù)M必須是對(duì)應(yīng)不同的視頻幀頻率由幀長選擇器1選擇的音頻幀長的一個(gè)公因子。也即,所有的可用的音頻幀長都可由以下公式表達(dá)Fsize=k*M (2)其中Fsize為音頻幀長,k為一個(gè)正整數(shù)。這樣,當(dāng)視頻的幀頻發(fā)生變化時(shí),幀長選擇器1只需選擇另一個(gè)k,就可在保持子帶數(shù)M不變的條件下,選擇一個(gè)與新的視頻幀頻對(duì)應(yīng)的音頻幀長。保持子帶數(shù)不變就意味著編碼器和解碼器的各種延遲線不變。當(dāng)視頻信號(hào)的幀頻率變化時(shí),編碼器和解碼器都不需復(fù)位,只用對(duì)上式中的k作相應(yīng)調(diào)整即能平穩(wěn)地適應(yīng)這個(gè)變化。
例如,在描述幀長選擇器1時(shí)已提到,對(duì)于以48kHz采樣的音頻信號(hào),2000可作為相對(duì)于24幀/秒的視頻信號(hào)的音頻幀長,1920可作為相對(duì)于25幀/秒的視頻信號(hào)的音頻幀長。如果選擇子帶數(shù)M為2000和1920的最大公因子80,則只須選擇k=25和24即可在保持子帶數(shù)不變的條件下分別實(shí)現(xiàn)2000和1920的音頻幀長。當(dāng)然,其它公因子,如40和20等,都可達(dá)到同樣的效果。表1列出了本發(fā)明優(yōu)選的音頻幀長及濾波器組的子帶數(shù)表1
上表中的短幀長,如200,240,400,480等,很顯然為本音頻壓縮方法提供了低延遲模式。因此,本發(fā)明對(duì)音頻幀長及子帶數(shù)的限制并不防礙本發(fā)明擁有低延遲模式。
暫態(tài)檢測器3從子帶分解濾波器組2輸出的子帶信號(hào)隨即進(jìn)入暫態(tài)檢測器3。暫態(tài)檢測器3依據(jù)一定的檢測尺度來分析每幀子帶信號(hào)的暫態(tài)情況,然后把一幀子帶信號(hào)進(jìn)一步分割成暫態(tài)段和穩(wěn)態(tài)段,并輸出每段的位置信息。需要特別強(qiáng)調(diào)的是,這些段位置自適應(yīng)地隨暫態(tài)情況而變化。本發(fā)明對(duì)子帶信號(hào)的后續(xù)處理以段(以下稱子帶段)為基本單位。
以圖3所示的子帶信號(hào)為例,檢測器3會(huì)判斷A為穩(wěn)態(tài)段,B為暫態(tài)段,C為穩(wěn)態(tài)段,并輸出每段的位置信息如段長30,20,和50。
用于暫態(tài)檢測的尺度包括但不限于子帶信號(hào)的能量,能量的對(duì)數(shù),能量熵等。檢測技術(shù)可以是簡單的門限檢測,也可以是一些很復(fù)雜的技術(shù),包括但不限于著名的K-Means算法[參考文獻(xiàn)8]。
比特分配器4比特分配器4可以用本技術(shù)領(lǐng)域常用的方法依據(jù)信噪比(SNR)或信號(hào)對(duì)遮蓋比(SMR)為每個(gè)聲道的每個(gè)子帶段分配比特[參考文獻(xiàn)1--9]。比特分配的結(jié)果為用于量化每個(gè)聲道的每個(gè)子帶段的每個(gè)子帶樣本的比特?cái)?shù)。此結(jié)果被送給子帶量化器5和多路復(fù)用器6。
子帶量化器5子帶量化器5包括一組多個(gè)擁有不同量化方式和量化級(jí)數(shù)的量化器[參考文獻(xiàn)9]。這組量化器的選擇與配置對(duì)壓縮效率影響很大。由于量化指數(shù)的概率分布不均勻(尤其是在量化級(jí)少時(shí)),故一般壓縮技術(shù)多采用標(biāo)量量化加熵編碼(如Huffman碼)的方法。但熵編碼的解碼方法復(fù)雜,運(yùn)算量大而且不均勻,為解碼器的商業(yè)實(shí)現(xiàn)帶來了不少困難。
為此,本發(fā)明優(yōu)選地采用在量化級(jí)少時(shí)用矢量量化,量化級(jí)多時(shí)用標(biāo)量量化。
子帶量化器5依據(jù)比特分配的結(jié)果來為每個(gè)子帶段從上述量化器組中選取一個(gè)具體的量化器,并以此量化器量化該子帶段內(nèi)的每一個(gè)子帶樣本。
對(duì)每個(gè)子帶段內(nèi)的每個(gè)子帶樣本的量化過程分以下四步(圖2)1)估計(jì)比例因子比例因子估計(jì)器51可以用該子帶段的所有樣本的絕對(duì)值的最大值,該子帶段的所有樣本的方差,或其它變量作為比例因子。
2)量化比例因子比例因子本身也需要量化以便傳送給解碼器。由于人耳對(duì)音量的敏感度隨音量增大而減小,故對(duì)比例因子的量化應(yīng)采用非線性方式,如對(duì)數(shù)量化。以方差為例,設(shè)第c個(gè)聲道第k個(gè)子帶的第d個(gè)段的方差為σ(c,k,d),則比例因子量化器52為該比例因子選的的量化指數(shù)為s(c,k,d)=logσ(c,k,d)α,---(2)]]>
其中α為量化步長。
3)歸一化子帶樣本子帶樣本歸一化器53用量化后重建的比例因子對(duì)該子帶段內(nèi)的所有樣本歸一化。
4)量化子帶樣本量化器選取器54依據(jù)比特分配器4送來的比特?cái)?shù)選取具體的量化器,然后子帶樣本量化器55用它對(duì)歸一化后的子帶樣本進(jìn)行量化以得到每個(gè)樣本的量化指數(shù)。
多路復(fù)用器(MUX)6多路復(fù)用器6把以上各個(gè)編碼器部件所產(chǎn)生的以下信息打包在一起以形成一個(gè)完整的比特流或碼流。
幀長選擇器1選擇的音頻幀長。
暫態(tài)檢測器3輸出的段位置信息。
比特分配器4為每個(gè)子帶段分配的比特?cái)?shù)。
子帶量化器5產(chǎn)生的比例因子的量化指數(shù)和每個(gè)子帶樣本的量化指數(shù)。
多路復(fù)用器6還會(huì)把其它輔助信息打包。這些輔助信息包括但不限于輸入音頻信號(hào)的采樣頻率,音箱設(shè)置,糾錯(cuò)碼,時(shí)間碼等。
本發(fā)明的第二實(shí)施例的編碼器如圖4所示。其大部分組件與實(shí)施例1的相同,區(qū)別在于本實(shí)施例的獨(dú)特的比特分配方法。具體地說,本實(shí)施例的比特分配不象實(shí)施例1那樣依據(jù)信噪比(SNR)以或信號(hào)對(duì)遮蓋比(SMR)來為每個(gè)子帶段分配比特,而是依據(jù)比例因子量化器52輸出的比例因子量化指數(shù)用以下公式來為每個(gè)子帶段分配比特。
b(c,k,d)=f(α·s(c,k,d))-θ(k)-β (3)其中1)b(c,k,d)是分配給當(dāng)前子帶段的每個(gè)樣本的比特?cái)?shù)。
2)f(α·s(c,k,d))是一個(gè)嚴(yán)格單調(diào)遞增函數(shù)。它可被優(yōu)選地設(shè)為f(α·s(c,k,d))=[α·s(c,k,d)]q,其中0<q≤2。它還可被進(jìn)一步優(yōu)選地設(shè)為f(α·s(c,k,d))=α·s(c,k,d)。
3)θ(k)可以優(yōu)選地設(shè)為如圖5所示的的人耳在安靜環(huán)境下的聽覺門限(Threshold in Quite)的近似曲線[參考文獻(xiàn)1,2和10],更可優(yōu)選地設(shè)為零以簡化計(jì)算。
4)β是比特調(diào)整因子。
從式(3)可以看出,在比特調(diào)整因子β確定的情況下,分配到每個(gè)子帶段的每個(gè)樣本的比特?cái)?shù)完全取決于其比例因子的量化指數(shù)。
很明顯,β越小(3)式分配給各個(gè)子帶段的比特越多;β越大(3)式分配給各子帶段的比特越少。比特分配的任務(wù)是在各個(gè)子帶段所占用的比特?cái)?shù)的總和不超過給定的目標(biāo)碼率(比特率)所允許分配給每幀音頻信號(hào)的總比特?cái)?shù)的條件下找到β的最小值。
比特分配可以是全局最優(yōu)的,也即所有的聲道公用一個(gè)比特分配調(diào)整因子。假定在一個(gè)給定的目標(biāo)碼率下所允許分配給每幀音頻信號(hào)的總比特?cái)?shù)為Total_Bits(這是在減去傳送各種各樣的輔助信息所需的比特?cái)?shù)后的總值,以后總是如此假定,不再另外說明),比特調(diào)整因子搜索器41須搜索不同的β值以找到一個(gè)滿足如下條件的最小β值ΣcΣkΣdb(c,k,d)·n(c,k,d)≤Total_Bits---(4)]]>其中n(c,k,d)為子帶段的樣本數(shù)。
由此求得的β就可用來按照式(3)為所有聲道的每個(gè)子帶段分配比特。同時(shí),編碼器只須把這個(gè)比特分配調(diào)整因子傳給解碼器,解碼器也就能依據(jù)它和比例因子的量化指數(shù)按照式(3)為所有聲道的每個(gè)子帶段重建編碼器用的比特分配。
比特分配也可以是局部分別最優(yōu)的,如每個(gè)聲道分別擁有一個(gè)單獨(dú)的比特分配調(diào)整因子。假定在一個(gè)給定的目標(biāo)碼率下按照某種預(yù)先確定的方式分配給第c聲道的每幀音頻信號(hào)的總比特?cái)?shù)為Total_Bits(c)。比特調(diào)整因子搜索器41須搜索不同的β值以找到一個(gè)滿足如下條件的最小β值ΣkΣdb(c,k,d)·n(c,k,d)≤Total_Bits(c)---(5)]]>此時(shí),編碼器就得為每個(gè)聲道傳送一個(gè)比特分配調(diào)整因子給解碼器。顯然,這個(gè)方法可以很直接地推廣于用其它其它形式來分享比特分配調(diào)整因子的情況。
綜上所述,本實(shí)施例的比特分配程序如下1)各個(gè)聲道的所有比例因子量化器52把每個(gè)子帶段的比例因子量化指數(shù)送給比特調(diào)整因子搜索器41。
2)比特調(diào)整因子搜索器41依據(jù)式(3)和(4)尋找到一個(gè)在給定碼率下的全局最優(yōu)的比特分配調(diào)整因子,并傳給多路復(fù)用器6以及比特分配器42?;蛘?,比特調(diào)整因子搜索器41依據(jù)式(3)和(5)為每個(gè)聲道分別尋找到一個(gè)在給定碼率下的對(duì)各個(gè)聲道局部最優(yōu)的比特分配調(diào)整因子,并把它們分別傳給多路復(fù)用器6以及各自的比特分配器42。
3)比特分配器42按式(3)為每個(gè)子帶段分配比特,并傳給其對(duì)應(yīng)的量化器選取器54。
由上可見,本發(fā)明的比特分配只非常有限地利用了人耳聽覺模型以達(dá)到簡化比特分配的目的。這樣既可極大的減小比特分配的計(jì)算復(fù)雜度,還可僅僅用一個(gè)比特分配調(diào)整因子來表達(dá)比特分配的結(jié)果。在編碼后的碼流中僅須包含這個(gè)比特分配調(diào)整因子。解碼器在接收到這個(gè)參數(shù)后可根據(jù)它用式(3)很簡單地準(zhǔn)確重建編碼器用的比特分配。這樣就節(jié)省掉了其他技術(shù)用于傳送分配到每個(gè)子帶段的比特?cái)?shù)所需的比特資源。這些節(jié)省下來的比特資源可用于傳送子帶樣本的量化指數(shù),因而可以進(jìn)一步提高音質(zhì)。
本發(fā)明的第三實(shí)施例的編碼器如圖6所示。其大部分組件與其它實(shí)施例的相同,區(qū)別在于本實(shí)施例比其它實(shí)施例多了一個(gè)聯(lián)合強(qiáng)度編碼器7。聯(lián)合強(qiáng)度編碼的理論基礎(chǔ)是人耳對(duì)聲音的空間定位在高頻(如高于7kHz時(shí))主要依據(jù)聲音的強(qiáng)度。如圖6所示,在編碼時(shí)該聯(lián)合強(qiáng)度編碼器7可以把由左右(或其它可聯(lián)合)聲道的暫態(tài)檢測器3輸出的的高頻子帶加起來,只傳這個(gè)和子帶(稱為源聲道的被聯(lián)合編碼的子帶)的各個(gè)樣本的量化指數(shù),外加被聯(lián)合聲道的被聯(lián)合子帶的強(qiáng)度指數(shù),以達(dá)到節(jié)省比特的目的。
當(dāng)用到聯(lián)合強(qiáng)度編碼時(shí),對(duì)源聲道的被聯(lián)合編碼的子帶段的比特分配必須考慮到其它被聯(lián)合聲道編碼的同一子帶段的比特需求。假定源聲道為c,其他被聯(lián)合編碼的聲道的總集為J,則在計(jì)算對(duì)c聲道的被聯(lián)合編碼的子帶段的比特分配時(shí)應(yīng)采用的比例因子為s(c,k,d)=max{s(c,k,d),maxj∈J{s(j,k,d)}}---(6)]]>聯(lián)合強(qiáng)度編碼開始啟用的頻率如果過低可能會(huì)引起空間定位變窄,因此,在本實(shí)施例中,僅在低碼率時(shí)才引用聯(lián)合強(qiáng)度編碼。
實(shí)施例4本發(fā)明的第四實(shí)施例的編碼器如圖7所示。其大部分組件與其它實(shí)施例的相同,區(qū)別在于本實(shí)施例比其它實(shí)施例多了一個(gè)跨聲道的長期和短期線性預(yù)測器8。對(duì)每一段子帶信號(hào),本發(fā)明搜索它與本子帶的短期和長期自相關(guān)性,及其與其它聲道同一子帶的信號(hào)的協(xié)相關(guān)性,以找到一個(gè)使預(yù)測誤差最小的線性預(yù)測器8。設(shè)x(c,k,n)為第c個(gè)聲道的第k個(gè)子帶的第n個(gè)樣本,則基于第s聲道的對(duì)第c聲道的線性預(yù)測為x^(c,k,n)=Σm=m0Aa(m)x(s,k,n-m)+Σm=0Bb(m)x(s,k,n-m-τ)---(7)]]>其中,a(m)和b(m)分別為短期和長期預(yù)測器的預(yù)測濾波器的系數(shù),τ為長期預(yù)測濾波器的延遲。當(dāng)s=c時(shí),上述預(yù)測完全基于本聲道,m0=1;當(dāng)s≠c時(shí),上述預(yù)測是跨聲道的,m0=0。
用(7)式對(duì)每一個(gè)子帶樣本x(c,k,n)做出預(yù)測后,就可得到一個(gè)對(duì)應(yīng)的預(yù)測誤差e(c,k,n)=x(c,k,n)-x^(c,k,n).---(8)]]>編碼器的任務(wù)是找到一組最佳的預(yù)測系數(shù)a(m),b(m),和延遲τ以使在該子帶段的總預(yù)測誤差如以下的均方誤差最小e2(c,k)=Σne2(c,k,n)=Σn(x(c,k,n)-x^(c,k,n))2.---(9)]]>如果子帶信號(hào)x(c,k,n)的周期性較強(qiáng),則預(yù)測誤差的方差會(huì)比子帶信號(hào)x(c,k,n)本身的方差小很多。這意味著線性預(yù)測的預(yù)測增益很高,預(yù)測很成功。此時(shí)就可用預(yù)測誤差信號(hào)e(c,k,n)來取代x(c,k,n)送到子帶量化器5。否則,就直接把子帶信號(hào)x(c,k,n)送到子帶量化器5。因此,線性預(yù)測器8的工作程序可歸納如下1)估計(jì)預(yù)測系數(shù)與預(yù)測增益。
2)如果預(yù)測增益高,將本子帶段采用線性預(yù)測的決定、預(yù)測系數(shù)和延遲送到多路復(fù)用器6。同時(shí),按(8)式產(chǎn)生預(yù)測誤差信號(hào),并將它送給量化器5。
3)如果預(yù)測增益不高,將本子帶段不采用線性預(yù)測的決定送到多路復(fù)用器6。同時(shí),將本子帶段的樣本x(c,k,n)送給量化器5。
當(dāng)用到本聲道預(yù)測時(shí),為了避免量化誤差在解碼時(shí)擴(kuò)散,對(duì)預(yù)測誤差信號(hào)的量化必須閉環(huán)進(jìn)行[參考文獻(xiàn)8,9和11],如圖8所示。由于解碼器只能得到由量化器5輸出的預(yù)測誤差的量化指數(shù),解碼器只能用逆量化器9來重建預(yù)測誤差,然后把它與預(yù)測值 相加來重建子帶樣本。而本聲道預(yù)測器81也只能用這些重建的子帶樣本來預(yù)測未來的子帶樣本。也即,代入(7)式的子帶樣本實(shí)質(zhì)上是重建的子帶樣本。
類似地,在作跨聲道預(yù)測時(shí),為了避免量化誤差在解碼時(shí)擴(kuò)散,x(s,k,n)也必須是已解碼后重建的子帶樣本,如圖9所示。注意,圖中9的預(yù)測器82是跨聲道預(yù)測器,因?yàn)槠漭斎氲淖訋颖緛碜杂诹硪粋€(gè)聲道。
跨聲道預(yù)測器82和本聲道預(yù)測器81可以同時(shí)并用,如圖10所示。首先,計(jì)算跨聲道預(yù)測的誤差e1(c,k,n)=x(c,k,n)-Σm=m0A1a1(m)x(s,k,n-m)-Σm=0B1b1(m)x(s,k,n-m-τ1)---(10)]]>然后,對(duì)此誤差作本聲道預(yù)測e2(c,k,n)=e1(c,k,n)-Σm=m0A2a2(m)e1(c,k,n-m)-Σm=0B2b2(m)e1(c,k,n-m-τ2)---(11)]]>當(dāng)用到跨聲道預(yù)測時(shí),編碼器一定要確保在解碼時(shí)源聲道已經(jīng)被解碼。也就是說編碼器一定要確保對(duì)各個(gè)聲道的解碼必須因循一定的可實(shí)現(xiàn)順序解碼的第一個(gè)聲道一定只能用本聲道預(yù)測,第二個(gè)聲道只能用本聲道預(yù)測或前面已解碼的那個(gè)聲道作跨聲道預(yù)測。以此類推。
編碼器可以搜索所有的可實(shí)現(xiàn)解碼順序以找到預(yù)測增益最大的解碼順序。編碼器也可只作有限的搜索以得到次優(yōu)解。
預(yù)測范例1長期或短期預(yù)測由于長期和短期預(yù)測并用時(shí)估計(jì)預(yù)測系數(shù)較難,故可采用或者長期或者短期預(yù)測的方式以減小復(fù)雜度x^(c,k,n)=Σm=0Bb(m)x(s,k,n-m-τ)]]>此時(shí),τ小時(shí)為短期預(yù)測,τ大時(shí)為長期預(yù)測。
當(dāng)以上公式用在跨聲道預(yù)測和本聲道預(yù)測同時(shí)并用的情況時(shí),首先計(jì)算跨聲道預(yù)測的殘差e1(c,k,n)=x(c,k,n)-Σm=0B1b1(m)x(s,k,n-m-τ1)]]>其中,延遲τ1可取的最小值為零。然后,對(duì)此殘差作本聲道預(yù)測e2(c,k,n)=e1(c,k,n)-Σm=0B2b2(m)e1(c,k,n-m-τ2)]]>其中,延遲τ2可取的最小值為1。
預(yù)測范例2有限搜索的跨聲道預(yù)測為了簡化跨聲道預(yù)測在搜索解碼次序上的復(fù)雜度,本范例先找到頭兩個(gè)聲道的最優(yōu)次序。對(duì)隨后的聲道僅搜索本聲道預(yù)測以及用頭兩個(gè)聲道作源聲道的跨聲道預(yù)測。
為了進(jìn)一步減小復(fù)雜度,可不做任何次序搜索,總用第一聲道作為所有其它聲道的跨聲道預(yù)測的源聲道。
較佳地,本發(fā)明的編碼器還可以在音頻幀輸入到子帶分解濾波器組2之前對(duì)音頻幀進(jìn)行跨聲道和/或本聲道預(yù)測,即在幀長選擇器1與子帶分解濾波器組2之間進(jìn)一步包括一個(gè)跨聲道和/或本聲道預(yù)測器,此后,將預(yù)測誤差輸入到子帶分解濾波器組2,并按照上面所描述的類似的處理對(duì)預(yù)測誤差編碼。
編碼流程前述的四個(gè)實(shí)施例都可單獨(dú)成為一個(gè)完整的編碼器。但如果把它們的所有功能都匯總起來組成一個(gè)編碼器,則可達(dá)到最佳壓縮效率。圖11示出了把本發(fā)明的四個(gè)實(shí)施例的所有功能匯合在一起時(shí)的編碼流程。其中,聯(lián)合強(qiáng)度編碼,跨聲道長短期預(yù)測,和全局比特分配是獨(dú)立可選的。當(dāng)它們中的任何一個(gè)未被選用時(shí),其在圖11中僅起一個(gè)把送入的數(shù)據(jù)不作任何改動(dòng)地傳出去的功能。當(dāng)然,如果圖11中的比特分配器沒有被選用,另一個(gè)在實(shí)施例1中討論過的通用比特分配器必須被引入以實(shí)現(xiàn)同樣的功能。下面結(jié)合圖2,4,6,7,8,9和10描述本發(fā)明的編碼步驟(參見圖11)。
E1)幀長選擇幀長選擇器1接收從每個(gè)聲道輸入的音頻信號(hào)的樣本,根據(jù)音頻信號(hào)的采樣率,目標(biāo)碼率,和視頻幀頻率(當(dāng)多聲道音頻信號(hào)作為視頻信號(hào)的伴音時(shí))選擇音頻幀長,然后把幀長信息傳送給編碼器的其它組件。由于本發(fā)明的編碼器及其方法是以幀為基本單位,編碼器的所有組件,編碼流程的每一步,都直接或間接地用到幀長。但為了描述的簡潔明朗,圖11沒有把幀長信息的傳送路徑全部標(biāo)出。在幀長確定后,幀長選擇器1還按幀長把輸入音頻信號(hào)的樣本分成幀,并一幀一幀地送入子帶分解濾波器組2。本步驟不對(duì)輸入音頻信號(hào)本身作任何處理。
E2)子帶分解子帶分解濾波器組2把每一聲道的音頻信號(hào)分解為M個(gè)子帶信號(hào)。
E3)暫態(tài)檢測暫態(tài)檢測器3分析每個(gè)子帶信號(hào)的暫態(tài)情況,并據(jù)此把它分成暫態(tài)段和穩(wěn)態(tài)段。然后,把每一段的位置信息傳送給編碼器的其它組件。由于與步驟E1類似的原因,圖11沒有把暫/穩(wěn)態(tài)段的位置信息的傳送路徑全部標(biāo)出。本步驟不對(duì)子帶信號(hào)本身作任何處理。
E4)聯(lián)合強(qiáng)度編碼聯(lián)合強(qiáng)度編碼器7在作完聯(lián)合強(qiáng)度編碼后,拋棄被聯(lián)合子帶的樣本,只將其每一子帶段的強(qiáng)度指數(shù)傳送給比特分配(E7)器4和多路復(fù)用(E9)器6。本步驟是本發(fā)明在低碼率時(shí)優(yōu)選的。不采用本步驟不影響編碼器或方法的完整性,只是編碼效率會(huì)有下降。
E5)跨聲道長期和短期預(yù)測跨聲道長期和短期預(yù)測器8在作完線性預(yù)測后,將是否采用預(yù)測的決定傳給多路復(fù)用(E9)器6。如果決定采用預(yù)測,還將預(yù)測濾波器的延遲和預(yù)測系數(shù)傳給多路復(fù)用(E9)器6,并用預(yù)測誤差信號(hào)來取代子帶信號(hào)傳給子帶量化器5。本步驟是本發(fā)明優(yōu)選的,不采用本步驟不影響編碼器或方法的完整性,只是編碼效率會(huì)有下降。
為了便于描述,圖11把子帶量化器5的功能分為兩步比例因子(E6)和矢量/標(biāo)量量化(E8)。
E6)比例因子子帶量化器5從子帶信號(hào)(如決定采用了線性預(yù)測,則為預(yù)測誤差信號(hào),以下統(tǒng)稱子帶信號(hào))中以暫/穩(wěn)態(tài)段為單位估計(jì)并量化比例因子。然后,把比例因子的量化指數(shù)傳送給比特分配(E7)器4和多路復(fù)用(E9)器6。本步驟不對(duì)子帶信號(hào)本身作任何處理。
E7)比特分配比特調(diào)整因子搜索器41依據(jù)由步驟E6輸入的比例因子的量化指數(shù),以及由E4輸入的強(qiáng)度指數(shù)(如果聯(lián)合強(qiáng)度編碼被選用),尋找到最優(yōu)的比特分配調(diào)整因子,并把它傳給多路復(fù)用(E9)器6。然后,比特分配器42又依據(jù)(3)式把比特分配到每一個(gè)子帶段,并把每一個(gè)子帶段所分配到的比特?cái)?shù)傳給量化器選取器54以供矢量/標(biāo)量量化(步驟E8)用。以上的比特分配方法是本發(fā)明優(yōu)選的。如不優(yōu)選此方法,必須采用一個(gè)其它的比特分配方法,以維持編碼器的完整性。本步驟不對(duì)子帶信號(hào)本身作任何處理。
E8)矢量/標(biāo)量量化量化器選取器54依據(jù)比特分配(E7)器4送來的每一個(gè)子帶段所分配到的比特?cái)?shù)為每一個(gè)子帶段選取一個(gè)量化器,然后把它傳送給子帶樣本量化器55。子帶樣本量化器55隨后以子帶段為單位量化每一個(gè)子帶樣本,并把其量化指數(shù)傳給多路復(fù)用(E9)器6。
E9)多路復(fù)用(MUX)多路復(fù)用器6把每一個(gè)子帶樣本的量化指數(shù)和以下的輔助信息打包(多路復(fù)用)成一個(gè)完整的音頻幀并將其輸出音頻幀長,暫/穩(wěn)態(tài)段的位置,強(qiáng)度指數(shù)(如果聯(lián)合強(qiáng)度編碼被選用),是否采用預(yù)測的決定,預(yù)測濾波器的延遲和系數(shù),比例因子的量化指數(shù),和比特分配調(diào)整因子。多路復(fù)用器6還可打包(多路復(fù)用)輸出其它一些輔助數(shù)據(jù),如采樣頻率,音箱設(shè)置,糾錯(cuò)碼,時(shí)間碼等。
解碼本發(fā)明的解碼器及其解碼方法在本質(zhì)上為編碼器及其方法的逆過程.在此,根據(jù)圖12和13描述解碼流程和解碼器各部件。
解碼流程經(jīng)過本發(fā)明的編碼方法和編碼器產(chǎn)生的碼流須經(jīng)過以下的主要步驟(圖12)來解碼重建多聲道音頻信號(hào)D1)解包(DEMUX)輔助信息多路復(fù)用解包器110解包出以下輔助信息
·幀長。
·所有子帶段(暫/穩(wěn)態(tài)段)的位置。
·比特分配調(diào)整因子。
·每個(gè)子帶段的比例因子量化指數(shù)。
·每個(gè)子帶段是否采用跨聲道長期和短期預(yù)測的決定;如果采用,進(jìn)一步解包出預(yù)測濾波器的延遲和系數(shù)。
·被聯(lián)合強(qiáng)度編碼的子帶段的強(qiáng)度指數(shù)D2)比特分配比特分配器42依據(jù)輸入的比特分配調(diào)整因子和每個(gè)子帶段的比例因子量化指數(shù)為每個(gè)子帶段分配比特。此比特分配器與編碼器用到的比特分配器42完全一樣,故仍延用標(biāo)號(hào)42。本比特分配方法是本發(fā)明優(yōu)選的;如編碼器采用別的比特分配方法,則必須越過不作本步驟。但步驟D1通常必須增加一個(gè)解包項(xiàng)目從輸入碼流中解包出比特分配。
D3)解包子帶樣本的量化指數(shù)多路復(fù)用解包器110依據(jù)步驟D2分配的比特?cái)?shù)從輸入碼流中解包出每個(gè)子帶樣本的量化指數(shù)。
D4)逆量化重建子帶樣本子帶樣本逆量化器120依據(jù)步驟D1解包出的比例因子量化指數(shù)和步驟D3解包出的子帶樣本的量化指數(shù)重建每個(gè)子帶樣本。
D5)跨聲道長期和短期預(yù)測對(duì)每一個(gè)子帶段,如果步驟D1解包出的預(yù)測決定為肯定,則跨聲道長期和短期預(yù)測器130對(duì)本子帶段的所有樣本作預(yù)測。否則,跨聲道長期和短期預(yù)測器130對(duì)本子帶段的所有樣本不作任何處理。本步驟是本發(fā)明優(yōu)選的;如編碼器未采用跨聲道長期和短期預(yù)測,則必須越過不作本步驟。
D6)聯(lián)合強(qiáng)度解碼對(duì)每一個(gè)被聯(lián)合強(qiáng)度編碼的子帶段,聯(lián)合強(qiáng)度解碼器140首先從源子帶段拷貝子帶樣本到本子帶段。然后,依據(jù)步驟D1解包出的強(qiáng)度指數(shù)重建強(qiáng)度比例因子,并用它修正拷貝到本子帶段的樣本值。本步驟是本發(fā)明在低碼率時(shí)優(yōu)選的;如編碼器未采用聯(lián)合強(qiáng)度編碼,則必須越過不作本步驟。
D7)合成濾波器組合成濾波器組150把子帶樣本合成重建成音頻信號(hào)。
如果本發(fā)明的編碼器在音頻幀輸入到子帶分解濾波器組2之前對(duì)音頻幀進(jìn)行了跨聲道和/或本聲道預(yù)測,此時(shí)還得對(duì)由合成濾波器組150重建的信號(hào)作相應(yīng)的預(yù)測以重建音頻信號(hào)。
解碼器本發(fā)明的解碼器如圖13所示。以下描述各個(gè)部件多路復(fù)用解包器(DEMUX)110多路復(fù)用解包器110負(fù)責(zé)從壓縮編碼的碼流中解包出解碼步驟D1和D3中列出的數(shù)據(jù)。它也負(fù)責(zé)從壓縮編碼的碼流中解包出其它輔助數(shù)據(jù),如采樣頻率,音箱設(shè)置,糾錯(cuò)碼,時(shí)間碼等。
比特分配器42此比特分配器與編碼器用到的比特分配器42完全一樣,故仍延用標(biāo)號(hào)42。此比特分配器的功能是把比特分配調(diào)整因子和每個(gè)子帶段的比例因子量化指數(shù)代入(3)式以得出分配給每個(gè)子帶段的每個(gè)樣本的比特?cái)?shù)。
子帶樣本逆量化器120子帶樣本逆量化器120根據(jù)每個(gè)子帶段的比特分配選取量化器。然后,以此量化器和該子帶段的比例因子由子帶樣本的量化指數(shù)重建子帶樣本。
注意,當(dāng)某一個(gè)子帶段采用了跨聲道長期和短期預(yù)測,則子帶樣本逆量化器120重建的是該子帶段的預(yù)測誤差信號(hào),而不是子帶樣本本身。
跨聲道長期和短期預(yù)測器130對(duì)每一個(gè)子帶段,如果步驟D1解包出的預(yù)測決定為肯定,則跨聲道長期和短期預(yù)測器130對(duì)本子帶段的所有樣本作預(yù)測。否則,跨聲道長期和短期預(yù)測器130對(duì)本子帶段的所有樣本不作任何處理。
作本聲道預(yù)測的預(yù)測器如圖14。其中的預(yù)測器81與編碼器用到的預(yù)測器81完全一樣,故仍延用標(biāo)號(hào)81。
作跨聲道預(yù)測的預(yù)測器如圖15。其中的預(yù)測器82與編碼器用到的預(yù)測器82完全一樣,故仍延用標(biāo)號(hào)82。
當(dāng)跨聲道和本聲道預(yù)測同時(shí)并用時(shí),先作本聲道預(yù)測,然后再作跨聲道預(yù)測,如圖16所示。
聯(lián)合強(qiáng)度解碼器140對(duì)每一個(gè)被聯(lián)合強(qiáng)度編碼的子帶段,聯(lián)合強(qiáng)度解碼器140首先從源子帶段拷貝子帶樣本到本子帶段。然后,依據(jù)強(qiáng)度指數(shù)重建強(qiáng)度比例因子,并用它修正拷貝到本子帶段的樣本值。
子帶合成濾波器組150子帶合成濾波器組150把子帶樣本合成重建成音頻信號(hào)。子帶合成濾波器組150是編碼器中的子帶分解濾波器組2的逆,是同時(shí)設(shè)計(jì)的。也即,編碼器中的子帶分解濾波器組2確定后,子帶合成濾波器組150也就完全確定了[參考文獻(xiàn)8]。
應(yīng)用方案本發(fā)明涉及的是多聲道數(shù)字音頻壓縮編碼/解碼技術(shù),其優(yōu)點(diǎn)包括壓縮效率高,解碼器簡單,解碼后的音頻信號(hào)保真度高,以及能適用于高,中,和低碼率的各種應(yīng)用。因此,它完全適用于純粹的音頻應(yīng)用,如數(shù)字音頻廣播等;其解碼器完全可獨(dú)立地安裝在純粹的音響設(shè)備中,如功放,隨身聽等。
由于音頻信號(hào)大多以視頻信號(hào)的伴音的形式出現(xiàn),由于本發(fā)明的編解碼方法的壓縮效率高,經(jīng)過本發(fā)明編碼的音頻信號(hào)能與視頻信號(hào)同步剪輯并能經(jīng)受得起十次以上的縱列編碼,因而在實(shí)際應(yīng)用中具有如下的優(yōu)點(diǎn)1)能同時(shí)滿足節(jié)目的配送和傳輸?shù)囊蟆?br>
2)本發(fā)明的編碼技術(shù)極大地簡化了節(jié)目配送的環(huán)節(jié)和設(shè)備。以數(shù)字電視為例,圖17示出了采用本技術(shù)的節(jié)目配送和傳輸?shù)倪^程。很明顯,它比Dolby的方案(圖1)簡單了許多。
3)由于省去了多次的轉(zhuǎn)移編碼環(huán)節(jié),本技術(shù)極大地提高了節(jié)目配送過程的保真度。
4)由于省去了圖1中的多個(gè)編碼器和解碼器,本技術(shù)也極大地降低了節(jié)目配送的成本。
參考文獻(xiàn)[1]ISO/IEC 13818-7,1997. ISO/IEC 14496-3,1998. S.Smyth,M.Smyth,and W.P.Smith,“Multi-channelPredictive Subband Audio conder using Psychoacoustic AdaptiveBit Allocation In Frequency,Time,And Over The MultipleChannels,”US Patent 5956674. M.Smyth,“An overview of the Coherent Acoustics codingsystem,”http://www.dtsonline.com/whitepaper.pdf,1999. S.Smyth,W.P.Smith,M.Smyth,M.Yan,and T.Jung,“DTS Coherent Acoustics Delivering High Quality MultichannelSound to the Consume,”AES 100th Convention,1996. L.Fielder and C.Todd,“The design of a video friendlyaudio coding system for distribution applications,”AES 17thInternaltional Conference,pp.86-92,1999. C.Todd,G.Davidson,M.Davis,L.Fielder,B.Link,and S.Vernon,“AC-3,F(xiàn)lexible perceptual coding for audiotransmission and storage,”96thAES Convention,Amsterdam,1994. P.P.Vaidyanathan,“Multirate systems and filterbanks,”Prentice Hall,1993. A.Gersho and R.M.Gray,“Vector quantization andsignal compression,”Kluwer,1992. B.C.J.Moore,“An introduction to the psychologyof hearing,”Academic Press,1997. A.M.Kondoz,“Digital Speech,”John Wiley & Sons,1994.
權(quán)利要求
1.一種用于對(duì)多聲道數(shù)字音頻信號(hào)進(jìn)行壓縮編碼的編碼方法,包括下列步驟a)幀長選擇步驟,根據(jù)所述音頻信號(hào)的采樣率和目標(biāo)碼率選擇幀長,并按此幀長將所述的音頻信號(hào)分成幀;b)子帶分解濾波步驟,用子帶分解濾波器組將逐幀輸入的音頻信號(hào)分解成多個(gè)子帶信號(hào);c)暫態(tài)檢測步驟,將輸入的子帶信號(hào)劃分成暫態(tài)段和穩(wěn)態(tài)段,每個(gè)暫態(tài)段或穩(wěn)態(tài)段的段長自適應(yīng)地隨暫態(tài)和穩(wěn)態(tài)情況變化;d)比例因子估計(jì)步驟,估計(jì)并量化每段子帶信號(hào)的比例因子,并輸出比例因子的量化指數(shù);e)比特分配步驟,將由目標(biāo)碼率所決定的比特?cái)?shù)自適應(yīng)地分配到各個(gè)子帶段;f)子帶量化步驟,依據(jù)所分配給各個(gè)子帶段的比特?cái)?shù)對(duì)所述的子帶信號(hào)以段為單位量化;g)多路復(fù)用步驟,將子帶量化器產(chǎn)生的子帶樣本的量化指數(shù)以及包含有幀長、段位置信息、比例因子的量化指數(shù)以及比特分配信息的輔助信息多路復(fù)用打包成一個(gè)以幀為單位的完整碼流;其中,當(dāng)所述的音頻信號(hào)作為視頻信號(hào)的伴音時(shí),其中的幀長選擇步驟還根據(jù)視頻幀頻率而選擇音頻幀長,使得音頻幀長是視頻幀長的有理分?jǐn)?shù)或其整數(shù)倍。
2.如權(quán)利要求1所述的編碼方法,其中所述子帶分解濾波器組的子帶數(shù)是由幀長選擇步驟根據(jù)不同的視頻幀頻率而選擇的各個(gè)音頻幀長的公因子。
3.如權(quán)利要求1所述的編碼方法,其中的子帶量化步驟運(yùn)用一組不同的標(biāo)量量化器和矢量量化器。
4.如權(quán)利要求1所述的編碼方法,其中的比特分配步驟根據(jù)比例因子量化指數(shù),與一個(gè)比特分配調(diào)整因子一起,為每個(gè)子帶樣本分配比特。
5.如權(quán)利要求4所述的比特分配步驟分配給第c聲道第k個(gè)子帶第d段中的樣本的比特?cái)?shù)b(c,k,d)由下式?jīng)Q定b(c,k,d)=f(α·s(c,k,d))-θ(k)-β其中f(·)是一個(gè)嚴(yán)格單調(diào)遞增函數(shù),s(c,k,d)是該子帶段的比例因子的量化指數(shù),α是其量化步長,θ(k)為人耳在安靜環(huán)境下的聽覺門限的近似曲線,β為比特調(diào)整因子。
6.如權(quán)利要求5所述的比特分配步驟,其中f(α·s(c,k,d))=[α·s(c,k,d)]q,其中0<q≤2。
7.如權(quán)利要求5所述的比特分配步驟,其中θ(k)=0。
8.如權(quán)利要求1-7中任一個(gè)所述的比特分配步驟,其中所述的比特分配調(diào)整因子或者為所有聲道共用一個(gè),或者為每個(gè)聲道分別獨(dú)用一個(gè),或者為把所有聲道分成若干組每組分別獨(dú)用一個(gè),但這些比特分配調(diào)整因子使得分配給各個(gè)子帶樣本的比特?cái)?shù)的總和外加傳送輔助信息所需的比特?cái)?shù),不能超出目標(biāo)碼率所容許分配給每幀音頻信號(hào)的總比特?cái)?shù)。
9.如權(quán)利要求1-7中任一個(gè)所述的編碼方法,進(jìn)一步包括一個(gè)聯(lián)合強(qiáng)度編碼步驟,緊跟在所述的暫態(tài)檢測步驟后面,對(duì)于每個(gè)被聯(lián)合編碼的子帶段,用于比特分配步驟中的比例因子量化指數(shù)必須為被聯(lián)合在一起編碼的所有聲道在同一子帶段的比例因子量化指數(shù)的最大值。
全文摘要
用于對(duì)多聲道數(shù)字音頻信號(hào)進(jìn)行壓縮編碼解碼的設(shè)備及其方法,其中編碼設(shè)備包括幀長選擇器,子帶分解濾波器組,暫態(tài)檢測器,比例因子估計(jì)器,比特分配器,用于將由目標(biāo)碼率所決定的比特資源自適應(yīng)地分配到各個(gè)子帶段,子帶量化器以及多路復(fù)用器。該編解碼設(shè)備及其方法的壓縮效率高,經(jīng)過本發(fā)明編碼的音頻信號(hào)能與視頻信號(hào)同步剪輯并能經(jīng)受得起十次以上的縱列編碼,因而1)能同時(shí)滿足節(jié)目的配送和傳輸?shù)囊螅?)極大地簡化了節(jié)目配送的環(huán)節(jié)和設(shè)備,提高了節(jié)目配送過程的保真度以及降低了節(jié)目配送的成本。
文檔編號(hào)H04N7/24GK1750404SQ200510098709
公開日2006年3月22日 申請(qǐng)日期2002年8月21日 優(yōu)先權(quán)日2002年8月21日
發(fā)明者游余立 申請(qǐng)人:中山正音數(shù)字技術(shù)有限公司, 游余立