摘要
隨著行動通訊的日漸發展,一種架構在無通訊網路上的語音辨識 服務—分散式語音辨識系統也愈顯得其重要性:用戶端透過無線手持 設備,以語音對遠端伺服器發送指令或要求等服務。有鑒於手持設備 的方便性,我們沒辨法在用戶端進行太多運算複雜或是需要大量計憶 體的處理,但以現有語音編碼技術在遠端伺服器所得到的還原語音其 辨識率太差,因此較可行的方法是在用戶端執行語音特徵參數的抽取 與壓縮,並將壓縮後的資料經過無線通道傳送至伺服器端進行特徵參 數的還原與辨識是目前分散式語音系統的主要研究方向。本論文的主 題即是著重在如何發展上述主從架構(client-server model)分散式 語音辨識系統的進一步技術並架構在現今的 GPRS (General Radio Packet Service) 通訊系統之上。為了克服通道錯誤與滿足系統即時 性(real time)的要求,本論文提出了新的語音特徵參數壓縮法,使 壓縮後的資料傳輸速率約為傳統分割式向量量化壓縮法的資料傳輸 速率的三分之一;另外提出了一套完整的外加傳送機制—結合錯誤更 正碼與錯誤補償技術,使本系統即使在通道平均位元錯誤率高達
10
−2 的情況下,也能維持極高的語音辨識率。在本論文的第一章中,我們首先會介紹分散式語音辨識系統的概 念及所面對的問題。在第二章中,我們對整個辨識系統作介紹—包括 語料庫說明、本系統所採用的聲學模型,並且簡介 GPRS 行動通訊系 統。在第三章中,我們將介紹本論文所提出的語音特徵參數壓縮法,
並且與傳統分割式向量量化壓縮法相比較,另外並討論在不同語言、
有背景雜訊干擾時,所提出的語音特徵參數壓縮法之壓縮效能。在第 四章中我們會介紹我們所提出的外加傳送機制—利用錯誤更正碼保 護傳輸資料,並且利用錯誤補償技術提高整體系統的辨識率。而在第 五章裡,我們將以電腦模擬本系統在 GPRS 通訊系統上的效能—觀察 我們所提出的語音特徵參數壓縮法與外加傳送機制是否能降低分散 式語音辨識系統受到傳輸錯誤的影響。最後在第六章中我們將詳述本 論文所得到的結論並提出一些未來需要繼續努力的方向。
第一章 緒論
1.1 簡述無線通訊
西元 1992 年,泛歐的行動通訊系統(Global System for Mobile Communications, GSM)正式在歐洲啟用。這是第二代行動通系統,有 別於美國的 AMPS 類比通訊系統,GSM 是一套全數位的通訊系統,但 此系統最初設計的考量僅止於語音的傳送,由於人耳對於語音的了解 能力極高,同時考慮到基頻接收機(baseband receiver)演算法複雜 度的限制,GSM 數位通訊系統對於平均位元錯誤率(average bit error rate)的要求沒有很高。
當全球資試網(world wide web, WWW)在 1990 年代誔生後,網際 網路(Internet)成了人們生活中的一部分,人們可以利用網路傳送信 件給遠方的朋友、搜尋資料、看新聞或是玩遊戲等等,網際網路成功 的融入了人們的生活。然而網際網路之父,肯氏(Kleinrock)曾在他 的論文裡勾勒出網際網路的遠景:未來的網際網路將出現在我們的生 活周遭的每個角落,如同電,看不到,也感覺不到它的存在;不管我 們在哪裡、在哪個時間,只要有需要,我們隨時可以連上網際網路,
獲取需要的資訊或完成指派的工作。顯然這和目前個人電腦與有線網 路的情況還有很大的距離。
然而,如果我們能夠將網際網路和行動通訊系統整合在一起,這
不正是肯氏心目中的未來網際網路。西元 1997,符合無線應用協定 (wireless application protocol, WAP)的手機在這個構想方向下正 式出現,然而一些通訊系統的技術問題,使得這類手機在幾年後就不 見蹤影。
有鑑於 WAP 手機的失敗,無線通訊工程師另外提出了建構在現行 GSM 系統上的數據傳輸服務。使用者可以依據通道的狀況有彈性地選 擇傳輸速率;並且 GPRS 支援使用者同時使用多個時槽,使得 GPRS 可 提供較高的傳輸速率。
1.2 研究主題與動機
隨著無線通訊的發展,滿足了人們隨心所欲,隨時隨地交流訊 息,傳遞資訊的渴望。但是有一個問題隨之而來,那就是:我們勢必 要對行動電話下很多複雜的指令;而手持設備的體積為了可攜性,方 便性的緣故是愈做愈小,另外,手持設備鍵盤的設計,本來是用來輸 入電話號碼,尋找一個方便,快速又能處理繁雜指令的輸入介面,是 有必要的。而利用語音作為輸入介面就是一個可能的好方法。
根據上面所描述,若採用語音做為新的輸入介面,許多衍生 的問題也將隨之發生:手持設備的體積太小,其計算能力以及儲存用 的記憶體將嚴重受限,使得我們若要在手持設備上處理整個語音辨識
的程序是有困難的。因此,主從式之分散式語音辨識 (Client-Server Model)的架構就此衍生。參閱圖 1-1,主從式之分散式語音辨識的構 想是把整體的語音辨識工作分成兩個部分:在手機端因為種種的限 制,因此儘作簡單的語音特徵參數抽取與壓縮,並將這些資料經由無 線通道轉到遠端的伺服器(Server)執行語音辨識,也就是說,我們可 以把繁複的語音解碼工作留給網路遠端的伺服器端去執行。很明顯 地,這些語音資訊在無線通道的傳輸過程中勢必受到各種雜訊的干 撓,包括無可避免雜訊(Noise)、因多通道衰減(Multi-Path Fading) 造成的群集錯誤(Burst Error)等等。在以上所述的條件底下,如何 維持語音辨識正確率將是個新產生的重大問題。
圖 1.1 主從式分式語音辨識方塊圖 特徵參數抽取
特徵參數壓縮 無線傳輸 特徵參數反壓縮
語音辨識器 語音信號
使用者端:
(手機) 有限計算能力 和記憶體容量
伺服器端:
較強的計算能
力和較多的記
憶體容量
1.3 本論文主要貢獻
基於 GPRS 現有的底層網路架構:實體層和連結層,本論文提出 了滿足無線環境下分散式語音辨識需求的連結層。參閱圖 1-2,在不 改變現有的 GPRS 實體層和連結層的前提下,將我們所提出的方法與 現有的 GPRS 連結層結合在一起。此連結層考慮到分散式語音辨識的 即時特性(real time),不採用 GPRS 連結層所使用的錯誤控制機制:
ARQ,而以新提出的錯誤修正與補償技術,來降低傳輸錯誤對語音辨 識的影響。而我們提出了新的語音特徵參數的壓縮法,以更有效率的 壓縮方式,降低數據傳輸速率,以提供更大的頻寬作為錯誤控制 (error control)的空間。
圖 1.2 GPRS 底部網路連結層 GPRS 連結層
GPRS 實體層 GPRS 實體層
GPRS 連結層 即時,數據錯誤
保護、補償技術 本論文為分散式
語音辨識所提出 的傳送機制
本論文為分散式 語音辨識所提出 的接收機制
分時多用戶存取 連結調適 本論文提出的特
徵參數壓縮法
本論文提出的特 徵參數反壓縮法 特徵參數的壓
縮與反壓縮
因此我的主要研究方向為如何利用現有的通訊系統,讓使用者能 在遠端使用語音辨識系統而又能維持很高的辨識率。研究的方向主要 可分成三個部分: (一)語音特徵參數的壓縮與反壓縮亦即來源編碼 Source Coding)、(二)對抗傳輸錯誤的外加通道編碼(Channel Coding) 和(三)語音特徵參數錯誤補償(Error Concealment)。其中語音特徵 參數的壓縮與反壓縮部分,主要的研究是如何大量壓縮語音特徵參數 又能維持原先的辨識率,另外良好的語音特徵參數的壓縮與反壓縮方 法可提供我們在外加錯誤控制碼的空間。在外加錯誤控制碼的部分,
因為我們是架構在現有的通訊系統上,所要面對的通訊問題比較單 純,因此我們選擇比較簡單的錯誤控制碼(BCH Code、Convolutional Code)和搭配分散器(Interleaving)的方法,使我們能以處理一些有 叢集錯誤(bursty error)的問題。另外在語音特徵參數錯誤補償部 分,我們對語音特徵參數作個別的統計特性分析,運用彼此的相關 性,使我們可以在伺服器端為錯誤的特徵參數作補償動作以增加辨識 率。
如圖 1.3 所示,因為無線傳輸的頻寬有限,我們必須對抽取得到 的語音特徵參數進行壓縮。而在無線通道傳輸時,我們亦會遭遇到傳 輸錯誤的情形,在系統即時性要求下,我們無法使用現有通訊錯誤控
制機制,而為了維持系統效能(高辨識率)我們必須提出新的辨法來解 決通道傳輸的問題。在我們的論文中,我們使用了通道編碼與錯誤補 償技術,使得我們即使在很高的位元錯誤率底下,仍然能夠維持很高 的語音辨識率。
圖 1-3 本論文提出之分散式語音辨識系統的方塊圖 語音訊號
8k 特徵參數壓縮法
1.外加錯誤更正碼與錯誤偵測碼 2.使用通道編碼與位元分散器
GPRS 傳輸通道
1.位元反分散與通道編碼解碼 2.封包錯誤偵測與錯誤補償機制
特徵參數反壓縮
語音辨識器 語音特徵參數向量
訊源編碼
外加傳輸
機制
1.4 章節概要
本篇論文總共分為五章,論文的核心部分置於第三、四章來陳 述。第一章為緒論,說明了研究主題的背景、研究動機與成果。第二 章 是 基 礎 背 景 簡 介 , 我 們 以 大 字 彙 連 續 國 語 語 音 辨 識 器 (large vocabulary continuous Mandarin speech recognizer)作為基礎系 統的聲學模型,並以國語音節的辨識正確率(Mandarin syllable accuracy),作為分析系統效能的標準。第三章則是介紹我們所提出 的特衖參數壓縮與反壓縮法,在那裡我們會討論我們所提的方法與目 前被廣泛使用的傳統向量量化法的效能比較。第四章是討論外部傳送 機制,我們會討論所提出的錯誤控制機制:包括外加的錯誤更正碼、
分散器與錯誤補償技術。而在第五章中,我們將使用 GPRS 的模擬程 式,觀察整體系統的效能。第六章則是結論與未來展望。
第二章 基礎背景簡介
在本章中,我們會先介紹架構於無線通訊上之分散式語音辨識系 統所會使用的基礎語音聲學模型與所使用的無線通訊系統(GPRS)。針 對於分散式語音辨識系統,我們將簡單介紹目前最廣泛為大家使用的 傳統特徵參數之向量量化,並討論量化失真對於語音辨識器效能的影 響。之後我們將會介紹 GPRS 模擬的一些統計特性,並且討論使用 GPRS 將會對分散式語音辨識系統產生什麼影響,而又會衍生出什麼問題。
2.1:大字彙連續國語語音聲學模型 2.1.1:基礎實驗語料
我 們 以 聲 碩 科 技 公 司 (Applied Speech Technology Incorporation, Taipei, Taiwan) 所錄製的大字彙連續國語語音作 為我們實驗的訓練及測試語料。我們用表 2-1 作為此語料的介紹:
錄製方式 麥克風
取樣頻率 16 KHz
訓練語料 男性語者與女性語者各一百人
每人兩百句話,共四萬句話
發展語料 男性語者二人、女性語者二人
每人三百二十七句,共一千三百零八句
測試語料 男性語者三人、女性語者三人
每人三百二十七句,共一千九百六十二句
統計特性 平均每句話的長度為五秒鐘,且每句話有平
均有十一個國語音節(Syllables)
由於一般大眾所使用的 GSM 手機,其內部預設的語音取樣頻率為 8KHz (傳統公共服務電話網路取樣頻率),為了使我們的實驗與實際 況狀更為貼近,我們將取得的麥克風語料降頻 (down-sampling) 為 8KHz 的電話語料。
2.1.2:語音特徵參數的抽取
圖 2-1 語音特徵參數的抽取
圖 2-2 梅爾濾波器 區塊化
(Framing)
漢明視窗 (Hamming Window)
快速傅立葉轉換、絕 對值(|FFT|)
梅爾濾波器 (Mel-filter) 自然對數
(Log) 反離散餘弦
轉換(IDCT) 語料
(Wave)
梅爾倒頻 譜係數 (MFCC)
...
Mel(f) f=60
Mel(f)
=98.6
Mel(f)
=183.9 170.6
f=4000 Mel(f)
=2146.1 Mel(f)
=2060.8 23 bands
0 ) . 1 700
log(
* 0 . 2595 )
( f
f
Mel = +
在這裡我們使用目前語音學界公認具有抗雜訊、較佳強健性 (robustness) 特性,同時也是最被廣為使用的梅爾倒頻譜係數 (Mel frequency cepstral coefficients, MFCC) 【1】,來作為本論文訓 練和測試聲學模型的特徵參數。
圖 2-1 為該特徵參數抽取的流程圖,其中梅爾濾波器是用來模 擬人耳聽覺細胞反應所特別設計的濾波器,詳細的濾波器設計如圖 2-2 。
表 2-2 語音特徵參數抽取之參數設定
表 2-2 列出特徵參數抽取過程中所會使用到的參數設定。為了 提高辨識率,我們除了使用靜態係數 (static coefficients) 外,
取樣頻率
(Sampling Rate)
8 KHz
音框長度
(Frame window size)
32 ms
音框平移
(Frame window shift)
10 ms
預強調的轉換函數 (Pre-emphasis)
97
1. 0 1 − z
−快速傅立葉轉換點數
(Fast Fourier Transform, FFT)
512
梅爾濾波器組
(Mel-frequency filter bank)
23 個濾波器個數
語音特徵向量
(Speech feature vector)
39 維
包括靜態、一次、二次動態係數
二次線性回歸 (second order linear regression) 的動態係數,其 中 計 算 動 態 係 數 的 公 式 是 參 考 歐 洲 電 信 標 準 機 構 (European Telecommunication Standard Institute, ETSI) 在西元 2003 年所 提出的計算公式【2】。
在本篇論文中,假設我們所取的 13 維靜態係數為(其中我們之後 將以 CE代表 ln(E)參數):
k
TE k C k
C k
o ( ) = [ 1( ),....,
12( ), ln( ( ))]
(式 2-1)
其 中 k 為 音 框 在 時 間 軸 上 平 移 的 索 引 值 (frame shift index)。由式 2-2 和 2-3 ,我們可以求出一次、二次動態係數,其 中一次、二次動態係數都前後 4 個音框參數有關。
一次回歸動態係數:
) 4 ( 0 . 1 ) 3 ( 75 . 0 ) 2 ( 50 . 0 ) 1 ( 25 . 0
) 1 ( 25 . 0 ) 2 ( 50 . 0 ) 3 ( 75 . 0 ) 4 ( 0 . 1 ) (
+
× + +
× +
+
× +
+
× +
−
×
−
−
×
−
−
×
−
−
×
−
=
∆
k o k
o k
o k
o
k o k
o k
o k
o k
o
(式 2-2) 二次回歸動態係數:
) 4 ( 0 . 1 ) 3 ( 25 . 0 ) 2 ( 285714 .
0
) 1 ( 607143 .
0 ) ( 71426 . 0 ) 1 ( 607143 .
0
) 2 ( 285714 .
0 ) 3 ( 25 . 0 ) 4 ( 0 . 1 )
2 (
+
× + +
× +
+
×
−
+
×
−
×
−
−
×
−
−
×
−
−
× +
−
×
=
∆
k o k
o k
o
k o k
o k
o
k o k
o k
o k
o
(式 2-3)
狀態 1 2 3 4 5
非射出狀態 射出狀態 轉移方向
圖 2-3 隱藏式馬可夫模型
每一維的倒頻譜係數在長時間統計上都會有平均值趨近於零的 特性,利用這個特性對於每一維的係數扣除在每句話中估測出來的倒 頻 譜 係 數 平 均 值 將 具 有 強 健 性 (Cepstral Mean Subtraction, CMS),可以降低麥克風的通道效應,在語音辨識上被大家廣泛地使 用,但因為我們所提出的是一個及時語音辨識系統,因此我們的實驗 中並沒有加入 CMS 的動作。
2.1.3:國語音節辨識的聲學模型
我們使用隱藏式馬可夫模型 (Hidden Markov Model, HMM) 來描 述每個聲學模型。如圖 2-3,我們總共用五個狀態 (state) 其中包
型只允許狀態由左向右 (Left-To-Right) 轉移,每次音框的平移,
狀態的轉移除了留在原來的狀態,就只能轉移到鄰接的下一個狀態。
狀態和狀態間的轉移是由一組轉移機率 (Transition Probability) 來 描 述 , 而 在 進 入 每 個 模 型 時 , 有 一 組 起 始 機 率 (initial probability)。另外,在每一個射出狀態的輸出機率分怖 (state probability distribution) 是 用 多 個 連 續 多 變 數 高 斯 分 佈 來 形 容,其中經由前人的實驗【3】結果,在這裡我們使用八個高斯密度 函數混合作為我們實驗的基礎。
各個次音節單位之間的描述上,我們將每一個中文音節分成聲母 加上介音以及韻母不含介音音前後兩個次音節單位 (Sub-Syllablic Unit),每個次音節單位就是一個隱藏式馬可夫模型。以「對」這個 字為例,「對」是拼成「ㄉㄨㄟ\」 我在們的音節描述法中我們捨棄 音調,只用「ㄉㄨ」和「ㄟ」,其中「ㄉ」為聲母、「ㄨ」為介音、「ㄟ」
為韻母,這種音節描述法稱為「聲母加介音、韻母不含介音」模型。
國語音節
圖 2-4 聲學模型分類 聲母加上介音
(前次音節單位)
韻母 (次音節單位)
+ 靜音
表 2-3 音節內右相關模型的拼音寫法
為了使音節模型更符合國語音節的特性,我們使用音節內右相關 模 型 (intra-syllable right-context dependency model, IntraRCD)。因為在連續國語音節的辨識裡,每個國語音節仍保有單 音節的特性,但在音節內的前次音節單位 (聲母加上介音的部分) 會 受到後次音節 (不含介音的韻母) 的影響,因此對相同的第一個次音 節單位而言,若後面所接的第二個次音節單位不同,會用不同的模型 描述。除了利用次音節單位來建立連續國語語音模型外,因為語料中 聲音跟聲音間有短暫靜音的效果,所以我們另外使用一個靜音模型 (silence model) 來描述這個現象。在我們的實驗中,主部的聲學模 型總共有 429 個次音節單位加上 1 個靜音模型,每個狀態有 8 個高斯 混合數。
圖 2-4 為描述所有國語音節所需要的聲學模型,表 2-3 列舉了若 使用音節內右相關模型,在連續語音辨識時中文字其音節的拼音寫法 (transcription)。其中「@」表示前次音節單位連接後次音節單位的
中文字 (繁體) 拼音寫法
對 ㄉㄨ@ㄟ ㄟ sp
挨 #@ㄞ ㄞ sp
思 ㄙ@y y sp
2.1.4:基礎聲學辨識測試
在本節中,我們將訓練語料依照上節所討論的聲學模型理論訓練 出 430 個聲學模型,並且測試兩組不同的測試語料辨識率,此測試結 果可視為沒有受到量化失真跟無線通道錯誤影響的理想分散式語音 辨識系統的辨識率上限 (upper bound)。
圖 2-5 大字連續國語音節辨識流程
如圖 2-5 所示,將一連串的測試國語語音訊號,經過特徵參數抽 取後,所得到的特徵向量將送至語音辨識器和訓練好的聲學模型作比 對 (pattern recognition)。將比對後得到的辨識次音節模型串組合 成國語音節,因此辨識並未使用詞典或是語音模型,是純音節的辨 識,其結果的基本單位為國語音節,辨識率的效果衡量標準為:
連續中文 國語語音
特徵參數 抽取
聲學模型 比對
國語音節 合成
中文國語 音節辨識 結果 聲學模型
(隱藏式馬 可夫模型)
音節字典
音節辨識正確率 (syllable accuracy) =
辨識出來的正確音節總數-辨識出來插入的音節總數 全部測試的音節總數
在後面章節所提到的辨識正確率、辨識器效能判斷,都是引用式 2-4 為標準的音節辨識正確率。
表 2-4 基礎聲學模型的音節辨識正確率
表 2-4 為我們基礎實驗的測試結果。我們使用表 2-1 所描述的 中文語料當作我們的訓練及測試語料,利用表 2-2 的設定,藉由 HTK 現有的指令及程式,訓練出上節所述的國語語音聲學模型 (隱藏式馬 可夫模型,每個狀態用 8 個高斯混合)。
2.2:基礎量化失真的不匹配之聲學模型效能
2.2.1:基礎語音特徵參數之向量量化
× 100 % (式 2-4)
訓練特徵參數 測試特徵參數 發展語料 測試語料
未經壓縮量化 未經壓縮量化 49.18 % 55.41 %
在 ETSI 提出的主從式架構分散式語音辨識系統的草案裡,建議 了 語 音 特 徵 參 數 的 壓 縮 方 法 : 分 割 式 向 量 量 化 (split vector quantization, SVQ) 。此外,ETSI 也提供了壓縮後語音特徵參數在 應用層 (application layer) 的資料傳輸速率 (data transmission rate) 4.4 Kbps。前人在參考 ETSI 的草案後,將它們應用在連續中 文語音辨識系統上的研究中【4】,在我們後面章節的討論裡,我們將 該研究的成果當作我們所提出方案的基礎實驗(baseline)。前人的分 割式向量量化碼本群組如表 2-5 。
表 2-5 分割式向量量化的碼本群組
根據表 2-5 的碼本群組,我們將 13 維靜態係數,經過分割式向 量量化器後,傳輸速率由原本的 41.6 Kbps 壓縮成 4.4 Kbps (將 416 個位元數的特徵參數壓縮成長度為 44 個位元數的特徵位元向量)。壓 縮的演算法如下:
碼本 (Codebook)
碼本大小 (固定位元數)
倒頻譜係數群組 (Group)
Q(1,2) 7 C
1,C
2Q(3,4) 7 C
3,C
4Q(5,6) 6 C
5,C
6Q(7,8) 6 C
7,C
8Q(9,10) 6 C
9,C
10Q(11,12) 6 C
11,C
12Q(E) 6 C
E一、將特徵參數分成數個維度較小(2 維: C1~C12或 1 維:CE)的小向 量,依據下面所述,壓縮成所對應群組的碼本向量代碼(code vector index)。
(1) 當特徵參數為 C1-C12,則我們將它們每兩個組成一個小向
量
⎥
⎦
⎢ ⎤
⎣
= ⎡
+ +
) (
) ) (
(
1 1
,
k C
k k C
V
i i i
i ,並且由所有對應群組的量化符號
(
q
ij,i+1 ,j
=0,1,..,N
i,i+1 ) 中 , 尋 找 與V
i,i+1( k )
的 歐 式 距 離 (Euclidean distance)最近者作為最後量化的結果。(2) 當特徵參數為 CE 時,我們只對它作單一參數的量化;由 所有對應群組的量化符號(
q
Ej ,j
=0,1,..,N
E)中,尋找與 CE的歐式距離最近者作為最後量化的結果。其 中
q
ij,i+1 /q
Ej 是 碼 本 Q(i,i+1)/Q(CE) 內 第 j 個 碼 本 向 量 ,1 ,i+
N
i /N
E是碼本 Q(i,i+1) /Q(CE)內碼本向量的總個數,k 為音框在 時 間 軸 上 平 移 的 索 引 值 (Speech frame shift index in time domain)。而最後的量化結果(I)為所對應碼本群組的碼本向量代碼 (j)。二、所得到的碼本向量代碼,轉換成位元後,由上而下形成一特徵位 元串。
訓練 分 割 式 向量量 化的碼本演算法,是由 K 平 均值演算法 ( K-means algorithm) 所 衍 生 出 來 的 修 正 的 K 平 均 值 演 算 法 (modified K-means algorithm) 為基礎理論。其詳細的演算法如下:
一:將訓練向量內的係數依表 2-5 分成 7 群。
二:將許多小維度(二或一)的訓練向量視為個別的向量空間中的 取樣點 (sample)。
三 : 對 於 個 一 群 組 , 計 算 出 各 群 組 的 全 域 質 心 (global centroid)。
四 : 使 用 修 正 的 K 平 均 值 演 算 法 , 藉 由 二 分 法 (binary splitting) 、 最 近 相 鄰 個 體 搜 尋 (nearest-neighbor search) 、和遞迴 (iteration) 的方式,來最佳化每一群 組內經由二分法分裂的叢集質心 (the centroid of the cluster)。
五:根據表 2-5 ,當某一群組內經由二分法分裂的叢集個數達 到設計的總個數時,此群組的碼本訓練就已經完成。重複步 驟四,直到其它的群組的碼本都訓練完成才停止。
修正的 K 平均值演算法:
一、 二分法:透過式 2-7 ,讓每個舊的叢集質心(
q
ij,i+1),各自分裂為兩個新的叢集質心,而質心數目由原本的 N 變成 2N。
本篇論文裡,分裂參數 (splitting parameter) ε=
10
−5 當特徵參數為 C1-C12:u q
q
u q
q
i i
j i
i j N
i i
j i
i j
ε ε
−
=
+
=
+ +
+
+ +
1 , 1 ,
1 , 1 ,
u
=[11]T 當特徵參數為 CE:ε ε
−
= +
=
+ E
j E
j N
E j E j
q q
q q
u
=[11]TN = 2N
(式 2-7) 二、 最近相鄰個體搜尋:接(一),讓所有的訓練向量,依據式
2-5 的距離計算法,歸屬於離他們最近的新叢集。用新叢集 內歸屬的訓練向量,更新此叢集的質心。全計算失真量 (distortion)。而失真量與歐式矩離類似,其定義為:
當特徵參數為 C1-C12:
∑∑
+ ++
+ +
+
=
⎥ −
⎦
⎢ ⎤
⎣
= ⎡
j k
i i j T i
i j i
i n
i i j i
i i i j
k d k d D
k q C
k k C
d
))}
( ( )) ( {(
) (
) ) (
(
1 , 1
, 1
,
1 , 1
1 ,
當特徵參數為 CE:
∑∑
−
=
j k
E j E
n
E j E
E j
k d D
q k C k d
))
2( (
) ( )
(
(式 2-8) 其中
q
ij,i+1/q
Ej 是訓練過程中碼本 Q(i,i+1)/Q(CE)內第 j 個叢集質 心,且 n 是遞迴次數三、測試收斂條件。收斂條件定義為:
δ
<
−
n−1n
D
D
起始條件D
0 = 0(式 2-9) 其中δ是收斂臨界值(convergence threshold)。在本篇論文裡,
δ= 50
。若收斂條件不成立,則回到步驟二,再遞迴下去。本篇論文裡 設定最多的遞迴次數為 7。修正的 K 平均值演算法的流程圖(flow chart),如圖 2-6。
是
否
是
否
圖 2-5 修正的 K 平均值演算法的流程圖 計算出全域質心
使用二分法將原來叢 集個數增為兩倍
叢集個數是否到 達群組容納的最 大叢集個數
將遞迴次數清除為零
累加遞迴次數 遞迴次數已達到
最多遞迴次數,
或收斂條件成立
停止
最近相鄰個體搜尋
更新每一叢集的質心,並
根據每一叢集的失真
量,計算總失真量
2.2.2 量化失真對語音辨識效能的影響
根據表 2-5 所給定的分割式向量量化的碼本大小群組,我們使 用 2.1.1 節所提到的國語聲學模型的訓練語料,配合修正的 K 平均值 演算法,訓練出系統需要的碼本。基於此碼本,如圖 2-6 所示,我 們將向量量化應用在 2.1.4 的基礎聲學辨識,討論向量量化失真對於 辨識率效能的影響。
在此節我們主要討論重點是量化失真對於辨識器的效能影響,因 此假設特徵參數量化後的位元串 (bit stream) 會經過理想(無通道 錯誤)的通道傳送到伺服器端執行語音辨識。其中反壓縮後得到的 13 維特徵參數將由 2-2、2-3 式計算出一次與二次回歸動態係數,組成 39 維的語音特徵向量序列。
圖 2-6 量化失真的通訊模型 取樣頻率為
8K Hz 的 電話語料
特徵參數 抽取/壓縮
分割式向量 量化碼本
理想的通道
(無通道錯誤) 反壓縮
分割式向量 量化碼本
39 維語
音特徵向
量序列
反壓縮的演算法:
一、將接收到的第 k 個特徵位元向量
y ( k ) = [ y
1, y
2, y
3, y
4, y
5, y
6, y
7]
, 依其群組順序,由上至下,轉換為碼本向量代碼所對應的碼 本向量,成為第 k 個有量化失真的靜態係數:] [
)
ˆ
c( k q
1y,12q
3y,24q
5y,36q
7y,48q
9y,510q
11y6,12q
yE7o =
其中 k 為音框在時間軸上平移的索引值 (frame shift index) 二、將步驗一得到的靜態係數,套用 2-2、2-3 式,計算出一次
與二次回歸的動態係數。
由前人的實驗【5】可知道,使用量化失真的訓練特徵向量序列,
重新訓練一個聲學模型在音節內右相關模型是需要大量的訓練語料 的,因此我們在比較量化失真對語音辨識的影響實驗中,並不重新訓 練匹配的聲學模型 (match condition)。我們只對於測試語料的特徵 參數作量化,而聲學相關模型仍然由未經壓縮量化的特徵參數訓練而 得。
表 2-5 列出實驗的結果,並與表 2-4 的結果作比較。
表 2-5 量化失真對音節辨識正確率影響
訓練特徵參數 測試特徵參數 發展語料 測試語料
未經壓縮量化 未經壓縮量化 49.18 % 55.41 %
未經壓縮量化 量化失真 45.77 % 52.13 %
由表 2-5 的結果看來,特徵參數的量化失真的確會對於語音辨 識產生影響,但音節辨識正確率並沒有大幅度下降,發展語料只降低 了 3.41 %,而測試語料則降低了 3.28 %。
2.3:GPRS 簡介
2.3.1:GPRS 實體層簡介
GPRS 是建構於現今 GSM 第二代行動通訊系統上的數據傳輸服 務。有別於傳統的 GSM,GPRS 提供了四種編碼率,可以視通道情況作 連結調適。此外 GPRS 改進了傳統 GSM 的固定通道配置 (fixed channel allocation) , 改 用 動 態 通 道 配 置 (dynamical channel allocation) : 用 戶 端 在 時 框 (time frame) 內 可 使 用 多 個 時 槽 (slot) 來傳送,以提升數據傳輸速率。
GPRS 的連結層的封包,又稱為電波連結控制區塊 (radio link control block, RLC block)。其封包的欄位格式可參考表 2-7 的說 明:
電波連結控制區塊的欄位格式 說明
上傳狀態旗標 (uplink state flag, USF)
手機上傳電波連結控制區塊到基地
台 的 同 步 控 制 旗 標
(synchronization control flag) 資訊 (info) 本系統的電波連結封框 (radio link
frame),將置於此處。
區 塊 檢 查 序 列 (block check sequence, BCS)
GPRS 連結層內 ARQ 機制的檢查碼
尾巴 (tail) 皆為零的位元流
表 2-7 電波連結控制區塊的欄位說明
info
USF BCS Tail RLC block
Convolutional encoding
Puncturing (456 bits)
interleaving SB(8 bits) Coded radio block(456 bits)
NB NB NB NB
info
USF BCS Tail RLC block
Convolutional encoding
Puncturing (456 bits)
interleaving SB(8 bits) Coded radio block(456 bits)
NB NB NB NB
圖 2-8 GPRS 實體層數據脈衝串 (data burst) 產生流程
Tail(3) Payload(57 bits) SB Training
Sequence (26) SB Payload(57 bits) Tail(3) Guard Bits(8.25)
577 s
µTail(3) Payload(57 bits) SB Training
Sequence (26) SB Payload(57 bits) Tail(3) Tail(3) Payload(57 bits) SB Training
Sequence (26) SB Payload(57 bits) Tail(3) Guard Bits(8.25)
577 s
µ圖 2-9 時槽的結構
TS0 TS1 TS2 TS3 TS4 TS5 TS6 TS7 4.625ms
TS0 TS1 TS2 TS3 TS4 TS5 TS6 TS7 TS0 TS1 TS2 TS3 TS4 TS5 TS6 TS7
4.625ms
圖 2-10 時框的結構
欄位的位元起始與結束位置 欄位名稱
0~2, 145~147 其 值 為 零 的 尾 巴 位 元 (tail bits)
3~59, 88~144 酬載 (payload)
60, 87 竊取位元 (stealing bits)
61~86 訓 練 序 列 (training
sequence)
表 2-8 GPRS 實體層數據脈衝串的欄位格式
圖 2-8 是 GPRS 實體層數據脈衝串 (data burst) 的產生流程。
實 體 層 會 先 將 連 結 層 的 電 波 連 結 控 制 區 塊 作 旋 積 編 碼 ( convolutional encoding ) 之後,扣除 (puncture) 部分的位元,
使得傳輸位元數符合規定:讓其長度變成 456 個位元的編碼電波區 塊 (coded radio block)。此編碼電波區塊,加上 8 個位元的竊取 位元 (stealing bits, SB),將會被分散 (interleaved) 成 4 個長 度皆為 116 個位元的標準脈衝串 (normal burst, NB)。
這 4 個標準脈衝串,經由時槽映製 (time slot mapping) 後,
置於連續時框 (time frame) 的同一時槽內。如圖 2-9 所示,每個 時槽佔有約 156.25 個位元。GPRS 調變的符號週期約為 3.7μs,所 以每個時槽的長度約為 577μs。表 2-8 為實體層數據脈衝串的欄位 格式。
如圖 2-10 所示,GPRS 採用 GSM 的多用戶存取機制:多時多用 戶存取。一個時框是由 8 個連續時槽所構成。因此每個時框的長度約 為 4.625 ms。關於上傳/下傳的雙工模式 (uplink/downlink duplex model) , GPRS 與 GSM 相 同 , 都 是 分 頻 雙 工 模 式 (frequency division duplex mode, FDD mode)。
表 2-9 GPRS 的通道編碼率與其最差獎況的上傳數據傳輸速率
參閲表 2-9 , GPRS 提供四種通道編碼率,分別為 CS1、CS2、
CS3 和 CS4。除了 CS4 不使用通道的旋積編碼外,其餘三種皆使用通 道的旋積編碼。CS1 的編碼率 (code rate) 最近,是編碼率為 1/2 的 標準通道旋積編碼。CS2 和 CS3 的編碼則是先經過編碼率為 1/2 的標 準通道旋積編碼之後,再扣除部分的位元,使其編碼率分別約為 2/3 和 3/4。所以,在 GPRS 所提供的四種通道編碼中,CS4 的傳輸速率最 快,但可靠度最低;CS1 可靠度最高,但傳輸速率最慢。GPRS 連結 層會根據目前的通道狀況作連結調適,以達到數據傳輸速率與可靠性 兼顧的數據傳輸。
2.3.2: GPRS 實體層的電腦模擬結果
無線通訊的傳送與接收會因為一些自然或是人為的因素而造成 傳輸錯誤。以個人行動電話為例,受到天氣、使用者的行動速率、建
Code Scheme
Code Rate
RLC block without USF & BCS (bits)
Data Rate (Kbps)
CS1 1/2 181 9.78
CS2 ~2/3 268 14.49
CS3 ~3/4 312 16.86
CS4 1 428 23.14
築物等等的影響,會產生電波連結損失 (radio link loss)、陰影遮 蔽 (shadowing)和多重路徑損失 (multipath fading) 所造成的符 號間互擾 (inter symbol interference, ISI)、破壞了從基地台 (base station) 傳送到用戶端的信號,因此大部分的手機使用戶仍 然要被迫接受帶有雜訊的語音和偶爾中斷通訊的通訊品質。
GPRS 最初的構想是用來傳送資料 (data) 而非語音,對於錯誤 的容忍度更小 (幾乎不能有任何的錯誤),因此它針對無線通訊所會 遭遇的問題,提出了一些解決的辨法,包括使用通道旋積編碼、分散 與錯誤控制機制 (ARQ),當偵測到有傳送錯誤時,會要求彼端重新傳 送資料。但這種錯誤控制機制所產生的時間延遲 (time delay),對 於即時特性要求的系統 (real time system) 將不被接受,因此為了 考慮到分散式語音辨識系統的即時特性要求,我們勢必不能採用 GPRS 所提供的錯誤控制機制。
本篇論文所使用的 GPRS 實體層模擬器是用 C++ 程式語言發展 出來的軟體。此軟體的版本是由台大無線通訊實驗室的陳志豪所完成
【6】。
分析數位通訊系統的雜訊效能 (noise performance)時,我們通 常以位元錯誤率 (bit error rate, BER) 當作效能衡量的標準。為 了 達 到 某 個 程 度 的 位 元 錯 誤 率 , 接 收 機 的 臨 界 信 號 雜 訊 比 (threshold signal to noise ratio) 必須被維持。為了觀察 GPRS 實體層模擬器的基頻接收機效能:平均位元錯誤率、平均電波連結封 框的錯誤率 (簡稱為封框錯誤率) 與平均叢集錯誤長度 (bursty error length) 和傳送信號雜訊比 (Eb/N0) 的關係,本論文的 GPRS 實體層模擬參數如表 2-10 ,並將模擬結果整理如表 2-11 (
丘陵地 勢
環境)、表 2-12( 典型都市環境)。載波頻率 (MHz) 900
行動速率 (km/hr) 50
無線通道模型 丘陵地勢環境 (HT)
GPRS 通道編碼 CS4
最大似然序列估測等化器的狀態數 16
傳送信號雜訊比(Eb/N0)(dB) 5、10、15、20 表 2-10 GPRS 模擬器實體層的參數設定
傳送信號雜訊比 (Eb/N0)(dB)
平均位元錯誤率 平均封框錯誤率 平均叢集錯誤長 度
5 0.102294 1.000000 2.3809 10 0.026834 0.765400 2.3457 15 0.003979 0.217400 2.4307 20 0.000353 0.041200 2.0001 表 2-11 丘陵地勢環境、900MHz、CS4、行動速率每小時 50 公里的 GPRS
實體層電腦模擬結果
傳送信號雜訊比 (Eb/N0)(dB)
平均位元錯誤率 平均封框錯誤率 平均叢集錯誤長 度
5 0.106063 1.000000 2.4487 10 0.033844 0.944800 2.3553 15 0.006936 0.410200 2.7028 20 0.000914 0.083120 2.0000 表 2-12 典型都市環境、900MHz、CS4、行動速率每小時 50 公里的 GPRS 實
體層電腦模擬結果
從表 2-11 與 2-12 的結果,我們可以肯定 GPRS 的實體層位元分 散機制相當不錯,所有的平均叢集錯誤長度都介於 2~3 個位元之間。
若我們將表 2-11、2-12 的平均位元錯誤率對傳送信號雜訊比的數據 描點於圖 2-11、2-12,來觀察其相連曲線的趨勢。我們可以發現在 通道編碼率為 CS4 時,若希望平均位元錯誤率為
10
−3,則傳送信號 雜訊比約為 18 dB,而經由電腦模擬的結果,我們發現在傳送信號雜 訊比為 18 dB 時,平均位元錯誤率 0.001028 ,與估計值極為接近。如之前所述,GPRS 為了維持傳輸效能,會依目前的通道狀況選擇 傳輸的通道編碼,根據前人的研究【7】,當平均位元錯誤率小於
10
−3 時,位元錯誤對於分散式語音辨識系統的效能幾乎沒有影響,因此在 這裡我們的系統傳輸效能將設定為:位元錯誤率 =10
−3,因此傳送 的信號雜訊比最好為 18 dB。然而無線通道的多變性(大幅度衰減、小幅度衰減等等),使得系統往往無法維持極高的傳送信號雜訊比(如 18 dB)。因此,通常 3 dB 的降低範圍需要被考慮,即傳送信號雜訊
們所設定的傳送信號雜訊比都為 15 dB。
圖 2-11 丘陵地勢環境、900MHz、CS4、行動速率每小時 50 公里的 GPRS 傳送訊號雜訊比的平均位元錯誤率
圖 2-12 典型都市環境、900MHz、CS4、行動速率每小時 50 公里的 GPRS
傳送訊號雜訊比的平均位元錯誤率
2.4: 章節結論
在本章中我們簡單地介紹了分散式語音辨識系統所面對的問 題,及前人的研究成果。在主從式架構中,用戶端的手持設備提供語 音特徵參數的抽取,並取考量實際無線通道的有限頻寬,對特徵參數 進行壓縮量化並將得到的壓縮資料經由無線通道傳送到伺服器端進 行辨識。
傳統的特徵參數壓縮是將 12 維的梅爾倒頻譜係數分成 6 個 2 維 的子向量,並且對每個子向量進行分割式向量量化壓縮。而在本章的 實驗中,我們發現在 4.4 Kbps 的資料壓縮率下,傳統分割式向量量 化所產生的量化失真,對於語音辨識器的影響並不大--辨識率儘下降 約 3.4 %。
我們使用現今 GSM 第二代行動通訊系上統普遍使用的數據傳輸服 務—GPRS 作為系統的模擬無線通道環境。考量分散式語音識率系統 的即時特性需求,我們無法使用 GPRS 現有的一些錯誤控制機制,因 此在通道多變與移動速率的改變下,GPRS 傳輸無法提供可信賴的傳 輸正確率,因此我們勢必提出一些傳送與接收機制以確保整體分散式 語音辨識系統的穩定性(高辨識率)。
第三章 語音特徵參數的壓縮與量化
在這個章節裡,我們將提出一套新的語音特徵參數壓縮法。有別 於基礎語音特徵參數的量化 (第二節),我們並不直接對於同一個音 框裡的特徵參數作量化。如圖 2-1 所示,當語音經過取樣後會先存 放在暫存器中,當達到一定長度後,再對每個取樣值作處理:取音框、
漢明窗、快速傅立葉轉換等等,其中音框與音框間的間隔點數小於音 框的大小,也就是說每個音框間彼此有重疊 (overlap)。也因為音框 間的重疊特性,將使得每個相鄰音框的特徵參數的值不會差異太大,
基於這個特性,我們提出了一套新的語音特徵參數的壓縮法。
3.1:運用 2 維-離散餘弦轉換 (2D-DCT) 的特徵參數壓縮方法
在分散式語音辨識系統的發展中,主從式架構 (Client-Server Model) 已經成為分散式語音辨識中最普遍的方法:在使用者端執行 語音特徵參數的抽取與壓縮,將壓縮後的資料藉由無線通道傳送到伺 服器端,且在伺服器端進行語音特徵參數的還原與錯誤補償,並將它 們送到辨識器執行語音辨識。
在主從式架構的分散式語音辨識系統中,在 2.2 節的討論中,
我們發現特徵參數的量化會影響到辨識器的效能,因此如何增加使用 者端特徵參數的壓縮效率是一個很重要的課題:在儘量不影響辨識率 的前提下,對特徵參數作量化壓縮。在前人的研究中,我們發現基礎 的語音特徵參數向量量化,在資料傳輸率達到 4.4 Kbps 時,最佳化 的碼本大小群組仍然會導至辨識率下降約 3.3% (52.9%->49.6%),對 於這樣的結果顯示在特徵參數的壓縮方法上仍然有相當大的空間需 要改進。在【8】中,前人曾參考影像處理中被普遍應用的 JPEG 壓 縮法,將它應用在分散式語音辨識系統上,實驗的結果顯示將 JPEG 壓縮法當作語音特徵參數的壓縮量化法,可獲致一定程度的效果。因 此在這裡,我們先介紹一下 JPEG 的基本原理。
在數位影像處理的領域裡, JPEG (Joint Photographic Experts Group)【9】 是一種被廣為使用的影像壓縮技術,它在 1986 被提出,
而它的主要壓縮原理在於一張圖片中,相鄰的像素 (pixel) 間的值 不會有太大的差異,利用這樣的特性,我們可以將影像壓縮成極少的 資料量而又能保有高品質的視覺感受。圖 3-1 是 JPEG 壓縮法的流 程圖:
where
圖 3-1 JEPG 的壓縮、解壓縮流程圖 圖像 8×8
分割
差異值計算 (DPCM)
掃瞄線方法 (ZigZag) 8×8
2 維-離散 餘弦轉換
向量量化 (Quantization)
連續長度計算 (Run-length Encode) 編碼器
(Entropy Encoding)
DC
AC
壓縮後的資料串 (Compressed Data Stream)
解碼器
(Entropy Decoding)
連續長度還原 (Run length Decode)
斜角迴折的 掃描方式 (ZigZag)
差異值計算 (DPCM)
向量反量化 (De-Quantization) 8×8
2 維-反離散 餘弦轉換 8×8
群集 解壓縮
圖像
DC AC
1AC
5AC
6AC
2AC
4AC
7AC
3AC
8AC
9掃瞄線方法
前人將圖 3-1 所示的 JEPG 壓縮方法應用在語音特徵參數的壓縮 上。假設特徵參數向量大小為 N,若我們暫存了 N 個音框的特徵參 數向量並且將它們組成了一組 N×N 的矩陣,模仿 JEPG 的壓縮流 程,我們將 2D-離散餘弦轉換的維度設為 N×N 並且執行後面的演算 法,我們將可以將 N 個音框的語音特徵參數壓縮成極少量的位元資 料。根據前人的實驗,以英文數字語料作為測試語料,在 624 bps 的 資料傳輸速率下,仍然能維持不錯的辨識率。
t
TC t
C t C t C t
D ( ) = [
1( ),
2( ),
3( ),...,
12( )]
i
TS i
S i S i S i
S ( ) = [ ( , 1 ), ( , 2 ), ( , 3 ),..., ( , 12 )] i=1,2,..,12
圖 3-2:2 維-離散餘弦轉換範例
然而這樣的壓縮方法,只是單純的將一連串的語音特徵參數向量 當作待壓縮的資料串,而忽略了語音特徵參數本身的特性與量化失真
D(t) D(t+1) D(t+2) D(t+3) S(1) S(2) S(3) S(4) 2 維-
離散餘 弦轉換 高度相關性
高能量
特徵參數的影響,假設我們所選用的特徵參數是梅爾倒頻譜係數 (MFCC),如圖 2-1 所示,在得到特徵參數前,我們是將梅爾濾波器 的輸出值取自然對數後,經過反離散餘弦轉換和截取 (truncated) 後得到特徵參數,其中反離散餘弦轉換可視為一種向量轉換,轉換後 的每個係數可視為彼此間不相關,因此雖然因為音框間的重疊特性使 得特徵參數在時間軸上的數值彼此間有很大的相關性,但向量內的係 數間彼此不相關。以圖 3-2 為例,已知我們的特徵參數有 12 維,
因此當我們暫存了 12 個音框後,組成了一組 12×12 的矩陣:D,對 矩陣 D 作 2 維-離散餘弦轉換得到了矩陣 S,因為對於 D 而言,只 有橫軸的數值彼此間有相關性,而縱軸的數值彼此間不相關,因此對 於得到的 S 矩陣而言,擁有高能量數值的係數(絕對值遠大於零),大 多數存在前幾行(column),相對的後幾行多半為低能量的係數。
正因為梅爾倒頻譜係數有著係數與係數間彼此不相關的特性,因 此 JEPG 壓縮法中的掃瞄線方式並不適用於語音特徵參數的壓縮,因 此我們改變原先掃瞄線方式(ZigZag),只保留前幾行的係數,而不對 後幾行的係數作處理。
另外因考量到連續長度演算法(Run-length Algorithm)在有傳輸 錯誤時,錯誤會透過連續長度演算法擴散,使得整體的壓縮資料在還 原時會產生極大的失真,如圖 3-3 的例子所示,因此我們捨棄連續長
度演算法,並且以調整每個保留係數的量化碼本大小作為加強壓縮效 率的方法。
除此之外,由前人的研究中我們可以發現,梅爾倒頻譜係數的前 幾維係數比後幾維係數來得重要,對辨識器的影響比較大;語音特徵 參數每一維的係數並不等價,同樣的失真度在不同的係數會對辨識率 產生不同的影響。另外若我們選擇的特徵係數維度為 13,則我們必 須暫存 13 個音框才能開始執行參數壓縮,所伴隨的時間延遲將會太 大 (130 ms)。
圖 3-3 連續長度演算法的介紹與錯誤對它造成的影響 (_表示有錯誤產生)
Original Data: 3.8,0,0,0,7.1,0,0,-2.5,0,0,0,0,6.2,0,0,1.4
Encoded Data: 3.8 (3,7.1) (2,-2.5) (4,6.2) (2,1.4) EOF 行進長度計算
(Run-length Encode)
Encoded Data: 3.8 (1,7.1) (2,-2.5) (4,6.2) (2,1.4) EOF Error
Decoded Data: 3.8,0,7.1,0,0,-2.5,0,0,0,0,6.2,0,0,1.4 行進長度還原
(Run-length Decode)
C
1| C
6C
7|
C
12暫存6 音框
B1 (6×6矩陣)
B2 (6×6矩陣)
係數截取 與量化 S1
(6×6矩陣)
S2 (6×6矩陣) 2D-DCT
C
E暫存2 音框
[C
E(t),C
E(t+1)]
音框間的分 割式向量量化
X
1, X
2, X
3,.... X
243 2
1
,
E,
EE
X X
X 圖 3-4 本論文提出的 2D-DCT 壓縮法
基於上述的幾個原因,我們提出了新的特徵參數壓縮法,如圖 3-4 所示,首先我們將梅爾倒頻譜係數分成三群:分別是 C1~C6、 C7~C12、CE三群,因為 CE的值和 C1~C12 比較不同,因此我們將它特 別獨立出來以音框間的分割式向量量化法作為它的壓縮方式,而 C1~C6與 C7~C12的重要性較接近,因此把它們分在同一群。因此第一、
二群的維度是 6,因此我們在時間軸上暫存 6 個音框,將它們組成 兩個 6×6 的矩陣 (B1,B2),並且利用下面所提出的演算法,作為它 們的壓縮方式:(2D-DCT 壓縮法)
一:分別對暫存過的特徵參數矩陣 (B1,B2) 作 2 維離散餘弦轉 換,並且得到對應的輸出矩陣 (S1,S2)。
二:保留 (S1,S2) 中的前二行 (column 1、2),其它的係數全部 截取成零。(在這裡為了方便書寫,我們重新命名 S1,S2中的 係數)
)]
6 , 2 ( ),...., 1 , 1 ( ), 6 , 2 ( ),..., 1 , 2 ( ), 6 , 1 ( ),..., 1 , 1 ( [
] ,..., ,...,
, ,..., , [
2 2
1 1
1 1
24 12
7 6 2 1
S S
S S
S S
Y Y
Y Y Y Y
=
三:對於保留下的 24 個係數(Y1,Y2,...,Y24),分別進行量化,
得到數個量化符號(X1,X2,...,X24)。
3.2 遞迴式位元數配置 (Iterative Bit Allocation)
為了得到最佳化的係數量化碼本群組位元數大小,並且考慮到實 驗的收斂速度,我們提出了遞迴式位元數配置演算法(Iterative Bit Allocation Algorithm)尋找最佳化的答案。我們以 2.1 節中提到連 續國語語音作為我們的實驗語料,其中國語語音聲學模型的訓練與 2.1 節相同,而發展語料則作為我們訓練碼本大小的訓練語料,測試
程圖如圖 3-5,詳細步驟如下:
圖 3-5 訓練碼本群組之演算法
一、給定這 24 個係數一個足夠大的碼本大小作為起始值,在我 們的實驗中,起始值設為 8 (每個係數用 8 個位元量化)。
二、設定目標辨識率 (desired recognition accuracy) α,作 為以下遞迴運算 (iteration) 的停止條件。另外我們定義 每 一 個 係 數 --Y1,Y2,..,Y24, 它 的 量 化 碼 本 位 元 數 為 --N1,N2,...,N24。
對每一個係數的量化 位元數減去 1 個位元
N
1= N
1-1 ...
N
24= N
24- 1
(1)個別對每一個係數的位元數加1個位元,並計算此位元對系統 辨識率增加的幅度作為重要性的評估
(2)增加1個位元至(1)中辨識率進步量最多之係數的量化位元數 N
k= N
k+ 1
(3)此N
k值為最後的決定值,將不再被改變 辨識率>α
辨識器
辨識率<α
係數 Y
1Y
2... Y
24位元數 N
1N
2... N
24z 定義:目標辨識率(α),作為遞迴運算的停止條件
z 起始設定:首先都對每個係數的量化碼本足夠的位元數,在我們的實驗 中,通常起始值都設為 8
對每個系數的
量化碼本都給
予足夠的位元
三、比較在目前碼本大小下,系統的辨識率是否高於α,若是,
則將所有碼本位元數尚未決定的係數其碼本位元數(Ni)值 減 1,並且重新測試新碼本群組的辨識率,若仍然高於α則 持續減 1,直到辨識率低於α後,進入步驟四。
四、對於碼本位元數尚未決定的 L 個係數(Y1,Y2,..,YL),我們分 別為它們的重要性作排序 (rank):定義重要性的方法為--- 我們每次挑選其中一個係數,將它的碼本大小放大一倍(即 位元數加 1),並且保留另外 L-1 個係數的碼本大小,紀錄 它們對於辨識率的影響 (辨識率增加的量)。
五、由先前的重要性排序中,我們可得到 Y1,Y2,..,YL 相對的重 要性,首先我們將最重要的係數碼本位元數加 1,並且此係 數的碼本大小為最後的決定值,將不再被更改,因此碼本位 元數尚未決定的係數數目 L 值也將少 1:L = L-1,再重新 測試新碼本群組的辨識率,若辨識率仍然低於α則我們再重 複上面所提到的動作,為暫存器中最重要的係數的碼本位元 數加 1。當新碼本群組辨識率高於α且暫存器長度大於零,
則回到步驟三;當碼本位元數尚未決定的係數數目 L 值為 零,則訓練完成。
料 , 停 止 臨 界 辨 識 率 α 定 為 47% ( 未 經 量 化 失 真 的 辨 識 率 為 49.18% ),以上述的演算法訓練出最佳化的碼本群組,以測試語料觀 察訓練得到的碼本群組的辨識效果,並且與 2.2 節所提到的分割式向 量量化法作比較。實驗結果如表 3-1、2D-DCT 壓縮法之量化碼本群 組如表 3-2:
表 3-1 2D-DCT 壓縮法之量化失真對音節辨識正確率影響
訓練特徵參數 測試特徵參數 測試語料(一) 測試語料(二)
未經壓縮量化 未經壓縮量化 49.18 % 55.41 %
未經壓縮量化 量化失真
(分割式向量量化)
45.77 % 52.13 %
未經壓縮量化 量化失真
(2D-DCT 壓縮)
47.03 % 53.23 %
碼本 (Codebook)
碼本大小 (固定位元數)
碼本 (Codebook)
碼本大小 (固定位元數)
Y
15 Y
135
Y
25 Y
144
Y
34 Y
153
Y
44 Y
163
Y
54 Y
174
Y
64 Y
184
Y
73 Y
193
Y
83 Y
203
Y
93 Y
213
Y
103 Y
223
Y
112 Y
230
Y
120 Y
240
C
E(音框間的分割式向量量化):碼本位元數 = 6
如表 3-1 ,當我們將停止臨界辨識率α值設為 47%,以測試語料 對 訓 練 得 到 的 碼 本 群 組 作 測 試 , 我 們 仍 然 可 以 得 很 高 的 辨 識 率 (55.41% -> 53.23%),也比分割式向量量化法得到的辨識率高出不 少。除此之外,2D-DCT 壓縮法的資料傳輸速率僅有 1.45 Kbps,比分 割式向量量化法的 4.4 Kbps 更低且有更好的辨識效果,因為暫存而 產生的時間延遲僅有 60 ms,仍然在及時系統的時間要求 (time constraint) 內,另外這些額外的傳輸空間提供了我們外加錯誤更正 與控制的空間。
總合以上所述,參考圖 3-4,2D-DCT 壓縮法的過程如下:首先我 們暫存了 6 個音框的語音特徵參數,並對它們分成三群(C1-C6、C7-C12 與 CE),其中 C1-C6與 C7-C12組成兩個 6×6 的矩陣(B1與 B2);並且對 B1與 B2進行 2 維的離散餘弦轉換,截取後四行的係數並只對前兩行 的係數進行量化壓縮。最後將所有量化後的量化符號(X1,X2,...,X24) 與 CE 壓縮後的量化符號組成一個傳送封包,傳送至遠端的伺服器。
其中對於 CE 我們是採取音框間的分割式向量量化,對於每兩個音框 的[CE(t),CE(t+1)]壓縮成一個量化符號(XE)。
3.3:結合離散餘弦轉換與分割式向量量化的特徵參數壓縮方法
在之前的討論中,我們發現我們所提出的 2D-DCT 壓縮法其壓縮 效能比傳統分割式向量量化高出許多,然而基於以下三個原因,我們 重新稍微改進了原先的特徵參數壓縮法:
1. 如同 3.1 節所說的,因為語音特徵參數在時間軸方向,音框與音 框間參數值彼此有很大的相關性,但不同參數間彼此不相關,因 此使用 2 維-離散餘弦轉換的第二次離散餘弦轉換所得到的壓縮 效果其實不大。
2. 如果我們可以縮小暫存音框的數目,我們不僅可以使系統的延遲 變短,離散餘弦轉換的複雜度與暫存器的數目都可以縮小。
3. 在第一次離散餘弦轉換後,我們將時域方向的特徵參數資訊壓縮 在前幾個維度(行)中,若此時我們再將它進行第二次離散餘弦轉 換,因為特徵參數間彼此沒有相關性,因此資訊不會有集中的現 像,相反的,時域方向壓縮後的資訊會被分散不同係數之中。如 此一來反而不利於我們在伺服器端進行錯誤補償。
圖 3-6 為更新一步改良的特徵參數壓縮與反壓縮流程圖。因為語 音特徵參數只有在時間軸方向有很高的相關性,且為了減少時間延遲
並增加壓縮品質,我們對於每一維的梅爾倒頻譜係數,在時間軸上只 暫存 4 個音框,形成 13 個長度為 4 的係數向量,並對每一個係數向 量進行離散餘弦轉換。模仿上節的作法,我們將轉換後的向量進行係 數截取 (truncated),並對保留下的係數作分割式向量量化,得到最 後壓縮的量化符號,詳細的數學推演如圖 3-7:
圖 3-6 餘弦與向量量化壓縮與反壓縮流程圖 語音
特徵參數抽取
音框暫存 (4 音框)
時間軸方向的 離散餘弦轉換
分割式向量 量化碼本
係數壓縮 壓縮後的資料串
(Compressed Data Stream) 係數反壓縮
時間軸方向的反
離散餘弦轉換 合成連續音框 辨識器
圖 3-7 餘弦與向量量化壓縮的數學表示
為了比較餘弦與向量量化壓縮法與 2D-DCT 壓縮法的壓縮效果,
我們模仿 2.2 節的實驗,使用同一套語音聲學模型、同樣使用發展語 料作為訓練最佳化碼本群組的訓練語料,其中我們使用相同的訓練碼 本群組演算法(如 2.1 節所提),停止臨界辨識率α值同樣設為 47%,
並且將訓練得到的碼本群組,分別比較它們在測試語料所得到的結 果,表 3-3 為它們的實驗結果、表 3-4 為訓練後得到的碼本群組: