JPEG影像壓縮處理
99360453
陳胤霖 資工三乙
流程
JPEG影像壓縮標準為JPEG(Joint Photographic Experts Group, 聯合圖像專家小組)所制定出來,基本上要轉換成JPEG前的影像是採用RGB色彩模型,第一步需轉換成YCbCr色彩模型,第二步為DCT(Discrete Cosine Transform, 離散餘弦變換),可將影像的色彩轉換為頻率,第三步為量化(Quantization),利用人類眼睛對於高頻的影像不敏感特性,把高頻率的部份為0,可以大幅實線影像壓縮,最後為熵編碼(Entropy Coding),使用霍夫曼編碼會轉換成Z字型的8X8矩陣(Huffman Table),轉換步驟完成後即輸出JPEG檔案格式影像。
這次實作的影像,拍攝於日月潭
利用PSPad能顯示檔案的16進位格式
JPEG格式分為檔頭(Header)與影像資訊,上圖能看到FFD8利用JPEG說明文件可以了解是開始的標記,最後面當然會有FFD9做為結束的標記;FFDB為量化表;FFC4為Haffman Table。
FFDB
FFDB開始,0043表示長度為67,00表示QT訊息,後面為64個DQT量化表,下圖
第一個表長度為31,00為DC TABLE,00表示HT ID為0;第二個表長度為181,10為AC TABLE,00表示HT ID為0;第三個表長度為31,00為DC TABLE,01表示HT ID為1;第四個表長度為181,11為AC TABLE,HT ID為1,前兩個表格為亮度DC/AC,後兩個為色度分量DC/AC。
以第一個為例實作Huffman表格
Huffman表格
編碼為1的有0個,編碼為2的有1個,編碼為3的有5個,編碼為4到9的各有1個,編碼為10~16的各有0個。
對應到上面表格
Huffman表格
FFDA
長度為12,Component為3個,之後為ID,再來就是影像資訊直到FFD9結束標記。
心得
JPEG為目前廣為大眾使用的影像壓縮格式,常用於數位相機失真壓縮,網路圖片傳輸等等,影像處理課程也在JPEG壓縮做一個完美的結束,了解JPEG運作的核心,也了解到如何去看16進位碼,看照片不再只是看漂不漂亮,現在可以看出裡面的編碼,身為資工人算是基本的實務經驗,至於研究上還可以把資訊隱藏在JPEG圖檔編碼,當然知道JPEG壓縮如何運作之後,或許也可以偵測是否有被更動過,我想這學期的最大收穫是可以寫出程式完成以前利用繪圖軟體可以做的事,例如黑白、反相,還有Histogram直方圖,色彩的三原色,再來就是JPEG壓縮,受益良多,感謝老師的教導,也向老師拜早年。
沒有留言:
張貼留言