《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > ILBC編碼算法及其在VOIP中的應(yīng)用

ILBC編碼算法及其在VOIP中的應(yīng)用

2008-05-08
作者:郭廷廷, 李 敬

  摘 要: VOIP正在成為熱門(mén)的應(yīng)用領(lǐng)域,語(yǔ)音質(zhì)量" title="語(yǔ)音質(zhì)量">語(yǔ)音質(zhì)量的提高是其難點(diǎn)之一。ILBC算法是一種基于CELP(Code Excited Linear Predictive Coding)的新的低比特率語(yǔ)音編碼算法,其優(yōu)異的語(yǔ)音質(zhì)量、突出的長(zhǎng)時(shí)預(yù)測(cè)方法[1]及丟包掩蔽[2](PLC)技術(shù),很好地解決了互聯(lián)網(wǎng)上傳輸語(yǔ)音的問(wèn)題。詳細(xì)探討了ILBC的實(shí)現(xiàn)原理,對(duì)其關(guān)鍵技術(shù)進(jìn)行了較深入的分析,給出了實(shí)驗(yàn)結(jié)論,并對(duì)其應(yīng)用作了一些展望。
  關(guān)鍵詞: ILBC(Internet Low Bit Vate Codec) VOIP(Voice Over IP) PLC 丟包掩蔽 動(dòng)態(tài)碼本


  隨著互聯(lián)網(wǎng)的迅速發(fā)展,人們對(duì)通過(guò)互聯(lián)網(wǎng)進(jìn)行實(shí)時(shí)語(yǔ)音、視頻傳輸?shù)囊笤桨l(fā)強(qiáng)烈,VOIP正是在這一應(yīng)用背景下誕生的一門(mén)新技術(shù),它把數(shù)字語(yǔ)音編碼技術(shù)與分組交換網(wǎng)相結(jié)合,提供實(shí)時(shí)語(yǔ)音及其相關(guān)服務(wù),該技術(shù)要求占用盡可能小的網(wǎng)絡(luò)帶寬并擁有良好的語(yǔ)音質(zhì)量。由于當(dāng)前網(wǎng)絡(luò)環(huán)境" title="網(wǎng)絡(luò)環(huán)境">網(wǎng)絡(luò)環(huán)境的特點(diǎn),丟包現(xiàn)象不可避免,以往的低比特率編碼標(biāo)準(zhǔn)雖然可以解決帶寬問(wèn)題,但丟包時(shí)語(yǔ)音質(zhì)量不能保證。因而,需要新的語(yǔ)音編碼算法來(lái)滿足這一要求。
1 ILBC簡(jiǎn)介
  ILBC是由Global IP Sound公司提出的一種專為包交換網(wǎng)絡(luò)通信設(shè)計(jì)的編解碼" title="編解碼">編解碼,優(yōu)于目前流行的G.729A、G.723.1,對(duì)丟包進(jìn)行了特殊處理,既使在丟包率相當(dāng)高的網(wǎng)絡(luò)環(huán)境下,仍可獲得非常清晰的語(yǔ)音效果。
  ILBC是一種適用于窄帶網(wǎng)絡(luò)的編碼算法。根據(jù)網(wǎng)絡(luò)帶寬的不同,ILBC提供兩種編碼的格式,如表1。該算法使用了長(zhǎng)時(shí)的預(yù)測(cè)技術(shù)和幀獨(dú)立編碼方法,使其非常適合在存在丟包的網(wǎng)絡(luò)環(huán)境中傳播。


2 ILBC算法的原理
2.1 ILBC編碼

  ILBC本質(zhì)上是一種基于幀的線性預(yù)測(cè)編碼方法,是對(duì)CELP(碼激勵(lì)線性預(yù)測(cè)編碼)的一種發(fā)展,其獨(dú)有的動(dòng)態(tài)碼本更新技術(shù)、語(yǔ)音加強(qiáng)算法和丟包掩蔽技術(shù)使其在VOIP中應(yīng)用時(shí)有更好的性能。對(duì)于每一個(gè)含有160/240(20ms/30ms) 樣點(diǎn)的輸入幀,ILBC算法將進(jìn)行以下主要操作:
  (1) 把該幀分為4/6 個(gè)子幀,每子幀40個(gè)樣點(diǎn)。對(duì)30ms的幀,進(jìn)行兩組10階的LPC分析,得到相應(yīng)的LPC系數(shù);對(duì)于20ms的幀,進(jìn)行一次10階LPC分析。
  (2)每次分析得到的LPC系數(shù)將轉(zhuǎn)化為L(zhǎng)SF(線譜對(duì))參數(shù),并對(duì)LSF系數(shù)進(jìn)行量化,內(nèi)插以得到各個(gè)子幀的LSF系數(shù);隨后,由各子幀的LSF系數(shù)得到各子幀對(duì)應(yīng)的分析器,對(duì)各個(gè)子幀進(jìn)行線性預(yù)測(cè),計(jì)算各子幀的殘差。
  (3)從殘差中找到兩個(gè)能量最大的連續(xù)子幀,然后把能量值較小的首23/22個(gè)樣點(diǎn)(30ms/20ms)或尾23/22樣點(diǎn)從連續(xù)子幀中去除,剩余的57/58個(gè)被選定為本次處理的初始狀態(tài)。對(duì)于濁音語(yǔ)音,這樣的選取方式將至少包含一個(gè)基音脈沖。
  (4)對(duì)初始狀態(tài)進(jìn)行基于DPCM的標(biāo)量量化,量化結(jié)果將作為編碼輸出的一部分。與此同時(shí),初始狀態(tài)被存入碼本存儲(chǔ)區(qū),以構(gòu)成動(dòng)態(tài)碼本的初始值,用于對(duì)本幀的剩余樣點(diǎn)進(jìn)行矢量量化" title="矢量量化">矢量量化。
  (5)對(duì)于剩余的殘差,矢量量化將按下面順序進(jìn)行:(a)包含有初始狀態(tài)的兩個(gè)連續(xù)子幀中剩余的23/22個(gè)樣點(diǎn);(b) 時(shí)間軸上處于初始狀態(tài)之后的各個(gè)子幀; (c)時(shí)間軸上在初始狀態(tài)之前的各個(gè)子幀。對(duì)于此矢量量化,每次搜索碼本的范圍是動(dòng)態(tài)碼本,其中存儲(chǔ)了已經(jīng)被解碼的對(duì)象,并隨著最新的解碼結(jié)果,該動(dòng)態(tài)碼本被更新。
  (6)對(duì)編碼結(jié)果進(jìn)行封包處理。
  ILBC的編碼的框圖如圖1所示。


2.2 ILBC解碼
  ILBC是一種運(yùn)用了分析合成方法的編解碼算法,解碼部分的運(yùn)算量相對(duì)要小一些,使其在功能不強(qiáng)的客戶端的實(shí)時(shí)解碼成為可能。
  解碼的主要過(guò)程如下:
  (1)解包,參數(shù)提取。
  (2)從得到的LSF參數(shù)進(jìn)行內(nèi)插,并轉(zhuǎn)化各個(gè)子幀的LPC系數(shù),以便進(jìn)行合成操作。
  (3) 對(duì)初始狀態(tài)進(jìn)行解碼,解碼結(jié)果一方面作為激勵(lì)信號(hào)" title="激勵(lì)信號(hào)">激勵(lì)信號(hào)暫存,另一方面存入碼本存儲(chǔ)區(qū),以構(gòu)成動(dòng)態(tài)碼本的初始值。
  (4) 對(duì)剩余的子幀部分,按照與編碼相同的次序進(jìn)行殘差解碼,并用解碼結(jié)果更新動(dòng)態(tài)碼本,重復(fù)(4)直到所有子幀完成譯碼。
  (5) 對(duì)于解碼得到的殘差信號(hào),進(jìn)行語(yǔ)音增強(qiáng)的操作。該語(yǔ)音增強(qiáng)采用了條件限制的增強(qiáng)方法。
  (6) 進(jìn)行語(yǔ)音合成,形成解碼后的語(yǔ)音。
  (7) 高通濾波,以消除合成后的低頻語(yǔ)音。
  ILBC解碼的流程圖如圖2所示。


2.3 ILBC的比特流定義
  對(duì)于20 ms的幀,共使用了304個(gè)比特來(lái)表示編碼后的語(yǔ)音信號(hào),被封裝在38個(gè)字節(jié)中;對(duì)于30ms的幀,共使用了400個(gè)比特,封裝在50個(gè)字節(jié)中。在封裝的過(guò)程中,按照數(shù)據(jù)對(duì)傳輸誤差的敏感程度不同,這些比特被分成三類,第一類代表了最敏感的數(shù)據(jù)[3]。表2 列出了ILBC編碼的比特流分配情況。


