馬麗靜
摘 要:通過對矢量量化技術基本原理的介紹,概述了矢量量化過程中的關鍵問題、矢量量化器碼本的設計、失真測度和降低復雜度,闡述了語音波形的矢量量化和語音參數(shù)的矢量量化。針對矢量量化的發(fā)展現(xiàn)狀,提出了下一步的研究發(fā)展方向和對策。
關鍵詞:矢量量化;語音信號;碼書;語音質量
中圖分類號:TN912.3 文獻標識碼:A 文章編號:2095-6835(2014)01-0134-02
語音通信中語音技術的不斷發(fā)展和應用實踐,讓人們越來越關心傳輸速度和語音質量等相關問題。20世紀70年代后期,一種新的數(shù)據(jù)壓縮技術發(fā)展起來,就是矢量量化。這種數(shù)據(jù)壓縮技術迎合了人們對語音信號的要求,它把語音數(shù)據(jù)進行壓縮編碼,在不損失語音信息的前提下,力求用盡可能低的編碼速率傳輸高語音質量的信息,從而解決語音數(shù)字通信中語音質量和傳輸數(shù)碼率在技術上相互矛盾的問題。通常情況下我們關心的是語音質量是否失真,傳輸速度是否夠快,能否用最少的參數(shù)體現(xiàn)語音特征,矢量量化技術就考慮到了這些問題,并給出了很好的解決方法。
1 矢量量化的基本原理
語音信號經(jīng)過預處理,分成一幀一幀,矢量量化的過程是將語音信號波形的k個樣點的每一幀或有k個參數(shù)的每一參數(shù)幀,構成k維歐氏空間中的一個矢量,然后將此矢量進行整體量化。
矢量量化理論從標量量化發(fā)展而來,兩者對比,標量量化是k=1的一維矢量量化。它們的區(qū)別是標量量化設置若干個量化間隔,而矢量量化是將k維無限空間劃分為M個區(qū)域邊界,然后將輸入信號的矢量和這些間隔或邊界進行比較,根據(jù)最小失真測度公式,選擇距離最小的區(qū)域邊界或間隔的中心矢量值來量化。目前,對失真測度已有不少研究,例如曾提出過均方誤差、加權的均方誤差和線性預測失真測度等。理想的失真測度失真小,語音質量好,并且計算簡單。在劃分好區(qū)域建立好失真測度公式后輸入語音信號,將其變?yōu)槭噶窟M行量化,對所有的k維矢量都用有限的M個碼字表示,并將所有碼字編號,作為存儲或傳輸?shù)膮?shù),這樣所有的k維矢量都可以用這些碼字的碼號表示。在恢復時,直接復原或進行反變換,就可以得到恢復的時域信號。
2 量化過程中的關鍵問題
在矢量量化過程中,找到最佳的矢量量化器和最佳的碼本設計是關鍵。實現(xiàn)矢量量化器最佳設計,要具備以下兩個條件:①對給定的碼本在矢量空間X中輸入信號矢量,信號矢量可以用矢量空間某區(qū)域邊界Si的角標i來表示;②對給定的區(qū)域邊界Si 找出最佳碼本矢量,使平均失真最小,得到碼本。整個設計過程是實現(xiàn)上述兩個條件的反復迭代過程,矢量量化器的設計就是為了得到最佳劃分、最佳碼書。這個過程就是對初始碼書進行優(yōu)化,一直到系統(tǒng)性能得到滿足為止。
研究人員經(jīng)過多年的努力,在最基本的矢量量化器基礎上,已經(jīng)研究出了各種各樣矢量量化器的變種。這樣做主要是為了降低一些碼書大、維數(shù)高的矢量量化系統(tǒng)的復雜度,使其在實際應用中發(fā)揮優(yōu)越性。約束矢量量化、預測矢量量化、有記憶的矢量量化、有限狀態(tài)矢量量化和帶反饋計算的自適應矢量量化等都是各國學者研究的重點方向。
3 語音信號矢量量化技術的研究現(xiàn)狀
早在20世紀70年代后期,矢量量化的技術就開始發(fā)展,80年代開始逐步完善起來。最初,只是提出了分組量化的一般性理論,后來,由Linde,Buzo 和Gray將標量量化的Lloyd-Max算法推廣,產(chǎn)生了第一個可行的矢量量化碼書設計算法——LBG算法。從此,矢量量化技術的研究進入了一個全面高速的發(fā)展時期。目前,用于語音信號矢量量化的主要是語音波形的矢量量化和語音參數(shù)的矢量量化。
3.1 語音波形的矢量量化
過去,語音波形的壓縮編碼大多采用標量量化的方法,并且已經(jīng)研究得相當深入。例如,自適應預測編碼和自適應變換等都可在16 kb/s數(shù)碼率條件下工作得很好。它和近年提出的多脈沖線性預測編碼都可在保證語音質量的同時在集成電路上實現(xiàn)傳輸。但是,當誤差量化的比特數(shù)下降時,尤其降到了1 bit/樣本以下時,性能就會迅速變差,這就是標量量化的局限性。與矢量的整體量化相比,各樣本的標量量化性能更優(yōu)越。在理論上,在相同SNR情況下前者可以用較低的傳輸數(shù)碼率。但是,目前語音波形的矢量量化只能做到8 kb/s左右時才可以得到好的語音質量,這也就是矢量量化尚需人們去深入研究的原因。從實踐經(jīng)驗知,當每樣本比特數(shù)為1 bit/樣本時,矢量量化的SNR才達到12~15 dB。如果想降低數(shù)碼率,又要達到上述的SNR,似乎只有增大矢量的維數(shù)——k維數(shù)。語音波形矢量量化的一個問題是k增大,會導致運算量和存儲量增大,也就增大了算法的復雜度。雖然人們可以在碼本構造、搜索算法等方面部分解決這個問題,但k的增大仍是需要關注的重點問題。另一個問題是,語音波形的矢量量化在合成時會出現(xiàn)語音波形的不連續(xù)現(xiàn)象,特別在低碼率時顯得更為突出。雖然這個問題可以用交疊一些樣本構成矢量的方法來緩解,或者用剩余誤差序列來構成矢量而不用波形直接構成矢量,但這終究是一個需要解決的問題。這種理論上的先進性和實踐上的落后性之間的矛盾,正是研究矢量量化的依據(jù)和動力。
3.2 語音參數(shù)的矢量量化
語音信號通過預處理,提取出特征參數(shù),例如線性預測參數(shù),把這些參數(shù)組構成矢量,進行整體矢量量化,就是對語音參數(shù)的矢量量化。線性預測參數(shù)的矢量量化是研究最廣泛的參數(shù)矢量量化。這方面最早和最簡單的工作是在原來2.4 kb/s的10階線性預測聲碼器的基礎上進行的。矢量量化前,每幀22.5 m/s,用54 bit量化;矢量量化后,傳輸數(shù)碼率為800 b/s。其做法是:每三個連續(xù)幀為一組矢量,只對該組線性預測系數(shù)進行矢量量化。設計這個方案的要點是,采用與能量和增益無關的對數(shù)似然比失真測度作為VQ的距離測度。碼本尺寸為1 024 bit,即用10來表示其角標。碼本是用10個人大約30 min的隨機對話語音來進行測試而產(chǎn)生的。碼本分為濁音和清音兩種,都用LBG算法訓練。通常,清音碼本比濁音碼本失真率低,所以,在相同的失真指標下,清音碼本的尺寸可以小一些。根據(jù)各種評估系統(tǒng)的測試可知,結果同2 400 b/s的LPC-10聲碼器的音相近。同時,他們還對上述已矢量量化了的LPC聲碼器作了進一步的碼率壓縮研究,提出了兩種方法:①幀重復LPC矢量量化法。在800 b/s的LPC VQ的基礎上,用這個方法之后,可達到250 b/s的碼率。②矩陣量化法。這實際上是考慮了語音信號的段特性,這種量化的基元是一個矩陣——不是采用一幀幀的的矢量幀來量化,而是采用矢量段來進行矢量量化。這種方法最后的傳輸數(shù)碼率可低達150 b/s。endprint
4 研究發(fā)展方向和對策
針對目前的現(xiàn)狀,許多學者在以下兩方面進行探討。
4.1 改進LBG算法
各種算法都有優(yōu)點和缺點,LBG算法容易實現(xiàn),但它也有缺點,這也正是需要人們改進的方向。LBG算法的缺點是:在每次迭代的最佳劃分階段,要減少從碼書中搜索訓練矢量的最近碼字時,就需要大量的存儲空間和煩瑣的計算;如何提高碼書訓練的收斂速度和最終碼書的性能;如何增強碼書的自適應能力。各種改進算法紛紛發(fā)表,主要目的就是為了獲得更好的初始碼書,以提高碼書性能或加快設計速度。
4.2 新的碼書設計算法
為了改善碼書性能,采用各種各樣的全局優(yōu)化技術進行碼書設計也是一個研究方向。人們分別將基于模糊聚類理論的設計算法、模擬退火算法和演化算法應用到矢量量化碼書設計中,同時將人工神經(jīng)網(wǎng)絡同矢量量化結合。所有這些全局優(yōu)化算法的性能都要比LBG算法高。
近年來,雖然在矢量量化方面有好多算法不斷被提出,它們也各有優(yōu)勢和不足,但提出一套具有較高計算精度、較低計算復雜度和存儲復雜度及優(yōu)越的量化性能的完整算法,是需要人們不斷深入探討的課題。目前,矢量量化技術的研究進展很快,不僅在理論研究上,而且在系統(tǒng)結構、計算機模擬和硬件實現(xiàn)等方面也取得了不少成果,例如采用矢量量化技術,已能將聲碼器的傳輸速率從2 400 bit/s降低到150~180 bit/s,而仍能保持較好的語音質量和可懂度。在語音識別方面,矢量量化研究也得到很好的應用,各種各樣的矢量量化系統(tǒng)得以提出和進一步的實現(xiàn)。
5 結束語
隨著科學技術日新月異的變化,矢量量化技術也將在方法、理論上有新的發(fā)展,特別是在語音識別方面,同隱馬爾可夫鏈結合使用,直接用于構成語音識別和說話人識別系統(tǒng)。在低速語音編碼和合成方面,用于特定的人和非特定的人的語音識別,許多研究是很有實用性的。隨著半導體技術和微電子工藝的成熟發(fā)展,針對各種硬件,例如各種DSP的特點,開發(fā)對應的矢量量化算法已成為熱點,進一步的研究會使其在今后的語音通信中發(fā)揮越來越大的效用。
參考文獻
[1]D.Y.Wong.An 800 bps LPC Vector Quantization Vocoder[J].IEEE Trans,1982,30(5):770-780.
[2]王炳錫.語音編碼[M].西安:西安電子科技大學出版社,2002.
[3]朱民雄.計算機語音技術[M].北京:北京航空航天大學出版社,2002.
〔編輯:白潔〕endprint