日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CM70C01的語音壓縮編碼

          基于CM70C01的語音壓縮編碼

          作者:中科院微電子所 徐曉冬 彭崇梅 李全圣 時(shí)間:2004-10-18 來源:電子產(chǎn)品世界 收藏

          2004年6月A版

          摘  要:是處理多種語音壓縮格式的混合信號(hào)處理芯片,由于編碼和解碼部分的標(biāo)準(zhǔn)不統(tǒng)一,使得部分語音壓縮文件與不兼容。本文在深入了解解碼和語音合成的基礎(chǔ)上,就LPC-10提出符合CM70C01的語音壓縮編碼方法。

          關(guān)鍵詞:能量;音調(diào);反射系數(shù);語音壓縮

          引言

            CM70C01是中科微電子公司生產(chǎn)的混合信號(hào)處理芯片,集成8位MCU和語音合成電路,具有編程方便,能處理LPC-10、CELP、PCM、MELP等多種語音壓縮格式的能力和較優(yōu)的性價(jià)比,可以應(yīng)用在各種語音處理場(chǎng)合。但由于LPC-10、CELP和MELP等語音格式在編碼和解碼部分有多種不同的標(biāo)準(zhǔn),而且這些標(biāo)準(zhǔn)之間并不兼容,因此用戶自行編制的語音數(shù)據(jù)并不一定能被CM70C01識(shí)別或處理。在熟知語音壓縮基本算法而又缺少語音開發(fā)板和相應(yīng)軟件的情況下,就可以用純軟件的方法來實(shí)現(xiàn)基于CM70C01的語音壓縮編碼。本文以LPC-10為例子,說明特征參數(shù)的提取、編碼的幀結(jié)構(gòu)以及CM70C01的解碼和編碼的實(shí)現(xiàn)。

          特征參數(shù)的提取

            語音具有樣點(diǎn)間的短時(shí)相關(guān)性和相鄰基因周期間的長(zhǎng)時(shí)相關(guān)性,可以用一個(gè)全極點(diǎn)模型來描述一小段語音的生成模型。在利用線性預(yù)測(cè)方法對(duì)語音進(jìn)行上述兩種相關(guān)性的去相關(guān)處理后,能夠得到預(yù)測(cè)的余量信號(hào)。根據(jù)余量信號(hào)和全極點(diǎn)模型的預(yù)測(cè)系數(shù),就可以合成語音。這就是線性預(yù)測(cè)編碼。

            線性預(yù)測(cè)編碼(LPC-10)是將線性預(yù)測(cè)理論運(yùn)用到語音編碼領(lǐng)域的一個(gè)典型例子。在預(yù)測(cè)編碼過程中,以幀為單位來分析和提取語音信號(hào)的相關(guān)特征參數(shù),這些特征參數(shù)有包括:全極點(diǎn)模型的預(yù)測(cè)參數(shù){ai}、能量增益(Energy)、音調(diào)(Pitch)、濁/清音標(biāo)志(V/UV)。由特征參數(shù)來表述語音信號(hào)既可減小存儲(chǔ)空間,又可以低速率來進(jìn)行傳輸。在接收端,根據(jù)幀的特征參數(shù)決定激勵(lì)源、基音塊和幀塊間的插值,最后通過格型濾波器來合成語音。

            由于預(yù)測(cè)參數(shù)不適于直接量化,因?yàn)樗奈⑿∽兓瘯?huì)造成極點(diǎn)位置很大的變化,所以一般采用在數(shù)學(xué)上與之完全等價(jià)的反射系數(shù)K1~K10代替預(yù)測(cè)參數(shù)進(jìn)行量化編碼。反射系數(shù)的穩(wěn)定條件是|Ki|<1,這在量化時(shí)是容易保證的??梢杂肅holeski UV分解法對(duì)LPC正則方程的系數(shù)矩陣求逆,得出反射系數(shù)。這種算法能夠比較準(zhǔn)確的計(jì)算出共振峰的寬度,但由于篇幅關(guān)系,在這里不詳細(xì)敘述。

            能量(語音波形的振幅)一般用如下公式計(jì)算:

            式中Si為采樣取得的數(shù)字語音(一般還需經(jīng)過預(yù)加重處理,加強(qiáng)音譜中的高頻共振峰),M為一幀的采樣點(diǎn)數(shù)。

            音調(diào)即基音周期,用平均幅度差函數(shù)AMDF計(jì)算。數(shù)字語音經(jīng)過一個(gè)四階Butterworth低通濾波器后再經(jīng)過二階逆濾波,然后計(jì)算延遲時(shí)間為個(gè)樣點(diǎn)的AMDF,由AMDF的最小值確定周期。

            t的取值可為20~156。假設(shè)數(shù)字語音的采樣頻率為8KHz,t為60時(shí)AMDF最小,則

            濁/清音的標(biāo)志是根據(jù)AMDF最大值與最小值之比和過零率,用動(dòng)態(tài)規(guī)劃算法,在三幀范圍內(nèi)進(jìn)行平滑和錯(cuò)誤糾正而得出的。該標(biāo)志有穩(wěn)定的清音、清音向濁音轉(zhuǎn)換、濁音向清音轉(zhuǎn)換和穩(wěn)定的濁音這四種狀態(tài)。

          編碼的幀結(jié)構(gòu)

            在LPC-10傳輸數(shù)據(jù)流中,以幀為單位對(duì)特征系數(shù)進(jìn)行編碼。一般LPC-10數(shù)據(jù)按幀類型可劃分為濁音幀和清音幀,其比特分配如表1。

            基因周期和濁/清音標(biāo)志用7比特表示,能量用5比特表示。濁音幀有10個(gè)反射系數(shù),而清音幀只有4個(gè)反射系數(shù),但比濁音多用20比特作為誤差糾正。另外,每一幀數(shù)據(jù)當(dāng)中還包含有1比特同步信號(hào)。

            而在CM70C01默認(rèn)的語音編碼格式中,除了濁音幀和清音幀,還細(xì)分出重復(fù)幀、靜音幀和停止幀。顧名思義,這三種類型的幀分別表示重復(fù)上一幀的反射系數(shù)、靜音和停止合成語音。它的比特分配表如表2。

            能量用4比特表示:全0時(shí)為靜音幀,沒有音調(diào)和反射系數(shù);全1時(shí)為停止幀,相當(dāng)于結(jié)束標(biāo)志,只會(huì)出現(xiàn)在語音數(shù)據(jù)末尾。重復(fù)標(biāo)志(Repeat)為1時(shí),該幀為重復(fù)幀,表示它的反射系數(shù)與上一幀的相同。音調(diào)用7比特表示,全0時(shí)表示該幀為清音幀。所有的幀都沒有誤差糾正和同步信號(hào)。

          CM70C01的解碼和編碼

            在對(duì)比幀結(jié)構(gòu)的不同之后,再進(jìn)一步了解特征參數(shù)在CM70C01解碼、合成語音過程中的作用。CM70C01取得一幀的數(shù)據(jù)后,按下列步驟進(jìn)行處理

            各參數(shù)根據(jù)自身的解碼表進(jìn)行解碼,而根據(jù)解碼表可以近似的推算出編碼表。一般語音信號(hào)量化采用的是非均勻量化,采用最佳非均勻量化時(shí),最佳分層電平應(yīng)取兩個(gè)相鄰量化電平的中點(diǎn)。

            xk為分層電平,即量化區(qū)間的上限值;yk為量化電平;L為量化電平數(shù)。落在區(qū)間jk={xk<x≤xk+1}的值x量化后用yk表示。量化電平與解碼表是一一對(duì)應(yīng)的,如果解碼表碼子對(duì)應(yīng)的解碼值就是量化電平,那么在已知量化電平的條件下,就可以推算出各個(gè)量化區(qū)間的分層電平,從而得出量化編碼表。

            解碼后的參數(shù)都為十六進(jìn)制數(shù),并且要與下一幀的參數(shù)進(jìn)行插補(bǔ)。音調(diào)的插補(bǔ)公式:

            P=(Pcurrent-Pnew)Timer+Pnew

            Pcurrent為上一幀的周期值,Pnew為當(dāng)前幀的周期值,Timer為定時(shí)器的值。其他參數(shù)的插補(bǔ)方法同上。特征參數(shù)在插補(bǔ)后,能量和反射系數(shù)直接送到CM70C01選通聲道相應(yīng)的參數(shù)寄存器,而音調(diào)在乘以二后送入音調(diào)寄存器。

            在語音合成中,濁/清音標(biāo)志決定了采用的激勵(lì)信號(hào)。如果是清音,則以隨機(jī)數(shù)(白噪聲)為激勵(lì)源;如果是濁音,則用一周期性沖激信號(hào)通過全通濾波器來產(chǎn)生激勵(lì)源。能量決定了合成語音的增益,也就是音量大小。反射系數(shù)直接確定了格型濾波器的參數(shù)。決定音調(diào)的除了音調(diào)寄存器(Pitch Register,PR)還有音調(diào)周期計(jì)數(shù)器(Pitch Period Counter,PPC)。

            假設(shè)合成器的取樣頻率是8K,在音調(diào)寄存器PR用TASYN指令加載后,每次取樣音調(diào)周期計(jì)數(shù)器PPC減20h,當(dāng)PPC小于0時(shí),用音調(diào)寄存器PR中的值重新裝入PPC。當(dāng)PPC中的值減到小于200h或加載值小于200h時(shí),微處理器可以做到,并決定何時(shí)執(zhí)行插補(bǔ)。當(dāng)音調(diào)周期計(jì)數(shù)器PPC減到140h~000h之間時(shí),激勵(lì)函數(shù)加到LPC濾波器的輸入端。如果解碼后音調(diào)的值為7C0h,PR的值則為F80h,實(shí)際周期和頻率

            當(dāng)音調(diào)為133.33Hz即t為60(十進(jìn)制數(shù),十六進(jìn)制時(shí)為3Ch)時(shí),對(duì)應(yīng)的解碼值為,對(duì)應(yīng)的量化碼子可查詢解碼表得到。

            根據(jù)上述參數(shù)的作用可知,能量和反射系數(shù)在解碼后直接用于語音合成,所以可根據(jù)解碼表直接推算出量化編碼表;而基因周期經(jīng)過一些簡(jiǎn)單的計(jì)算也能由解碼表算出量化編碼表。經(jīng)過提取特征參數(shù),推算量化編碼表等一系列準(zhǔn)備工作后,現(xiàn)在可以按照CM70C01幀的結(jié)構(gòu)對(duì)特征參數(shù)進(jìn)行量化編碼。其步驟如下:

            對(duì)于本文的例子LPC-10來說,在編碼后有時(shí)還需要用戶根據(jù)經(jīng)驗(yàn)修改反射系數(shù),那么只需在量化編碼過程中加入一個(gè)表格窗口,用于顯示和修改量化編碼數(shù)據(jù),就能完全替代語音開發(fā)板及其軟件獨(dú)立進(jìn)行語音壓縮編碼。對(duì)于CELP、MELP這些語音壓縮格式,不需要提供表格窗口來修改編碼數(shù)據(jù)。

          結(jié)語

            綜上所述,用純軟件的方法來實(shí)現(xiàn)基于CM70C01的LPC-10編碼是可行的。對(duì)于那些缺少相應(yīng)語音開發(fā)板和相關(guān)軟件支持而又希望使用CM70C01的用戶來說,本文提供的方法能夠較好的解決語音壓縮編碼的問題。如果要使用CM70C01支持的其他幾種語音壓縮格式,如CELP、MELP等,由于其編碼的原理與LPC-10類似,根據(jù)本文所提供的解決方法,可以實(shí)現(xiàn)基于CM70C01的語音壓縮編碼。■

          參考文獻(xiàn):

          1. 楊行峻、遲惠生等,‘語音信號(hào)數(shù)字處理’,第二版,電子工業(yè)出版社,1998

          2. L.R.拉賓那、R.W.謝弗 ,‘語音數(shù)字信號(hào)處理’,科學(xué)出版社,1982

          3. 彭崇梅、李全圣,‘對(duì)線性預(yù)測(cè)語音解壓縮方法的探討’,電子產(chǎn)品世界,2001年4B期



          關(guān)鍵詞: CM70C01 嵌入式

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