孫 震,張江鑫
(浙江工業(yè)大學(xué)信息工程學(xué)院,浙江杭州310023)
線性預(yù)測(cè)技術(shù)是如今一種強(qiáng)有力的分析技術(shù),已經(jīng)在很多語(yǔ)音處理領(lǐng)域中得到了應(yīng)用,如語(yǔ)音編碼、語(yǔ)音合成和語(yǔ)音識(shí)別等。G.729[1]是當(dāng)前較新的一種低碼率語(yǔ)音編碼標(biāo)準(zhǔn),廣泛應(yīng)用在IP電話、無(wú)線通信、數(shù)字衛(wèi)星系統(tǒng)等領(lǐng)域,是當(dāng)今的研究熱點(diǎn)之一[2]。本文首先介紹線性預(yù)測(cè)技術(shù)的原理,然后以G.729為例研究了不同的階數(shù)對(duì)編碼系統(tǒng)的影響,最后對(duì)階數(shù)的選擇進(jìn)行了總結(jié)。
線性預(yù)測(cè)技術(shù)的基本原理是通過(guò)使實(shí)際語(yǔ)音序列跟線性預(yù)測(cè)序列之間的最小均方誤差趨于無(wú)窮小,得到一組最佳的線性預(yù)測(cè)系數(shù),從而達(dá)到線性預(yù)測(cè)的目的。
其基本過(guò)程:在序列s(n)中任取一個(gè)時(shí)刻n,假設(shè)n之前P個(gè)樣點(diǎn)上的語(yǔ)音樣值s(n-1),s(n-2),…,s(n-P)為已知,而時(shí)刻n的語(yǔ)音樣值s(n)未知?,F(xiàn)在,用這P個(gè)已知的樣值取某種線性組合來(lái)預(yù)測(cè)未知的樣值??杀硎緸椋?/p>
式中,各系數(shù)即為預(yù)測(cè)系數(shù)。預(yù)測(cè)值與真實(shí)值之間的誤差稱為預(yù)測(cè)誤差,用e(n)表示:
G.729編碼在經(jīng)過(guò)對(duì)語(yǔ)音的信號(hào)定標(biāo)和高通濾波的預(yù)處理后即開(kāi)始進(jìn)行線性預(yù)測(cè)分析。
G.729的短期分析和合成濾波器是建立在10階線性預(yù)測(cè)濾波器的基礎(chǔ)上的,其定義為:
具體過(guò)程是每80個(gè)樣點(diǎn)計(jì)算一次開(kāi)窗語(yǔ)音的自相關(guān)系數(shù),通常采用加窗技術(shù),使用30ms非對(duì)稱窗的自相關(guān)方法,其中5ms來(lái)自下一幀(預(yù)留時(shí)間),15ms來(lái)自上一幀,當(dāng)前幀10ms,窗函數(shù)為:
語(yǔ)音信號(hào)s(n)加窗后變?yōu)閟'(n),計(jì)算其自相關(guān)函數(shù)為:
最終采用林文孫—杜賓算法[4]得到LP系數(shù)ai。
可以看出濾波器階數(shù)在計(jì)算LP系數(shù)時(shí)貫穿始終。接下來(lái)的工作是通過(guò)實(shí)驗(yàn)來(lái)對(duì)之前的原理在不同的濾波器階數(shù)情況下進(jìn)行演繹,通過(guò)結(jié)果的對(duì)比分析,進(jìn)行歸納。
本文采用matlab軟件對(duì)語(yǔ)音進(jìn)行處理仿真,讀入的語(yǔ)音樣本為央視科教頻道的臺(tái)標(biāo)宣傳音樂(lè)和一段貓叫聲,分別記為CCTV10.wav和CAT.wav,并先將它們編輯為要求的8kHz、16位PCM 信號(hào)。
線性預(yù)測(cè)譜的質(zhì)量可用均方預(yù)測(cè)誤差(式2)粗略衡量,現(xiàn)將各階均方誤差歸一化,其定義為:
式中,N為幀長(zhǎng),ei(k)表示第i幀第k階預(yù)測(cè)誤差。各階數(shù)的歸一化均方誤差如表1所示。
表1 不同濾波器階數(shù)下的歸一化均方誤差一覽
從計(jì)算的歸一化均方誤差來(lái)看,前4階隨著濾波器階數(shù)的增大均方誤差下降非常明顯,接下來(lái)進(jìn)入緩慢下降期,從第7階開(kāi)始?xì)w一化的均方誤差區(qū)分度變得很差。
先看G.729標(biāo)準(zhǔn)選用的10階的情況如圖1所示,圖1中實(shí)線為原始語(yǔ)音信號(hào)的頻譜,虛線為預(yù)測(cè)系數(shù)估計(jì)的原始語(yǔ)音信號(hào)的頻譜,下同。同理,可以得到7~11階其它的情況,如圖2所示。
由圖可得,至少到9階時(shí)主要共振峰(頻譜與估計(jì)譜主要從共振峰的匹配來(lái)比較,它是語(yǔ)音頻譜中能量相對(duì)集中的一些區(qū)域,不但是音質(zhì)的決定因素,而且反映聲道的物理特征)才能初步被估計(jì)出來(lái)。而在可承受的質(zhì)量損失前提下,結(jié)合歸一化均方誤差的結(jié)果,階數(shù)可取9階。而只要效率允許,調(diào)到11階語(yǔ)音質(zhì)量便可上升一個(gè)檔次。因?yàn)?1階時(shí)歸一化均方誤差比10階小,同12階卻是一樣的;而估計(jì)譜中11階時(shí)不但與原來(lái)的幾個(gè)共振峰更加匹配了,而且質(zhì)量也提高了甚至?xí)懈嗟墓舱穹弩w現(xiàn)。而G.729從自身應(yīng)用出發(fā),最終選擇了折中的10階作為其線性濾波器階數(shù)。
圖1 10階線性預(yù)測(cè)濾波器估計(jì)譜與原始譜的比較(左為CCTV,右為CAT)
圖2 7、8、9、11階線性濾波器估計(jì)譜與原始譜的比較(上為CCTV,下為CAT)
通過(guò)對(duì)以上實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比分析后便可以得到線性預(yù)測(cè)濾波器階數(shù)的選擇兩個(gè)原則。
(1)最小均方誤差原則。指選擇階數(shù)并確定系數(shù)時(shí)要時(shí)刻以使(歸一化)均方誤差最小為標(biāo)準(zhǔn)。
這是總的原則。一般模型的階數(shù)P不能預(yù)先確定,按此原則,它在初期總能隨P的增大而減小,而當(dāng)P增大到一定值時(shí),它便減小得越來(lái)越不明顯直到不再減小,此時(shí)的P便是最佳理論預(yù)測(cè)階數(shù)。
(2)均衡原則。指在最小均方誤差原則條件下,充分考慮系統(tǒng)對(duì)語(yǔ)音質(zhì)量、傳輸速率、編碼效率、抗誤碼能力的要求和硬件平臺(tái)的限制等實(shí)際進(jìn)行的對(duì)濾波器階數(shù)的綜合性選擇。
實(shí)際中,不可能撇開(kāi)一切無(wú)所顧忌地追求單一的參數(shù)指標(biāo)。一方面受制于擁有的硬件平臺(tái),以G.729A(G.729的簡(jiǎn)化版)為例,其算法復(fù)雜度很高(10.5MIPS),即使用高效的Blackfin-BF533 DSP處理芯片[5](頂峰時(shí)可達(dá)1.2GMIPS),處理一幀語(yǔ)音也要10.5/1 200=8.95ms,勉強(qiáng)可以實(shí)時(shí)處理一路語(yǔ)音(編碼幀長(zhǎng)度10ms),更不用說(shuō)用一般的DSP或?qū)崿F(xiàn)更多功能;另一方面,這些參量相互制約相互聯(lián)系,如G.729中,雖然其編碼速率可降到8kbps,但是是以犧牲語(yǔ)音質(zhì)量為代價(jià)的,選擇10階濾波器,是充分考慮到通信過(guò)程中帶寬不足的矛盾及應(yīng)用中對(duì)語(yǔ)音質(zhì)量的容忍度,局部的犧牲成為最終整體的勝利。濾波器階數(shù)從更底層配合著實(shí)際中這些參量和硬件平臺(tái),它的選擇至關(guān)重要。
本文以G.729為例對(duì)線性預(yù)測(cè)技術(shù)中的濾波器階數(shù)對(duì)編碼系統(tǒng)的影響進(jìn)行了分析研究,通過(guò)研究階數(shù)對(duì)歸一化均方誤差和估計(jì)譜兩方面的影響,得出至少在9階及以上才能滿足語(yǔ)音重構(gòu)的基本要求。最后,總結(jié)出對(duì)線性濾波器階數(shù)的選擇的最小化均方誤差和均衡兩個(gè)原則。
[1]ITU-T.RecommendationG.729:Coding of Speech at 8kbit/s Using Conjugate-Structure Algebraic Code-ExcitedLinear Prediction(CS-ACELP)[S].2007.
[2]鄂慧穎.G.729語(yǔ)音編碼算法的研究[D].西安:西安科技大學(xué),2007:1-3.
[3]楊行峻.語(yǔ)音信號(hào)數(shù)字處理[M].北京:電子工業(yè)出版社,1995:66-78.
[4]李昌立,吳善培.數(shù)字語(yǔ)音-語(yǔ)音編碼實(shí)用教程[M].北京:人民郵電出版社,2004:347.
[5]陳峰.Blackfin系列DSP原理與系統(tǒng)設(shè)計(jì)(第2版)[M].北京:電子工業(yè)出版社,2010:1-12.