信源編碼 - 通信科學技術(shù)名詞
信源編碼是一種以提高通信有效性為目的而對信源符號進行的變換,或者說為了減少或消除信源利余度而進行的信源符號變換。具體說,就是針對信源輸出符號序列的統(tǒng)計特性來尋找某種方法,把信源輸出符號序列變換為最短的碼字序列,使后者的各碼元所載荷的平均信息量最大,同時又能保證無失真地恢復原來的符號序列。

通信科學技術(shù)
既然信源編碼的基本目的是提高碼字序列中碼元的平均信息量,那么,一切旨在減少剩余度而對信源輸出符號序列所施行的變換或處理,都可以在這種意義下歸入信源編碼的范疇,例如過濾、預測、域變換和數(shù)據(jù)壓縮等。當然,這些都是廣義的信源編碼。
一般來說,減少信源輸出符號序列中的剩余度、提高符號平均信息量的基本途徑有兩個:①使序列中的各個符號盡可能地互相獨立;②使序列中各個符號的出現(xiàn)概率盡可能地相等。前者稱為解除相關性,后者稱為概率均勻化。
信源編碼的一般問題可以表述如下:若某信源的輸出為長度等于M的符號序列集合
式中符號A為信源符號表,它包含著K個不同的符號,A={ɑk|k=1,…,K},這個信源至多可以輸出K個不同的符號序列。記‖U‖=K。所謂對這個信源的輸出進行編碼,就是用一個新的符號表B的符號序列集合V來表示信源輸出的符號序列集合U。若V的各個序列的長度等于 N,即式中新的符號表B共含L個符號,B={bl|l=1,…,L}。它總共可以編出L個不同的碼字。
類似地,記‖V‖=L。為了使信源的每個輸出符號序列都能分配到一個獨特的碼字與之對應,至少應滿足關系 ‖V‖=L≥‖U‖=K或者 N/M≥logK/logL假若編碼符號表B的符號數(shù)L與信源符號表A的符號數(shù)K相等,則編碼后的碼字序列的長度N必須大于或等于信源輸出符號序列的長度M;反之,若有N=M,則必須有L≥K。只有滿足這些條件,才能保證無差錯地還原出原來的信源輸出符號序列 - 稱為碼字的唯一可譯性。
可是,在這些條件下,碼字序列的每個碼元所載荷的平均信息量不但不能高于,反而會低于信源輸出序列的每個符號所載荷的平均信息量。這與編碼的基本目標是直接相矛盾的。下面的幾個編碼定理,提供了解決這個矛盾的方法。它們既能改善信息載荷效率,又能保證碼字唯一可譯。
離散無記憶信源的定長編碼定理對于任意給定的ε>0,只要滿足條件 N/M≥ - H - U+ε/logL
那么,當M足夠大時,上述編碼幾乎沒有失真;反之,若這個條件不滿足,就不可能實現(xiàn)無失真的編碼。式中H - U是信源輸出序列的符號熵。通常,信源的符號熵H - U<logK,因此,上述條件還可以表示為 【H - U+ε】/logL≤N/M≤logK/logL
特別,若有K=L,那么,只要H - U<logK,就可能有N<M,從而提高信息載荷的效率。由上面這個條件可以看出,H - U離logK越遠,通過編碼所能獲得的效率改善就越顯著。實質(zhì)上,定長編碼方法提高信息載荷能力的關鍵是利用了漸近等分性,通過選擇足夠大的M,把本來各個符號概率不等[因而H - U<logK]的信源輸出符號序列變換為概率均勻的典型序列,而碼字的唯一可譯性則由碼字的定長性來解決。
離散無記憶信源的變長編碼定理變長編碼是指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≤嚻<MH - U/logL+1,若L=K,則當H - U<logK=logL時,必有嚻<M;H - U離logK越遠,則嚻越小于M。
具體實現(xiàn)唯一可譯變長編碼的方法很多,但比較經(jīng)典的方法還是仙農(nóng)編碼法、費諾編碼法和霍夫曼編碼法。其他方法都是這些經(jīng)典方法的變形和發(fā)展。所有這些經(jīng)典編碼方法,都是通過以短碼來表示常出現(xiàn)的符號這個原則來實現(xiàn)概率的均勻化,從而得到高的信息載荷效率;同時,通過遵守克拉夫特不等式關系來實現(xiàn)碼字的唯一可譯。
霍夫曼編碼方法的具體過程是:首先把信源的各個輸出符號序列按概率遞降的順序排列起來,求其中概率最小的兩個序列的概率之和,并把這個概率之和看作是一個符號序列的概率,再與其他序列依概率遞降順序排列(參與求概率之和的這兩個序列不再出現(xiàn)在新的排列之中),然后,對參與概率求和的兩個符號序列分別賦予二進制數(shù)字0和1。繼續(xù)這樣的操作,直到剩下一個以1為概率的符號序列。最后,按照與編碼過程相反的順序讀出各個符號序列所對應的二進制數(shù)字組,就可分別得到各該符號序列的碼字。
碼字是唯一可譯的,不會在長的碼字序列中出現(xiàn)劃錯碼字的情況。
以上幾個編碼定理,在有記憶信源或連續(xù)信源的情形也有相應的類似結(jié)果。在實際工程應用中,往往并不追求無差錯的信源編碼和譯碼,而是事先規(guī)定一個譯碼差錯率的容許值,只要實際的譯碼差錯率不超過這個容許值即認為滿意(見信息率-失真理論和多用戶信源編碼)。
參考書目:周炯槃:《信息理論基礎》,人民郵電出版社,北京, 1983。有本卓,《現(xiàn)代情報理論》,電子通信學會,東京,1978。
作用
信源編碼的作用之一是設法減少 碼元數(shù)目和降低 碼元速率,即通常所說的 數(shù)據(jù)壓縮;作用之二是將信源的 模擬信號轉(zhuǎn)化成 數(shù)字信號,以實現(xiàn)模擬信號的數(shù)字化傳輸。
應用
以簡單的數(shù)據(jù)壓縮為例即可說明信源編碼的應用。若有一離散、無失真、無記憶信源,它含有五種符號U~U及其對應概率P,對它進行兩種編碼:等長碼和最佳赫夫曼碼(見表1)。其中,等長碼的平均碼長:=3,即三位碼。若采用赫夫曼編碼,平均碼長,即不足兩位碼。這就是說,數(shù)據(jù)壓縮了以上。
