iLBC編解碼相關(guān)知識(shí)
轉(zhuǎn)自:http://www.eetchina.com/ART_8800438611_617685_TA_558b9f36.HTM
自 VoIP 技術(shù)面世以來(lái),業(yè)界對(duì)現(xiàn)存的低比特率編解碼器 (codec) 標(biāo)準(zhǔn)的關(guān)注一直不斷。影響 VoIP 設(shè)備制造和應(yīng)用開(kāi)發(fā)商的主要問(wèn)題包括涉及眾多專利持有者的復(fù)雜知識(shí)產(chǎn)權(quán) (IPR) 管理、昂貴的使用許可模式,以及實(shí)際 IP 網(wǎng)絡(luò)的低劣質(zhì)量。在 2000 年,Global IP Sound (GIPS) 公司決定開(kāi)發(fā)一種能夠滿足 VoIP 產(chǎn)業(yè)需求的 codec,目標(biāo)是利用 GIPS 內(nèi)部的專業(yè)能力開(kāi)發(fā)一款免授權(quán)費(fèi) (royalty-free)、專為數(shù)據(jù)包通信而設(shè)計(jì),而且在理想無(wú)錯(cuò)情況和丟包情況下都能提供高音質(zhì)的 codec,并把它引入不同的標(biāo)準(zhǔn)化機(jī)構(gòu)以符合互操作性的要求。這就是iLBC codec 誕生的緣起。
歷史
目前大多數(shù)的語(yǔ)音 codec 都是基于代碼激勵(lì)線性預(yù)測(cè) (Code Excited Linear Prediction, CELP) 編碼模型的,例如 ITU G.729 和 G.723.1、GSM-EFR 和 3GPP-AMR。CELP 一直都被視為在交換網(wǎng)絡(luò)中以低比特率電路獲得高質(zhì)量的一種非常成功的方法。這種編碼方法具有高效性,主要是由于它利用了連續(xù)語(yǔ)音片斷之間的互相依賴性,因此 CELP codec 的性能主要取決于前面編碼的歷史。CELP 編碼器是基于存儲(chǔ)器的,故丟包或延遲所造成的誤差會(huì)擴(kuò)散開(kāi)來(lái),結(jié)果是單個(gè)丟包會(huì)影響到隨后多個(gè)數(shù)據(jù)包的質(zhì)量,這顯然是數(shù)據(jù)包通信的一大缺陷。
iLBC 編解碼器
iLBC 是為專為提供穩(wěn)健的 IP 語(yǔ)音通信而開(kāi)發(fā)的語(yǔ)音 codec,以窄帶語(yǔ)音為設(shè)計(jì)基礎(chǔ),具有 8 kHz 的采樣率。iLBC codec 支持兩種基本的幀長(zhǎng)度:13.3 kbps 比特率下編碼幀長(zhǎng)度為 30 ms;而 15.2 kbps比特率下編碼幀長(zhǎng)度則為 20 ms。
采用 iLBC 算法可以獲得一個(gè)具有丟包響應(yīng)控制的語(yǔ)音編碼系統(tǒng)。iLBC 對(duì)每一個(gè)數(shù)據(jù)包的處理都能夠獨(dú)立于其它數(shù)據(jù)包來(lái)進(jìn)行,是數(shù)據(jù)包通信的理想選擇。即使 IP 丟包和/或延遲現(xiàn)象的惡化,這種 codec 的語(yǔ)音質(zhì)量下降情況也不會(huì)太差。這與基于 CEIP 模型的一般 codec 的行為不同,這類 codec 最先是為交換電路網(wǎng)絡(luò)或無(wú)線網(wǎng)絡(luò)而設(shè)計(jì)的,是設(shè)計(jì)來(lái)恢復(fù)位錯(cuò)誤而非丟包的。
丟包現(xiàn)象發(fā)生時(shí),語(yǔ)音 codec 的一項(xiàng)相關(guān)基準(zhǔn)是從單個(gè)丟包情況下恢復(fù)過(guò)來(lái)所需的幀/包數(shù)量。在 iLBC 的情況中,數(shù)量是零。在丟包之后的第一個(gè)數(shù)據(jù)包總?cè)阅馨丛景才诺谋痪_解碼。
iLBC 是一種窄帶語(yǔ)音 codec,使用了整個(gè) 4kHz 頻帶,而大多數(shù)標(biāo)準(zhǔn)低比特率 codec 只利用從 300 Hz 到 3400 Hz 的頻帶。這一點(diǎn)對(duì)音質(zhì)的影響是相當(dāng)明顯的。此外,iLBC 語(yǔ)音編碼的頻譜特性精確模擬了原始信號(hào)的特性,其語(yǔ)音比標(biāo)準(zhǔn)低比特率 codec 的更自然清晰。
總而言之,iLBC 算法為數(shù)據(jù)包網(wǎng)絡(luò)實(shí)現(xiàn)了尖端的固定比特率編碼,在質(zhì)量與比特率之間取得了非常出色的平衡。
標(biāo)準(zhǔn)化
2004 年 4 月,在針對(duì)多媒體終端適配器 (multiple terminal adapter, MTA) 和媒體網(wǎng)關(guān)發(fā)布的 CableLabs PacketCableTM 1.1 音頻/視頻 codec 規(guī)范中,iLBC 被規(guī)定為一種強(qiáng)制式 codec。Comcast 公司新媒體開(kāi)發(fā)高級(jí)副總裁兼 CableLabs 的 PacketCable 業(yè)務(wù)部門(mén)主席 Steve Craddock 表示:“由于 GIPS iLBC 編碼是專門(mén)為數(shù)據(jù)包網(wǎng)絡(luò)而設(shè)計(jì)的,所以我們深信該種專業(yè)水平的規(guī)范,能夠?yàn)橛芯€運(yùn)營(yíng)商提供所需的高性能和音質(zhì),讓其 VoIP 解決方案在客戶中贏得優(yōu)勢(shì)。”
iLBC 在 2002 年 3 月獲互聯(lián)網(wǎng)工程工作小組 (Internet Engineering Task Force, IETF) 認(rèn)可,成為第一個(gè)標(biāo)準(zhǔn)化的語(yǔ)音/音頻 codec。現(xiàn)在,iLBC codec 處于 IEIF 標(biāo)準(zhǔn)化過(guò)程的最后一個(gè)階段,是 IETF 視聽(tīng)傳輸工作小組 (Audio Visual Transport Work Group) 的一部分。
Codec 性能
GIPS 公司和一些獨(dú)立實(shí)驗(yàn)室對(duì) codec 的若干性能進(jìn)行了評(píng)測(cè)。2002 年,Dynastat 公司對(duì) iLBC 實(shí)施了正式的聽(tīng)力測(cè)試。2003 年,AT&T 的音質(zhì)評(píng)估實(shí)驗(yàn)室 (Voice Quality Assessment Lab, VQA) 也對(duì) iLBC codec 進(jìn)行了廣泛的測(cè)試。
下圖所示為 Dynastat 的評(píng)估結(jié)果,其根據(jù)現(xiàn)有編碼標(biāo)準(zhǔn) G.729A 和 G.723.1 對(duì) iLBC 的 30ms 模式進(jìn)行了標(biāo)準(zhǔn)測(cè)試。結(jié)果明顯表明,用于實(shí)際環(huán)境時(shí),iLBC 的性能卓越,即使在惡劣的網(wǎng)絡(luò)條件下,其固有的數(shù)據(jù)包網(wǎng)絡(luò)屬性也能提供很高的質(zhì)量。

