信源編碼" target="_blank">信源編碼是一種以提高通信有效性為目的而對信源符號進行的變換,或者說為了減少或消除信源冗余度而進行的信源符號變換。具體說,就是針對信源輸出符號序列的統(tǒng)計特性來尋找某種方法,把信源輸出符號序列變換為最短的碼字序列,使后者的各碼元所載荷的平均信息量最大,同時又能保證無失真地恢復原來的符號序列。 [1]
對輸入信息進行編碼,優(yōu)化信息和壓縮信息并且打成符合標準的數(shù)據(jù)包。
信源編碼的作用之一是,即通常所說的數(shù)據(jù)壓縮;作用之二是將信源的模擬信號轉化成數(shù)字信號,以實現(xiàn)模擬信號的數(shù)字化傳輸。
最原始的信源編碼就是莫爾斯電碼,另外還有ASCII碼和電報碼都是信源編碼。但現(xiàn)代通信應用中常見的信源編碼方式有:Huffman編碼、算術編碼、L-Z編碼,這三種都是無損編碼,另外還有一些有損的編碼方式。信源編碼的目標就是使信源減少冗余,更加有效、經濟地傳輸,最常見的應用形式就是壓縮。另外,在數(shù)字電視領域,信源編碼包括 通用的MPEG—2編碼和H.264(MPEG—Part10 AVC)編碼等。相應地,信道編碼是為了對抗信道中的噪音和衰減,通過增加冗余,如校驗碼等,來提高抗干擾能力以及糾錯能力。
不同類型的信源,是否存在有每種信源的最佳的信源編碼,這通常是用信源編碼定理來表示。最簡單、最有實用指導意義的信源編碼定理是離散、無記憶型信源的二進制變長編碼的編碼定理。它證明,一定存在一種無失真編碼,當把N個符號進行編碼時,平均每個符號所需二進碼的碼長滿足
。其中H(U)是信源的符號熵(比特),這就是說,最佳的信源編碼應是與信源信息熵H(U)統(tǒng)計匹配的編碼,代碼長度可接近符號熵。這一結論不僅表明最佳編碼存在,而且還給出具體構造碼的方法,即按概率特性編成不等長度碼。對不同類型信源,如離散或連續(xù)、無或有記憶、平穩(wěn)或非平穩(wěn)、無或限定失真等,可以構成不同的組合信源,它們都存在各自的信源編碼定理。但它們中絕大部分僅是屬于理論上的存在性定理,這給具體尋找和實現(xiàn)不同類型信源的信源編碼,帶來了相當?shù)碾y度。信源編碼根據(jù)信源的性質進行分類,則有信源統(tǒng)計特性已知或未知、無失真或限定失真、無記憶或有記憶信源的編碼;按編碼方法進行分類可分為分組碼或非分組碼、等長碼或變長碼等。然而最常見的是討論統(tǒng)計特性已知條件下,離散、平穩(wěn)、無失真信源的編碼,消除這類信源剩余度的主要方法有統(tǒng)計匹配編碼和解除相關性編碼。比如仙農碼、費諾碼、赫夫曼碼,它們屬于不等長度分組碼,算術編碼屬于非分組碼;預測編碼和變換編碼是以解除相關性為主的編碼。對限定失真的信源編碼則是以信息率失真R(D)函數(shù)為基礎,最典型的是矢量量化編碼。對統(tǒng)計特性未知的信源編碼稱為通用編碼。
既然信源編碼的基本目的是提高碼字序列中碼元的平均信息量,那么,一切旨在減少剩余度而對信源輸出符號序列所施行的變換或處理,都可以在這種意義下歸入信源編碼的范疇,例如過濾、預測、域變換和數(shù)據(jù)壓縮等。當然,這些都是廣義的信源編碼。一般來說,減少信源輸出符號序列中的剩余度、提高符號平均信息量的基本途徑有兩個:①使序列中的各個符號盡可能地互相獨立;②使序列中各個符號的出現(xiàn)概率盡可能地相等。前者稱為解除相關性,后者稱為概率均勻化。
那么,當M足夠大時,上述編碼幾乎沒有失真;反之,若這個條件不滿足,就不可能實現(xiàn)無失真的編碼。式中H(U)是信源輸出序列的符號熵。通常,信源的符號熵H(U)K,因此,上述條件還可以表示為 【H(U)+ε】/logL≤N/M≤logK/logL特別,若有K=L,那么,只要H(U)K,就可能有N
變長編碼是指V的各個碼字的長度不相等。只要V中各個碼字的長度 Ni(i=1,…,‖V‖)滿足克拉夫特不等式 這
‖V‖個碼字就能唯一地正確劃分和譯碼。離散無記憶信源的變長編碼定理指出:若離散無記憶信源的輸出符號序列為, 式中
A={ɑk|k=1,…,K},符號熵為H(U),對U進行唯一可譯的變長編碼,編碼字母表B的符號數(shù)為L,即B={bl|l=1,…,L},那么必定存在一種編碼方法,使編出的碼字Vi=(vi1,…,viNi),(i=1,…,‖V‖),具有平均長度嚻:
MH(U)/logL≤嚻