第二章 寬頻語音編碼系統
2.2 編碼輸出冗息
當訊號源通過編碼器(或量化器)時,對於通道錯誤的敏感度將 增大,所以需要使用某些技術以更正傳輸所衍生的位元錯誤。標準的 通道編碼技術藉由加入了一些保護位元於編碼位元序列中,以期當位 元因通道環境的影響而產生錯誤下仍可被復原。訊源冗息則提供另一 解決方案,其基本概念為在訊源編碼器的輸出序列中存在一些冗餘訊 息,我們選擇不移除這些冗餘訊息,並且在通道解碼的過程整合這些 資訊來提供錯誤更正。事實上,如果某些冗息被原封不動的保留下 來,那麼在索引之間所存在的資訊將散佈於壓縮序列中的數個索引之 間。換句話說,如果雜訊使得這些索引之間的任一個產生錯誤,那麼 關於此索引的資訊可以由觀察其相鄰的索引獲得。這就是在通道編碼 之中,更正錯誤的方法。接下來就是為什麼我們要討論訊餘冗息的三
大原因:
[1] 殘餘冗息總是存在於編碼輸出的符號串之間
就像之前所討論的,殘餘冗息總是存在於編碼後的索引之間。對於一 般多媒體訊號源,如語音、音訊、視訊,經由訊號源編碼之後的殘餘 冗息是非常值得注意的,這是因為這些訊號源總是呈現高度地不穩 定,所以很難完全地壓縮。即使採用一些高壓縮率的語音編碼器,例 如混和激發線性預估(the mixed-excitation linear prediction, MELP)訊源編碼器,仍有大量的冗息出現在編碼後的參數之間。
[2] 不需要更大的傳輸頻寬
有 別 於 前 向 錯 誤 更 正 碼 (forward error correcting code, FEC)[8],利用殘餘冗息對抗通道雜訊不需要增加任何多餘的保護位 元,亦即在傳輸頻寬的要求上不需要再多做增加,這在有限頻寬的通 訊系統上是一項很大的優點。在[9],Sayood
et al.
模擬了一個考慮 預估錯誤(prediction error)之間殘餘冗息的訊源解碼機制。預估 錯誤序列被模擬為一階馬可夫過程,相鄰訊號源之相關性則表示為訊 源轉移機率。再利用通道轉移機率將通道的狀態資訊納入考量,這兩 個機率組合而為一個正比於接收序列之可能性的計量(metric)。 [3]當通道雜訊很嚴重時,殘餘冗息將提供解碼所需的主要資訊如同在[5],訊源控制通道解碼器的判斷主要是依據通道的輸出 以及訊號源的事前資訊。當通道環境良好,通道解碼器大部分依賴接 收的序列;但當通道環境惡劣時,衰退現象非常嚴重,解碼時的參考 選擇將依賴訊號源的事前消息甚過於所接收的序列。值得注意的是,
在極差的通道環境將使得通道解碼喪失其錯誤更正能力,甚至還會引 進更多錯誤出現。然而在惡劣通道環境,殘餘冗息在錯誤緩和(error concealment)的應用上扮演一個很重要的角色,這觀念在現在的行 動通訊系統上也是很常使用,在[5]將 SCCD 應用於 GSM 的語音編碼上 將提升 2dB 到 3dB 的改善,顯著的改善亦可在[2]中發現。
2.3 ISF 索引間的相互訊息
經由以上的介紹,可以知道殘餘冗息在現今或未來的傳輸系統 中,在解碼部分將是一項重要的資訊。在下面文章之中,我們將分析 不同程度的殘餘冗息,並在第五章的實驗模擬中證實了我們分析所得 的假設。接下來,我們將分析語音訊號經過 AMR-WB 編碼之後 ISF 索 引間所存在的殘餘冗息。
假設在第 n 個音框第 k 組索引Xn( )k 所屬集合為U ,其索引為( )k M( )k
個位元所組成,我們想要探討的是索引存在的殘餘冗息。第一種情況 是假設每個索引之間互相獨立,則第 k 個索引的熵值(entropy)定
義為:
( ) ( ) ( )
( ) 2
( ) ( ) log (
k
k k
x
k )
H X −
∑
P x P x (2.1)接 下 來 要 探 討 的 是 當 索 引 呈 現 非 均 勻 分 佈 ( non-uniform distribution),以及框架間(inter-frame)和框架內(intra-frame)
的記憶性,這裡我們將模擬為一階馬可夫程序。
當索引間的相互訊息不等於 時,表示不同索引之間有關聯性存 在,進一步可以區分為框架間與框架內的關聯性。框架間關聯性定義 為在連續兩個相鄰框架,不同框架中相同位置的索引之間所存在的相 關性,而框架內關聯性定義為在同一個框架內不同兩個索引之間的相 關性,如圖 2.4 所示。
0
圖 2.4 框架內關聯性與框架間關聯性
如果只考慮框架間關聯性,且將索引的統計特性模擬為一階馬可夫
在表 2.2 中,我們可以發現索引一與索引二的相鄰框架間的相互 訊息比較高。由圖 2.3 了解,因為這兩索引是直接對 ISF 係數量化,
所以在相鄰兩框架間有比較高的相互訊息。至於其他索引,由於是對 第一級量化後所剩餘的係數,再進一步量化,所以相鄰框架間的互相 訊息也就不高,反而與所屬前一級索引會有較高的相互訊息,從表 2.3 中,我們可以發現這點。索引三、索引四與索引五是利用索引一 量化所剩餘的係數再分別作量化所得,所以與索引一相互訊息反而比 索引本身相鄰框架間的相互訊息還來的高。在索引六及索引七與索引 二間的框架間相互訊息也來的比較高。
表 2.2 ISF 索引值框架間的相互訊息
表 2.3 ISF 索引值框架內的相互訊息
第三章 訊源控制通道解碼機制
有別於傳統的通道解碼架構,訊源控制通道解碼器除了接收訊號 ˆn
Y 之外,其輸入端還需要額外提供訊源的事前訊息。標準的 SCCD 架 構如圖 3.1 所示。當訊號通過一良好的通道環境時,通道解碼器將大 部分依賴接收到的索引值。事前訊息的最大好處是在通道環境惡劣 時,通道解碼效能將依賴索引值的事前資訊甚過於收到的索引值。這 是因為在非常惡劣的通道下,接收到的索引將存在太多的通道錯誤,
使得錯誤更正機制很難有效地正確解碼。而最常被使用的事前資訊,
是根據訊號源量化索引的機率分佈作分析,可以由大量的訓練序列而 得。
原始訊號在經過訊源編碼處理之後,被壓縮的語音參數對於通道 錯誤的抵抗能力明顯降低。尤其當通道環境極差的時候,在遭受無可 更正的錯誤之後,系統效能將會嚴重地下降。在這種情況之下,SCCD 將會是一個針對接收序列,既不增加傳輸頻寬能有效改善輸出品質的 有效方法。其關鍵在於有效整合框架間或框架內的相關性,計算所有 可能索引值的後驗機率。接下來,我們將要針對不同程度的殘餘冗 息,規劃設計所其對應的索引後驗機率演算法。
圖 3.1 訊源控制通道解碼架構
3.1 傳輸系統
圖 3.2 為本章節所使用的系統方塊圖,接下來將分別簡介每個
工作單元的功能。
S-MSVQ/量化碼書查表(VQ codebook lookup)
S-MSVQ 主要目的是壓縮訊號源參數以降低傳輸速率,其量化方法已 在 2.1 節描述,主要是將 16 個 ISF 映射到七組 ISF 索引值上。而在 第 個音框,被量化的訊號源n ISF 將以索引值n
X
n= ( X
n( )1, X
n( )2, … , X
n( )7)
代表。在接收端,訊源解碼器將依據解碼而得的索引值 ˆX 經由量化n 碼書查表比對重建其訊號為
ISF
n。通道編碼/解碼器(Channel Encoder/Decoder)
可加性高斯白雜訊通道(AWGN Channel)
通道是使傳輸訊號受到干擾與雜訊的傳輸媒介,因此接收到的訊號 ˆ( )k
Yn 會與傳送的訊號Yn( )k 不一致。傳統的通道錯誤包括高斯雜訊 (Gaussian noise),多路徑衰退(multipath fading),相對路徑延遲 (relative path delay),杜卜勒效應(Doppler shift)等。而本文則 僅考慮可加性高斯白雜訊通道。
最大後驗機率解碼器(MAP 解碼器)
一般最常見的兩種估測方法為最小均方錯誤解碼器(MMSE decoder)
[10]與最大後驗機率解碼器 [11]。對於一個離散系統,MMSE 解碼器 首在為是減小原始與估計的索引值之間的均方誤差的最佳方法,而 MAP 解碼器則是以降低解碼的位元錯誤率(bit error rate, BER)為 目標。本論文中我們將使用的是 MAP 解碼器。
在接收端收到序列
Y ˆ
n= ( Y ˆ
n( )1, Y ˆ
n( )2, … , Y ˆ
n( )7)
後,針對 7 組索引值個 別計算其後驗機率,我們將會得到2
M( )k 個軟性輸出P X (
n( )k| Y ˆ
n)
,其中。再利用最大後驗機率的估計準則
1, 2, ,7
k = …
( )
( )
ˆ arg max ( ( )|Yˆ )
k n
k k
n n
X
X = P X n (3.1)
可估測得到符號值 ˆ( )k
Xn ,再利用量化碼書查表比對查詢可得
ISF
( )nk 。圖 3.2 訊號傳輸系統方塊圖
3.2 訊源冗息的運用
由於編碼器的不完美導致其輸出索引間存在殘餘冗息,而這些冗 息是相鄰索引間的記憶性或索引本身的不均勻機率分佈所造成。我們 主要是要利用這些殘餘冗息,設計一有效重建 ISF 係數的最大後驗機 率解碼器。為了簡化機率的推導流程,我們將暫先不考慮通道編碼處 理,也就是假設Xn( )k =Yn( )k ,僅利用不同層級的殘餘冗息來設計後驗機 率演算法,相關研究可參考[12]。
[1] Instantaneous MAP (IMAP)
IMAP 解碼器是最基本的 MAP 解碼器,是假設係數量化後索引框 架間或框架內不存在任何相關性,且計算後驗機率時不考慮過去所收 到的訊息。其解碼機制可表示成
ˆ( ) arg max( )k
(
( ) ˆ( ))
n
k k
n n
X
X = P X Ynk (3.2) 進一步將P X
(
n( )k Yˆn( )k)
展開成P X
(
n( )k Yˆn( )k)
= ⋅C P X( )
n( )k ⋅P Y(
ˆn( )k Xn( )k)
(3.3) 其 中C=P Y( )
ˆn( )k 為 正 規 化 因 子 ,P X( )
n( )k 為 事 前 訓 練 的 索 引 機 率 ,( ) ( )
(
ˆnk nkP Y X
)
則為通道轉移機率(channel transition probability),基於無記憶性通道(memoryless channel)的假設,通道轉移機率可展 開成
(
( ) ( ))
( )(
( ) ( ))
一個位元錯誤率ε的在二進制對稱通道(Binary Symmetric Channel) 中,是根據索引的接收值Yˆn( )k 與傳輸索引Xn( )k 比較,再求得通道轉移機 率
P Y
(
ˆn( )k Xn( )k)
=εh X(
n( ) ( )k,Yˆnk) (
1−ε)
M( )k−h X(
( ) ( )nk,Yˆnk)
(3.5)其中h X
(
n( )k ,Yˆn( )k)
為Xn( )k 與Yˆn( )k 兩索引的漢明距離(Hamming Disdance)。[2] Sequence MAP1 (SMAP1)
有別於 IMAP,SMAP1 的後驗機率計算同時考慮目前與過去所有接
項可簡化成P Y
(
ˆn( )k' Xn( )k ,Yˆn( )k)
=P Y(
ˆn( )k' Xn( )k)
,再進一步展開成考慮一個暫存記憶體為 ,限制長度(constraint length)為
,而編碼率為1/
使編碼器的移位暫存器(shift register)在同一單位時間內也移動 了M( )k 個位元。在下一段,我們將詳盡也探討此基於索引之迴旋編碼 器。
迴旋碼的產生多項式(encoder generator polynomials)定義為:
2
使編碼器的狀態回歸至 。 0
在第五章系統模擬實驗將用到的一個典型迴旋編碼器架構如圖 3.3 所示,此編碼器的限制長度為 5,編碼率為1/ ,產生多項式為 2
(3.17)
3 4
1
1 3
2
( ) 1
G D = + D + D ( ) 1 4
G D = + D + D + D
圖 3.3 迴旋編碼器架構
3.3.2 最大後驗機率的推導
整合 3.2 節所提訊源冗息的運用,我們可將 IMAP 與 SMAP1 做適 度的改變,以期可應用在同時執行通道編碼處理的傳輸系統上。以下 我們將對上述的兩種演算法做進一步的探討。
[1] IMAP
IMAP 解碼器與(3.2)式相同,但必須額外考慮迴旋碼碼器存在狀
IMAP 解碼器與(3.2)式相同,但必須額外考慮迴旋碼碼器存在狀