JPEG 編碼流程
- 將 RGB 轉換為 YUV。
- 將 YUV444 轉換為 YUV422 或 YUV420。
- 將 Y 區域劃分成多個 8x8 子區域,每個區域使用 DCT 轉換到頻率空間。轉換之後,每個子區域的左上角會使用差分編碼,其他欄位會使用行程編碼。
- 量化,把人眼不容易辨別的差異移除。其實現方式就是把很多更高頻率的成份捨位成為接近0,且剩下很多會變成小的正或負數。這是整個壓縮過程中的主要失真運算。
- entropy coding:將影像成份以Z字型(zigzag)排列,把相似頻率群組在一起(矩陣中往左上方向是越低頻率之係數,往右下較方向是較高頻率之係數),插入長度編碼的零,且接著對剩下的使用霍夫曼編碼。