近年來科技進步,行動多媒體通訊的相關運用與互動將成為關鍵 服務,例如無線上網、線上觀看影片…等等。由於多媒體資料包括音 樂、影像、影音…等資料量都相當龐大,故需要完善的壓縮機制使資 料量得以縮減,進而減少硬體空間以及網路頻寬的資源浪費,降低成 本並使傳輸更有效率。針對這樣的議題,現今的多媒體資料壓縮技 術,一般會將可變長度碼(variable-length code, VLC)作為編碼機制 的標準選項。因此可變長度碼之設計及其在無線網路強健性傳輸及解 碼機制,將是一個重要的研究議題。
所謂可變長度碼,是基於具特定機率分佈的訊源,針對不同發生 機率的資料使用不同長度的碼字加以編碼。機率較大的資料使用長度 較短的碼字,相對機率較小的資料則使用長度較長的碼字加以編碼。
針對不同的資料型態及傳輸目的而有不同的編碼演算法,其中較有名 的編碼方式包括霍夫曼碼(Huffman code)、LZ 編碼(Lempel-Ziv coding)和算術碼(Arithmetic code)…等。這此編碼方式確實可以有
效達到資料壓縮目的,卻也因為碼字長度非固定,而衍生出如何具體 實現其解碼同步的重要議題。除此之外,受到雜訊干擾造成的位元錯 誤,在索引解碼過程中將造成連續性的誤判及索引失序問題,使得系 統的解碼效益嚴重受損。因此理想的可變長度碼,不僅需要具有維持
同步的編碼設計,也需要強健的解碼機制以減少位元錯誤,進一步使 系統達到更好的效能。
在傳統的通訊系統設計中,訊源編碼和通道編碼兩個系統區塊往 往是分開考量而獨立設計的。其中訊源編碼專注於資料壓縮,通道編 碼則致力於資料保護。這樣的設計概念源自於沈農(Shannon)的消息
理論。其相關理論是在個別的編碼架構規劃時,假設另一個編碼器已 完成最佳化設計,然而真實的通訊環境,會因為訊號的延遲及系統的 複雜度各種限制而造成其具體實現上的困難。根據前人實驗觀察,訊 號源經訊源編碼器處理後,位元序列之間存在著某種型式的非均勻機 率分佈或隱含相關性,而這些殘留的資訊稱為殘餘冗息(residual redundancy)。若能妥善運用,即可在不需要提升通道頻寬的情形 下,提供通道編碼一些事前資訊(a priori information) 以改善解碼 工作的正確性。而這些在接收端將訊源解碼器和通道環境之效應一併 納 入 架 構 設 計 考 量 的 研 究 稱 為 合 併 訊 源 通 道 解 碼 (joint source-channel decoding, JSCD)。基於殘餘冗息的合併訊源通道解 碼可大致分為三個種類:錯誤隱藏(error concealment)、訊源控制 通道解碼機制(source-controlled channel decoding, SCCD),以及 疊 代 訊 源 通 道 解 碼 機 制(iterative source-channel decoding, ISCD)。錯誤隱藏部分,殘餘冗息讓訊源解碼器得以隱藏通道解碼器
所無法消除的殘餘錯誤。這樣的解碼觀念在[3]被提出,並稱為軟性 訊源解碼機制(soft-bit source decoding, SBSD)。而在[4]所提出的
訊源控制通道解碼機制,則試圖將殘餘冗息運用在通道解碼機制中。
有別於傳統的通道解碼機制,訊源控制通道解碼機制的輸入端也包括 了事前機率。這樣的事前機率大多來自事先統計訊源分佈的資訊。而 疊代訊源通道解碼機制則合併了以上兩者,比起單獨使用其中一項進 一步達到更好的效果。
渦輪碼[5][6]是通道解碼機制在的重大突破。其傳送端是由兩個
迴旋編碼器串聯且配合中間串聯的交錯器所組成,而接收端則是將個 別解碼器輸出的額外訊息,相互交換作為另一個解碼器的事前訊息,
以期加強位元判斷的可靠度。這樣的疊代架構,使渦輪解碼機制經證 實能接近Shannon 理論且具實用價值的編碼技術。而疊代訊源解碼 機制運用了渦輪解碼器的疊代架構,將通道解碼器與訊源解碼器作連 結,前者利用迴旋碼的錯誤檢查能力得到冗息,而後者則利用訊源殘 餘冗息作為加強解碼能力的依據。相較於訊源編碼和通道編碼分開考 量的傳統的通訊系統設計,疊代訊源解碼機制因運用渦輪解碼原理而 在估測訊源符號的品質上有相當大的改進。
如前所述,可變長度碼是針對具特定機率分佈的來源資料使用 長度不同的碼字加以編碼,而這樣的訊號來源及編碼方式使殘餘冗息
能提供更有利的資訊。因此疊代訊源解碼機制不但被認定為強健的解 碼機制,也被運用為可變長度碼的傳輸系統。[7]與[8] 針對不相關的 訊 號 源 解 碼 做 實 驗 , 並 設 計 出 可 變 長 度 碼 在 索 引 層 級 的 籬 柵 圖 (trellis),使其得以運用 BCJR 演算法計算軟性後驗機率。這種將與訊 源符號相關的軟性輸出運用在疊代解碼上的方式,在[9]與[10]中延伸 使用在一階高斯-馬可夫訊號源,而訊源之間的強烈的相關性使殘餘 冗息更具有解碼效益,解碼器運用這樣的資訊達到更顯著的效果。
然而解碼效能除了解碼器的設計及演算法的強健度之外,可變長 度碼本身的設計也具有相當的影響力。可變長度碼因為每個碼字長度 不同,位元錯誤將引起同步失序問題並嚴重影響索引錯誤。早期提出 的前置碼(Prefix code)觀念,可以在無位元錯誤的情形下實現正確的
前向索引解碼。然而在受到雜訊干擾而發生少數位元誤判的情形下,
仍會造成索引嚴重的連續錯誤。由此可知,可變長度碼可經由設計更 具有同步的鑑別能力,盡可能的減少位元錯誤,即可進一步使同步失 序問題得以改善。可變長度碼因碼字長度具有彈性,因此基於目的不 同而有各種不同的設計方式。除了解碼器的解碼演算法之外,我們透 過可變長度碼的設計,讓整體疊代系統更能有效地利用殘餘冗息,不 但使系統效能得以改善,更能減少位元錯誤造成同步失序的索引連續 錯誤。
本文將首先在第二章介紹可變長度碼基於位元層級籬柵圖的解 碼架構及其相關推導,並提出一項索引解碼的方式。第三章則針對整 體的疊代訊源通道解碼機制做推導,並說明其解碼步驟。在第四章介 紹雙向性可變長度碼的特性及編碼方式,再說明分析疊代解碼機制效 能的額外資訊轉換圖,利用這樣的分析方式加以設計雙向性可變長度 碼,以期系統有更佳的效能。最後則提供實驗數據及分析結果。