欒 陽(yáng)
[摘要]現(xiàn)今的電子信息技術(shù)領(lǐng)域正發(fā)生著一場(chǎng)具有深遠(yuǎn)影響的數(shù)字化革命。不僅通信、廣播、電視、音響、錄像、攝影和儀器、儀表等都面臨著由模擬技術(shù)向數(shù)字技術(shù)的轉(zhuǎn)變,數(shù)字化信息尤其是數(shù)字視頻、音頻信號(hào)的數(shù)據(jù)量是極其龐大的,給存儲(chǔ)、傳輸以及有效、快速獲取信息都帶來了嚴(yán)重的障礙·如果不對(duì)其進(jìn)行有效的壓縮就難以得到實(shí)際應(yīng)用。因此,數(shù)據(jù)壓縮技術(shù)已成為當(dāng)今數(shù)字通信、存儲(chǔ)及多媒體系統(tǒng)的一項(xiàng)關(guān)鍵技術(shù)a因此,將概括性地介紹數(shù)據(jù)壓縮的概念、壓縮的發(fā)展、壓縮的原理、常用的數(shù)據(jù)壓縮方法以及壓縮標(biāo)準(zhǔn)和數(shù)據(jù)壓縮的應(yīng)用等幾個(gè)部分。
[關(guān)鍵詞]數(shù)據(jù)壓縮冗余數(shù)字化多媒體信息技術(shù)
中圖分類號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):t671—7597(2009)1020094--02
現(xiàn)今的電子信息技術(shù)領(lǐng)域正發(fā)生著一場(chǎng)具有深遠(yuǎn)影響的數(shù)字化革命·不僅通信、廣播、電視、音響、錄像、攝影和儀器、儀表等都面臨著由模擬技術(shù)向數(shù)字技術(shù)的轉(zhuǎn)變,而且數(shù)字化視頻、音頻技術(shù)的發(fā)展也正引起計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的根本性變革,并為其應(yīng)用開拓了新的空間。然而,由于數(shù)字化的多媒體信息尤其是數(shù)字視、音頻信號(hào)的數(shù)據(jù)量特別龐大,如果不對(duì)其進(jìn)行有效的壓縮就難以得到實(shí)際的應(yīng)用。因此,數(shù)據(jù)壓縮技術(shù)已成為當(dāng)今通信、廣播、存儲(chǔ)和多媒體娛樂領(lǐng)域一項(xiàng)共同涉及到的關(guān)鍵性技術(shù)。
一、數(shù)據(jù)壓縮技術(shù)概述
(一)壓縮技術(shù)的概念
所謂數(shù)據(jù)壓縮技術(shù)通俗地說,就是用最少的數(shù)碼來表示信號(hào)。其作用是:能較快地傳輸各種信號(hào),如傳真、圖象等,用現(xiàn)有的通信干線并行開通更多的多媒體業(yè)務(wù),如各種增值業(yè)務(wù),壓縮數(shù)據(jù)的存儲(chǔ)容量。CD2ROM、VCD和DVD等,降低發(fā)信機(jī)功率,這對(duì)移動(dòng)通信系統(tǒng)尤為重要。由此看來,通信時(shí)間、傳輸帶寬、存儲(chǔ)空間甚至發(fā)射能量,都可能與數(shù)據(jù)壓縮的效果直接相關(guān)。
關(guān)于數(shù)據(jù)壓縮的理論,比較系統(tǒng)的研究始于40年代初形成的信息論,早期信息論研究的主要內(nèi)容之一就是已知消息中各符號(hào)出現(xiàn)的頻率,設(shè)法構(gòu)造一種編碼,使消息所占的空間盡可能少。盡管當(dāng)時(shí)數(shù)字計(jì)算機(jī)尚未出現(xiàn),但所進(jìn)行的研究與當(dāng)今數(shù)字計(jì)算機(jī)所使用的壓縮技術(shù)有著密切的聯(lián)系。許多算法的出現(xiàn),如Huffman編碼等至今仍有很大的應(yīng)用價(jià)值。
(二)數(shù)據(jù)壓縮技術(shù)的發(fā)展
數(shù)據(jù)壓縮的研究過程一直有兩個(gè)發(fā)展方向:一個(gè)是許多數(shù)學(xué)家所致力于的建設(shè)信源和數(shù)據(jù)壓縮的數(shù)學(xué)模型。并從中找出衡量數(shù)據(jù)壓縮質(zhì)量的技術(shù)指標(biāo)及撮優(yōu)壓縮性能指標(biāo);另一個(gè)則是眾多的工程技術(shù)人員所進(jìn)行的工作,他們的研究重點(diǎn)為建立一個(gè)能實(shí)現(xiàn)數(shù)據(jù)壓縮功能的系統(tǒng),以服務(wù)于工程應(yīng)用,或者對(duì)這些數(shù)據(jù)壓縮系統(tǒng)進(jìn)行分析或模擬,以確定它們的性能指標(biāo)。但不論是理論研究還是工程實(shí)踐,1977年以前,數(shù)據(jù)壓縮作為信息論研究中的一項(xiàng)內(nèi)容,主要是有關(guān)信息熵,數(shù)據(jù)壓縮比和各種編碼方法的研究,即按某種方法對(duì)源數(shù)據(jù)流進(jìn)行編碼,使得經(jīng)過編碼的數(shù)據(jù)流比原數(shù)據(jù)流占用較少的空間。其中基于符號(hào)頻率統(tǒng)計(jì)的Huffman具有良好的壓縮性能,一直占據(jù)重要的地位,不斷有基于Huffman的改進(jìn)算法提出。
隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,數(shù)據(jù)壓縮作為解決海量信息存儲(chǔ)和傳輸?shù)闹渭夹g(shù)受到人們的極大關(guān)注。研究把無失真壓縮的研究推向了一個(gè)全新的階段。目前,計(jì)算機(jī)文件常用的壓縮正具如WinZip、ARJ等都是基于這種方法的。隨著信號(hào)處理研究的不斷發(fā)展,數(shù)字圖像信號(hào)、語(yǔ)音信號(hào)等都被大量的引入到有關(guān)的領(lǐng)域中。由于圖像信息占用較多的存儲(chǔ)空間,而圖像通信又是目前非話業(yè)務(wù)的主流,因此數(shù)據(jù)壓縮技術(shù)在圖像通信中得到了最廣泛的應(yīng)用。
在圖像編碼中,最早研究的是預(yù)測(cè)編碼。曾作為經(jīng)典理論而登載于各種專著,并得到廣泛的應(yīng)用。近年來,隨著神經(jīng)網(wǎng)絡(luò)理論的興起,有入采用BP網(wǎng)進(jìn)行非線性預(yù)測(cè)的嘗試,并取得了較好的效果。眾多研究者相繼提出了在多個(gè)分辨率下表示圖像的方案,主要的方法有:子代編碼,金字塔編碼,小波變換編碼等。基于小波變換的方法具有較高的壓縮性能,已成為JPEG2000的核心算法。
(三)數(shù)據(jù)壓縮技術(shù)的原理
關(guān)于壓縮技術(shù)的原理:首先,數(shù)據(jù)中間常存在一些多余成分即冗余度。如在一份計(jì)算機(jī)文件中,某些符號(hào)要比其它符號(hào)頻率高得多地重復(fù)出現(xiàn)這些冗余部分便可在數(shù)據(jù)編碼中除去或減少,冗余度壓縮是一個(gè)可逆過程,因此叫做無失真壓縮或稱保持型編碼。
其次,數(shù)據(jù)中間尤其是相鄰的數(shù)據(jù)之間常存在著相關(guān)性,如圖片中常常有色彩均勻的背影;電視信號(hào)的相鄰兩幀之間可能只有少量的變化影物是不同的;聲音信號(hào)有時(shí)具有一定的規(guī)律性和周期性等等。因此,有可能利用某些變換來盡可能地去掉這些相關(guān)性。但這種變換有時(shí)會(huì)帶來不可恢復(fù)的損失和誤差,因此叫做不可逆壓縮或稱有失真編碼、熵壓縮。
就數(shù)據(jù)壓縮技術(shù)而言,最基本的要求是要盡量降低數(shù)字化的碼率,同時(shí)仍保持一定的信號(hào)質(zhì)量。不難想象,數(shù)據(jù)壓縮的方法應(yīng)該是很多的,但本質(zhì)上不外乎上述的完全可逆的冗余度壓縮和實(shí)際上不可逆的熵壓縮兩類。冗余度壓縮常用于磁盤文件、數(shù)據(jù)通信和氣象衛(wèi)星云圖等不允許在壓縮過程中有絲毫損失的場(chǎng)合中。但它的壓縮比通常只有幾倍,遠(yuǎn)遠(yuǎn)不能滿足數(shù)字視聽?wèi)?yīng)用的要求。在實(shí)際的數(shù)字視聽設(shè)備中。差不多都采用壓縮比更高、但實(shí)際有損的熵壓縮技術(shù)。只要作為最終用戶的人覺察不出或能夠容忍這些失真,就允許對(duì)數(shù)字音像信號(hào)進(jìn)一步壓縮以換取更高的編碼效率。熵壓縮主要有特征抽取和量化兩種方法,指紋的模式識(shí)別是前種方法應(yīng)用的典型例子,而后種方法則是一種更通用的熵壓縮技術(shù)。
二、數(shù)據(jù)壓縮的分類及其壓縮算法
(一)數(shù)據(jù)壓縮技術(shù)的分類
數(shù)據(jù)壓縮的研究已有幾十年的歷史,其間,人們提出了各種各樣的壓縮算法。在分類上,也存在幾種不同的方法,按編碼失真程度或者說按壓縮過程的可逆性將數(shù)據(jù)壓縮分為兩種類型:無失真壓縮(LosslessCompression)與有失真壓縮(Lossy Compression):有人按編碼基建模的不同將數(shù)據(jù)壓縮分成模型基編碼和波形基編碼;又有人將它分為第一代壓縮編碼和第二代壓縮編碼;還可按壓縮技術(shù)所使用的方法進(jìn)行分類可分為預(yù)測(cè)編(Predictive Coding)、變換編碼(Transform Coding)和統(tǒng)計(jì)編碼(Statistical Coding)幾大類。
(二)無失真壓縮和有失真壓縮算法
目前,較為認(rèn)可的是第一種分類方法。無失真壓縮和有失真壓縮。無失真壓縮;也可稱之為冗余度壓縮(Redundanc Compression)即無損壓縮。原始數(shù)據(jù)可由壓縮數(shù)據(jù)完全恢復(fù)出來。這種壓縮方法的基本思想是除去或盡量除去數(shù)據(jù)中重復(fù)和冗余部分,而不丟失其中的任何信息,從而確保被壓縮了的數(shù)據(jù)還原后與壓縮前完全一致。這種壓縮方法主要應(yīng)用于文本、程序文件等不允許出現(xiàn)任何數(shù)據(jù)失真的場(chǎng)臺(tái)。
1、基于字典編碼技術(shù)的LZW算法
如果看文章時(shí)碰到了“NBA”的字樣,去查查《英文縮略語(yǔ)詞典》就知道這是“美國(guó)國(guó)家籃球協(xié)會(huì)”的縮寫,三個(gè)單詞被壓縮成了三個(gè)字母,同樣地,“縮略語(yǔ)詞典”這一思想可以用來設(shè)計(jì)壓縮算法。假如把出現(xiàn)過多次的子串叫做高頻子串,并且把出現(xiàn)頻高的子申編成一張表,稱為高頻字典,每個(gè)子串都有一個(gè)作為序號(hào),那么每當(dāng)碰到一個(gè)高頻子串時(shí),就用這個(gè)序號(hào)代替它。用一個(gè)字節(jié)代替一個(gè)子串當(dāng)然,在壓縮數(shù)據(jù)中得要把這個(gè)去,以供還原算法查字典用。字典可以是靜態(tài)的,把原始數(shù)據(jù)掃描一遍就能得到也可以是動(dòng)態(tài)的,就是先讓字典空著,一邊掃描,一邊加進(jìn)新的高頻子串,字典滿了就取消一部分“老”子串這樣壓縮率稍有下降,但能節(jié)約一次掃描的時(shí)間,從而極大地提高了處理度。這種壓縮算法最早是由Lempel和Ziv兩位專家于年提出的,當(dāng)時(shí)叫做算法,后來經(jīng)過貝爾實(shí)驗(yàn)室的改進(jìn),特別是welch在1984年的改進(jìn)之后,成為現(xiàn)在的lzw算法。
2、基于哈夫曼編碼原理的壓縮算法
前面的LZW算法,是試圖找出原始數(shù)據(jù)中各種形式的重復(fù),然后以一種有效的方式重新編碼存儲(chǔ)。它們都是在不改變?cè)紨?shù)據(jù)的字符編碼方式的基礎(chǔ)上的算法,也就是說,壓縮前后都是用8個(gè)比特來表示一個(gè)字符?!癆BCAABA”這個(gè)字申有7個(gè)字節(jié),就是56個(gè)比特,要想壓縮它,LZW不大合適,因其中既沒有單個(gè)字節(jié)的多次重復(fù),也沒有子串的多次重復(fù)。這種思想是由Huffaman博士1952在年提出來的,我們把用這種編碼原理的壓縮算法叫做哈夫曼壓縮。
上述例子的哈夫曼壓縮過程簡(jiǎn)述如下:
第一步,統(tǒng)計(jì)原始數(shù)據(jù)中各個(gè)字符的出現(xiàn)次數(shù)A=4,B=2,c=1。
第二步,建立哈夫曼樹,每個(gè)非葉結(jié)點(diǎn)的左右子樹的權(quán)都盡可能地接近結(jié)果。
第三步,編碼。從樹根開始,向左轉(zhuǎn)記為0,向右記為1,得到,A=0,B=10,c=11。這樣編碼出來的比特流能被唯一地識(shí)別出來。
第四步,把哈夫曼樹存入結(jié)果數(shù)據(jù)。
第五步,重新編碼原始數(shù)據(jù)到結(jié)果數(shù)據(jù)。因?yàn)樯厦娴睦又兄怀霈F(xiàn)了個(gè)字符,字符集很小,所以能用1-2比特來編碼,達(dá)到了很高的壓縮率。哈夫曼算法的實(shí)質(zhì)是針對(duì)統(tǒng)計(jì)結(jié)果對(duì)字符本身重新編碼,而不是對(duì)重復(fù)字符或重復(fù)子串編碼。一邊壓縮數(shù)據(jù),一邊動(dòng)態(tài)地調(diào)整哈夫曼樹,提高了速度。改進(jìn)的哈夫曼算法又被稱為自適應(yīng)哈夫曼(Adaptive Huffman)或動(dòng)態(tài)哈夫曼算法(Dynamic Huffman),是一種常用的算法。
3、靜態(tài)圖片有損壓縮算法YVEG/M—JPEG
JPEG壓縮算法的基本原理是把圖片分為許多單元,每個(gè)單元都是一個(gè)正方形的區(qū)域,然后進(jìn)行離散余弦變換(DCT—Discrete Cosine Transform),得到圖形信號(hào)。因?yàn)槿搜蹖?duì)圖形信號(hào)的高頻端不太敏感,所以去掉圖形信號(hào)中的一些高頻分量不會(huì)造成圖片觀察質(zhì)量的明顯下降。這里說的高頻分量不是指彩色光譜中的藍(lán)紫色光,而是指圖形信號(hào)中表示圖像邊緣細(xì)節(jié)的部分。為了保證壓縮質(zhì)量,通常采用的壓縮比為,24:1。
JPEG算法主要針對(duì)靜態(tài)圖片,但人們利用壓縮原理,把一系列靜態(tài)圖片壓縮存放起來,然后連續(xù)地解壓重放就得到了動(dòng)態(tài)圖像。這種壓縮方法被稱為M—YeEG,即“活動(dòng)的靜態(tài)圖像壓縮”。它的本質(zhì)仍然是JPEG?,F(xiàn)在,M—JPEG基本上已被MPEG淘汰。一般JPEG壓縮的實(shí)現(xiàn)方法以純軟件的形式為多,M-JPEG則以硬件實(shí)現(xiàn)形式居多。
4、動(dòng)態(tài)圖像有損壓縮算法MPEG
MPEG是由“動(dòng)態(tài)圖像專家小組”制定的標(biāo)準(zhǔn)算法,其設(shè)計(jì)目標(biāo)是在微機(jī)上得到相當(dāng)于VHS錄像質(zhì)量的音頻視頻效果。該算法包含三項(xiàng)技術(shù)動(dòng)態(tài)圖像壓縮技術(shù),聲音壓縮技術(shù)和圖像聲音同步技術(shù),其中動(dòng)態(tài)圖像壓縮是其關(guān)鍵內(nèi)容。
和電影一樣,多媒體電影也是按照“幀”為單位組織的連續(xù)圖像和聲音信號(hào)。MPEG把幀按照如下三種情況分別處理:(1)當(dāng)前幀:用來作為其他幀參考用的關(guān)鍵幀,一般使用12:1的高質(zhì)量壓縮,每秒鐘只有兩個(gè)當(dāng)前幀。(2)預(yù)測(cè)幀:是使用當(dāng)前幀的信息,根據(jù)其中實(shí)體的運(yùn)動(dòng)趨勢(shì)向前預(yù)測(cè)得到的幀。(3)雙向幀:為了得到滿意的圖像效果,僅有當(dāng)前幀和預(yù)測(cè)幀是不夠的,還需要在它們中間插入雙向幀以使效果更加平滑。雙向幀是利用前兩者的信息,進(jìn)行向前和向后兩個(gè)方向的預(yù)測(cè)得到的。通過綜合使用以上幾種預(yù)測(cè)技術(shù),MPEG算法的整體壓縮比可以達(dá)到100:1的水平。
三、數(shù)據(jù)壓縮技術(shù)的應(yīng)用
數(shù)據(jù)壓縮技術(shù),廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、軍事、建筑、機(jī)械電子、影視新聞、等各個(gè)領(lǐng)域,成為人類生活中不可缺少的重要組成部分。
現(xiàn)在幾乎每一個(gè)計(jì)算機(jī)用戶都在使用數(shù)據(jù)壓縮功能。拿最簡(jiǎn)單的講,我們使用最廣泛的文字處理軟件如Word、WPS都提供了對(duì)保存文件的壓縮功能,以使編輯生成的文件容量更小。目前最常用的圖形(如JPEG)、音頻(如MP3)、視頻(如VCD/DVD)文件都使用了壓縮技術(shù),以使在有限的空間中存放更多的文件。不過這些壓縮操作都是由相應(yīng)的程序自動(dòng)完成的,用戶感覺不到。另外,我們通過軟盤交換文件、通過因特網(wǎng)下載文件、通過郵件傳送文件、使用備份程序等都可能要用到和接觸到數(shù)據(jù)壓縮,它已經(jīng)融入到電腦的方方面面。
在我們?nèi)粘I钪校步?jīng)常遇到的數(shù)據(jù)壓縮技術(shù),比如很多衛(wèi)星電視就是通過數(shù)據(jù)壓縮技術(shù)來傳輸?shù)?先將電視信號(hào)轉(zhuǎn)化為數(shù)字編碼,再進(jìn)行數(shù)據(jù)壓縮,然后通過衛(wèi)星傳送到各地的有線電視臺(tái),有線電視臺(tái)再還原為電視信號(hào)傳送到我們千家萬戶)。另外,VCD、SVCD、DVD、IP電話、長(zhǎng)途電話、傳送股市行情數(shù)據(jù)等都要用到數(shù)據(jù)壓縮技術(shù)。
四、總結(jié)
隨著人類進(jìn)入信息時(shí)代,人類將更多的依靠電腦,從Interet中獲取信息。而大部分信息卻都具有數(shù)據(jù)的海量性。在這種情況下,信息的傳輸與存儲(chǔ)就成為首要問題。數(shù)據(jù)壓縮就成為解決這一瓶頸問題的重要方法
采用數(shù)據(jù)壓縮技術(shù),對(duì)數(shù)據(jù)進(jìn)行壓縮,是實(shí)現(xiàn)實(shí)時(shí)、快速、有效地處理、傳輸和存儲(chǔ)數(shù)據(jù)的首要問題和根本方法,壓縮的出發(fā)點(diǎn)是利用各種算法將數(shù)據(jù)冗余壓縮到最小,以保證盡可能少的有用信息,并且盡可能地減少失真,提高使用效率和質(zhì)量;為了使壓縮后的數(shù)據(jù)能夠互換,必須規(guī)定通用的標(biāo)準(zhǔn)格式,因此國(guó)際上相關(guān)的組織和機(jī)構(gòu),制定了相應(yīng)的國(guó)際上通用的數(shù)據(jù)壓縮標(biāo)準(zhǔn)。目前,雖然數(shù)據(jù)壓縮技術(shù)已很成熟,并得到了廣泛的應(yīng)用,但是人們?nèi)栽诶^續(xù)研究,以追求更好的壓縮效果使其更好的為人類服務(wù)。