嚴小紅
(新疆交通職業(yè)技術學院,新疆 烏魯木齊 831401)
經濟的發(fā)展,為人們在科學技術領取取得突破性成果奠定了雄厚的物質基礎。近年來,隨著互聯(lián)網的迅猛發(fā)展,多媒體技術的應用和發(fā)展越來越受到人們的關注,而數(shù)字圖像壓縮算法的研究與實現(xiàn)對于多媒體技術,特別是數(shù)字圖像技術的發(fā)展起著決定性的作用。在信息化時代的大背景下,數(shù)字圖像處理技術的到了廣泛的應用,圖像成為當今時代人們交流溝通、數(shù)字應用等方面的重要元素之一,而數(shù)字圖像需要占據大量的數(shù)據空間,對于數(shù)字圖像的存儲和網絡的傳輸都產生了重要的影響。因此,加大數(shù)字圖像壓縮算法的研究與實現(xiàn)有著鮮明的時代意義。
數(shù)字圖像信息離開不計算機技術,數(shù)字圖像的信息需要存儲在存儲器設備中,數(shù)字圖像信息是通過二進制數(shù)據形式在存儲器上存儲的[1]。與文字信息不同的是數(shù)字圖像信息數(shù)據量比較大,因此數(shù)字圖像信息占據的存儲空間也較大;另外數(shù)字圖像信息在互聯(lián)網上進行傳輸時消耗的網絡流量也較大。例如當前一顆衛(wèi)星每天的衛(wèi)星云圖數(shù)據大概就要占據1.1G的存儲空間,一張100G的硬盤只能存儲大約90天的衛(wèi)星云圖數(shù)據,這與海量的數(shù)據存儲需求嚴重不相符。圖像數(shù)據之間存在一定的冗余,而數(shù)字圖像壓縮就是通過減少這些冗余空間來實現(xiàn)數(shù)字圖像信息占用空間的壓縮。所有的數(shù)字圖像信息都存在冗余,因此可以看出,數(shù)字圖像其實是數(shù)據信息和數(shù)據冗余的組合[2]。
通過上面的介紹我們,已經知道數(shù)字圖像之間存在冗余,這些數(shù)據冗余為數(shù)字圖像的壓縮提供了可能。不同的數(shù)字圖像的數(shù)據冗余不同,也就是說數(shù)字圖像的冗余度不同。不難看出,數(shù)字圖像的壓縮就是降低冗余度的過程,而降低數(shù)字圖像的冗余度需要考慮數(shù)字信號源的統(tǒng)計特性或者建立信號源的統(tǒng)計模型[3]。
圖像的冗余分為以下幾種情況:
1、時間冗余:數(shù)字圖像的時間冗余指的是數(shù)字圖像的活動圖像的兩個連續(xù)幀之間的冗余。
2、空間冗余:空間冗余其實就是數(shù)字圖像內部像素點之間存在的相關性造成的冗余。
3、知識冗余:知識冗余一般是指數(shù)字圖像中包含某種結構、與驗證知識有關的信息冗余。
4、視覺冗余:視覺冗余指的是數(shù)字圖像中那些人眼無法感知或者不敏感的那部分圖像信息形成的冗余。
5、結構冗余:結構冗余是指在數(shù)字圖像中存在很強的紋理結構或者自相似性的冗余。
6、信息熵冗余:信息熵冗余也被稱為編碼冗余,指的是數(shù)字圖像中平均每個像素使用的二進制數(shù)據大于該圖像的信息熵而存在的冗余。
數(shù)字圖像的壓縮原理就是通過去除數(shù)字圖像之間存在的冗余,減少數(shù)字圖像的二進制比特數(shù)據[4]。數(shù)字圖像的壓縮原理一般遵循兩個基本原理:
1、數(shù)字圖像的相關性。研究表明,數(shù)字圖像的內部像素之間往往存在某種很強的相關性,這些相關性主要分布在數(shù)字圖像的同一行像素中的相鄰像素或者活動圖像的相鄰幀的對應像素之間。這種相關性對于數(shù)字圖像的壓縮有著一定的影響,因此,在對數(shù)字圖像壓縮時應該去除或者減少這些像素之間的相關性。只有減少甚至去除這些數(shù)字圖像像素之間的相關性才能有效降低數(shù)字圖像的冗余度,才能真正實現(xiàn)數(shù)字圖像的壓縮。
2、人的視覺心理特征
在數(shù)字圖像之中,人眼能夠感知圖像中的大部分像素,但是有部分像素是人眼無法感知的或者人眼敏感度較低的。由于視覺的掩蓋效應,人眼對于邊緣產生急劇變化的像素不敏感,對顏色分辨力較弱。利用人眼的視覺掩蓋效應可以適當去除數(shù)字圖像中的這部分無法感知或者感知度較低的數(shù)據,降低數(shù)字圖像的編碼精度,從而降低數(shù)字圖像的數(shù)據大小。采用這個方法壓縮數(shù)字圖像,既能夠對數(shù)字圖像有效壓縮,減少數(shù)字圖像的數(shù)據量,同時也能夠保證人并不會使人從視覺上感受到數(shù)字圖像的失真變化。
關于數(shù)字圖像的壓縮算法一般分為兩種:一種是有損壓縮;另一種是無損壓縮。有損壓縮一般采用變換編碼方法,對數(shù)字圖像中那些人類感知不到或者感知度較低的成分進行壓縮[5]。有損壓縮從名稱可以看出這種壓縮方法會使數(shù)字圖像損失一定的信息,并且損失的這部分信息無法還原,但是損失信息的數(shù)字圖像并不會對人們理解圖像產生太大的影響。例如JPEG格式的二進制圖片,這種格式就是采用了有損壓縮。有損壓縮的方法主要有基于小波變換的方法、基于離散余弦變換的變換編碼方法等。離散余弦變化方法會去除數(shù)字圖像中人眼不敏感的數(shù)據信息,進而提高圖像的壓縮比率。無損壓縮主要是利用數(shù)字圖像中的數(shù)據統(tǒng)計冗余進行壓縮,這種壓縮方法可以在解壓縮后恢復原始數(shù)據,使得數(shù)字圖像不會失真[6]。不難發(fā)現(xiàn),無損壓縮的壓縮比率受到冗余度的影響。PNG是無損數(shù)據壓縮的圖片數(shù)據格式,這種格式的數(shù)字圖像一般采用LZ77派生的無損壓縮算法。LZ77壓縮算法采用的是基于窗口的詞典方式,該壓縮算法將看到的數(shù)據信息作為詞典,詞典中會存在一個指針,該指針會會代替數(shù)據信息中的短語以實現(xiàn)數(shù)據壓縮。該壓縮算法的主要數(shù)據結構是一個固定大小的窗口,而這個窗口又會被劃分成兩個不同的部分,其中一部分是由最近被編碼的正文構成的字典,窗口的另一部分是尚未編碼的字符構成的緩沖區(qū)。該算法的核心是在文本構成的詞典中尋找超前緩沖區(qū)內輸入的數(shù)據串的最長數(shù)據匹配串。
人眼對圖像顏色的感知程度是有損壓縮技術的基本依據,有損壓縮能夠有效減少數(shù)字圖像的大小,但是有損壓縮是一種破壞性壓縮,并且這種破壞性不具備可復原性。有損壓縮的具體做法是保持數(shù)字圖像顏色的逐漸變化,將圖像中突然變化的顏色去除。據科學研究表明,人腦會利用與周圍最相近的顏色來填充圖像中缺失的顏色。在有損壓縮過程中,數(shù)字圖像的信息會損失一部分,因此,數(shù)字圖像會產生一定的失真,但是,這卻大大提高了數(shù)字圖像的壓縮比率,經過有損壓縮后得到的數(shù)字圖像跟原圖大部分相似。采用有損壓縮需要根據數(shù)字圖像的使用場合而定。通常情況下,流媒體、視頻社交、電話會議、互聯(lián)網傳輸?shù)葓龊舷率褂玫臄?shù)字圖像都會經過有損壓縮。需要注意的是采用有損壓縮時應該注意控制壓縮比率,壓縮比率太大會使圖像信息過分失真,影響到對圖像的觀察和理解。色彩空間、色度抽樣、分形壓縮、變換編碼等方法是有損壓縮經常采用的具體方法。
通過上面的論述我們已經知道無損數(shù)據壓縮是采用數(shù)據的統(tǒng)計冗余進行壓縮,經過無損數(shù)據壓縮后,數(shù)字圖像的數(shù)據信息不會受到損失,被壓縮后的數(shù)據經過解壓縮操作可以恢復原始數(shù)據。
無損數(shù)據壓縮的基本原理是對于數(shù)字圖像中相同顏色的只保存一次。因此,無損壓縮要首先對數(shù)字圖像進行掃描,確定哪些區(qū)域的顏色是相同的,哪些區(qū)域的顏色是不同的。比如,數(shù)字圖像中有一片樹葉,無損壓縮軟件會記錄下來這片樹葉的數(shù)據起始點和終止點,然后會這個數(shù)據區(qū)間的顏色進行識別,將相同顏色的數(shù)據只保留一次,多余的進行去除,注意在這個過程中,顏色相似的數(shù)據并不會被去除??梢姛o損壓縮的比率取決于數(shù)字圖像中的相同顏色的重復率,重復率越高,無損壓縮的比率也就越高。需要特別指出的是無損壓縮可以有效減少數(shù)字圖像的磁盤存儲空間,但是,并不會減少圖像在內存中的信息量,因為,將數(shù)字圖像的二進制數(shù)據讀取到內存時,會將壓縮的信息重新填充到數(shù)字圖像中。無損壓縮在當前的很多領域都受到的廣泛的應用,比如計算機程序、移動端的手機APP、醫(yī)療圖像、指紋圖像、工程制圖等。無損壓縮的具體方法主要有:游程編碼、Huffman編碼、LZW編碼、熵編碼、Shannon-Fano編碼等。雖然無損壓縮可以完全恢復壓縮的數(shù)據信息,也正是基于這個原因,無損壓縮的壓縮比并不高,造成無損壓縮后的數(shù)字圖像的空間占用量依然較大,這是無損壓縮的一個難以取舍的關鍵點。
零樹熵編碼的擴展和SA-DWT編碼方式以及嵌入式小波編碼共同組成了SA-DWT編碼。
在形狀自適應離散小波變化中通過SA-DWT之后的系數(shù)個數(shù),與原來任意形狀的可視化對象的像素個數(shù)是完全相同的;嵌入式小波編碼則是采用了嵌入式編碼和漸進式量化編碼,這種編碼方式打破了常規(guī),其編碼復雜度較低。嵌入式小波編碼采用了較低復雜度的編碼算法完成了高效的壓縮編碼。
Egger方法提出了一個應用于任意形狀對象的小波變換方案。具體說來,該方法是利用了小波變換的局域特性,在需要壓縮的數(shù)字圖像中,將可視對象的行像素推到邊界框的右側邊界相平齊的位置處,然后對每一行的有用像素實施小波變換,然后再接下來的工作中,將另一方向再實施小波變換。這種變換方法存在一個問題,使用Egger方法,很可能引起數(shù)字圖像重要的高頻部分同邊界部分合并,不能保證分布系數(shù)彼此之間有正確的相同相位,以及可能引起第二個方向小波分解的不連續(xù)性等問題。
離散余弦變化(DCT)是數(shù)字圖像壓縮中的重要算法之一,形狀自適應DCT算法的設計原理是通過把一個任意形狀的可視對象劃分為兩個8×8的圖像塊,然后對每一個圖像塊進行DCT變換,這種變換類似于形狀自適應的Gilge DCT變換,但是SA-DCT變換的復雜度要比Gilge DCT變換復雜度低的多[6]。SA-DCT會對數(shù)字圖像的各列像素進行一維DCT變換,之后,SA-DCT會對數(shù)據的下標進行統(tǒng)計,將下標相同的DCT系數(shù)集中到一起,集中起來之后會再作一個一維DCT,最后會得到一個DCT系數(shù)位于NxN大小的圖像塊,這樣的圖像塊個數(shù)并不會發(fā)生變化,其中直流系數(shù)在圖像塊的左上角,在圖像解碼時,會根據隨傳過來的形狀信息進行數(shù)字圖像的恢復。但是,SA-DCT并不是沒有缺點,SA-DCT,會把像素推到一個正方形邊框的一個側邊相平齊。因此,數(shù)字圖像的一些空域相關性可能因此而導致丟失,倘若再進行數(shù)字圖像的行列DCT變換,就可能使數(shù)字圖像的失真較大。
綜上所述,數(shù)字圖像技術在如今的互聯(lián)網大發(fā)展的背景下,被廣泛應用在網絡互聯(lián)、媒體傳播、醫(yī)療圖像等各個方面。數(shù)字圖像壓縮算法對于數(shù)字圖像技術在多媒體領域的應用和發(fā)展有著決定性的作用。優(yōu)秀的數(shù)字圖像壓縮算法能夠極大的減少編碼的復雜程度,同時還能夠大大增加圖像的壓縮比率,這對于數(shù)字圖像在網絡間的傳輸,在多媒體領域的應用發(fā)展都將產生巨大的推動作用。近年來,不斷有創(chuàng)新性的理論技術出現(xiàn)并發(fā)展完善,隨著這些理論技術研究的不斷深入,未來數(shù)字圖像處理技術的發(fā)展前景將會越發(fā)光明。