3 ILBC的關(guān)鍵技術(shù)
  與以往的低比特率語(yǔ)音編解碼算法相比,ILBC除了采用經(jīng)典的線性預(yù)測(cè)分析法、LPC系數(shù)到LSF系數(shù)相互轉(zhuǎn)換、分裂矢量量化LSF參數(shù)和多級(jí)形狀-增益量化[4]殘差外,主要有下面特殊的方法。
  (1) 基于初始狀態(tài)的動(dòng)態(tài)碼本的選取和更新。
  ILBC利用了基于初始狀態(tài)的動(dòng)態(tài)碼本的更新方法,把最新的解碼結(jié)果加入碼本,以取代較老的碼矢。通過(guò)這種算法,可以較為方便地生成碼本,同時(shí)也提供了很好的碼本預(yù)測(cè)能力。
  (2) 幀間獨(dú)立的長(zhǎng)時(shí)預(yù)測(cè)方法,在此基礎(chǔ)上的PLC(丟包掩蔽)技術(shù)。
  經(jīng)典的CELP方法是利用以往的激勵(lì)信號(hào)來(lái)對(duì)自適應(yīng)碼本進(jìn)行更新的,這樣的方法在分組交換網(wǎng)中有下面問(wèn)題:
 ?、偃绻^(guò)去的信號(hào)丟失或在傳輸過(guò)程中被污染,解碼用的碼本就會(huì)與編碼時(shí)不同,將導(dǎo)致解碼語(yǔ)音質(zhì)量變差;
 ?、谠谡Z(yǔ)音建立階段,解碼端的自適應(yīng)碼本并不能很好地描述基音周期,導(dǎo)致解碼語(yǔ)音建立時(shí)間加長(zhǎng)。
  ILBC采用了基于初始狀態(tài)的解碼方法,初始碼本是從初始狀態(tài)中得到的,通常都會(huì)包含至少一個(gè)基音脈沖,因而建立時(shí)間較快;同時(shí),從初始狀態(tài)出發(fā),既有時(shí)間上前向的預(yù)測(cè),也有向后的預(yù)測(cè),因而體現(xiàn)了長(zhǎng)時(shí)預(yù)測(cè)的概念,配合PLC技術(shù),即使出現(xiàn)丟幀,解碼語(yǔ)音質(zhì)量也不會(huì)有明顯下降。
  PLC技術(shù)的基本原則是:解碼端若收到正確的幀,則計(jì)算出的LPC系數(shù)和激勵(lì)碼本被存儲(chǔ); 若丟幀,則使用上一個(gè)正確幀中的激勵(lì)信號(hào),利用基音同步重復(fù)的方法得到本幀解碼信號(hào)。
  (3) 利用有條件限制的優(yōu)化算法[3]加強(qiáng)殘差語(yǔ)音。
  該算法的主要思想是對(duì)要加強(qiáng)的殘差語(yǔ)音塊,尋找其前3個(gè)塊和后3個(gè)塊,用這6個(gè)塊的線性組合逼近當(dāng)前待加強(qiáng)的塊。計(jì)算待加強(qiáng)塊和逼近塊的均方誤差。若誤差足夠小,就把逼近塊作為加強(qiáng)塊;否則,加強(qiáng)塊為待加強(qiáng)塊和逼近塊的線性組合。


4 實(shí)驗(yàn)結(jié)果與性能評(píng)測(cè)
  圖3是Dynstat公司在具有丟包情況的網(wǎng)絡(luò)環(huán)境下對(duì)ILBC、G729.A、G723.1幾種算法進(jìn)行測(cè)試后的MOS(平均意見(jiàn)得分)對(duì)比圖,可以看出ILBC編碼的語(yǔ)音質(zhì)量整體高于其余兩種編碼,尤其是當(dāng)丟包率較高時(shí),MOS得分遠(yuǎn)高于另外兩種編碼。
  為了對(duì)ILBC在丟幀時(shí)仍有良好語(yǔ)音質(zhì)量做出解釋,進(jìn)行了以下實(shí)驗(yàn):
  (1)在短時(shí)間內(nèi)對(duì)有丟包時(shí)的解碼片斷做分析,如圖4所示。實(shí)驗(yàn)得出,僅有一幀丟失時(shí),語(yǔ)音的損壞基本上不會(huì)被聽(tīng)者察覺(jué),當(dāng)出現(xiàn)連續(xù)兩幀以上丟失時(shí),才會(huì)被察覺(jué)。在文獻(xiàn)[2]中有ILBC與G.729.A的丟幀對(duì)比。


  (2)初始狀態(tài)編碼是ILBC中的關(guān)鍵步驟,應(yīng)用了標(biāo)量編碼的方式。為使編碼更有效,實(shí)現(xiàn)時(shí),先用一個(gè)全通濾波器將殘差的動(dòng)態(tài)范圍壓縮,解碼時(shí)再通過(guò)逆濾波恢復(fù)。圖5是對(duì)某一幀語(yǔ)音的殘差分析的結(jié)果,經(jīng)過(guò)多幀測(cè)試發(fā)現(xiàn),該技術(shù)使殘差的動(dòng)態(tài)范圍減小了約1/3。
  由于實(shí)時(shí)傳輸?shù)男枰?,算法的時(shí)間復(fù)雜度成為實(shí)際系統(tǒng)實(shí)現(xiàn)時(shí)重要的考慮因素,在PC機(jī)(Celeron 2.7G, 512M內(nèi)存)上對(duì)用ANSI-C實(shí)現(xiàn)的ILBC浮點(diǎn)算法[1]進(jìn)行運(yùn)算量統(tǒng)計(jì),可以得到表3的結(jié)果,可以得到①解碼的復(fù)雜度較小,是一種非對(duì)稱的編碼方案;②編碼部分碼本搜索占用了最長(zhǎng)的時(shí)間,成為算法優(yōu)化時(shí)要考慮的關(guān)鍵部分。

