馬麗紅, 吳錦泉,②, 葉藹笙
(①廣東省教育廳無線通信網(wǎng)絡(luò)和終端重點(diǎn)實(shí)驗(yàn)室,華南理工大學(xué)電信學(xué)院,廣東 廣州 510641;②中國移動(dòng)通信有限公司 佛山分公司,廣東 佛山 528000;③廣東省電信無線網(wǎng)絡(luò)運(yùn)營中心 廣州中心,廣東 廣州 510000)
在突發(fā)錯(cuò)誤信道中,多描述編碼(MDC)[1]是處理 VoIP(Voice over IP)丟包及幀擦除問題的有效方法[2]。相比于重傳技術(shù),MDC能夠提高傳輸?shù)目煽啃远灰氪蟮难舆t。MDC信號(hào)分裂成兩個(gè)以上的描述,各自獨(dú)立傳輸。每一描述均能部分地恢復(fù)原始信號(hào);如果能夠得到兩個(gè)或更多個(gè)描述,聯(lián)合解碼可得質(zhì)量更高的重建信號(hào)。不過,大部分 MDC方案的主要問題是帶寬利用率低,MDC描述數(shù)越多,系統(tǒng)重建的語音質(zhì)量越好,但所需碼率也越高。
MD編碼已用于圖像和視頻信號(hào)[3],但MD語音編碼發(fā)展緩慢,主要原因是實(shí)時(shí)通信和語音的時(shí)變特性的約束。令人滿意的通信,端對(duì)端延遲應(yīng)該小于200 ms,但是語音的非平穩(wěn)隨機(jī)特性,使其冗余遠(yuǎn)少于圖像和視頻。也就是說,MDC方案能利用的冗余信息有限。另一方面,很多語音編碼標(biāo)準(zhǔn)是基于CELP(Code-Excited Linear-Prediction)技術(shù)的,當(dāng)提供可接受的語音質(zhì)量時(shí),在 1/2 CELP的碼率下,難以得到平衡的邊描述?;?CELP多描述編解碼器大致可劃分為三類:
①冗余參數(shù)分集描述[4-5]。該類方法把包含重要特性的數(shù)據(jù)或提取參數(shù)同時(shí)嵌入多個(gè)編碼描述中,作為信息增強(qiáng)的子集。這種差異并存的多路方法簡單有效,但計(jì)算復(fù)雜度和比特率會(huì)劇烈增加;
②比特率零冗余MD編解碼[6]。利用相鄰幀線譜對(duì)(LSP)的相關(guān)性,為一個(gè)更大的子幀生成激勵(lì),并在多個(gè)描述中復(fù)制相同的關(guān)鍵碼字。不過零冗余 MD編解碼器比特流雖然不增加任何帶寬,但即使用所有描述來解碼,其合成質(zhì)量也較差,因?yàn)樽訋叽缭龃?,?shí)際上得到的是參數(shù)的平均估計(jì),不能反映語音的時(shí)變和短時(shí)相關(guān)特性;
③編碼數(shù)據(jù)流分裂方法[7-8]。數(shù)據(jù)流以一定準(zhǔn)則分裂成多個(gè)冗余子流,生成不同描述。碼流分裂 MD方法優(yōu)點(diǎn)明顯,它在使用不同路徑、增加較少比特率的代價(jià)下,提供了更好的語音質(zhì)量;但是當(dāng)數(shù)據(jù)作分組傳輸時(shí),其效率可能會(huì)變得很差, 因?yàn)槊恳幻枋龅母鱾€(gè)分組在數(shù)據(jù)封裝時(shí)均需要增加一個(gè)格式說明,增加的包頭信息在數(shù)據(jù)分裂型MDC中成為可觀的負(fù)載。
為了解決MDC高帶寬和部分附加延時(shí)問題,本文提出一個(gè)新的交織方法,用于碼流分裂型 MDC。與一般的位流分裂不同,本文從兩個(gè)相鄰幀的分布式子幀交織生成兩個(gè)描述。實(shí)驗(yàn)結(jié)果證明,從編碼效率和可允許延時(shí)來比較,該方法優(yōu)于傳統(tǒng)的分裂型MD和SD編碼器,即使加上包頭,增加的帶寬和延遲也很少。
當(dāng)多個(gè)語音幀封裝傳輸時(shí),交織是一項(xiàng)可行的技術(shù)[9]。圖1所示為4幀/分組的交織方案。交織流丟失的分組,在重構(gòu)碼流里被分散成多個(gè)小的缺失數(shù)據(jù)段,通過差錯(cuò)隱藏技術(shù)或人耳聽覺系統(tǒng)的低通濾波特性,更容易修復(fù)小段失真信號(hào)。因而,交織改善了不可靠傳輸?shù)恼Z音質(zhì)量,而沒有增加帶寬,但是當(dāng)分組的語音幀個(gè)數(shù)增加時(shí),會(huì)引入較大的延遲。
圖1 4幀/分組的幀交織原理
為了在帶寬利用率和編碼時(shí)延之間實(shí)現(xiàn)折衷,本文提出了 MDC分布式子幀交織方法(DSI)。與傳統(tǒng)的幀交織不同,我們提出的方案交織的子幀分別在兩個(gè)相鄰幀,而只引入一幀延遲。盡管分組只包含一個(gè)幀語音,我們的方案仍然可行。圖2是兩子幀DSI的原理圖,分組包含一幀語音,語音幀分成奇子幀和偶子幀。每一幀數(shù)據(jù)由三個(gè)元素{Fi, Sfi,1, Sfi,2}組成:Fi是第i幀的幀級(jí)數(shù)據(jù)更新,Sfi,1(Sfi,2)是第i幀的奇(偶)子幀的更新數(shù)據(jù)。Fi會(huì)被交織到不同的分組,與傳統(tǒng)的幀交織不同,對(duì)于任何整數(shù) i,所有 Sfi,1被分配到一個(gè)奇分組,所有Sfi,2被分配到一個(gè)偶分組。因此,子幀交織之后,依照分組序號(hào)的奇偶校驗(yàn)檢查,將兩個(gè)分組分配到不同的描述。相比原始SD流,DSI方法中分組大小和總數(shù)不變,而只引入了一分組(兩幀)的額外延遲,與原始 SD流保持相同的碼率。
圖2 兩子幀DSI原理
圖 2也展示了分組丟失時(shí),DSI的差錯(cuò)隱藏程序。假定描述I的第2個(gè)分組發(fā)生丟失,即相應(yīng)DSI流的第3個(gè)分組,在重建流中解交織能夠?qū)G失的數(shù)據(jù){F3,Sf3,1,Sf4,1}分散到第3和第4個(gè)分組。由于DSI流里的第3和第4個(gè)分組是同時(shí)傳送的,同一時(shí)間丟包的概率很低,能夠利用第 4個(gè)分組及之前接收的分組來隱藏丟失的分組,而在接收端不會(huì)引入額外的延遲。另一方面,當(dāng)可得到未來語音幀時(shí),內(nèi)插比外推法產(chǎn)生更好的質(zhì)量。因此,在本文的方案,采用參數(shù)內(nèi)插重構(gòu)丟失的信息。通過式(1)實(shí)現(xiàn)隱藏操作,其中I( )表示內(nèi)插:
前面提出的DSI語音多描述方案應(yīng)用于G.729,并命名為MD-G.729,編碼方案如下:
(1)ITU-T G.729的參數(shù)
ITU-T G.729是一個(gè)使用共軛結(jié)構(gòu)代數(shù)碼激勵(lì)、線性預(yù)測編碼(CS-ACELP)技術(shù)的語音編碼器。碼率為8 kb/s,編碼語音幀長10 ms,預(yù)留準(zhǔn)備有5 ms,總運(yùn)算延遲為15 ms,每一個(gè)語音幀由兩個(gè)子幀組成。G.729的比特分配如下頁表1的SD-G.729列所示。第i幀的80比特?cái)?shù)據(jù)是通過多元矢量表示成如下參數(shù):
LSP1i表示LSP的第一級(jí)矢量量化(VQ);LSP2i表示 LSP的第二級(jí)矢量量化;Pi,1表示第一子幀的自適應(yīng)碼書(ACB)基音延遲;Pi,2表示第二子幀的自適應(yīng)碼書基音延遲;FCBi,1表示第一子幀的固定碼書(FCB)位置和符號(hào),F(xiàn)CBi,2表示第二子幀的固定碼書(FCB)位置和符號(hào);Gi,1表示第一子幀的ACB和FCB增益;Gi,2表示第二子幀的ACB和FCB增益。
(2)MD-G.729編碼器
一般的編碼器結(jié)構(gòu)如圖3(a)所示。如上所述,MD-G.729通過在G.729中的兩個(gè)相鄰幀應(yīng)用DSI,生成兩個(gè)速率相同的平衡描述。
與第II部分介紹的DSI不同的是:當(dāng)只收到一個(gè)描述時(shí),為了改善語音質(zhì)量,每一個(gè)描述都引入了LSP的重要信息作為冗余。依照G.729的語音幀的編號(hào),將語音幀分成奇幀和偶幀。我們將描述I表示為D1,描述II表示為D2。
MD-G.729的比特分配如表1的MD-G.729列所示。
表1 標(biāo)準(zhǔn)SD-G.729 和提出的MD-G.729的比特分配
如上所述,子幀級(jí)更新的所有參數(shù)(除了基音延遲)被交織到兩個(gè)不同的描述,即D1包含F(xiàn)CBi,1和Gi,1,而D2包含F(xiàn)CBi,2和Gi,2。兩子幀的基音延遲總包含在同一描述,這是因?yàn)榈诙訋幕粞舆t使用了差分編碼,Pi,1丟失了,Pi,2也沒用。所以對(duì)于奇(偶)幀,Pi,1和 Pi,2都被分配到D1(D2)。對(duì)于奇(偶)幀LSP1i和LSP2i被分配到D1(D2),而對(duì)于偶(奇)幀LSP1i注入到D1(D2)作為冗余。然后兩個(gè)描述打包成兩個(gè)分組。如表I所示,D1(D2)的奇(偶)幀比特流有 56比特?cái)?shù)據(jù),而 D2(D1)的奇(偶)幀比特流有 32比特?cái)?shù)據(jù)。D1(D2)總共88比特?cái)?shù)據(jù)如下所示:
每一描述的平均碼率是 4.4 kb/s,MD-G.729總碼率為8.8 kb/s,因DSI而引入額外延遲10 ms。
(3)MD-G.729解碼器
圖3(b)為MD-G.729解碼器。若收到兩個(gè)描述,中心解碼器工作(與G.729相同);當(dāng)兩個(gè)描述都丟失,用G.729標(biāo)準(zhǔn)差錯(cuò)隱藏算法隱藏丟失信號(hào);若只收到一個(gè)描述,則邊解碼器依照如下規(guī)則工作:
①若僅收到D1(D2),則解碼器重構(gòu)奇(偶)幀的LSP矢量,而只使用第一級(jí) VQ的接收到的比特部分重構(gòu)偶(奇)幀的LSP矢量。丟失的第二級(jí)偶(奇)幀的LSP矢量置零;
②通過前一幀的第二子幀基音延遲tn-1,2和下一幀的第一子幀基音延遲tn+1,1的線性內(nèi)插估計(jì)基音延遲tn,1和tn,2。如下式所示:
通過使用前一幀的基音延遲 tn-1,1和 tn-1,2的推測,可以估計(jì)D2的基音延遲:上述奇偶幀間的基音延遲的隱藏是不同的,當(dāng)僅丟失D1時(shí),下一幀(偶幀)的基音延遲由 D2內(nèi)插得到;相反,當(dāng)僅丟失D2時(shí),僅有包含在D1的前一幀(奇幀)的基音延遲可推斷;
③通過前一幀和下一幀的增益在對(duì)數(shù)域的線性內(nèi)插來估計(jì)丟失子幀的ACB增益;
④缺失的FCB增益不能內(nèi)插恢復(fù),因?yàn)镕CB增益是用滑動(dòng)平均預(yù)測器量化的,因此我們用隨機(jī)選擇機(jī)制來的隱藏丟失的FCB矢量。
圖3 提出的MD-G.729編解碼器
使用PESQ(Perceptual Evaluation of Speech Quality)對(duì)基于G.729的SD和MD方法與提出的MD方案的性能進(jìn)行比較分析,參與比較的編碼器包括:
①單信道下標(biāo)準(zhǔn)G.729編碼器(SD);
②單信道冗余數(shù)據(jù)傳輸(RDT-SD)[10]。之前傳輸?shù)腉.729幀的副本也包含在目前的G.729幀的分組里,碼率為16 kb/s,相比G.729引入了10 ms的額外延遲;
③多路徑并發(fā)G.729編碼器(DSD-PD),每一幀的兩個(gè)副本通過兩個(gè)獨(dú)立的信道同時(shí)發(fā)送,不引入額外延遲;
④多路徑下G.729 MD編碼器(MD-PD)[8],每一幀的比特分配方案與MD-G.729類似,但僅通過分裂G.729比特流而不使用DSI來生成兩個(gè)平衡的描述;
⑤本文的MD-G.729編碼器,編碼比特流通過不同路徑傳送(MD-DSI-PD)。
實(shí)驗(yàn)假定在發(fā)送和接收端間總是存在兩條相似路徑;測試數(shù)據(jù)為9男和9女樣本,每段語音持續(xù)時(shí)間約為10 s;在兩種丟包環(huán)境下驗(yàn)證:
①隨機(jī)丟包,通過貝努利模型模擬;
②突發(fā)丟包,使用平均突發(fā)錯(cuò)誤長度為3的吉爾伯特模型模擬,每種環(huán)境下分別生成10個(gè)不同的聲軌文件來模擬分組網(wǎng)絡(luò)。上述方法中,由于在兩個(gè)相鄰幀進(jìn)行子幀交織,所以本文的方法需要20 ms的分組,而其它的方法都是使用10 ms分組。
(1)帶寬和延遲的比較
表2展示了五種方法中不考慮包頭,額外延遲,每幀需要的平均分組數(shù)目,以及是否路徑分集情況下,有效負(fù)載的比特率的比較。從表2,可以知道不考慮包頭,兩個(gè)MD編碼器的碼率都比SD稍高,而RDT-SD和DSD-PD是SD帶寬的兩倍。另一方面,由于加上包頭及使用路徑分集,DSD-PD和MD-PD的帶寬急劇增加,而MD-DSI-PD的帶寬只有稍微增加,因?yàn)樗陌鼣?shù)與SD的一樣。相比其它三種方法,MD-DSI-PD 和RDT-SD都引入了10 ms額外延遲。但對(duì)于MD-DSI-PD,相比劇烈地增加帶寬,這是一個(gè)更好的折衷。
表2 5種方法的比較
(2)分組網(wǎng)絡(luò)仿真
網(wǎng)絡(luò)仿真結(jié)果見圖4,圖5。圖4為隨機(jī)丟包信道,圖5為突發(fā)丟包信道。對(duì)于兩個(gè)信道的所有錯(cuò)誤率的情況,DSD-PD的性能是最好的,然而,無論加不加包頭,這個(gè)性能的獲得都是以雙倍SD-G.729的帶寬為代價(jià)。在隨機(jī)丟包情況,RDT-SD的性能與DSD-PD類似,而在突發(fā)丟包情況,RDT-SD的性能比DSD-PD差,這是因?yàn)镽DT-SD僅僅抵抗單一的丟包。如果發(fā)生連續(xù)丟包,相同幀的數(shù)據(jù)和冗余副本會(huì)丟失,因而,當(dāng)遇到突發(fā)錯(cuò)誤時(shí)RDT-SD變得低效。另一方面,不同路徑的兩個(gè)MD方法能有效地應(yīng)付突發(fā)錯(cuò)誤,尤其在突發(fā)丟包的情況,對(duì)于所有丟包率,MD-PD和MD-DSI-PD的性能優(yōu)于SD。MD方法較好的差錯(cuò)隱藏性能歸因于兩個(gè)描述間的相關(guān)性以及不同路徑的信道獨(dú)立性。在突發(fā)丟包情況下,SD的性能比在隨機(jī)丟包情況下要差得多,這是由于SD編碼器的差錯(cuò)隱藏算法主要處理短時(shí)丟包。
對(duì)于裸數(shù)據(jù)的傳送,兩個(gè)MD方法都是高效的。但是,當(dāng)加上包頭時(shí),MD-PD的包頭是SD和MD-DSI-PD的兩倍,導(dǎo)致帶寬大大增加。相反,MD-DSI-PD在帶寬幾乎與SD一樣的情況下,仍然能提供較好的語音質(zhì)量。此外,對(duì)于所有丟包情況和丟包率,MD-DSI-PD的語音質(zhì)量總是優(yōu)于MD-PD,當(dāng)僅接收到一個(gè)描述時(shí),對(duì)于基音延遲和ACB增益,通過更好的差錯(cuò)隱藏技術(shù)實(shí)現(xiàn)MD-DSI-PD的超級(jí)性能;相比MD-PD使用的恢復(fù)技術(shù),奇幀內(nèi)插而偶幀外推能更精確和平滑地估計(jì)丟失的基音延遲信息;采用內(nèi)插去隱藏丟失的ACB增益比MD-PD使用的削弱替換更加有效,尤其是對(duì)于奇幀的第二子幀以及偶幀的第一子幀,其中的基音延遲信息在接收的描述中可以得到。從根本上講,MD-DSI-PD較好的差錯(cuò)復(fù)原性能正是源于DSI數(shù)據(jù)的合理組織。
圖4 不同隨機(jī)丟包率下的PESQ
圖5 不同突發(fā)丟包率下的PESQ
本文提出了一個(gè)新穎的MDC交織方案——分布式子幀交織,在兩種不同的丟包情況下的測試說明:綜合考慮帶寬和語音質(zhì)量,提出的MD編碼器優(yōu)于其它的編碼器(如SD,RDT-SD,DSD-PD和MD-PD)。
在分組網(wǎng)絡(luò),相比傳統(tǒng)的SD編碼器,本文的MD編碼器提供更好的語音質(zhì)量,而只增加很少帶寬和10 ms額外延遲,尤其在頻繁發(fā)生丟包時(shí)這是一個(gè)好的折衷。通過使用DSI,提出的MD編碼器能夠克服其它MD方法效率低的缺點(diǎn)。
[1] Goyal V K.Multiple Description Coding: Compression Meets the Network[J].IEEE Signal Process,2001(18):74-93.
[2] 江虹,林明. 改進(jìn)NSGA-Ⅱ在無線MD視頻中的應(yīng)用[J].通信技術(shù),2009,42(06):154-158.
[3] 劉艷,付慧生,李雪峰.現(xiàn)代通信技術(shù)與 VoIP[J].通信技術(shù),2007,40(04):49-50.
[4] Lee C C.Diversity Control Among Multiple Coders: A Simple Approach to Multiple Descriptions[C]//In Proc. 2000 IEEE Workshop on Speech Coding.Delavan:WI,2000:69-71.
[5] Zhong X, Juang B H.Multiple Description Speech Coding withDiversities[C]//In Proc. 2002 IEEE International Conferenceon Acoustics,Speech,And Signal Processing.Dallas,Texas,USA:IEEE,2002:177-180.
[6] Wah B W, Dong L.LSP-based Multiple-description Coding for Real-time Low Bit-rate Voice Transmissions[C]//In Proc.2002IEEE International Conference on Multimedia and Expo..Lau-sanne,Switzerland:IEEE,2002:597-600.
[7] Dong H, Gersho A, Cuperman V, et al.A Multiple Description Speech Coder Based on AMR-WB for Mobile ad hoc Networks[C]//In Proc. 2004 IEEE International Conference on Acoustics, Speech and Signal Processing.Montreal,Canada:IEEE,2004:277-280.
[8] Balam J,Gibson J D.Multiple Description Coding and Path Diversity for Voice Communication over MANETs[C]//In Proc.Conference Record Thirty-Ninth Asilomar Conference on Signals, Systems & Computers 2005.Pacific Grove:CA,2005:310-314.
[9] Perkins C, Hodson O, Hardman V. A Survey of Packet Loss Recovery Techniques for Streaming Audio[J].IEEE Network,1998,12(05):40-48.
[10] Kostas J.Real-Time Voice over Packet Switched Networks[J].IEEE Network,1998,12(01):18-27.