JPGE
原始照片(記錄成8*8區塊) > 做 DCT 轉換 > 與量化表相除 > entropy encoder(用 runing last coding和huffman coding 編碼) >>> 壓縮後的照片
Quantization matrix量化表
-
量化表為分母,原始圖片數值為分子,兩者相除得到較小的圖片數值(可以用較少bit編碼)
-
製作 : 可用STEP SIZE做,或者自訂,通常越往右下,值越大
-
(ppt70沒有記錄到 圖)
-
除完的圖片數值,越往右下零會越多,將係數用 ZIG-ZAG 串接起來,記錄成一維陣列,這些零可以利用 runing last coding 編碼
(左上為原始圖像數值,左下為量化表,右下為轉換後數值)
zig - zag
-
使用step size製作量化表 (如上圖): +3+3每次增加的 step size 路徑值(自訂),若改成+6會使得更多頻率值壓縮為零,壓縮後的照片會更模糊
DC值是怎麼做編碼?
-
8*8的原始照片中,相鄰格的相減變化不會很大,因為相鄰影格顏色相當接近,所以在做DC值編碼時只會對與前一格的差異做編碼,例如與前一格差 -2,就用 2 bits 做編碼
對AC做編碼(ZIG - ZAG)
-
一維陣列中的第一格為-3,第二格3,接下來若連續40個0,則第三格為40
YUV
量化
-
相除並且四捨五入,因為有四捨五入,因此再乘量化表做還原圖片時,會失去細節
-
若今天要處理彩色的照片,則中高頻量化表的值(分母)一般會非常大,低頻保留較多;而在灰階照片中,因為我們對顏色變化較敏感,會盡量保留低中頻,高頻一樣去掉(如以下圖示為彩色及灰階量化表)
失真量
-
原始的圖像數值 - 反推還原的圖像數值 = 失真量
-
細節越多的部分失真量就越高