2013年1月12日 星期六

99360453 陳胤霖


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為量化表;FFC4Haffman Table
 
FFDB
FFDB量化表


FFDB開始,0043表示長度為6700表示QT訊息,後面為64DQT量化表,下圖

實作DCT表格


16進位編碼需Z字形轉換成DCT表格完成表格後,可以看到有兩個FFDB標記,一個是亮度量化表,另一個是色度的亮化表。

FFC0
 FFC0 圖像資訊
 
 
 
FFC4

FFC4 Haffman

第一個表長度為3100DC TABLE00表示HT ID0;第二個表長度為18110AC TABLE00表示HT ID0;第三個表長度為3100DC TABLE01表示HT ID1;第四個表長度為18111AC TABLEHT ID1,前兩個表格為亮度DC/AC,後兩個為色度分量DC/AC
 
以第一個為例實作Huffman表格
 
Huffman表格

編碼為1的有0個,編碼為2的有1個,編碼為3的有5個,編碼為49的各有1個,編碼為10~16的各有0個。


對應到上面表格 Huffman表格
 
FFDA

FFDA SCAN開始

長度為12Component3個,之後為ID,再來就是影像資訊直到FFD9結束標記。

心得

JPEG為目前廣為大眾使用的影像壓縮格式,常用於數位相機失真壓縮,網路圖片傳輸等等,影像處理課程也在JPEG壓縮做一個完美的結束,了解JPEG運作的核心,也了解到如何去看16進位碼,看照片不再只是看漂不漂亮,現在可以看出裡面的編碼,身為資工人算是基本的實務經驗,至於研究上還可以把資訊隱藏在JPEG圖檔編碼,當然知道JPEG壓縮如何運作之後,或許也可以偵測是否有被更動過,我想這學期的最大收穫是可以寫出程式完成以前利用繪圖軟體可以做的事,例如黑白、反相,還有Histogram直方圖,色彩的三原色,再來就是JPEG壓縮,受益良多,感謝老師的教導,也向老師拜早年。

沒有留言:

張貼留言