QOI - การบีบอัดภาพแบบไม่สูญเสียข้อมูล O(n)
(phoboslab.org)<p>"Quite OK Image" <br />
- บีบอัด RGB/RGBA ได้ขนาดใกล้เคียงกับ PNG<br />
→ การบีบอัดเร็วกว่า 20x-50x และการคลายบีบอัดเร็วกว่า 3~4x <br />
→ โอเพนซอร์สโค้ด C แบบ single header file ขนาด 300 บรรทัด <br />
→ อิมพลีเมนเทชันแบบ single-thread ที่เรียบง่ายโดยไม่ใช้ SIMD <br />
- รายละเอียดทางเทคนิค <br />
→ เข้ารหัส/ถอดรหัสภาพแบบ single-pass <br />
→ แตะทุกพิกเซลเพียงครั้งเดียว และแต่ละพิกเซลจะถูกเข้ารหัสด้วยหนึ่งใน 4 วิธี <br />
⇨ ถ้าเหมือนกับพิกเซลก่อนหน้าทันที ก็เพิ่ม run-length ของพิกเซลก่อนหน้า; ถ้าต่างกัน ก็แพ็กพิกเซลใหม่ด้วยหนึ่งในอีก 3 วิธีด้านล่าง <br />
⇨ ถ้าเหมือนกับพิกเซลที่เคยประมวลผลไปแล้ว ก็ใช้ดัชนีของพิกเซลนั้น โดยมีอาร์เรย์เก็บพิกเซลล่าสุด 64 พิกเซลไว้เพื่อการนี้<br />
⇨ ถ้าต่างจากพิกเซลก่อนหน้าไม่มาก ก็เก็บค่าความต่างของ RGBA <br />
⇨ ถ้า 3 วิธีข้างต้นใช้ไม่ได้ ก็เก็บค่า RGBA ของพิกเซลนั้น แต่จะเก็บเฉพาะส่วนที่ต่างจากพิกเซลก่อนหน้า </p>
3 ความคิดเห็น