圖像壓縮論文
Ⅰ 對圖像進行基於DCT壓縮,
我正在做關於JPEG壓縮的論文,希望得到用MATLAB編寫基於離散正弦變換的圖像壓縮%計算二維DCT,矩陣T及其轉置是DCT函數P1*X*P2的參數 B=blkproc(I,[8,
Ⅱ 圖像壓縮編碼論文
數字圖像壓縮技術的研究及進展
摘要:數字圖像壓縮技術對於數字圖像信息在網路上實現快速傳輸和實時處理具有重要的意義。本文介紹了當前幾種最為重要的圖像壓縮演算法:JPEG、JPEG2000、分形圖像壓縮和小波變換圖像壓縮,總結了它們的優缺點及發展前景。然後簡介了任意形狀可視對象編碼演算法的研究現狀,並指出此演算法是一種產生高壓縮比的圖像壓縮演算法。關鍵詞:JPEG;JPEG2000;分形圖像壓縮;小波變換;任意形狀可視對象編碼一 引 言 隨著多媒體技術和通訊技術的不斷發展,多媒體娛樂、信息高速公路等不斷對信息數據的存儲和傳輸提出了更高的要求,也給現有的有限帶寬以嚴峻的考驗,特別是具有龐大數據量的數字圖像通信,更難以傳輸和存儲,極大地制約了圖像通信的發展,因此圖像壓縮技術受到了越來越多的關注。圖像壓縮的目的就是把原來較大的圖像用盡量少的位元組表示和傳輸,並且要求復原圖像有較好的質量。利用圖像壓縮,可以減輕圖像存儲和傳輸的負擔,使圖像在網路上實現快速傳輸和實時處理。 圖像壓縮編碼技術可以追溯到1948年提出的電視信號數字化,到今天已經有50多年的歷史了[1]。在此期間出現了很多種圖像壓縮編碼方法,特別是到了80年代後期以後,由於小波變換理論,分形理論,人工神經網路理論,視覺模擬理論的建立,圖像壓縮技術得到了前所未有的發展,其中分形圖像壓縮和小波圖像壓縮是當前研究的熱點。本文對當前最為廣泛使用的圖像壓縮演算法進行綜述,討論了它們的優缺點以及發展前景。二 JPEG壓縮 負責開發靜止圖像壓縮標準的「聯合圖片專家組」(Joint Photographic Expert Group,簡稱JPEG),於1989年1月形成了基於自適應DCT的JPEG技術規范的第一個草案,其後多次修改,至1991年形成ISO10918國際標准草案,並在一年後成為國際標准,簡稱JPEG標准。1.JPEG壓縮原理及特點 JPEG演算法中首先對圖像進行分塊處理,一般分成互不重疊的 大小的塊,再對每一塊進行二維離散餘弦變換(DCT)。變換後的系數基本不相關,且系數矩陣的能量集中在低頻區,根據量化表進行量化,量化的結果保留了低頻部分的系數,去掉了高頻部分的系數。量化後的系數按zigzag掃描重新組織,然後進行哈夫曼編碼。JPEG的特點優點:(1)形成了國際標准;(2)具有中端和高端比特率上的良好圖像質量。缺點:(1)由於對圖像進行分塊,在高壓縮比時產生嚴重的方塊效應;(2)系數進行量化,是有損壓縮;(3)壓縮比不高,小於50。 JPEG壓縮圖像出現方塊效應的原因是:一般情況下圖像信號是高度非平穩的,很難用Gauss過程來刻畫,並且圖像中的一些突變結構例如邊緣信息遠比圖像平穩性重要,用餘弦基作圖像信號的非線性逼近其結果不是最優的。2. JPEG壓縮的研究狀況及其前景 針對JPEG在高壓縮比情況下,產生方塊效應,解壓圖像較差,近年來提出了不少改進方法,最有效的是下面的兩種方法:(1)DCT零樹編碼 DCT零樹編碼把 DCT塊中的系數組成log2N個子帶,然後用零樹編碼方案進行編碼。在相同壓縮比的情況下,其PSNR的值比 EZW高。但在高壓縮比的情況下,方塊效應仍是DCT零樹編碼的致命弱點。(2)層式DCT零樹編碼 此演算法對圖像作 的DCT變換,將低頻 塊集中起來,做 反DCT變換;對新得到的圖像做相同變換,如此下去,直到滿足要求為止。然後對層式DCT變換及零樹排列過的系數進行零樹編碼。 JPEG壓縮的一個最大問題就是在高壓縮比時產生嚴重的方塊效應,因此在今後的研究中,應重點解決 DCT變換產生的方塊效應,同時考慮與人眼視覺特性相結合進行壓縮。三 JEPG2000壓縮 JPEG2000是由ISO/IEC JTCISC29標准化小組負責制定的全新靜止圖像壓縮標准。一個最大改進是它採用小波變換代替了餘弦變換。2000年3月的東京會議,確定了彩色靜態圖像的新一代編碼方式—JPEG2000圖像壓縮標準的編碼演算法。1.JPEG2000壓縮原理及特點 JPEG2000編解碼系統的編碼器和解碼器的框圖如圖1所示。編碼過程主要分為以下幾個過程:預處理、核心處理和位流組織。預處理部分包括對圖像分片、直流電平(DC)位移和分量變換。核心處理部分由離散小波變換、量化和熵編碼組成。位流組織部分則包括區域劃分、碼塊、層和包的組織。 JPEG2000格式的圖像壓縮比,可在現在的JPEG基礎上再提高10%~30%,而且壓縮後的圖像顯得更加細膩平滑。對於目前的JPEG標准,在同一個壓縮碼流中不能同時提供有損和無損壓縮,而在JPEG2000系統中,通過選擇參數,能夠對圖像進行有損和無損壓縮。現在網路上的JPEG圖像下載時是按「塊」傳輸的,而JPEG2000格式的圖像支持漸進傳輸,這使用戶不必接收整個圖像的壓縮碼流。由於JPEG2000採用小波技術,可隨機獲取某些感興趣的圖像區域(ROI)的壓縮碼流,對壓縮的圖像數據進行傳輸、濾波等操作。2.JPEG2000壓縮的前景 JPEG2000標准適用於各種圖像的壓縮編碼。其應用領域將包括Internet、傳真、列印、遙感、移動通信、醫療、數字圖書館和電子商務等。JPEG2000圖像壓縮標准將成為21世紀的主流靜態圖像壓縮標准。四 小波變換圖像壓縮1.小波變換圖像壓縮原理小波變換用於圖像編碼的基本思想就是把圖像根據Mallat塔式快速小波變換演算法進行多解析度分解。其具體過程為:首先對圖像進行多級小波分解,然後對每層的小波系數進行量化,再對量化後的系數進行編碼。小波圖像壓縮是當前圖像壓縮的熱點之一,已經形成了基於小波變換的國際壓縮標准,如MPEG-4標准,及如上所述的JPEG2000標准 。2.小波變換圖像壓縮的發展現狀及前景 目前3個最高等級的小波圖像編碼分別是嵌入式小波零樹圖像編碼(EZW),分層樹中分配樣本圖像編碼(SPIHT)和可擴展圖像壓縮編碼(EBCOT)。(1)EZW編碼器 1993年,Shapiro引入了小波「零樹」的概念,通過定義POS、NEG、IZ和ZTR四種符號進行空間小波樹遞歸編碼,有效地剔除了對高頻系數的編碼,極大地提高了小波系數的編碼效率。此演算法採用漸進式量化和嵌入式編碼模式,演算法復雜度低。EZW演算法打破了信息處理領域長期篤信的准則:高效的壓縮編碼器必須通過高復雜度的演算法才能獲得,因此EZW編碼器在數據壓縮史上具有里程碑意義。(2)SPIHT編碼器 由Said和Pearlman提出的分層小波樹集合分割演算法(SPIHT)則利用空間樹分層分割方法,有效地減小了比特面上編碼符號集的規模。同EZW相比,SPIHT演算法構造了兩種不同類型的空間零樹,更好地利用了小波系數的幅值衰減規律。同EZW編碼器一樣,SPIHT編碼器的演算法復雜度低,產生的也是嵌入式比特流,但編碼器的性能較EZW有很大的提高。(3)EBCOT編碼器優化截斷點的嵌入塊編碼方法(EBCOT)首先將小波分解的每個子帶分成一個個相對獨立的碼塊,然後使用優化的分層截斷演算法對這些碼塊進行編碼,產生壓縮碼流,結果圖像的壓縮碼流不僅具有SNR可擴展而且具有解析度可擴展,還可以支持圖像的隨機存儲。比較而言,EBCOT演算法的復雜度較EZW和SPIHT有所提高,其壓縮性能比SPIHT略有提高。
小波圖像壓縮被認為是當前最有發展前途的圖像壓縮演算法之一。小波圖像壓縮的研究集中在對小波系數的編碼問題上。在以後的工作中,應充分考慮人眼視覺特性,進一步提高壓縮比,改善圖像質量。並且考慮將小波變換與其他壓縮方法相結合。例如與分形圖像壓縮相結合是當前的一個研究熱點。
五 分形圖像壓縮 1988年,Barnsley通過實驗證明分形圖像壓縮可以得到比經典圖像編碼技術高幾個數量級的壓縮比。1990年,Barnsley的學生A.E.Jacquin提出局部迭代函數系統理論後,使分形用於圖像壓縮在計算機上自動實現成為可能。1. 分形圖像壓縮的原理 分形壓縮主要利用自相似的特點,通過迭代函數系統(Iterated Function System, IFS)實現。其理論基礎是迭代函數系統定理和拼貼定理。 分形圖像壓縮把原始圖像分割成若干個子圖像,然後每一個子圖像對應一個迭代函數,子圖像以迭代函數存儲,迭代函數越簡單,壓縮比也就越大。同樣解碼時只要調出每一個子圖像對應的迭代函數反復迭代,就可以恢復出原來的子圖像,從而得到原始圖像。2.幾種主要分形圖像編碼技術 隨著分形圖像壓縮技術的發展,越來越多的演算法被提出,基於分形的不同特徵,可以分成以下幾種主要的分形圖像編碼方法。(1)尺碼編碼方法 尺碼編碼方法是基於分形幾何中利用小尺度度量不規則曲線長度的方法,類似於傳統的亞取樣和內插方法,其主要不同之處在於尺度編碼方法中引入了分形的思想,尺度 隨著圖像各個組成部分復雜性的不同而改變。(2)迭代函數系統方法 迭代函數系統方法是目前研究最多、應用最廣泛的一種分形壓縮技術,它是一種人機交互的拼貼技術,它基於自然界圖像中普遍存在的整體和局部自相關的特點,尋找這種自相關映射關系的表達式,即仿射變換,並通過存儲比原圖像數據量小的仿射系數,來達到壓縮的目的。如果尋得的仿射變換簡單而有效,那麼迭代函數系統就可以達到極高的壓縮比。(3)A-E-Jacquin的分形方案 A-E-Jacquin的分形方案是一種全自動的基於塊的分形圖像壓縮方案,它也是一個尋找映射關系的過程,但尋找的對象域是將圖像分割成塊之後的局部與局部的關系。在此方案中還有一部分冗餘度可以去除,而且其解碼圖像中存在著明顯的方塊效應。3.分形圖像壓縮的前景 雖然分形圖像壓縮在圖像壓縮領域還不佔主導地位,但是分形圖像壓縮既考慮局部與局部,又考慮局部與整體的相關性,適合於自相似或自仿射的圖像壓縮,而自然界中存在大量的自相似或自仿射的幾何形狀,因此它的適用范圍很廣。六 其它壓縮演算法 除了以上幾種常用的圖像壓縮方法以外,還有:NNT(數論變換)壓縮、基於神經網路的壓縮方法、Hibert掃描圖像壓縮方法、自適應多相子帶壓縮方法等,在此不作贅述。下面簡單介紹近年來任意形狀紋理編碼的幾種演算法[10]~ [13]。(1)形狀自適應DCT(SA-DCT)演算法 SA-DCT把一個任意形狀可視對象分成 的圖像塊,對每塊進行DCT變換,它實現了一個類似於形狀自適應Gilge DCT[10][11]變換的有效變換,但它比Gilge DCT變換的復雜度要低。可是,SA-DCT也有缺點,它把像素推到與矩形邊框的一個側邊相平齊,因此一些空域相關性可能丟失,這樣再進行列DCT變換,就有較大的失真了[11][14][15]。(2)Egger方法 Egger等人[16][17]提出了一個應用於任意形狀對象的小波變換方案。在此方案中,首先將可視對象的行像素推到與邊界框的右邊界相平齊的位置,然後對每行的有用像素進行小波變換,接下來再進行另一方向的小波變換。此方案,充分利用了小波變換的局域特性。然而這一方案也有它的問題,例如可能引起重要的高頻部分同邊界部分合並,不能保證分布系數彼此之間有正確的相同相位,以及可能引起第二個方向小波分解的不連續等。(3)形狀自適應離散小波變換(SA-DWT) Li等人提出了一種新穎的任意形狀對象編碼,SA-DWT編碼[18]~[22]。這項技術包括SA-DWT和零樹熵編碼的擴展(ZTE),以及嵌入式小波編碼(EZW)。SA-DWT的特點是:經過SA-DWT之後的系數個數,同原任意形狀可視對象的像素個數相同;小波變換的空域相關性、區域屬性以及子帶之間的自相似性,在SA-DWT中都能很好表現出來;對於矩形區域,SA-DWT與傳統的小波變換一樣。SA-DWT編碼技術的實現已經被新的多媒體編碼標准MPEG-4的對於任意形狀靜態紋理的編碼所採用。 在今後的工作中,可以充分地利用人類視覺系統對圖像邊緣部分較敏感的特性,嘗試將圖像中感興趣的對象分割出來,對其邊緣部分、內部紋理部分和對象之外的背景部分按不同的壓縮比進行壓縮,這樣可以使壓縮圖像達到更大的壓縮比,更加便於傳輸。七 總結 圖像壓縮技術研究了幾十年,取得了很大的成績,但還有許多不足,值得我們進一步研究。小波圖像壓縮和分形圖像壓縮是當前研究的熱點,但二者也有各自的缺點,在今後工作中,應與人眼視覺特性相結合。總之,圖像壓縮是一個非常有發展前途的研究領域,這一領域的突破對於我們的信息生活和通信事業的發展具有深遠的影響。
參考文獻:[1] 田青. 圖像壓縮技術[J]. 警察技術, 2002, (1):30-31.[2] 張海燕, 王東木等. 圖像壓縮技術[J]. 系統模擬學報, 2002, 14(7):831-835.[3] 張宗平, 劉貴忠. 基於小波的視頻圖像壓縮研究進展[J]. 電子學報, 2002, 30(6):883-889.
[4] 周寧, 湯曉軍, 徐維朴. JPEG2000圖像壓縮標准及其關鍵演算法[J]. 現代電子技術, 2002, (12):1-5.[5] 吳永輝, 俞建新. JPEG2000圖像壓縮演算法概述及網路應用前景[J]. 計算機工程, 2003, 29(3):7-10.[6] J M Shaprio. Embedded image coding using zerotree of wavelet coefficients[J]. IEEE Trans. on Signal Processing, 1993, 41(12): 3445-3462.[7] A Said, W A Pearlman. A new fast and efficient image codec based on set partitioning in hierarchical trees[J]. IEEE Trans. on Circuits and Systems for Video Tech. 1996, 6(3): 243-250.[8] D Taubman. High performance scalable image compression with EBCOT[J]. IEEE Transactions on Image Processing, 2000, 9(7): 1158–1170.[9] 徐林靜, 孟利民, 朱建軍. 小波與分行在圖像壓縮中的比較及應用. 中國有線電視, 2003, 03/04:26-29.[10] M Gilge, T Engelhardt, R Mehlan. Coding of arbitrarily shaped image segments based on a generalized orthogonal transform[J]. Signal Processing: Image Commun., 1989, 1(10): 153–180.[11] T Sikora, B Makai. Shape-adaptive DCT for generic coding of video[J]. IEEE Trans. Circuits Syst. Video Technol., 1995, 5(1): 59–62.[12] T Sikora, S Bauer, B Makai. Efficiency of shape-adaptive 2-D transforms for coding of arbitrarily shaped image segments[J]. IEEE Trans. Circuits Syst. Video Technol., 1995, 5(3): 254–258.[13]鄧家先 康耀紅 編著 《資訊理論與編碼》
Ⅲ 多媒體數據壓縮算術研究 論文筆記
多媒體圖像壓縮技術
姓名:Vencent Lee
摘要:多媒體數據壓縮技術是現代網路發展的關鍵性技術之一。由於圖像和聲音信號中存在各種各樣的冗餘,為數據壓縮提供了可能。數據壓縮技術有無損壓和有損壓縮兩大類,這些壓縮技術又各有不同的標准。
一、多媒體數據壓縮技術
仙農(C.E.Shannon)在創立資訊理論時,提出把數據看作是信息和冗餘度的組合。早期的數據壓縮之所以成為資訊理論的一部分是因為它涉及冗餘度問題。而數據之所以能夠被壓縮是因為其中存在各種各樣的冗餘;其中有時間冗餘性、空間冗餘性、信息熵冗餘、先驗知識冗餘、其它冗餘等。時間冗餘是語音和序列圖像中常見的冗餘,運動圖像中前後兩幀間就存在很強的相關性,利用幀間運動補興就可以將圖像數據的速率大大壓縮。語音也是這樣。尤其是濁音段,在相當長的時間內(幾到幾十毫秒)語音信號都表現出很強的周期性,可以利用線性預測的方法得到較高的壓縮比。空間冗餘是用來表示圖像數據中存在的某種空間上的規則性,如大面積的均勻背景中就有很大的空間冗餘性。信息熵冗餘是指在信源的符號表示過程中由於未遵循資訊理論意義下最優編碼而造成的冗餘性,這種冗餘性可以通過熵編碼來進行壓縮,經常使用的如Huff-man編碼。先驗知識冗餘是指數據的理解與先驗知識有相當大的關系,如當收信方知道一個單詞的前幾個字母為administrato時,立刻就可以猜到最後一個字母為r,那麼在這種情況下,最後一個字母就不帶任何信息量了,這就是一種先驗知識冗餘。其它冗餘是指那些主觀無法感受到的信息等帶來的冗餘。
通常數據壓縮技術可分為無損壓縮(又叫冗餘壓縮)和有損壓縮(又叫熵壓縮)兩大類。無損壓縮就是把數據中的冗餘去掉或減少,但這些冗餘量是可以重新插入到數據中的,因而不會產生失真。該方法一般用於文本數據的壓縮,它可以保證完全地恢復原始數據;其缺點是壓縮比小(其壓縮比一般為2:1至5:1)。有損壓縮是對熵進行壓縮,因而存在一定程度的失真;它主要用於對聲音、圖像、動態視頻等數據進行壓縮,壓縮比較高(其壓縮比一般高達20:1以上。最新被稱為「E—igen—ID」的壓縮技術可將基因數據壓縮1.5億倍)。對於多媒體圖像採用的有損壓縮的標准有靜態圖像壓縮標准(JPEG標准,即『JointPhotographicExpertGroup』標准)和動態圖像壓縮標准(MPEG標准,即『MovingPictureExpertGroup』標准)。
JPEG利用了人眼的心理和生理特徵及其局限性來對彩色的、單色的和多灰度連續色調的、靜態圖像的、數字圖像的壓縮,因此它非常適合不太復雜的以及一般來源於真
實景物的圖像。它定義了兩種基本的壓縮演算法:一種是基於有失真的壓縮演算法,另一種是基於空間線性預測技術(DPCM)無失真的壓縮演算法。為了滿足各種需要,它制定了四種工作模式:無失真壓縮、基於DCT的順序工作方式、累進工作方式和分層工作方式。
MPEG用於活動影像的壓縮。MPEG標准具體包三部分內容:(1)MPEG視頻、(2)MPEG音頻、(3)MP系統(視頻和音頻的同步)。MPEG視頻是標準的核心分,它採用了幀內和幀間相結合的壓縮方法,以離散余變換(DCT)和運動補償兩項技術為基礎,在圖像質量基不變的情況下,MPEG可把圖像壓縮至1/100或更MPEG音頻壓縮演算法則是根據人耳屏蔽濾波功能。利用音響心理學的基本原理,即「某些頻率的音響在重放其頻率的音頻時聽不到」這樣一個特性,將那些人耳完全不到或基本上聽到的多餘音頻信號壓縮掉,最後使音頻號的壓縮比達到8:1或更高,音質逼真,與CD唱片可媲美。按照MPEG標准,MPEG數據流包含系統層和壓層數據。系統層含有定時信號,圖像和聲音的同步、多
分配等信息。壓縮層包含經壓縮後的實際的圖像和聲數據,該數據流將視頻、音頻信號復合及同步後,其數據輸率為1.5MB/s。其中壓縮圖像數據傳輸率為1.2M壓縮聲音傳輸率為0.2MB/s。
MPEG標準的發展經歷了MPEG—I,MPEG一2、MPEG一4、MPEG-7、MPEG一21等不同層次。在MPEG的不同標准中,每—個標准都是建立在前面的標准之上的,並與前面的標准向後的兼容。目前在圖像壓縮中,應用得較多的是MPEG一4標准,MPEG-是在MPEG-2基礎上作了很大的擴充,主要目標是多媒體應用。在MPEG一2標准中,我們的觀念是單幅圖像,而且包含了一幅圖像的全部元素。在MPEG一4標准下,我們的觀念變為多圖像元素,其中的每—個多圖像元素都是獨立編碼處理的。該標准包含了為接收器所用的指令,告訴接收器如何構成最終的圖像。
上圖既表示了MPEG一4解碼器的概念,又比較清楚地描繪了每個部件的用途。這里不是使用單一的視頻或音頻解碼器,而是使用若干個解碼器,其中的每一個解碼器只接收某個特定的圖像(或聲音)元素,並完成解碼操作。每個解碼緩沖器只接收屬於它自己的靈敏據流,並轉送給解碼器。復合存儲器完成圖像元素的存儲,並將它們送到顯示器的恰當位置。音頻的情況也是這樣,但顯然不同點是要求同時提供所有的元素。數據上的時間標記保證這些元素在時間上能正確同步。MPEG一4標准對自然元素(實物圖像)和合成元素進行區分和規定,計算機生成的動畫是合成元素的一個例子。比如,一幅完整的圖像可以包含一幅實際的背景圖,並在前面有一幅動畫或者有另外一幅自然圖像。這樣的每一幅圖像都可以作最佳壓縮,並互相獨立地傳送到接收器,接收器知道如何把這些元素組合在一起。在MPEG一2標准中,圖像被看作一個整體來壓縮;而在MPEG一4標准下,對圖像中的每一個元素進行優化壓縮。靜止的背景不必壓縮到以後的I幀之中去,否則會使帶寬的使用變得很緊張。而如果這個背景圖像靜止10秒鍾,就只要傳送一次(假設我們不必擔心有人在該時間內切人此頻道),需要不斷傳送的僅是前台的比較小的圖像元素。對有些節目類型,這樣做會節省大量的帶寬。MPEG一4標准對音頻的處理也是相同的。例如,有一位獨唱演員,伴隨有電子合成器,在MPEG一2標准下,我們必須先把獨唱和合成器作混合,然後再對合成的音頻信號進行壓縮與傳送。在MPEG一4標准下,我們可以對獨唱作單獨壓縮,然後再傳送樂器數字介面的聲軌信號,就可以使接收器重建伴音。當然,接收器必須能支持MIDI放音。與傳送合成的信號相比,分別傳送獨唱信號和MIDI數據要節省大量的帶寬。其它的節目類型同樣可以作類似的規定。MPEG一7標准又叫多媒體內容描述介面標准。圖像可以用色彩、紋理、形狀、運動等參數來描述,MPEG一7標準是依靠眾多的參數對圖像與聲音實現分類,並對它們的資料庫實現查詢。
二、多媒體數據壓縮技術的實現方法
目前多媒體壓縮技術的實現方法已有近百種,其中基於信源理論編碼的壓縮方法、離散餘弦變換(DCT)和小波分解技術壓縮演算法的研究更具有代表性。小波技術突破了傳統壓縮方法的局限性,引入了局部和全局相關去冗餘的新思想,具有較大的潛力,因此近幾年來吸引了眾多的研究者。在小波壓縮技術中,一幅圖像可以被分解為若干個叫做「小片」的區域;在每個小片中,圖像經濾波後被分解成若干個低頻與高頻分量。低頻分量可以用不同的解析度進行量化,即圖像的低頻部分需要許多的二進制位,以改善圖像重構時的信噪比。低頻元素採用精細量化,高頻分量可以量化得比較粗糙,因為你不太容易看到變化區域的雜訊與誤差。此外,碎片技術已經作為一種壓縮方法被提出,這種技術依靠實際圖形的重復特性。用碎片技術壓縮圖像時需要佔用大量的計算機資源,但可以獲得很好的結果。藉助於從DNA序列研究中發展出來的模式識別技術,能減少通過WAN鏈路的流量,最多時的壓縮比率能達到90%,從而為網路傳送圖像和聲音提供更大的壓縮比,減輕風絡負荷,更好地實現網路信息傳播。
三、壓縮原理
由於圖像數據之間存在著一定的冗餘,所以使得數據的壓縮成為可能。資訊理論的創始人Shannon提出把數據看作是信息和冗餘度(rendancy)的組合。所謂冗餘度,是由於一副圖像的各像素之間存在著很大的相關性,可利用一些編碼的方法刪去它們,從而達到減少冗餘壓縮數據的目的。為了去掉數據中的冗餘,常常要考慮信號源的統計特性,或建立信號源的統計模型。圖像的冗餘包括以下幾種:
(1) 空間冗餘:像素點之間的相關性。
(2) 時間冗餘:活動圖像的兩個連續幀之間的冗餘。
(3) 信息熵冗餘:單位信息量大於其熵。
(4) 結構冗餘:圖像的區域上存在非常強的紋理結構。
(5) 知識冗餘:有固定的結構,如人的頭像。
(6) 視覺冗餘:某些圖像的失真是人眼不易覺察的。
對數字圖像進行壓縮通常利用兩個基本原理:
(1) 數字圖像的相關性。在圖像的同一行相鄰像素之間、活動圖像的相鄰幀的對應像素之間往往存在很強的相關性,去除或減少這些相關性,也就去除或減少圖像信息中的冗餘度,即實現了對數字圖像的壓縮。
(2) 人的視覺心理特徵。人的視覺對於邊緣急劇變化不敏感(視覺掩蓋效應),對顏色分辨力弱,利用這些特徵可以在相應部分適當降低編碼精度,而使人從視覺上並不感覺到圖像質量的下降,從而達到對數字圖像壓縮的目的。
編碼壓縮方法有許多種,從不同的角度出發有不同的分類方法,比如從資訊理論角度出發可分 為兩大類:
(1)冗餘度壓縮方法,也稱無損壓縮,信息保持編碼或熵編碼。具體講就是解碼圖像和壓縮 編碼前的圖像嚴格相同,沒有失真,從數學上講是一種可逆運算。
(2)信息量壓縮方法,也稱有損壓縮,失真度編碼或熵壓縮編碼。也就是講解碼圖像和原始圖像是有差別的,允許有一定的失真。
應用在多媒體中的圖像壓縮編碼方法,從壓縮編碼演算法原理上可以分類為:
(1)無損壓縮編碼種類 •哈夫曼編碼 •算術編碼 •行程編碼 •Lempel zev編碼
(2)有損壓縮編碼種類 •預測編碼:DPCM,運動補償 •頻率域方法:正文變換編碼(如DCT),子帶編碼 •空間域方法:統計分塊編碼 •模型方法:分形編碼,模型基編碼 •基於重要性:濾波,子采樣,比特分配,矢量量化
(3)混合編碼 •JBIG,H261,JPEG,MPEG等技術標准
衡量一個壓縮編碼方法優劣的重要指標
(1)壓縮比要高,有幾倍、幾十倍,也有幾百乃至幾千倍;
(2)壓縮與解壓縮要快,演算法要簡單,硬體實現容易;
(3)解壓縮的圖像質量要好。
四、JPEG圖像壓縮演算法
1..JPEG壓縮過程
JPEG壓縮分四個步驟實現:
1.顏色模式轉換及采樣;
2.DCT變換;
3.量化;
4.編碼。
2.1.顏色模式轉換及采樣
RGB色彩系統是我們最常用的表示顏色的方式。JPEG採用的是YCbCr色彩系統。想要用JPEG基本壓縮法處理全彩色圖像,得先把RGB顏色模式圖像數據,轉換為YCbCr顏色模式的數據。Y代表亮度,Cb和Cr則代表色度、飽和度。通過下列計算公式可完成數據轉換。
Y=0.2990R+0.5870G+0.1140B
Cb=-0.1687R-0.3313G+0.5000B+128
Cr=0.5000R-0.4187G-0.0813B+128
人類的眼晴對低頻的數據比對高頻的數據具有更高的敏感度,事實上,人類
的眼睛對亮度的改變也比對色彩的改變要敏感得多,也就是說Y成份的數據是比較重要的。既然Cb成份和Cr成份的數據比較相對不重要,就可以只取部分數據來處理。以增加壓縮的比例。JPEG通常有兩種采樣方式:YUV411和YUV422,它們所代表的意義是Y、Cb和Cr三個成份的資料取樣比例。
2.2.DCT變換
DCT變換的全稱是離散餘弦變換(Discrete Cosine Transform),是指將一組光強數據轉換成頻率數據,以便得知強度變化的情形。若對高頻的數據做些修飾,再轉回原來形式的數據時,顯然與原始數據有些差異,但是人類的眼睛卻是不容易辨認出來。
壓縮時,將原始圖像數據分成8*8數據單元矩陣,例如亮度值的第一個矩陣內容如下:
JPEG將整個亮度矩陣與色度Cb矩陣,飽和度Cr矩陣,視為一個基本單元稱作MCU。每個MCU所包含的矩陣數量不得超過10個。例如,行和列采樣的比例皆為4:2:2,則每個MCU將包含四個亮度矩陣,一個色度矩陣及一個飽和度矩陣。
當圖像數據分成一個8*8矩陣後,還必須將每個數值減去128,然後一一代入DCT變換公式中,即可達到DCT變換的目的。圖像數據值必須減去128,是因為DCT轉換公式所接受的數字范圍是在-128到+127之間。
DCT變換公式:
x,y代表圖像數據矩陣內某個數值的坐標位置
f(x,y)代表圖像數據矩陣內的數個數值
u,v代表DCT變換後矩陣內某個數值的坐標位置
F(u,v)代表DCT變換後矩陣內的某個數值
u=0 且 v=0 c(u)c(v)=1/1.414
u>0 或 v>0 c(u)c(v)=1
經過DCT變換後的矩陣數據自然數為頻率系數,這些系數以F(0,0)的值最大,稱為DC,其餘的63個頻率系數則多半是一些接近於0的正負浮點數,一概稱之為AC。
3.3、量化
圖像數據轉換為頻率系數後,還得接受一項量化程序,才能進入編碼階段。
量化階段需要兩個8*8矩陣數據,一個是專門處理亮度的頻率系數,另一個則是
針對色度的頻率系數,將頻率系數除以量化矩陣的值,取得與商數最近的整數,
即完成量化。
當頻率系數經過量化後,將頻率系數由浮點數轉變為整數,這才便於執行最
後的編碼。不過,經過量化階段後,所有數據只保留整數近似值,也就再度損失
了一些數據內容,JPEG提供的量化表如下:
2.4、編碼
Huffman編碼無專利權問題,成為JPEG最常用的編碼方式,Huffman編碼通常是以完整的MCU來進行的。
編碼時,每個矩陣數據的DC值與63個AC值,將分別使用不同的Huffman編碼表,而亮度與色度也需要不同的Huffman編碼表,所以一共需要四個編碼表,才能順利地完成JPEG編碼工作。
DC編碼
DC是彩採用差值脈沖編碼調制的差值編碼法,也就是在同一個圖像分量中取得每個DC值與前一個DC值的差值來編碼。DC採用差值脈沖編碼的主要原因是由於在連續色調的圖像中,其差值多半比原值小,對差值進行編碼所需的位數,會比對原值進行編碼所需的位數少許多。例如差值為5,它的二進製表示值為101,如果差值為-5,則先改為正整數5,再將其二進制轉換成1的補碼即可。所謂1的補碼,就是將每個Bit若值為0,便改成1;Bit為1,則變成0。差值5應保留的位數為3,下表即列出差值所應保留的Bit數與差值內容的對照。
在差值前端另外加入一些差值的霍夫曼碼值,例如亮度差值為5(101)的位數為3,則霍夫曼碼值應該是100,兩者連接在一起即為100101。下列兩份表格分別是亮度和色度DC差值的編碼表。根據這兩份表格內容,即可為DC差值加上霍夫曼碼值,完成DC的編碼工作。
AC編碼
AC編碼方式與DC略有不同,在AC編碼之前,首先得將63個AC值按Zig-zag排序,即按照下圖箭頭所指示的順序串聯起來。
63個AC值排列好的,將AC系數轉換成中間符號,中間符號表示為RRRR/SSSS,RRRR是指第非零的AC之前,其值為0的AC個數,SSSS是指AC值所需的位數,AC系數的范圍與SSSS的對應關系與DC差值Bits數與差值內容對照表相似。
如果連續為0的AC個數大於15,則用15/0來表示連續的16個0,15/0稱為ZRL(Zero Rum Length),而(0/0)稱為EOB(Enel of Block)用來表示其後所
剩餘的AC系數皆等於0,以中間符號值作為索引值,從相應的AC編碼表中找出適當的霍夫曼碼值,再與AC值相連即可。
例如某一組亮度的中間符為5/3,AC值為4,首先以5/3為索引值,從亮度AC的Huffman編碼表中找到1111111110011110霍夫曼碼值,於是加上原來100(4)即是用來取[5,4]的Huffman編碼1111111110011110100,[5,4]表示AC值為4的前面有5個零。
由於亮度AC,色度AC霍夫曼編碼表比較長,在此省略去,有興趣者可參閱相關書籍。
實現上述四個步驟,即完成一幅圖像的JPEG壓縮。