基于Blackfin的VoiceEngine嵌入式方案
VoIP硬件制造商在設(shè)計(jì)產(chǎn)品時(shí),必須解決語(yǔ)音包環(huán)境中與話音質(zhì)量相關(guān)的以下幾個(gè)主要問(wèn)題。
本文引用地址:http://butianyuan.cn/article/81639.htm網(wǎng)絡(luò)降級(jí)問(wèn)題
三個(gè)與語(yǔ)音包網(wǎng)絡(luò)有關(guān)的主要因素嚴(yán)重影響著感知的語(yǔ)音質(zhì)量,它們是:延遲、抖動(dòng)以及語(yǔ)音包丟失。這三個(gè)因素都源自語(yǔ)音包網(wǎng)絡(luò)的性質(zhì),因?yàn)檎Z(yǔ)音包網(wǎng)絡(luò)無(wú)法保證語(yǔ)音數(shù)據(jù)包及時(shí)或者全部到達(dá)接收端。
延遲
雙向通信需要考慮的一個(gè)重要問(wèn)題是發(fā)射機(jī)與接收機(jī)之間的延遲。這個(gè)延遲將帶來(lái)兩個(gè)問(wèn)題:回聲與通話重疊。
在VoIP 通話中有許多延遲因素,主要包括算法延遲、處理延遲以及網(wǎng)絡(luò)延遲。算法延遲與使用的語(yǔ)音編碼/解碼器有關(guān),出現(xiàn)算法延遲的原因是塊處理成幀。此外,許多編碼/解碼器采用的塊處理還具有前瞻功能,該功能要求在塊編碼以前對(duì)未來(lái)語(yǔ)音樣本進(jìn)行緩沖,這將增加算法延遲。處理延遲與正在進(jìn)行的信號(hào)處理以及編碼比特?cái)?shù)打包有關(guān)。網(wǎng)絡(luò)延遲則是由于傳輸線路、路由器緩沖器以及抖動(dòng)緩沖器中的物理延遲而引起的。
抖動(dòng)
與恒定算法延遲與處理延遲相反,傳輸延遲則隨著時(shí)間而變化。其原因是通過(guò)IP網(wǎng)絡(luò)傳輸?shù)恼Z(yǔ)音包傳輸時(shí)間將因?yàn)榕抨?duì)結(jié)果的不同而發(fā)生變化。傳輸延遲分為兩個(gè)部分,一個(gè)是恒定或者變化緩慢的網(wǎng)絡(luò)延遲,另一個(gè)是在基本網(wǎng)絡(luò)延遲頂端的快速變化的延遲,通常稱作抖動(dòng)。抖動(dòng)被定義為連續(xù)傳輸語(yǔ)音包之間時(shí)延差的平滑功能。
語(yǔ)音包網(wǎng)絡(luò)中出現(xiàn)的抖動(dòng),將使接收機(jī)中的解碼過(guò)程復(fù)雜化,因?yàn)榻獯a器需要在正確的時(shí)間瞬間獲得數(shù)據(jù)包。如果得不到這個(gè)數(shù)據(jù),解碼器就不能生成平滑且連續(xù)的語(yǔ)音。因此,除了增加延遲,抖動(dòng)還將導(dǎo)致接收機(jī)定時(shí)問(wèn)題。通常使用抖動(dòng)緩沖器,以確保在需要的時(shí)候得到語(yǔ)音包。
語(yǔ)音包丟失
如果網(wǎng)絡(luò)中的路由器掉下語(yǔ)音包,或者語(yǔ)音包到達(dá)太遲,致使解碼器無(wú)法對(duì)其進(jìn)行處理時(shí),都會(huì)發(fā)生語(yǔ)音包丟失。如果允許抖動(dòng)處理器的延遲時(shí)間長(zhǎng)一些,就幾乎可以杜絕上述的第二種情況,但這會(huì)增加系統(tǒng)延遲。
當(dāng)因?yàn)榫W(wǎng)絡(luò)中某處出現(xiàn)掉包或者因?yàn)檎Z(yǔ)音包到達(dá)太遲而出現(xiàn)語(yǔ)音包丟失時(shí),必須采取某些措施填充遺失的語(yǔ)音。這種解決方案通常被稱作錯(cuò)誤隱藏算法或數(shù)據(jù)包丟失隱藏 (PLC)算法。為了實(shí)現(xiàn)最佳性能,這些算法必須能夠準(zhǔn)確地預(yù)測(cè)語(yǔ)音信號(hào)并在解碼語(yǔ)音與插入部分(inserted segment)之間進(jìn)行平滑轉(zhuǎn)換。
編碼/解碼器問(wèn)題
VoIP系統(tǒng)中的基本算法模塊是語(yǔ)音編碼/解碼器 ,它必須使傳輸?shù)男畔?shù)量最小,同時(shí)對(duì)語(yǔ)音質(zhì)量影響最小。經(jīng)過(guò)模-數(shù)轉(zhuǎn)換后,語(yǔ)音編碼器將數(shù)字化的語(yǔ)音信號(hào)轉(zhuǎn)化為比特流,比特流經(jīng)過(guò)打包后通過(guò)IP網(wǎng)絡(luò)傳輸。然后,語(yǔ)音解碼器利用接收的語(yǔ)音包,對(duì)語(yǔ)音信號(hào)進(jìn)行重構(gòu)。重構(gòu)的語(yǔ)音信號(hào)接近原始語(yǔ)音信號(hào)。
語(yǔ)音編碼/解碼器必須能夠處理語(yǔ)音包丟失。這個(gè)魯棒性不僅決定加載網(wǎng)絡(luò)的音質(zhì),而且對(duì)可能引起語(yǔ)音包丟失的擁擠情況下的音質(zhì)也起著決定作用。其他因素也影響與編碼/解碼器相關(guān)的音質(zhì),包括處理不同的話音以及非語(yǔ)音信號(hào),如背景噪聲等。
除了上述兩個(gè)問(wèn)題,在實(shí)際的硬件電路中還存在著與執(zhí)行語(yǔ)音處理功能相關(guān)的其他問(wèn)題,這些問(wèn)題也將對(duì)音質(zhì)產(chǎn)生重要影響。例如,模-數(shù)轉(zhuǎn)換器、話音激活檢測(cè)、回音消除算法以及常見(jiàn)的語(yǔ)音處理問(wèn)題。
目前,許多VoIP硬件平臺(tái)通常使用的語(yǔ)音處理方案,都是基于公共交換電話網(wǎng)(PSTN)技術(shù),這是傳統(tǒng)的電話技術(shù)。人們對(duì)IP電話的質(zhì)量非常關(guān)心,因?yàn)橥娐方粨Q網(wǎng)相比,語(yǔ)音包網(wǎng)絡(luò)具有截然不同的特征。
GIPS技術(shù)專門(mén)用于IP通信,能夠處理語(yǔ)音包網(wǎng)絡(luò)特征。利用 GIPS公司研制的、用于ADI Blackfin處理器平臺(tái)的VoiceEngine嵌入式方案,VoIP硬件制造商將擁有以下優(yōu)勢(shì)。
獲得專利的自適應(yīng)抖動(dòng)緩沖器與錯(cuò)誤隱藏控制
GIPS公司已經(jīng)開(kāi)發(fā)出包含錯(cuò)誤隱藏算法的高級(jí)自適應(yīng)抖動(dòng)緩沖器,稱作NetEQ算法。這是一個(gè)單端(接收端)算法,使得接收機(jī)能夠受益匪淺,而不管發(fā)送端是否使用該算法。
NetEQ算法在一個(gè)算法中集成了自適應(yīng)抖動(dòng)控制算法以及語(yǔ)音包丟失隱藏算法。這項(xiàng)專利技術(shù)使其能夠快速且高解析度地適應(yīng)不斷變化的網(wǎng)絡(luò)環(huán)境,確保音質(zhì)優(yōu)美且緩沖延遲最小。之所以具有如此效果,是因?yàn)镹etEQ算法并不在語(yǔ)音包緩沖器內(nèi),而是與解碼器進(jìn)行集成。NetEQ算法是嵌入式軟件的一部分,該軟件在 IP網(wǎng)絡(luò)接口與 聲音播放裝置之間,不論它是模-數(shù)轉(zhuǎn)換器還是時(shí)分多址(TDM)接口。
由于NetEQ算法將抖動(dòng)緩沖器控制與語(yǔ)音包丟失隱藏算法合為一體,因此,能夠使抖動(dòng)引起的延遲最小。此外,該算法中的語(yǔ)音包丟失隱藏算法是基于一種創(chuàng)新的方法,其品質(zhì)是任何其他標(biāo)準(zhǔn)數(shù)據(jù)包丟失隱藏(PLC)方法所無(wú)法比擬的。
與普通VoIP軟件電話兼容的GIPS編碼/解碼器
GIPS公司的編碼/解碼器組件包括寬帶編碼/解碼器與窄帶編碼/解碼器,它們能夠生成魯棒的清晰音質(zhì),即使語(yǔ)音包丟失嚴(yán)重也不會(huì)受到影響。當(dāng)這個(gè)聲音清晰度與GIPS的NetEQ算法一起使用時(shí),將克服延遲與抖動(dòng),生成最高質(zhì)量的VoIP會(huì)話。
iPCM-wb
iPCM-wb是優(yōu)質(zhì)、低復(fù)雜度寬帶編碼/解碼器,對(duì)于語(yǔ)音包丟失具有極好的恢復(fù)性,使通話質(zhì)量明顯優(yōu)于PSTN。在端-端IP通信中使用時(shí),iPCM-wb編碼/解碼器能夠確保高端電話應(yīng)用具有卓越的音質(zhì)。
iLBC
iLBC則是一種免授權(quán)費(fèi)編碼/解碼器,所提供的音質(zhì)與 G.729E相似,優(yōu)于 G.729A,更是語(yǔ)音包時(shí)常丟失的擁擠網(wǎng)絡(luò)所望塵莫及的。iLBC由美國(guó)有線電視實(shí)驗(yàn)室(CableLabs)設(shè)計(jì),它也是IETF因特網(wǎng)工程任務(wù)組 (RFC 3951與RFC 3952)授予的第一個(gè)標(biāo)準(zhǔn)編碼/解碼器,是分組線纜有線電視電纜語(yǔ)音傳輸(VoCable,Voice over Cable)電話系統(tǒng)的強(qiáng)制部件。
改進(jìn)型G.711
改進(jìn)型G.711是GIPS公司標(biāo)準(zhǔn)G.711編碼/解碼器的改進(jìn)型產(chǎn)品,具有極好的包丟失魯棒性。這種改進(jìn)型編碼/解碼器,使嚴(yán)重超載的網(wǎng)絡(luò)也能保持良好音質(zhì)。
系統(tǒng)結(jié)構(gòu)已經(jīng)為GIPS媒體處理方案實(shí)現(xiàn)最優(yōu)化
絕大多數(shù)普通VoIP低密度終端器件具有多芯片系統(tǒng)結(jié)構(gòu),包括微控制器單元(MCU)以及至少一個(gè)數(shù)字信號(hào)處理器(DSP)。傳統(tǒng)方法是將信號(hào)處理進(jìn)行分離,使包處理由主處理器完成,而媒體處理則由DSP完成。
這種方法使得設(shè)計(jì)人員在為音/視頻通信設(shè)計(jì)高質(zhì)量媒體處理方案時(shí)面臨以下挑戰(zhàn)。
MCU與DSP之間的數(shù)據(jù)傳輸將帶來(lái)額外延遲,即降低效率;
DSP上的媒體處理部件需要進(jìn)一步集成與調(diào)諧,從而需要更多的時(shí)間與精力 。
ADI Blackfin處理器采用單一處理器系統(tǒng)結(jié)構(gòu),這樣所有的包處理與媒體處理都能在同一個(gè)處理器內(nèi)完成,從而使得GIPS媒體處理方案的效率更高。同多芯片結(jié)構(gòu)相比,利用ADI Blackfin處理器,復(fù)雜度將提高30% 以上(需要的處理起資源更少)。
縮短上市時(shí)間,保證音質(zhì)卓越
GIPS公司的VoiceEngine嵌入式方案,為硬件制造商提供了必要的接口與部件,使其通過(guò)單一的高級(jí)應(yīng)用程序接口實(shí)現(xiàn)語(yǔ)音應(yīng)用。同時(shí),該方案不需要額外器件,這樣,制造商就可以集中精力開(kāi)發(fā)核心應(yīng)用,而不必為聲音處理軟件的復(fù)雜集成以及調(diào)試操心。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論