基于DSP芯片的MELP聲碼器的算法實現
發布時間:2007/8/23 0:00:00 訪問次數:495
來源:微計算機信息作者:郝軟層 徐金甫
摘要:論文對MELP編解碼算法的原理進行了簡要分析,討論了如何在定點DSP芯片TMS320VC5416上實現該算法,并研究了其關鍵技術,最后對測試結果進行了分析。
關鍵詞:MELP;語音編碼;定點DSP芯片TMS320VC5416
1引言
1996年3月,美國政府數字語音處理協會(DDVPC)選擇了2.4kbps混合激勵線性預測(MELP)語音編碼器作為窄帶保密語音編碼的產品以及各種應用的新標準由于MELP具有良好的音質、極低的碼率,以及良好的抗誤碼特性,可以應用在IP PHONE、移動通信、衛星通信等領域,尤其在需要大量存儲話音的場合和保密通信等方面,具有很好的發展前景。
編碼算法有硬件實現和軟件實現兩種方式,軟件實現靈活性強,但處理速度較慢,一般不能滿足實時處理的要求。硬件實現分為專用法和通用法兩種。通用法是基于通用數字信號處理器芯片實現編碼算法的,它具有體積小、功耗低、運算速度快等優點,其靈活性主要表現在軟件易于更改以及對各種算法的處理和復雜算法的實現上,非常適用于語音信號、視頻信號等壓縮處理。
MELP算法復雜度較高,因此實時實現必須借助于高性能的數字信號處理芯片。目前國內還沒有用于研究聲碼器算法的專用芯片。因此,從功耗和性能多方面考慮,本文采用通用法實現MELP聲碼器算法,選擇TI公司的TMS320VC5416 DSP芯片作為主處理器,完成聲碼器的主要功能。
2MELP編解碼算法
2.1 編碼部分
編碼器基于線性預測分析合成技術,采樣率為8kHz,以180采樣值(22.5ms)為一幀進行編碼,總體框圖見圖1。
輸入的原始語音信號經過隔直濾波(即高通濾波),得到目標信號S(n)。再對目標信號作以下處理:①低通濾波后用歸一化互相關法進行基音粗估,然后根據[0Hz,500Hz]子帶信號圍繞粗估基音估算分數基音;②帶通分析,在5個子帶計算話音強度,以決定各子帶的清/濁音判決,其中[0Hz,500Hz]子帶強度用于確定非周期標志位;③計算LPC和尖峰值,用L-D算法提取10個LP系數,然后乘以帶寬擴展系數,使用得到的系數計算殘差信號,對殘差信號的160個抽樣計算尖峰值;④使用截止頻率為1kHz的6階巴特沃茲濾波器低通濾波殘差信號,結合上一子幀的基音和當前子幀的分數基因,搜索出最終基音周期;⑤使用一個基音自適應窗采用一幀兩次的方法對增益進行量化;⑥LPC分析,并轉換成線譜對LSP參數量化;⑦將量化后的LSP參數轉換為LPC參數并進行逆濾波操作,殘差信號補0至512點,對其進行512點FFT,利用頻譜峰點檢測算法找到前10次諧波對應的傅立葉系數輸出。
圖1 MELP編碼器編碼原理圖
2.2 解碼部分
解碼器從信道接收到的數據中恢復出每幀的所有參數,經判斷如果此幀是比較安靜的語音幀,則增加對接觸的兩個子幀增益進行噪聲衰減處理,同時改變噪聲估計的值。所有合成的參數對其做基音同步內插處理,這些內插的參數包括基音周期、增益、LSF系數、顫動強度、量化的傅立葉幅度、用于產生混合激勵信號的周期信號濾波器的系數和噪聲濾波器系數、自適應增強濾波器的譜斜度系數。內插完成后,使用被子帶濾波器濾波后的周期信號和噪聲激勵信號相加來產生混合激勵信號。然后兩個激勵信號被分別濾波,并相加得到激勵信號。合成混合激勵信號后,信號經自適應譜增強濾波器處理,以改善共振峰的形狀。隨后,激勵信號進行LPC合成得到合成語音。LPC合成用了一個直接形式的濾波器,其系數由插值后的LSP參數得到,合成的語音信號經增益調整和脈沖散布濾波后輸出。總體框圖見圖2。
圖2MELP編碼器解碼原理圖
3TMS320VC5416簡介
TMS320VC5416的總體系結構圖如圖4所示。其內部的高性能CPU擁有算術邏輯單元ALU、2個40位累加器ACCA和ACCB、40位桶行移位寄存器、乘累加單元以及尋址單元,算術邏輯單元包括1個40位的ALU,1個比較、選擇和存儲單元(CSSU)和1個指數編碼器,具有高度的并行性。本文采用的TMS320VC5416芯片最大可尋址能力為192K字(包括64K字的程序空間、64K字的數據空間和64K字的I/O空間),擴展尋址模式下有256K字~8M字的擴展地址空間,并擁有一套高效靈活的指令集。其指令周期為6.25ns,執行速度最高可以達到160MIPS,完全可以滿足實時
來源:微計算機信息作者:郝軟層 徐金甫
摘要:論文對MELP編解碼算法的原理進行了簡要分析,討論了如何在定點DSP芯片TMS320VC5416上實現該算法,并研究了其關鍵技術,最后對測試結果進行了分析。
關鍵詞:MELP;語音編碼;定點DSP芯片TMS320VC5416
1引言
1996年3月,美國政府數字語音處理協會(DDVPC)選擇了2.4kbps混合激勵線性預測(MELP)語音編碼器作為窄帶保密語音編碼的產品以及各種應用的新標準由于MELP具有良好的音質、極低的碼率,以及良好的抗誤碼特性,可以應用在IP PHONE、移動通信、衛星通信等領域,尤其在需要大量存儲話音的場合和保密通信等方面,具有很好的發展前景。
編碼算法有硬件實現和軟件實現兩種方式,軟件實現靈活性強,但處理速度較慢,一般不能滿足實時處理的要求。硬件實現分為專用法和通用法兩種。通用法是基于通用數字信號處理器芯片實現編碼算法的,它具有體積小、功耗低、運算速度快等優點,其靈活性主要表現在軟件易于更改以及對各種算法的處理和復雜算法的實現上,非常適用于語音信號、視頻信號等壓縮處理。
MELP算法復雜度較高,因此實時實現必須借助于高性能的數字信號處理芯片。目前國內還沒有用于研究聲碼器算法的專用芯片。因此,從功耗和性能多方面考慮,本文采用通用法實現MELP聲碼器算法,選擇TI公司的TMS320VC5416 DSP芯片作為主處理器,完成聲碼器的主要功能。
2MELP編解碼算法
2.1 編碼部分
編碼器基于線性預測分析合成技術,采樣率為8kHz,以180采樣值(22.5ms)為一幀進行編碼,總體框圖見圖1。
輸入的原始語音信號經過隔直濾波(即高通濾波),得到目標信號S(n)。再對目標信號作以下處理:①低通濾波后用歸一化互相關法進行基音粗估,然后根據[0Hz,500Hz]子帶信號圍繞粗估基音估算分數基音;②帶通分析,在5個子帶計算話音強度,以決定各子帶的清/濁音判決,其中[0Hz,500Hz]子帶強度用于確定非周期標志位;③計算LPC和尖峰值,用L-D算法提取10個LP系數,然后乘以帶寬擴展系數,使用得到的系數計算殘差信號,對殘差信號的160個抽樣計算尖峰值;④使用截止頻率為1kHz的6階巴特沃茲濾波器低通濾波殘差信號,結合上一子幀的基音和當前子幀的分數基因,搜索出最終基音周期;⑤使用一個基音自適應窗采用一幀兩次的方法對增益進行量化;⑥LPC分析,并轉換成線譜對LSP參數量化;⑦將量化后的LSP參數轉換為LPC參數并進行逆濾波操作,殘差信號補0至512點,對其進行512點FFT,利用頻譜峰點檢測算法找到前10次諧波對應的傅立葉系數輸出。
圖1 MELP編碼器編碼原理圖
2.2 解碼部分
解碼器從信道接收到的數據中恢復出每幀的所有參數,經判斷如果此幀是比較安靜的語音幀,則增加對接觸的兩個子幀增益進行噪聲衰減處理,同時改變噪聲估計的值。所有合成的參數對其做基音同步內插處理,這些內插的參數包括基音周期、增益、LSF系數、顫動強度、量化的傅立葉幅度、用于產生混合激勵信號的周期信號濾波器的系數和噪聲濾波器系數、自適應增強濾波器的譜斜度系數。內插完成后,使用被子帶濾波器濾波后的周期信號和噪聲激勵信號相加來產生混合激勵信號。然后兩個激勵信號被分別濾波,并相加得到激勵信號。合成混合激勵信號后,信號經自適應譜增強濾波器處理,以改善共振峰的形狀。隨后,激勵信號進行LPC合成得到合成語音。LPC合成用了一個直接形式的濾波器,其系數由插值后的LSP參數得到,合成的語音信號經增益調整和脈沖散布濾波后輸出。總體框圖見圖2。
圖2MELP編碼器解碼原理圖
3TMS320VC5416簡介
TMS320VC5416的總體系結構圖如圖4所示。其內部的高性能CPU擁有算術邏輯單元ALU、2個40位累加器ACCA和ACCB、40位桶行移位寄存器、乘累加單元以及尋址單元,算術邏輯單元包括1個40位的ALU,1個比較、選擇和存儲單元(CSSU)和1個指數編碼器,具有高度的并行性。本文采用的TMS320VC5416芯片最大可尋址能力為192K字(包括64K字的程序空間、64K字的數據空間和64K字的I/O空間),擴展尋址模式下有256K字~8M字的擴展地址空間,并擁有一套高效靈活的指令集。其指令周期為6.25ns,執行速度最高可以達到160MIPS,完全可以滿足實時