ค้นหาข้อมูลในบล็อก (Search in this blog)

Thursday, March 15, 2012

การบีบอัดข้อมูลภาพ (Image compression) ด้วย GDAL

การบีบอัดข้อมูลภาพ (Image compression)
โดยทั่วไปแล้วจะแบ่งออกเป็น 2 ประเภทคือ
1. การบีบอัดแบบไม่มีการสูญเสียรายละเอียดข้อมูล (Lossless compression) ซึ่งค่าความสว่างของแต่ละจุดภาพจะยังคงอยู่เหมือนเดิมทุกประการ หรือไม่มีการเปลี่ยนแปลงค่าของแต่ละจุดภาพ ซึ่งการบีบอัดวิธีนี้จะอาศัยเทคนิคการจัดเก็บข้อมูลเชิงเลขในการลดขนาดของข้อมูล ตัวอย่างเช่น Lempel–Ziv–Welch (LZW), Run-Length Encoding (RLE) หรือ PackBits เป็นต้น
2. การบีบอัดแบบสูญเสียรายละเอียดข้อมูล (Lossy compression) วิธีการนี้จะมีการเปลี่ยนแปลงค่าความสว่างของจุดภาพนั่นหมายความว่า วิธีการนี้ไม่เหมาะสมสำหรับข้อมูลภาพที่ต้องมีการจำแนกข้อมูล (Classification) ตัวอย่างของการบีบอัดประเภทนี้ได้แก่ JPEG, MrSID หรือ ECW เป็นต้น
เปรียบเทียบจุดเด่นและจุดด้อยของแต่ละประเภท
การบีบอัดแบบไม่มีการสูญเสียรายละเอียดข้อมูล: รายละเอียดข้อมูล(ค่าความสว่างจุดภาพ)ไม่มีการสูญเสีย เหมาะสำหรับใช้กับข้อมูลภาพที่ต้องการนำไปจำแนกข้อมูล แต่ขนาดของภาพที่บีบอัดแล้วมีขนาดลดลงไม่มากนัก (ขนาดไฟล์ไม่ค่อยแตกต่าง)
การบีบอัดแบบสูญเสียรายละเอียดข้อมูล: ข้อมูลภาพมีขนาดเล็กลงอย่างมาก (ขึ้นอยู่กับวิธีการ/อัลกอริทึมและคุณภาพของภาพที่ต้องการ) แต่ข้อมูลภาพมีการสูญเสียรายละเอียดซึ่งจะไม่เหมาะสมสำหรับการจำแนกข้อมูล
ในส่วนของวิธีการทำงานนั้นมีรายละเอียดและตัวอย่างการทำงานดังนี้
รายละเอียดการทำงานด้วย GDAL (FWTOOLS 2.4.7)
>>>gdal_translate -of (รูปแบบที่ต้องการ) -co (ทางเลือกเพิ่มเติม-ถ้ามี) inputimage outputimage

ตัวอย่างการใช้งานที่ 1: การบีบอัดแบบไม่มีการสูญเสียรายละเอียดข้อมูล

>>>gdal_translate -of GTiff -co COMPRESS=LZW image.tif image_lzw.tif

>>>gdal_translate -of GTiff -co COMPRESS=PACKBITS image.tif image_packbits.tif

ตัวอย่างการใช้งานที่ 2: การบีบอัดแบบสูญเสียรายละเอียดข้อมูล

>>>gdal_translate -of GTiff -co COMPRESS=JPEG image.tif image_jpeg.tif

ประสิทธิภาพของการบีบอัดแบบไม่มีการสูญเสียรายละเอียดข้อมูล ได้แก่
- ข้อมูลที่ไม่มีการบันทึกข้อมูลในข้อมูลภาพ เช่น ขอบข้อมูลภาพที่ไม่มีการบันทึกข้อมูลของภาพดาวเทียมต่างๆ เป็นต้น
- เนื้อหาหรือลักษณะของภาพ (Content)
- ความซ้ำซ้อนของค่าความสว่างจุดภาพ
ส่วนประสิทธิภาพของการบีบอัดแบบสูญเสียรายละเอียดข้อมูล ได้แก่
- อัลกอริทึมที่ใช้
- คุณภาพข้อมูลภาพผลลัพธ์ที่ต้องการ (คุณภาพสูงขนาดจะลดลงน้อย คุณภาพต่ำขนาดภาพจะลดลงได้มาก)

ตัวอย่างผลการทดลองการบีบอัดข้อมูลภาพ โดยข้อมูลต้นฉบับที่ใช้นั้นเป็นภาพดาวเทียมขนาด 22289x48160 จุดภาพ จำนวน 4 ช่วงคลื่น ดังภาพตัวอย่าง



ส่วนขนาดการจัดเก็บสรุปได้ดังนี้ครับ
ต้นฉบับ 3.99 GB
LZW 1.72 GB
PACKBITS 2.30 GB
JPEG 0.38 GB