這些測(cè)試還顯示了 iLBC 在丟包條件下的性能不僅顯著優(yōu)于目前的標(biāo)準(zhǔn) codec (G.723.1、G.728、G.729、GSM 等),而且還等于甚至優(yōu)于理想信道 (無(wú)丟包) 條件下的標(biāo)準(zhǔn) codec。

AT&T 的測(cè)試結(jié)果也顯示,iLBC 中,20 ms 和 30 ms 模式之間沒(méi)有顯著的性能差異;而在丟包情況下,20 ms 模式甚至表現(xiàn)出更好的丟包穩(wěn)健性。AT&T VQA 實(shí)驗(yàn)室也表示,iLBC 在存在背景噪聲時(shí)的性能十分優(yōu)秀,可媲美信道無(wú)丟包的 G.729.E。
實(shí)現(xiàn)方案
目前,好幾家 VoIP 設(shè)備及應(yīng)用生產(chǎn)商都在自己的產(chǎn)品中集成了 iLBC。下面我們列出了在自家商用產(chǎn)品中選用了 iLBC 的部分公司:
iLBC 使用許可
設(shè)備和應(yīng)用生產(chǎn)商一直在尋找高成本效益的方法來(lái)滿足新的要求,并為市場(chǎng)提供新的功能。在決定是由內(nèi)部自行開(kāi)發(fā) iLBC、還是從其它供應(yīng)商那里獲得 iLBC 編碼使用授權(quán)時(shí),需要對(duì)好幾個(gè)方面進(jìn)行全面考慮。
從其它供應(yīng)商那里獲得 iLBC 編碼使用授權(quán)能夠大量節(jié)省開(kāi)發(fā)成本;提高質(zhì)量;加快上市速度;降低風(fēng)險(xiǎn),并增強(qiáng)靈活性。不過(guò),選擇供應(yīng)商時(shí)應(yīng)該非常謹(jǐn)慎,力求把風(fēng)險(xiǎn)或額外成本降至最低。
選擇供應(yīng)商的準(zhǔn)則包括:
計(jì)算自行開(kāi)發(fā) iLBC 設(shè)計(jì)的成本
為了計(jì)算一位經(jīng)驗(yàn)豐富的設(shè)計(jì)人員把浮點(diǎn)代碼轉(zhuǎn)換為定點(diǎn) ANSI C 代碼、或轉(zhuǎn)換為 DSP 平臺(tái)所花費(fèi)的設(shè)計(jì)時(shí)間,我們作出了以下的假設(shè):

上表只考慮到設(shè)計(jì)工作量。要對(duì)總體成本進(jìn)行全面的評(píng)估,我們還必須考慮以下各種因素:
此外,還不應(yīng)該低估上市時(shí)間縮短的價(jià)值。相比內(nèi)部自行開(kāi)發(fā)的代碼,采用授權(quán)優(yōu)化 iLBC 編碼,最終產(chǎn)品的上市時(shí)間能夠提早好幾個(gè)月。
作者:Yann Lejas
亞太區(qū)客戶工程總監(jiān)
Global IP Sound (GIPS) 公司
iLBC codec 官方主頁(yè):http://www.ilbcfreeware.org/software.html
posted on 2010-10-27 14:10 楊粼波 閱讀(731) 評(píng)論(0) 編輯 收藏 引用