蔡春梅
(遵義師范學院計算機與信息科學學院 貴州 遵義 563002)
21世紀的人類社會是信息化的社會,數(shù)字化后的信息,尤其是數(shù)字化的視頻和音頻信息具有數(shù)據(jù)海量性,它給數(shù)據(jù)的存儲和傳輸帶來較大的困難,成為人類有效地獲取和使用信息的瓶頸問題之一。
現(xiàn)如今,媒體元素種類繁多、構(gòu)成復雜,即數(shù)字計算機所要處理、傳輸和存儲等對象為數(shù)值、文字、語言、音樂、圖形、動畫、靜態(tài)圖像和電視視頻圖像等多種媒體元素,并且使他們在模擬量和數(shù)字量之間進行自由轉(zhuǎn)換、信息吞吐、存儲和傳輸。目前,虛擬現(xiàn)實技術(shù)要實現(xiàn)逼真的三維空間、3D立體聲效果和在實境中進行仿真交互,帶來的突出的問題是媒體元素數(shù)字化后數(shù)據(jù)量大得驚人,致使海量數(shù)據(jù)存儲與傳送電視信號數(shù)字化后的龐大數(shù)據(jù)量成為了多媒體信息傳送面臨的最大難題,數(shù)據(jù)壓縮是解決問題的重要途徑。
經(jīng)研究發(fā)現(xiàn),與音頻數(shù)據(jù)一樣,圖像數(shù)據(jù)中存在著大量的冗余,通過去除那些冗余數(shù)據(jù)可以極大地降低原始圖像數(shù)據(jù)量,從而解決圖像數(shù)據(jù)量巨大的問題。圖像數(shù)據(jù)壓縮技術(shù)就是研究如何利用圖像數(shù)據(jù)的冗余性來減少圖像數(shù)據(jù)量的方法。因此,進行圖像壓縮研究的起點是研究圖像數(shù)據(jù)的冗余性。常見的主要數(shù)據(jù)冗余有:
(1)空間冗余:在靜態(tài)圖像中有一塊表面顏色均勻的區(qū)域,在這個區(qū)域中所有點的光強和色彩以及色飽和度都相同,具有很大的數(shù)據(jù)冗余,這種冗余稱為空間冗余。
(2)時間冗余:電視圖像、動畫等序列圖片,當其中物體有位移時,后一幀的數(shù)據(jù)與前一幀的數(shù)據(jù)有許多共同的地方,即數(shù)據(jù)不需要全部傳輸,這些共同的地方則是冗余,這種冗余稱為時間冗余。
(3)結(jié)構(gòu)冗余:在有些圖像的紋理區(qū),圖像的像素值存在著明顯的分布模式。例如,方格狀的地板圖案等,稱此為結(jié)構(gòu)冗余。
多媒體數(shù)據(jù)壓縮方法根據(jù)不同的依據(jù)可產(chǎn)生不同的分類。通常,我們對數(shù)據(jù)壓縮方法分類是根據(jù)據(jù)解碼后數(shù)據(jù)是否能夠完全無丟失地恢復原始數(shù)據(jù),此種分類可分為兩種:
(1)無損壓縮:此類壓縮也稱為可逆壓縮,這種壓縮方式是在數(shù)據(jù)的壓縮過程中去除或減少冗余值,而在數(shù)據(jù)解壓是,這些被去除或減少的冗余值可重新插入到數(shù)據(jù)中以恢復原始數(shù)據(jù)。無損壓縮通常使用在對文本和數(shù)據(jù)的壓縮上,壓縮比較低,大致在2:1~5:1之間。典型算法有:哈夫曼編碼、香農(nóng)編碼、費諾編碼、算術(shù)編碼、游程編碼等。
(2)有損壓縮:也稱不可逆壓縮和熵壓縮等。這種方法在壓縮時減少了數(shù)據(jù)信息是不能恢復的。在語音、圖像和動態(tài)視頻的壓縮中,經(jīng)常采用這類方法。
編碼的目的是為了優(yōu)化通信系統(tǒng)。一般來說,通信系統(tǒng)的性能指標主要是有效性、可靠性、安全性和經(jīng)濟性。所謂優(yōu)化,就是是這些指標達到最佳。按照不同的編碼目的,編碼問題可分為三類:信源編碼、信道編碼和安全編碼。
信源編碼的目的是為了提高通信系統(tǒng)的有效性,這種有效性通常通過壓縮信源的冗余度來實現(xiàn),即壓縮每個信源符號的信息量,使得同樣多的信息用較少的信息傳輸率來傳送。編碼的思路主要是根據(jù)信源輸出符號序列的統(tǒng)計特性,尋找一定的把信源輸出符號序列變換為最短碼字序列的方法。
信源編碼理論是信息論的一個重要分支,其理論基礎是信源編碼的兩個定理:無失真信源編碼定理和限失真信源編碼定理。常用的信源編碼方法有:香農(nóng)編碼、費諾編碼和哈夫曼編碼。
香農(nóng)編碼的基本原理是采用信源符號的累計概率分布函數(shù)來分配碼字。編碼步驟描述為:
①將信源符號按概率遞減的順序排列,令:p(x1)≥p(x2)≥…≥p(xn);
②按照不等式:-log p(xi)≤li≤-log p(xi)+1 求 xi對應碼字的碼長li;
③令Pi=0,用pi來表示第i個碼字的累加概率,則:
④將所有的累加和概率pi變換成2進制數(shù),然后去小數(shù)點pi后位作為信源符號xi的2進制碼字。
香農(nóng)編碼所得的碼字,沒有相同的,也沒有一個碼字是其它碼字的前綴,所有是即時碼。但因香農(nóng)編碼的編碼效率不高,其冗余度還是比較大,不是最佳編碼,實用性受到較大限制。
費諾編碼又稱為子集分解法,基本編碼原理是通過將信源符號的概率分組,對每個組分配相應的碼元來實現(xiàn)編碼,其編碼步驟如下:
①將信源符號以概率遞減的次序排列起來,令:p(x1)≥p(x2)≥…≥p(xn);
②將按遞減順尋排列好的信源符號按概率分成m個組,使每個組的信源符號的概率和盡可能接近或相等,然后賦予每組一個m元碼符號;
③將每一大組的信源符號按概率和遞減的次序再分成m組,使同一大組細分的m個小組的信源符號的概率和盡可能接近或相等,并分別賦予每小組一個m元碼符號;
④重復上述的分組,分配m元碼符號的過程,直至最后分得的每個小組只剩一個信源符號為止,最后每個信源符號所對應的碼元序列就是相應的碼字。
費諾碼考慮了信源的統(tǒng)計特性,使經(jīng)常出現(xiàn)的信源符號對應短碼字,但是不一定能使短碼得到充分利用,尤其當信源符號較多時,若有一些符號概率分布很接近時,分兩大組的組合方法就會很多,可能某種分大組的結(jié)果,會使后面小組的“概率和”相差較遠,從而使平均碼長增加。
Huffman編碼法利用了最佳編碼定理:在變字長碼中,對于出現(xiàn)概率大的信息符號以短字長編碼,對于出現(xiàn)概率小的信息符號以長字長編碼。如果碼字長度嚴格按照符號概率的大小的相反順序排列,則平均碼字長度一定小于按任何其他符號順序排列方式得到的碼字長度。具體步驟歸納如下:
①將信源信息符號的n個概率,按概率大小排序,即p(x1)≥p(x2)≥…≥p(xn);
②將n個概率中的最后兩個小概率相加,這時概率個數(shù)減為n-1個;
③將n-1個概率按大小重新排序;
④重復步驟③,將新排序后的最后兩個小概率再相加,相加所得到的和與其余概率再排序;
⑤如此反復重復n-2次,最后只剩下兩個概率序列;
⑥以二進制碼元(0,1)賦值(如大概率用“0”表示,小概率用“1”表示),構(gòu)成哈夫曼字。
哈夫曼碼字長度和信息符號出現(xiàn)概率大小次序正好相反,即大概率信息符號分配碼字長度短,小概率信息符號分配碼字長度長。
由于哈夫曼編碼每次對縮減信源兩個概率最小的符號分配“0”或“1”碼元是任意的,所以可得到不同的碼字,因此,哈夫曼編碼不是唯一的,在進行解碼時必須對照相應的哈夫曼表才可正確解碼。
香農(nóng)、費諾和哈夫曼編碼是信源編碼的三種主要編碼方法,它們都考慮了信源的統(tǒng)計特性,使經(jīng)常出現(xiàn)的信源符號對應較短的碼字,使信源的平均碼長縮短。香農(nóng)編碼有系統(tǒng)的、唯一的編碼方法,但編碼效率不高;費諾編碼比較適合于分組概率相等或接近的信源編碼;哈夫曼編碼對系統(tǒng)特性沒有特殊的要求,編碼效率比較高,對編碼設備的要求比較簡單,當信源符號概率相差較大時,選擇哈夫曼編碼是最理想的,哈夫曼編碼是最佳編碼。
[1]陳運.信息論與編碼[M].北京:電子工業(yè)出版社,2009.
[2]張旭東,等.圖像編碼基礎和小波壓縮技術(shù)[M].北京:清華大學出版社,2004.
[3]吳家安,等.語音編碼技術(shù)及應用[M].北京:機械工業(yè)出版社,2006.
[4]鐘家愷.通信原理教程[M].北京:科學出版社,2003.
[5]鐘玉琢.多媒體技術(shù)基礎與應用[M].北京:清華大學出版社,2008.