G.729語(yǔ)音編碼算法研究及基于DSP的實(shí)現(xiàn)
2.2 系統(tǒng)軟件設(shè)計(jì)
本設(shè)計(jì)中McBSP0口接收數(shù)據(jù)處理,主要進(jìn)行話音編碼,并將編碼比特流從HPI接口送出,HPI接口接收數(shù)據(jù)處理,主要進(jìn)行話音解碼,并將解碼后的PCM數(shù)據(jù)從McBSP0口送出。軟件系統(tǒng)為了保證McBSP0和HPI接口接收數(shù)據(jù)的正常處理,還需實(shí)現(xiàn)一些輔助功能模塊包括:系統(tǒng)初始化模塊、支持系統(tǒng)在線配置的模塊以及系統(tǒng)收發(fā)數(shù)據(jù)的同步檢測(cè)模塊。系統(tǒng)軟件流程如圖4所示。
2.2.1 編碼過(guò)程
G.729編碼器的流程如圖5所示。首先,編碼器會(huì)初始化,主要是初始化各緩沖區(qū);然后編碼器對(duì)輸入的原始語(yǔ)音信號(hào)進(jìn)行預(yù)處理,包括高通濾波和幅度減半。其中,高通濾波的截止頻率為140 Hz,它是一個(gè)二階的零極點(diǎn)濾波器,目的是要去除輸入信號(hào)中的低頻十?dāng)_。對(duì)輸入信號(hào)進(jìn)行預(yù)處理以后,編碼器開(kāi)始編碼,這是通過(guò)調(diào)用匯編函數(shù)Coder_ld8a實(shí)現(xiàn)的;編碼產(chǎn)生的參數(shù)使用函數(shù)prm2bits轉(zhuǎn)化為比特流,送到信道里傳輸。
2.2.2 解碼過(guò)程
G.729解碼器流程如圖6所示。與編碼器類似,解碼器首先要進(jìn)行初始化,特別是初始化緩沖區(qū);接著解碼器從輸入碼流中提取參數(shù);由于碼流在信道的傳輸過(guò)程中可能發(fā)牛錯(cuò)誤,所以從碼流中提取得到參數(shù)后應(yīng)該進(jìn)行奇偶校驗(yàn),以確定參數(shù)是正確的;通過(guò)了奇偶校驗(yàn)后,解碼器正式開(kāi)始解碼,這是通過(guò)調(diào)用匯編函數(shù)Decod_ld8a實(shí)現(xiàn)的;解碼重建語(yǔ)音信號(hào)后,還應(yīng)該進(jìn)行后濾波和后處理。其中,后處理起高通濾波和幅度翻倍的作用。
3 系統(tǒng)編解碼算法性能測(cè)試
編解碼算法性能包括兩方面:運(yùn)算量和存儲(chǔ)要求。要達(dá)到高性能,不僅要運(yùn)算量低,而且存儲(chǔ)器使用也要少。表3和表4分別列出了編解碼器的運(yùn)算量和存儲(chǔ)器使用情況。
評(píng)論