G.729語音編碼算法_第1頁
G.729語音編碼算法_第2頁
G.729語音編碼算法_第3頁
G.729語音編碼算法_第4頁
G.729語音編碼算法_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、G.729語音編碼算法雙擊自動滾屏發(fā)布者:admin發(fā)布時間:2009-1-59:43:00閱讀:841次【字體:大中小】一、G.729編碼器介紹G.729是國際電信聯(lián)盟(ITU,InternationalTelecommunicationUnion)于1996年推出的采用共軛結(jié)構(gòu)-代數(shù)碼激勵線性預(yù)測(CS-ACELP,Conjugate-StructureAlgebraic-Code-ExcitedLinear-Predication)技術(shù)的具有8kbit/s碼率的語音編碼算法建議,該算法是以語音編碼方案中的碼激勵線性預(yù)測(CELP,CodeExcitedLinearPredication)

2、技術(shù)為基礎(chǔ)提出的,其原理如圖1所示。G.729是一種單聲道語音信號的壓縮編碼算法,模擬信號經(jīng)過話帶濾波器后,按8KHz的頻率采樣并轉(zhuǎn)換成16bit的線性PCM信號(即128kbit/s的碼流),這就是圖中所示的G.729編碼器的輸入語音信號。G.729編碼器以10ms的輸入幀(80個采樣點)為單位進(jìn)行編碼。G.729編碼器的輸出為8kbit/s的碼流,因此其壓縮比高達(dá)16:1。而經(jīng)G.729解碼器還原后的聲音質(zhì)量卻達(dá)到了相當(dāng)高的水準(zhǔn),其主觀平均得分(MOS,MeanOpinionScore)在4分以上(MOS最高得分為5分),屬于良好級別,人的耳朵幾乎察覺不到聲音有失真的情況,音質(zhì)與碼率為64

3、kbit/s的G.711編碼標(biāo)準(zhǔn)相近,而占用的帶寬僅為G.711的1/8。另外G.729編碼算法的延時較小,在15ms左右。雖然G.729具有較低的碼率、較高的還原音質(zhì)和較小的延時等優(yōu)點,但是由于其存在算法復(fù)雜度大和數(shù)據(jù)存儲量大的固有缺陷,在早期并沒有得到廣泛的實際應(yīng)用。后來隨著超大規(guī)模集成電路VSLI工藝的進(jìn)步,極大地推動數(shù)字信號處理器(DSP)技術(shù)的發(fā)展,各大廠商紛紛推出了各具特色的高性能DSP,也大大降低了實現(xiàn)G.729語音編碼算法的成本。目前,G.729已經(jīng)廣泛應(yīng)用于諸如IP電話、會議電視、數(shù)字音視頻監(jiān)控等領(lǐng)域。GcLPC伯息慝書分折*LPC薔息G了29編碼鴉原理JLPC倍懇陵這比為渝

4、發(fā)數(shù)搞咼固定側(cè)本悝索ILP分析岸化內(nèi)抽協(xié)臨fp化加戒注波器E*回宦*弓本I:*自適應(yīng)碼本肉處汕二、TrimediaTM1300處理器TM1300處理器是Philips公司推出的一款32位性能優(yōu)良的多媒體處理芯片,特別針對數(shù)字視頻和音頻應(yīng)用進(jìn)行了優(yōu)化,集成了視頻輸入/輸出接口、音頻輸入/輸出接口、IIC接口、PCI接口、SDRAM控制器等外圍設(shè)備接口,極大地簡化了外圍電路的設(shè)計,提高了系統(tǒng)的穩(wěn)定性、可靠性,降低了系統(tǒng)的總體成本。因此TM1300處理器在音視頻處理卡、多媒體嵌入式設(shè)備中得到了廣泛的應(yīng)用。TM1300處理器超強的的多媒體處理性能OpHTitiulL1OpHritiuiL2OpHrit

5、iufL3OpEI:4pHritiiiiJ得益于其核心CPU、多媒體操作指令集和存儲器體系結(jié)構(gòu)的設(shè)計。TM1300的核心是32位的超長指令字結(jié)構(gòu)(VLIW,Very-LongInstructionWord)的處理器,內(nèi)部有11種共27個執(zhí)行單元,在每一個時鐘周期內(nèi)最多可以同時安排5個執(zhí)行單元進(jìn)行5個操作,如圖2所示。TM1300有一整套專門針對多媒體運算的DSP操作指令,每一個操作可以執(zhí)行多個算術(shù)運算,比如操作UIFIR8UU(a,b)包括4個乘法運算和1個加法運算,這使TM1300具有強大的多媒體數(shù)據(jù)處理能力。而這些DSP操作指令都可以在C程序中直接調(diào)用,大大方便了編程。TM1300處理器內(nèi)

6、部含有128個通用寄存器,這些寄存器不是分段的,所有操作都能使用這些寄存器。TM1300使用32位線性尋址,尋址能力達(dá)到4GB,同時為了解決高速VLIWCPU和低速外存SDRAM之間的數(shù)據(jù)交換瓶頸,TM1300內(nèi)部集成了16KB的高速數(shù)據(jù)緩存和32KB的高速指令緩存(CACHE),以確保VLIWCPU的全速運行。TM1300的二進(jìn)制運行代碼以壓縮的格式存放在SDRAM和指令CACHE中,壓縮的代碼一方面可以提高指令CACHE的命中率,另一方面可以減少指令CACHE與SDRAM之間的數(shù)據(jù)交換。指令CACHE中有一個專門的指令解壓機構(gòu),它負(fù)責(zé)解壓縮指令并以224位的數(shù)據(jù)位寬向VLIWCPU提供指令

