第一章 JPEG介紹
1.1 前言 1.2 歷史背景 1.3 系統架構 1.4 一個JPEG壓縮的模擬例子 1.5 漸近式影像傳輸 1.7 作業 1.3.3 失真(1):取樣得到8×8區塊 1.3.2 RGB轉成YCbCr 1.3.4 失真(2):量化
1.2 歷史背景 PSNR 壓縮改良率 壓縮改良率被定義為 代表儲存原影像所需的位元數 代表儲存壓縮後影像所需的位元數
1.3 系統架構 1.3.1 JPEG系統架構 圖1.3 JPEG編碼系統架構
1.3.2 將RGB轉成YCbCr RGBYIQ (1.1) RGBYCbCr 利用下式定義出YCbCr (1.2)
1.3.3 失真(1):取樣得到8×8區塊 取樣 取樣 非插入式的掃描方式: 水平插入式的掃描方式: (a) Y (d) (b) Cb (e) (c) Cr 圖1.6 Y、 和 非插入式的掃描方式: 水平插入式的掃描方式:
1.3.4 失真(2):量化 對每一個8×8 MCU作DCT,得一係數矩陣,例如 除以一量化表 (a) 8×8DCT係 數矩陣 (b) 8×8量化表
量化後得 (c) 量化後DCT 係數矩陣 圖1.7 量化表與量化後的結果 Zig-Zag 圖1.8 Zig-Zag掃描次序
1.4 一個JPEG壓縮的模擬例子 DCT 首先,對8×8的Y的每一像素皆減去128。令減後的像素灰階值為 f(x,y), 將DCT作用於其上並以下列的計算完成之 (1.3) 其中u=0時,則 , 時,則C(u)=1;當v=0時,則 , 時,則C(v)=1。
(a) 子影像Y (b) 係數矩陣 圖1.9 Y經DCT 作用後的結果
利用圖1.8的Zig-Zag掃描次序,我們得到圖1.10的向量型式為 量化 圖1.10 圖1.9(b)經量化 後的結果 圖1.11 解壓後影像 Zig-Zab掃描 利用圖1.8的Zig-Zag掃描次序,我們得到圖1.10的向量型式為 (41,-3,2,1,-1,1,0,0,0,0,0,-1,0,0,0, … ,0,0,0)
(0,2)(00)(0,2)(10)(0,1)(1)(0,1)(0)(0,1)(1)(5,1)(0)EOB Run-Length編碼 上述的向量型式可編碼為 (0,2)(00)(0,2)(10)(0,1)(1)(0,1)(0)(0,1)(1)(5,1)(0)EOB 圖1.12 Y的編碼對照表 霍夫曼編碼 利用JPEG中的霍夫曼AC亮度表來將 上述碼編成二位元字串 0100 0110 001 000 001 11110100 1010 圖1.13 霍夫曼AC亮度碼
1.5 漸近式影像傳輸 所謂的漸近式影像傳輸乃是先傳最粗糙的影像畫面,這時壓縮比 是很高的,也就是在網路上傳輸的時間是很少的。然後使用者根 據自己的進一步品質需求,再多傳一些資料以便得到更高品質的 影像。依照同樣的方式,直到使用者得到夠滿意的影像為止。 一個例子 (a) 原始8×8灰階子影像
(c) 留一個DC值和二個最大AC值的效果 (b) 只留一個DC值的效果 圖1.14 一個漸近傳輸的小例子
1.7 作業 習題一: 試利用JPEG壓縮一張彩色灰階影像,並請列出PSNR和壓縮改 改良率。 習題二: 試推導出(1.2)式。