基于CM70C01的語(yǔ)音壓縮編碼
2004年6月A版
摘 要:CM70C01是處理多種語(yǔ)音壓縮格式的混合信號處理芯片,由于編碼和解碼部分的標準不統一,使得部分語(yǔ)音壓縮文件與CM70C01不兼容。本文在深入了解CM70C01解碼和語(yǔ)音合成的基礎上,就LPC-10提出符合CM70C01的語(yǔ)音壓縮編碼方法。
關(guān)鍵詞:能量;音調;反射系數;語(yǔ)音壓縮
引言
CM70C01是中科微電子公司生產(chǎn)的混合信號處理芯片,集成8位MCU和語(yǔ)音合成電路,具有編程方便,能處理LPC-10、CELP、PCM、MELP等多種語(yǔ)音壓縮格式的能力和較優(yōu)的性?xún)r(jià)比,可以應用在各種語(yǔ)音處理場(chǎng)合。但由于LPC-10、CELP和MELP等語(yǔ)音格式在編碼和解碼部分有多種不同的標準,而且這些標準之間并不兼容,因此用戶(hù)自行編制的語(yǔ)音數據并不一定能被CM70C01識別或處理。在熟知語(yǔ)音壓縮基本算法而又缺少語(yǔ)音開(kāi)發(fā)板和相應軟件的情況下,就可以用純軟件的方法來(lái)實(shí)現基于CM70C01的語(yǔ)音壓縮編碼。本文以L(fǎng)PC-10為例子,說(shuō)明特征參數的提取、編碼的幀結構以及CM70C01的解碼和編碼的實(shí)現。
特征參數的提取
語(yǔ)音具有樣點(diǎn)間的短時(shí)相關(guān)性和相鄰基因周期間的長(cháng)時(shí)相關(guān)性,可以用一個(gè)全極點(diǎn)模型來(lái)描述一小段語(yǔ)音的生成模型。在利用線(xiàn)性預測方法對語(yǔ)音進(jìn)行上述兩種相關(guān)性的去相關(guān)處理后,能夠得到預測的余量信號。根據余量信號和全極點(diǎn)模型的預測系數,就可以合成語(yǔ)音。這就是線(xiàn)性預測編碼。
線(xiàn)性預測編碼(LPC-10)是將線(xiàn)性預測理論運用到語(yǔ)音編碼領(lǐng)域的一個(gè)典型例子。在預測編碼過(guò)程中,以幀為單位來(lái)分析和提取語(yǔ)音信號的相關(guān)特征參數,這些特征參數有包括:全極點(diǎn)模型的預測參數{ai}、能量增益(Energy)、音調(Pitch)、濁/清音標志(V/UV)。由特征參數來(lái)表述語(yǔ)音信號既可減小存儲空間,又可以低速率來(lái)進(jìn)行傳輸。在接收端,根據幀的特征參數決定激勵源、基音塊和幀塊間的插值,最后通過(guò)格型濾波器來(lái)合成語(yǔ)音。
由于預測參數不適于直接量化,因為它的微小變化會(huì )造成極點(diǎn)位置很大的變化,所以一般采用在數學(xué)上與之完全等價(jià)的反射系數K1~K10代替預測參數進(jìn)行量化編碼。反射系數的穩定條件是|Ki|<1,這在量化時(shí)是容易保證的??梢杂肅holeski UV分解法對LPC正則方程的系數矩陣求逆,得出反射系數。這種算法能夠比較準確的計算出共振峰的寬度,但由于篇幅關(guān)系,在這里不詳細敘述。
能量(語(yǔ)音波形的振幅)一般用如下公式計算:
式中Si為采樣取得的數字語(yǔ)音(一般還需經(jīng)過(guò)預加重處理,加強音譜中的高頻共振峰),M為一幀的采樣點(diǎn)數。
音調即基音周期,用平均幅度差函數AMDF計算。數字語(yǔ)音經(jīng)過(guò)一個(gè)四階Butterworth低通濾波器后再經(jīng)過(guò)二階逆濾波,然后計算延遲時(shí)間為個(gè)樣點(diǎn)的AMDF,由AMDF的最小值確定周期。
t的取值可為20~156。假設數字語(yǔ)音的采樣頻率為8KHz,t為60時(shí)AMDF最小,則
濁/清音的標志是根據AMDF最大值與最小值之比和過(guò)零率,用動(dòng)態(tài)規劃算法,在三幀范圍內進(jìn)行平滑和錯誤糾正而得出的。該標志有穩定的清音、清音向濁音轉換、濁音向清音轉換和穩定的濁音這四種狀態(tài)。
編碼的幀結構
在LPC-10傳輸數據流中,以幀為單位對特征系數進(jìn)行編碼。一般LPC-10數據按幀類(lèi)型可劃分為濁音幀和清音幀,其比特分配如表1。
基因周期和濁/清音標志用7比特表示,能量用5比特表示。濁音幀有10個(gè)反射系數,而清音幀只有4個(gè)反射系數,但比濁音多用20比特作為誤差糾正。另外,每一幀數據當中還包含有1比特同步信號。
而在CM70C01默認的語(yǔ)音編碼格式中,除了濁音幀和清音幀,還細分出重復幀、靜音幀和停止幀。顧名思義,這三種類(lèi)型的幀分別表示重復上一幀的反射系數、靜音和停止合成語(yǔ)音。它的比特分配表如表2。
能量用4比特表示:全0時(shí)為靜音幀,沒(méi)有音調和反射系數;全1時(shí)為停止幀,相當于結束標志,只會(huì )出現在語(yǔ)音數據末尾。重復標志(Repeat)為1時(shí),該幀為重復幀,表示它的反射系數與上一幀的相同。音調用7比特表示,全0時(shí)表示該幀為清音幀。所有的幀都沒(méi)有誤差糾正和同步信號。
CM70C01的解碼和編碼
在對比幀結構的不同之后,再進(jìn)一步了解特征參數在CM70C01解碼、合成語(yǔ)音過(guò)程中的作用。CM70C01取得一幀的數據后,按下列步驟進(jìn)行處理
各參數根據自身的解碼表進(jìn)行解碼,而根據解碼表可以近似的推算出編碼表。一般語(yǔ)音信號量化采用的是非均勻量化,采用最佳非均勻量化時(shí),最佳分層電平應取兩個(gè)相鄰量化電平的中點(diǎn)。
xk為分層電平,即量化區間的上限值;yk為量化電平;L為量化電平數。落在區間jk={xk<x≤xk+1}的值x量化后用yk表示。量化電平與解碼表是一一對應的,如果解碼表碼子對應的解碼值就是量化電平,那么在已知量化電平的條件下,就可以推算出各個(gè)量化區間的分層電平,從而得出量化編碼表。
解碼后的參數都為十六進(jìn)制數,并且要與下一幀的參數進(jìn)行插補。音調的插補公式:
P=(Pcurrent-Pnew)Timer+Pnew
Pcurrent為上一幀的周期值,Pnew為當前幀的周期值,Timer為定時(shí)器的值。其他參數的插補方法同上。特征參數在插補后,能量和反射系數直接送到CM70C01選通聲道相應的參數寄存器,而音調在乘以二后送入音調寄存器。
在語(yǔ)音合成中,濁/清音標志決定了采用的激勵信號。如果是清音,則以隨機數(白噪聲)為激勵源;如果是濁音,則用一周期性沖激信號通過(guò)全通濾波器來(lái)產(chǎn)生激勵源。能量決定了合成語(yǔ)音的增益,也就是音量大小。反射系數直接確定了格型濾波器的參數。決定音調的除了音調寄存器(Pitch Register,PR)還有音調周期計數器(Pitch Period Counter,PPC)。
假設合成器的取樣頻率是8K,在音調寄存器PR用TASYN指令加載后,每次取樣音調周期計數器PPC減20h,當PPC小于0時(shí),用音調寄存器PR中的值重新裝入PPC。當PPC中的值減到小于200h或加載值小于200h時(shí),微處理器可以做到,并決定何時(shí)執行插補。當音調周期計數器PPC減到140h~000h之間時(shí),激勵函數加到LPC濾波器的輸入端。如果解碼后音調的值為7C0h,PR的值則為F80h,實(shí)際周期和頻率
當音調為133.33Hz即t為60(十進(jìn)制數,十六進(jìn)制時(shí)為3Ch)時(shí),對應的解碼值為,對應的量化碼子可查詢(xún)解碼表得到。
根據上述參數的作用可知,能量和反射系數在解碼后直接用于語(yǔ)音合成,所以可根據解碼表直接推算出量化編碼表;而基因周期經(jīng)過(guò)一些簡(jiǎn)單的計算也能由解碼表算出量化編碼表。經(jīng)過(guò)提取特征參數,推算量化編碼表等一系列準備工作后,現在可以按照CM70C01幀的結構對特征參數進(jìn)行量化編碼。其步驟如下:
對于本文的例子LPC-10來(lái)說(shuō),在編碼后有時(shí)還需要用戶(hù)根據經(jīng)驗修改反射系數,那么只需在量化編碼過(guò)程中加入一個(gè)表格窗口,用于顯示和修改量化編碼數據,就能完全替代語(yǔ)音開(kāi)發(fā)板及其軟件獨立進(jìn)行語(yǔ)音壓縮編碼。對于CELP、MELP這些語(yǔ)音壓縮格式,不需要提供表格窗口來(lái)修改編碼數據。
結語(yǔ)
綜上所述,用純軟件的方法來(lái)實(shí)現基于CM70C01的LPC-10編碼是可行的。對于那些缺少相應語(yǔ)音開(kāi)發(fā)板和相關(guān)軟件支持而又希望使用CM70C01的用戶(hù)來(lái)說(shuō),本文提供的方法能夠較好的解決語(yǔ)音壓縮編碼的問(wèn)題。如果要使用CM70C01支持的其他幾種語(yǔ)音壓縮格式,如CELP、MELP等,由于其編碼的原理與LPC-10類(lèi)似,根據本文所提供的解決方法,可以實(shí)現基于CM70C01的語(yǔ)音壓縮編碼?!?/P>
參考文獻:
1. 楊行峻、遲惠生等,‘語(yǔ)音信號數字處理’,第二版,電子工業(yè)出版社,1998
2. L.R.拉賓那、R.W.謝弗 ,‘語(yǔ)音數字信號處理’,科學(xué)出版社,1982
3. 彭崇梅、李全圣,‘對線(xiàn)性預測語(yǔ)音解壓縮方法的探討’,電子產(chǎn)品世界,2001年4B期
評論