開啟主選單

求真百科

線性預測編碼

來自 孔夫子舊書網 的圖片

線性預測編碼是一個科技名詞。

世界三大漢語詞典分別是中國大陸的《 漢語大詞典[1]》(共13冊,5.6萬詞條,37萬單詞)、中國台灣的《 中文大辭典 》(共10冊,5萬詞條,40萬單詞)以及日本的《 大漢和辭典 》(共13冊,4.9萬詞條,40萬單詞)。漢字是記錄漢語的文字[2],它已有六千年左右的歷史,是世界上最古老的文字之一。

目錄

名詞解釋

線性預測編碼(LPC)是主要用於音頻信號處理與語音處理中根據線性預測模型的信息用壓縮形式表示數字語音信號譜包絡(en:spectral envelope)的工具。它是最有效的語音分析技術之一,也是低位速下編碼方法質量語音最有用的方法之一,它能夠提供非常精確的語音參數預測。

線性預測編碼的基礎是假設聲音信號(濁音)是音管末端的蜂鳴器產生的,偶爾伴隨有嘶嘶聲與爆破聲(齒擦音與爆破音)。儘管這看起來有些原始,但是這種模式實際上非常接近於真實語音產生過程。聲帶之間的聲門產生不同強度(音量)與頻率(音調)的聲音,喉嚨與嘴組成共鳴聲道。嘶嘶聲與爆破聲通過舌頭、嘴唇以及喉嚨的作用產生出來。

線性預測編碼通過估計共振峰、剔除它們在語音信號中的作用、估計保留的蜂鳴音強度與頻率來分析語音信號。剔除共振峰的過程稱為逆濾波,經過這個過程剩餘的信號稱為殘餘信號(en:residue)。

描述峰鳴強度與頻率、共鳴峰、殘餘信號的數字可以保存、發送到其它地方。線性預測編碼通過逆向的過程合成語音信號:使用蜂鳴參數與殘餘信號生成源信號、使用共振峰生成表示聲道的濾波器,源信號經過濾波器的處理就得到語音信號。

由於語音信號隨着時間變化,這個過程是在一段段的語音信號幀上進行處理的。通常每秒 30 到 50 幀的速度就能對可理解的信號進行很好的壓縮。

原理

一個時間離散線性系統輸出的樣本可以用其輸入樣本和過去的輸出樣本的線性組合,即線性預測值來逼近。通過使實際輸出值和線性預測值之間差的均方值最小的方法能夠確定唯一的一組預測器係數。這些係數就是線性組合中所用的加權係數。在這一原理中,系統實際上已被模型化了,這一模型就是零極點模型。它有兩種特例:①全極點模型,又稱自回歸模型。這時預測器只根據輸出過去的樣本進行預測。②全零點模型,又稱滑動平均模型。這時預測器只根據輸入樣本進行預測。迄今為止,最常用的模型還是全極點模型。這有幾個原因:―是全極點模型最易計算;二是在多數情況下,不可能知道輸入;三是對語音信號,在不考慮鼻音和部分擦音時,聲道的傳輸函數是一個全極點函數。

模型參數的估值在全極點模型下有兩種方法,即自關法和協方差法,它們分別適用於平穩信號和非平穩信號。模型參數的基本形式是線性預測係數,但它還有很多等價的表示形式。不同形式的係數在導致的逆濾波器結構,系統穩定性和量化時要求的比特數等方面都有所不同。現在公認的較好形式是反射係數,它所對應的濾波器具有格型結構,穩定性好量化時要求的比特數也少。

線性預測編碼的早期歷史

根據斯坦福大學 Robert M. Gray 的說法,線性預測編碼起源於 1966 年,當時 NTT 的 S. Saito 和 F. Itakura 描述了一種自動音素識別的方法,這種方法第一次使用了針對語音編碼的最大似然估計實現。1967 年,John Burg 略述了最大熵的實現方法。1969 年 Itakura 與 Saito 提出了部分相關(en:partial correlation)的概念, May Glen Culler 提議進行實時語音壓縮,B. S. Atal 在美國聲學協會年會上展示了一個 LPC 語音編碼器。1971 年 Philco-Ford 展示了使用 16 位 LPC 硬件的實時 LPC 並且賣出了四個。

1972 年 ARPA 的 Bob Kahn 與 Jim Forgie (en:Lincoln Laboratory, LL) 以及 Dave Walden (BBN Technologies) 開始了語音信息包的第一次開發,這最終帶來了 Voice over IP 技術。根據 Lincoln Laboratory 的非正式歷史資料記載,1973 年 Ed Hofstetter 實現了第一個 2400 位/秒 的實時 LPC。1974 年,第一個雙向實時 LPC 語音包通信在 Culler-Harrison 與 Lincoln Laboratories 之間通過 ARPANET 以 3500 位/秒 的速度實現。1976 年,第一次 LPC 會議通過 ARPANET 使用 Network Voice Protocol 在Culler-Harrison、ISI、SRI 與 LL 之間以 3500 位/秒 的速度實現。最後在 1978 年,BBN 的 Vishwanath et al. 開發了第一個變速 LPC 算法。

參考文獻