?


  ILBC算法優(yōu)異的語(yǔ)音質(zhì)量及良好的丟包掩蔽技術(shù),使其在VOIP中的應(yīng)用前景非常廣闊。2002年2月,ILBC是IETF 接受的關(guān)于語(yǔ)音/音頻編解碼的第一個(gè)標(biāo)準(zhǔn)。2004年4月在關(guān)于多媒體終端適配器和媒體網(wǎng)關(guān)分布的CableLabsPacketCable1.1 Audio/Video編解碼規(guī)范中,被指定為強(qiáng)制的編解碼算法。軟件與系統(tǒng)方面, Skype、Hostip、Pandora Networks和Pingtel Instant都對(duì)該算法進(jìn)行支持,DSP及專用集成電路方面,TI 已經(jīng)推出相應(yīng)的定點(diǎn)DSP實(shí)現(xiàn)方案,AudioCodes已有專用芯片支持。
  可以預(yù)計(jì),不久的將來(lái), ILBC將在VOIP中得到更加廣泛的應(yīng)用。
參考文獻(xiàn)
1 Andersen S V. Internet low bit rate codec. IETF internet-draft, 2002
2 Andersen S V. ILBC- A linear predictive coder with robustness to packetlosses. Global IP Sound
3 Klein WB. Enhancement of coded speech by constrained optimization. In: proc IEEE Speech Coding Workshop, 2002,submitted for publication
4 楊行峻, 唐 昆. 語(yǔ)音信號(hào)數(shù)字處理. 北京:電子工業(yè)出版社,1995

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
日韩亚洲精品在线| 国产精品一国产精品k频道56| 亚洲美女黄网| 欧美三级视频在线播放| 中日韩视频在线观看| 一区二区精品国产| 国产精品羞羞答答| 欧美巨乳波霸| 亚洲女人天堂成人av在线| 亚洲午夜精品视频| 国产手机视频一区二区| 老色鬼久久亚洲一区二区| 亚洲日本中文字幕| 一区二区国产日产| 99国产欧美久久久精品| 亚洲美女精品一区| 日韩亚洲成人av在线| 日韩视频在线观看一区二区| 亚洲精品网站在线播放gif| 国产麻豆视频精品| 欧美v国产在线一区二区三区| 一区二区高清| 欧美亚洲午夜视频在线观看| 在线观看亚洲一区| 欧美视频一二三区| 欧美色道久久88综合亚洲精品| 欧美视频中文字幕| 国产精品久久久久一区二区三区 | 欧美亚洲一区三区| 久久不见久久见免费视频1| 亚洲国产黄色片| 国产精品福利片| 蜜桃精品久久久久久久免费影院| 亚洲无亚洲人成网站77777| 久久精品一区四区| 这里只有精品丝袜| 在线观看不卡| 亚洲福利av| 国产日产欧美a一级在线| 欧美国产免费| 久久久精品日韩| 亚洲一区二区三区免费观看| 亚洲国产精品久久久久| 亚洲综合视频网| 亚洲日本成人女熟在线观看| 国产午夜精品一区理论片飘花 | 国产性色一区二区| 在线欧美日韩| 日韩一级在线观看| 午夜激情一区| 亚洲最新在线| 亚洲免费在线| 亚洲欧洲精品成人久久奇米网| 亚洲制服丝袜在线| 欧美在线视频在线播放完整版免费观看| 亚洲国产成人av| 亚洲欧美三级在线| 一本色道久久综合精品竹菊| 午夜精品久久久久久久| 亚洲黄色成人| 亚洲一区一卡| 久久这里只有精品视频首页| 欧美三级免费| 激情自拍一区| 国产自产v一区二区三区c| 国产精品v欧美精品v日韩 | 欧美成人一区二区| 久久久久久久一区二区| 午夜精品久久久久久久蜜桃app | 欧美色大人视频| 韩日欧美一区二区| 国产美女精品| 亚洲第一黄色| 亚洲一区精彩视频| 最新日韩在线视频| 欧美在线www| 先锋影音久久| 欧美一区二区三区免费大片| 亚洲一区二区精品在线| 久久精品国产一区二区三区| 亚洲欧美成人精品| 狂野欧美一区| 国产精品午夜国产小视频| 亚洲欧洲日本专区| 欧美在线影院在线视频| 亚洲一区二区在线看| 欧美成人伊人久久综合网| 国产免费亚洲高清| 亚洲精品极品| 久久精品官网| 欧美一级久久| 欧美色区777第一页| 亚洲精美视频| 亚洲精品之草原avav久久| 久久av一区二区| 亚洲欧美日韩国产综合精品二区| 欧美高清视频在线| 国语自产精品视频在线看一大j8 | 欧美一二三区精品| 亚洲一级二级在线| 欧美顶级少妇做爰| 狠狠色狠狠色综合日日五| 亚洲免费影视| 香蕉乱码成人久久天堂爱免费 | 亚洲一区二区免费看| 一区二区av在线| 欧美精品一区三区在线观看| 欧美精品久久一区| 黄色精品一区| 欧美呦呦网站| 亚洲精品国产拍免费91在线| 久久久久久久久蜜桃| 国产日韩欧美综合| 亚洲综合三区| 亚洲欧美不卡| 国产精品久久午夜| 在线一区日本视频| 在线视频亚洲欧美| 欧美另类久久久品| 亚洲激情黄色| 99在线|亚洲一区二区| 亚洲手机成人高清视频| 欧美承认网站| 亚洲国产91| 亚洲人精品午夜| 欧美多人爱爱视频网站| 亚洲盗摄视频| 亚洲精品自在久久| 亚洲永久在线| 欧美视频四区| 亚洲一区二区毛片| 欧美一级视频| 国产一区二区精品| 亚洲欧洲另类| 99精品视频免费| 欧美日韩少妇| 激情综合网激情| 亚洲二区在线视频| 欧美大片免费| 日韩视频免费在线| 亚洲网站啪啪| 国产乱码精品一区二区三| 先锋影音久久久| 久久视频在线视频| 欧美色偷偷大香| 亚洲一二三区视频在线观看| 欧美一级视频精品观看| 国产一区二区三区在线观看免费视频 | 国产精品99久久久久久宅男| 午夜视频一区在线观看| 久久精品午夜| 伊人成人开心激情综合网| 亚洲精品国产精品国自产在线 | 久久九九全国免费精品观看| 激情成人av在线| 日韩天堂av| 久久久久国内| 在线看国产一区| 99国产精品久久久久久久成人热| 欧美午夜精品一区| 午夜精品美女自拍福到在线| 噜噜噜91成人网| 一本大道久久a久久精二百| 欧美一区二区三区四区在线| 在线播放中文字幕一区| 99精品视频免费| 国产欧美亚洲视频| 亚洲毛片在线看| 国产精品夜夜夜一区二区三区尤| 亚洲国产一区二区三区高清| 欧美三级韩国三级日本三斤| 久久成人精品| 欧美性视频网站| 亚洲福利在线看| 国产精品xvideos88| 久久成人资源| 欧美涩涩视频| 亚洲福利av| 国产精品久久久久久久久久久久久久| 久久精品国产精品亚洲| 欧美日韩免费观看一区二区三区| 午夜欧美视频| 欧美视频免费在线观看| 亚洲高清中文字幕| 国产精品国产三级国产a| 亚洲国产高清在线观看视频| 国产精品免费看| 亚洲开发第一视频在线播放| 国产欧美一区二区色老头| 亚洲最新色图| 狠狠色伊人亚洲综合成人| 亚洲午夜精品一区二区| 在线播放日韩专区| 欧美一区二区三区免费视| 亚洲经典视频在线观看| 久久天天躁狠狠躁夜夜av| 亚洲性视频网站| 欧美日韩在线免费观看| 亚洲精品社区| 一区二区在线视频观看|