Intel IPP 之圖像壓縮編碼

2.4 圖像壓縮編碼

2.4.1 信息編碼

數據的傳輸和存儲都需要很大的成本,所傳輸數據量越大,成本就越高(因爲傳輸的數據量大,流量就越大,耗費電力、路由等一系列計算資源的成本就越多),數據量大,存儲所佔的空間也就越多,成本也會越大。儘管由於成本的原因 ,有很多的數據仍然不是用最精簡的方式保存的,而是用最適宜於處理這些數據的方式保存的。比如字處理軟件中用ASCII的格式保存文本,因爲這樣處理方便;計算機的程序用二進制代碼進行保存,因爲其能直接在計算機上執行。和最精簡的編碼方式相比,這些容易直接使用和方便處理的編碼方式所形成的文件大概要大一倍左右。對於很多其他的應用,精簡的編碼方式會更加有效,我們將解決這類問題的技術通稱爲數據壓縮技術。

數據壓縮技術就是對信息採用高效的編碼,數據壓縮技術中有很多種高效的壓縮算法。通常每一個壓縮算法,都是將數據的編碼方式從容易處理的編碼方式轉換爲較精簡的編碼方式,精簡的方式雖然並不是最容易處理的方式,但是其所佔得空間較小,傳輸會更快。在需要處理的時候,我們再將編碼的方式轉化爲容易處理的方式。

圖像文件的一個明顯特點就是佔用空間大。因此,研究圖像編碼與壓縮是數字圖像處理與圖像通信中必不可少的內容。近年來,隨着計算機與數字通信技術的迅速發展,網絡和多媒體技術的興起,圖像編碼與壓縮作爲數據壓縮的一個分支,已受到越來越多的關注。

我們舉一個實例來說明圖像壓縮的應用。大家知道,數字圖像有不同的文件格式(編碼格式),有位圖形式的(bmp格式),也有JPEG格式的,我們會發現,同樣大小的圖像,通常JPEG文件比位圖文件所佔的空間要小很多,這是因爲位圖文件是沒有對圖像進行壓縮的文件,而JPEG是對原始圖像進行壓縮後形成的文件。當需要對JPEG文件進行顯示的時候,我們需要首先將其解碼成位圖文件(可以直接顯示圖像格式),然後再進行顯示。

壓縮的策略有很多種,有相對簡單的策略,也有比較複雜的。我們可以按照信息是否在壓縮的過程中存在丟失將壓縮的策略分爲無損壓縮和有損壓縮。



2.4.2 無損壓縮

無損壓縮的技術可以將壓縮後的文件通過解碼完全還原成壓縮前的文件,而沒有任何信息失真,無損壓縮在很多情況下是必須需要保證的,比如二進制可執行文件,如果壓縮過程中存在信息丟失,還原後的二進制文件即使只有一個位信息被修改(0變成1,或1變成0),造成的結果都將是不可想象的,對字處理軟件所產生的文件進行壓縮,同樣要保證信息的無損性。在後續的章節中,我們會介紹,無算的壓縮方法有行程(run-length)編碼、哈弗曼編碼(Huffman)、delta編碼和LZW編碼。這些編碼的算法我們會在第三章來詳細闡述。



2.4.3 有損壓縮

在很多的領域,比如圖像和信號領域,我們在很多的時候沒有必要保存原始的數據。只要這些改變不會很大的影響我們的感知的效果,其實,在現實的測量和數字化的過程中,本來就引入了噪音數據,如(數字化過程中由於電路的噪音引起的(如溫度升高會帶來量化上的某些變化)),如果我們壓縮的變化類似於這種噪音數據,這樣的變化就是我們可以接受的。和無損壓縮不同的是,有損壓縮的壓縮比通常會更好,越大的壓縮比,噪音數據成份就會越多。我們用一個詳細的實例來說明有損壓縮的重要性,拿互聯網上的圖片來說,假設我們通過一個33.6kbps的調試解調器(modem,貓)來瀏覽一個具有圖片的網頁,如果圖片沒有壓縮(比如TIFF格式),它會具有600kB的數據。如果用無損壓縮技術(如GIF格式),數據量大約少一半,有300KB;如果採用有損壓縮(如JPEG格式)技術,數據量就會減少到50KB。對應的是,我們下載的時間分別是142秒,71秒和12秒,這之間有這麼大的差距,如果讓一個衝浪者用142秒的時間等待一幅圖片,可想而知這樣的用戶體驗是多麼的難以接受。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章