7、。而其數(shù)據(jù)CACHE是雙端口的,其數(shù)據(jù)位寬達(dá)64位,并且VLIWCPU與緩存之間是以CPU的運行頻率交換數(shù)據(jù)的。TM1300處理器的音頻輸入單元(AI)外接A/D轉(zhuǎn)換器,支持1個或2個聲道的音頻輸入采樣,每個采樣點可以設(shè)為8位或16位,可以工作在主模式或從模式,支持標(biāo)準(zhǔn)立體聲IIS格式和左對齊格式,采樣的數(shù)據(jù)通過雙DMA通道直接存放在SDRAM中,通過中斷方式通知CPU,減輕了CPU的負(fù)擔(dān)。三、G.729在TM1300上的優(yōu)化、實現(xiàn)國際電信聯(lián)盟ITU在推出G.729編解碼器算法的建議的同時,給出了G.729算法的一種軟件參考實現(xiàn),也給出了一組測試向量,用以驗證軟件的正確性。該軟件采用移植性較好

8、的ANSIC語言編寫的,因此可以在許多硬件平臺上編譯、運行。但是由于軟件采用的是16位定點運算,而且沒有針對任何硬件平臺做任何優(yōu)化,也沒有考慮并行運算,所以要充分發(fā)揮32位的TM1300CPU的強勁性能,降低實現(xiàn)成本,必須經(jīng)過大量的優(yōu)化工作。代碼優(yōu)化過程是一個不斷調(diào)整改造程序、利用測試向量驗證正確性和查看系統(tǒng)資源消耗(主要指CPU占用率和所需內(nèi)存)的過程,我們主要做了下列優(yōu)化工作。1、參考軟件采用的是16位定點運算,而TM1300是32位的處理器,因此我們把2個16位的音頻采樣數(shù)據(jù)合成一個32位的數(shù)據(jù),把絕大部分程序改造成32位定點運算的程序。2、參考軟件中包含了一組用函數(shù)實現(xiàn)的基本操作,包括

9、16位加法、減法、乘法、取飽和、左移、右移等函數(shù),從程序運行的角度看,這些基本函數(shù)效率十分低,而且不利于提高程序的并行度。我們利用TM1300的DSP操作指令把大部分這種函數(shù)改成單操作指令。如原來的16位加法函數(shù):Word16add(Word16var1,Word16var2)Word16var_out;Word32L_somme;L_somme=(Word32)var1+var2;var_out=sature(L_somme);return(var_out);其中sature()又是取飽和函數(shù),把32位帶符號整數(shù)轉(zhuǎn)換成16位帶符號整數(shù)。利用TM1300的DSP操作指令,我們把它改成下面這樣一

10、個宏定義:#defineadd(var1,var2)(Word16)DSPIDUALADD(var1),(var2)3、充分利用TM1300的128個通用寄存器,函數(shù)的臨時變量盡量不要使用數(shù)組,而是直接用單個整數(shù),因為TM1300編譯器把數(shù)組編譯成內(nèi)存方式的變量,而單個整數(shù)的臨時變量則用寄存器來保存,這樣不但提高了運行速度,也有利于提高數(shù)據(jù)CACHE的命中率。4、通過調(diào)整程序的流程來盡量提高程序的并行度,特別是耗時的函數(shù),如改變循環(huán)的次數(shù)、步長等。TM1300的軟件開發(fā)工具SDE中包含有測試函數(shù)并行度的工具,可以查看單個函數(shù)的并行度。我們知道TM1300的最高并行度為5,即1個時鐘周期執(zhí)行5個

11、操作,經(jīng)過我們的優(yōu)化,G.729編碼器的幾個重點函數(shù)的并行度達(dá)到了4.2以上。5、在C語言程序中,直接調(diào)用TM1300的匯編指令,特別是針對多媒體運算的DSP操作,盡量選用能并行執(zhí)行的操作。6、充分使用TM1300的2個高速緩存:指令CACHE和數(shù)據(jù)CACHE,提高CACHE的命中率。對于程序,在不影響并行度的前提下,使程序盡量小,避免程序的大范圍跳轉(zhuǎn),這樣可以提高指令CACHE的效率;M1300的數(shù)據(jù)CACHE是以64字節(jié)為單位的,即每次從SDRAM讀入數(shù)據(jù)或把數(shù)據(jù)調(diào)出數(shù)據(jù)CACHE,至少是64個字節(jié),因此在許多地方,我們對數(shù)據(jù)的存放位置進(jìn)行了重新調(diào)整,使讀入CACHE的數(shù)據(jù)能被CPU充分利用。通過上述優(yōu)化措施,我們花比較低的代價在TM1300DSP上實現(xiàn)了G.729編碼器算法。在DSP主頻為175MHZ、SDRAM頻率為140MHZ的TM1300硬件平臺上,G.729編碼器完成實時語音編碼

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論