圖像壓縮比(JPEG圖像壓縮原理簡介)
這個名稱代表 Joint Photographic Experts Group(聯合圖像專家小組)。聯合圖像專家小組1992年發布了JPEG的標準而在1994年獲得了ISO 10918-1的認定。JPEG與視頻音頻壓縮標準的MPEG(Moving Picture Experts Group)很容易混淆,但兩者是不同的組織及標準。
1. 概述
JPEG編碼的主要流程是:色彩空間轉換 (Color Conversion)、下采樣(Downsampling)、 分塊 (Dividing Patch) 、離散余弦變換(Discrete cosine transform)、量化(Quantization)、熵編碼技術(Entropy coding)。
2. 色彩空間轉換(Color Conversion)
我們使用傳感器采集到的原始(RAW)圖像使用的是RGB色彩空間來表示的。也就是說,按照每一個像素的RGB(Red, Green, Blue)值填充到對應的像素位置。
首先,我們將RGB(紅綠藍)轉換為一種稱為YCrCb (YUV)的不同色彩空間。
?Y成分表示一個像素的亮度 (luminance) ?U成分表示色度(飽和度)(Chrominance)?V成分表示色度(飽和度)
RGB空間到YUV空間轉換公式為:
下圖為分解開的Y、U、V的示例:
3. 采樣(Downsampling)
下采樣、也就是減少人類視覺系統不敏感的色度(U和V的成分)。雖然減少了顏色數量,但是人眼并不會察覺到圖像質量有任何的差異。
JPEG上這種縮減取樣的比例可以是4:4:4(無縮減取樣),4:2:2(在水平方向2的倍數中取一個,顏色為之前的 1/2),以及最普遍的4:2:0(在水平和垂直方向 2 的倍數中取一個,顏色為之前的 1/4)。
如圖:
4. 分塊 (Dividing Patch)
源圖像中每點的 3 個分量是交替出現的,先要把這 3 個分量分開,存放到 3 張表中去。然后由左及右,由上到下依次讀取 8*8 的子塊,存放在長度為 64 的表中,即可以進行DCT變換。如果原始圖片的長寬不是 8 的倍數, 都需要先補成 8 的倍數, 使其可以進行一塊塊的處理。編碼時,程序從源數據中讀取一個 8*8的數據塊后,進行 DCT 變換,量化,編碼,然后再讀取、處理下一個 8\times8 的數據塊。圖像的數據值必須減去128,是因為 DCT 公式所接受的數字范圍是 -128 到 127 之間。
5、離散余弦變換(Discrete Cosine Transform)
離散余弦變換是一種類似于傅里葉變換的數學工具(不清楚傅里葉變換的同學可以移步:
https://www.bilibili.com/video/av19141078來簡單了解傅里葉變換).它將信號從時間域轉換到頻率域。
這一步,將視頻中的每個成分(Y, U, V)生成三個區域,每一個區域再劃分成如瓷磚般排列的一個個的 8*8 子區域,每一子區域使用二維的離散余弦變換(DCT)轉換到頻率空間。
作者:baidianfeng365本文地址:http://www.inkvzc.cn/bdf/5454.html發布于 2023-10-04
文章轉載或復制請以超鏈接形式并注明出處白癜風知識網