静态影像压缩介绍
- 格式:doc
- 大小:51.00 KB
- 文档页数:7
靜態影像壓縮介紹
(作者吳和弟)
前言
顧名思義,靜態影像(still image)即是指靜止不動的單張影像圖片,例如一張彩色圖片。而有靜態就會有動態,動態影像 (motion image)則是連續性的動作,例如電視與電影畫面等。本文將只針對靜態影像壓縮(still image compression)技術作一概略性的介紹。
影像壓縮的優點
通常一般我們所見的單張彩色靜態影像,它是由很多一個點一個點的像素(pixel) 所組成,而每一個像素主要由R(紅)、G(綠 )、B(藍 )三原色所構成,每一個原色用一個字元(byte)來表示。例如:欲儲存一張長 512 pixel 、寬 512 pixel 的彩色圖片需要的記憶體為:
512 x 512 x 3 bytes = 768 kbytes
由上例中可以看出:未經壓縮的影像在儲存時,會佔用非常大量的儲存空間,且未經壓縮的影像資料透過通訊網路傳送時,所需的傳輸時間也將相對地拉長。為解決上述的問題,使用者如能將影像予以壓縮,即可達到減少儲存空間、縮短傳輸時間的雙重效能。
靜態影像壓縮的國際標準
由於有感於靜態影像壓縮需要一個大家可以共同遵循的國際標準,因此由國際標準組織 (International Standardization Organization; ISO) 與國際電報電話諮詢委員會(Consultative Committee on International Telegraph and Telephone; CCITT)
兩邊人員共同成立聯合影像專家群(Joint Photographic Expert Group; JPEG ) ,他們共同制定了一個稱為JPEG 的靜態影像壓縮之國際標準。JPEG 的分類
JPEG 根據壓縮技術的不同,而把靜態影像壓縮的方式分為兩種,一種是有失真模式 (Information Loss),另一種是無失真模式(Information Lossless)。茲將此兩種壓縮模式分述如下:
1. 有失真模式:
‧採用離散餘弦轉換 (Discrete Cosine Transform; DCT) 的技術。
‧經過壓縮與解壓縮還原之後的影像會有失真產生,幸好人的眼睛對於少許失真不易察覺。
‧壓縮率高,壓縮 30 倍仍能獲得高品質。
‧應用於一般圖片、多媒體。
‧應用廣泛,目前的應用絕大部份都是採用此種模式。
2. 無失真模式:
‧採用差值訊號編碼 (Differential Pulse Code Modulation;
DPCM) 的技術。
‧經過壓縮與解壓縮還原之後的影像與原始影像相比完全沒有失真產生。
‧壓縮率低,通常在 10 倍以下。
‧主要應用於醫學影像,因為醫學上寧可壓縮率低確保影像品質,而不願高壓縮率引起的影像失真造成誤診。
‧因為壓縮率不高,除了醫學影像之外,目前的應用很少採用此種模式。
壓縮原理
因為目前靜態影像壓縮大部份採用有失真模式,因此,以下將針對有失真模式進行介紹。
圖一是整個影像壓縮 (Compression) 的方塊圖,圖二則是解壓縮(Decompression)的方塊圖。透過此二圖我們可以知道:壓縮與解壓縮的過程類似,僅是執行的順序相反而已,因此,對於解壓縮文中將不再贅述。
圖一壓縮 (Compression) 方塊圖
圖二解壓縮 (Decompression) 方塊圖
A. RASTER -> BLOCK
如圖三所示,把整個圖片分割成多個 8 x 8 點的小方塊(block),每個小方塊有64 點也就是 64 個像素。整個壓縮的過程是以小方塊為單位作處理。
圖三整個圖片分割成多個 8x8 點的小方塊
B. RGB -> YUV
原始影像每一個點 (像素) 是由紅 (R)、綠 (G)、藍 (B)三原色所構成,在此把它轉換成一個亮度訊號 (Luminance) Y 與二個色差訊號 (Chrominance) U、V。R、G、B 轉換為 Y、U、V 的公式如下:
Y = 77/256R + 150/256G + 29/256B
U = -44/256R - 87/256G + 131/256B + 128
V = 131/256R - 110/256G - 21/256B + 128
C. DCT (Discrete Cosine Transform;離散餘弦轉換)
離散餘弦轉換的輸入是 8 x 8 個點,輸出則是 8 x 8 個係數(coefficients)。此轉換把影像由空間定義域 (space domain) 轉換到頻率定義域 (frequency domain),每個 8 x 8 小方塊裡面係數的位置愈靠近左上角,它代表的頻率愈低,愈靠近右下角,則它代表的頻率愈高。
一般而言,大部份的影像能量會集中在低頻部份,也就是轉換之後的輸出係數在低頻部份的值較大,而輸出係數在高頻部份的值很小。所以當輸出係數經過量化 (quantization) 之後,高頻部份的值大部份都會變為 0。文中所描述的靜態影像壓縮是採用離散餘弦轉換的壓縮技術,它的主要精神在於:能量集中。
離散餘弦轉換的公式如下:
離散餘弦轉換需要冗長的運算,所以它是整個影像壓縮過程最花時間的部份。如果以純軟體實現影像壓縮,約 75% 的時間花在離散餘弦轉換的計算。
D. QUANTIZATION
此處的量化(quantization)是採用線性量化(linear quantization) 的方式,對於相同頻率的輸入值都除以一固定值。
根據測試,人的眼睛對不同頻率之敏感度不同,對低頻較敏感,然而對高頻較不敏感,因此低頻的失真應該儘量降低,而對於高頻部份則可允許有較多的失真。所以在低頻採用小的量化位準(quantization level);而在高頻採用大的量化位準。表一是對應於 8 x 8小方塊裡面各個不同頻率之亮度的量化位準,表二是色差的量化位準。一般而言,人的眼睛對於亮度的失真較色差的失真敏感,因此表一比表二採用較小的量化位準。
表一亮度的量化位準 (quantization level)
┌─┬─┬─┬─┬──┬──┬──┬──┐
│16│11│10│16│24 │40 │51 │61 │
├─┼─┼─┼─┼──┼──┼──┼──┤
│12│12│14│19│26 │58 │60 │55 │
├─┼─┼─┼─┼──┼──┼──┼──┤
│14│13│16│24│40 │57 │69 │56 │
├─┼─┼─┼─┼──┼──┼──┼──┤