2 คะแนน โดย GN⁺ 2024-03-02 | 2 ความคิดเห็น | แชร์ทาง WhatsApp

JPEG XL และ Pareto Front

  • เปิดตัว libjxl เวอร์ชัน 0.10: มีการเปิดตัวเวอร์ชันใหม่ของ libjxl ซึ่งเป็น implementation อ้างอิงของ JPEG XL โดยการปรับปรุงสำคัญของเวอร์ชันนี้คือการทำ API สำหรับ 'streaming encoding' ได้อย่างสมบูรณ์
  • Streaming encoding API: ทำให้สามารถเข้ารหัสภาพขนาดใหญ่เป็น 'ชิ้นส่วน' ได้ แทนที่จะประมวลผลทั้งภาพในครั้งเดียว จึงสามารถทำงานได้ในแบบที่เป็นมิตรต่อหน่วยความจำมากกว่า

แบบไม่สูญเสียข้อมูล: ปรับปรุงการใช้หน่วยความจำและความเร็วอย่างมาก

  • การปรับปรุงเมื่อเทียบกับ libjxl เวอร์ชัน 0.9: ในเวอร์ชันก่อนหน้า การเข้ารหัส JPEG XL แบบไม่สูญเสียข้อมูลใช้หน่วยความจำสูงและใช้เวลานาน ซึ่งอาจก่อให้เกิดปัญหาร้ายแรงเมื่อเข้ารหัสภาพขนาดใหญ่
  • ตัวอย่างภาพโลกยามค่ำคืนของ NASA: การบีบอัดภาพขนาด 13500×6750 ด้วย libjxl 0.9 ต้องใช้ RAM ราว 8GB และใช้เวลามากกว่า 2 นาที หลังอัปเกรดเป็น libjxl 0.10 สามารถบีบอัดได้ด้วย RAM 0.7GB และใช้เวลาเพียง 30 วินาที
  • ผลลัพธ์ตามค่า effort ที่หลากหลาย: มีการแสดงตารางเปรียบเทียบการใช้หน่วยความจำ เวลา และขนาดไฟล์บีบอัดตามค่า effort ต่างๆ (e1~e9) โดยเมื่อเพิ่มค่า effort การบีบอัดจะดีขึ้น แต่การปรับปรุงจะไม่เป็นเชิงเส้น

Pareto Front

  • การเปรียบเทียบเทคโนโลยีการบีบอัด: ไม่ได้สำคัญแค่ขนาดไฟล์หลังบีบอัดเท่านั้น แต่ความเร็วในการเข้ารหัสก็สำคัญด้วย จึงต้องพิจารณาทั้งความหนาแน่นของการบีบอัดและความเร็วในการเข้ารหัสในสองมิติ
  • Pareto optimal: คือกรณีที่ไม่สามารถใช้วิธีอื่นเพื่อให้ได้ความหนาแน่นการบีบอัดเท่ากันในเวลาที่น้อยกว่าได้ วิธีที่เป็น Pareto optimal จะให้ไฟล์ที่เล็กที่สุดภายใต้งบประมาณด้านเวลาที่กำหนด
  • การแสดงภาพของ Pareto Front: แสดงเป็นกราฟที่บอกความเร็วในการเข้ารหัสและความหนาแน่นของการบีบอัด โดยใช้ชุดภาพหลากหลายเพื่อเปรียบเทียบค่าเฉลี่ยของความเร็วและความหนาแน่นการบีบอัด

ภาพที่ไม่ใช่ภาพถ่าย

  • ความสำคัญของการเลือกภาพทดสอบ: หากภาพส่วนใหญ่เป็นภาพถ่าย จะบีบอัดได้ยากเนื่องจากมี noise ตามธรรมชาติจำนวนมาก
  • กรณีของภาพการ์ตูน: ภาพที่ไม่ใช่ภาพถ่ายสามารถบีบอัดได้ดีกว่าภาพถ่ายมาก โดยภาพการ์ตูนสามารถบีบอัดได้ประมาณ 4bpp
  • การปรับปรุงของ libjxl: libjxl เวอร์ชันใหม่เร็วกว่าเวอร์ชันก่อนหน้ามาก และยังมีอัตราการบีบอัดที่ดีกว่า

ว่าด้วยการบีบอัดแบบสูญเสียข้อมูล

  • เบนช์มาร์กของการบีบอัดแบบสูญเสียข้อมูล: สิ่งสำคัญมีเพียงขนาดไฟล์ที่บีบอัดและความเร็วเท่านั้น ส่วนคุณภาพของภาพต้องพิจารณาเป็นมิติที่สาม
  • ประสิทธิภาพของ lossy image codec และ encoder: อาจทำงานแตกต่างกันไปในแต่ละจุดคุณภาพ encoder ที่ทำงานได้ดีในงานเข้ารหัสคุณภาพสูง ไม่ได้แปลว่าจะทำงานได้ดีในงานเข้ารหัสคุณภาพต่ำเสมอไป

Lossy Pareto Front

  • encoder ที่นำมาทดสอบ: ทดสอบเวอร์ชันล่าสุดของ encoder หลายตัว เช่น libjpeg-turbo, sjpeg, mozjpeg, jpegli, libavif / libaom, libjxl, libwebp, libheif เป็นต้น
  • คุณภาพระดับกลาง: เป็นผลลัพธ์จากการตั้งค่าที่สอดคล้องกับคะแนน SSIMULACRA2 ที่ 60 ซึ่งเกี่ยวข้องมากที่สุดในกรณีที่การลดน้ำหนักของหน้าเว็บสำคัญกว่าความเที่ยงตรงของภาพ
  • คุณภาพระดับกลางค่อนสูงและคุณภาพสูง: เป็นผลลัพธ์จากการตั้งค่าที่สอดคล้องกับคะแนน SSIMULACRA2 ที่ 70 และ 85 โดยในจุดคุณภาพสูง JPEG XL ครอง Pareto Front เป็นหลัก

บทสรุป

  • การปรับปรุงของ libjxl เวอร์ชัน 0.10: การใช้หน่วยความจำลดลงอย่างมาก และโดยเฉพาะอย่างยิ่งความเร็วของการเข้ารหัสแบบไม่สูญเสียข้อมูลแบบหลายเธรดดีขึ้น
  • การยืนยันตำแหน่งของ JPEG XL: ยืนยันว่าเป็นตัวเลือกที่ Pareto optimal ในการตั้งค่าความเร็วหลายระดับ ตั้งแต่คุณภาพสูงไปจนถึงระดับที่แทบไม่สูญเสียให้เห็นทางสายตา
  • เสน่ห์ที่ยังคงอยู่ของ JPEG: encoder ใหม่อย่าง jpegli ช่วยปรับปรุงทั้งด้านความเร็วและการบีบอัด และอาจยังเป็นตัวเลือกที่ดีที่สุดเมื่อจำเป็นต้องเข้ารหัสให้เร็วมาก
  • การมีส่วนร่วมของ Cloudinary: มีส่วนร่วมอย่างแข็งขันในการมอบประสบการณ์ผู้ใช้ที่ดีที่สุด ด้วยการนำเทคโนโลยีและอินไซต์ล่าสุดในด้านการบีบอัดภาพมาใช้

ความเห็นของ GN⁺

  • การเปิดตัว libjxl 0.10 ถือเป็นความก้าวหน้าสำคัญของเทคโนโลยีการบีบอัดภาพ โดยเฉพาะการปรับปรุงการใช้หน่วยความจำและความเร็วในการเข้ารหัสอย่างมากเมื่อจัดการภาพขนาดใหญ่ ซึ่งจะเป็นประโยชน์อย่างมากต่อผู้ใช้
  • การเน้นว่า JPEG XL เป็น Pareto optimal ในหลายระดับคุณภาพและความเร็ว มีประโยชน์เพราะช่วยให้ผู้ใช้หาจุดสมดุลที่เหมาะสมที่สุดระหว่างคุณภาพของภาพกับขนาดไฟล์ได้
  • ในมุมมองเชิงวิพากษ์ การนำเทคโนโลยีใหม่อย่าง libjxl มาใช้อาจก่อให้เกิดปัญหาความเข้ากันได้กับโครงสร้างพื้นฐานเดิม ดังนั้นจึงจำเป็นต้องค่อยๆ นำมาใช้โดยคำนึงถึงการผสานรวมกับระบบที่มีอยู่
  • เมื่อต้องเลือกเทคโนโลยีการบีบอัดภาพ ควรพิจารณาหลายปัจจัย เช่น ความเร็วในการเข้ารหัสและถอดรหัส ขนาดไฟล์ แพลตฟอร์มและอุปกรณ์ที่รองรับ เป็นต้น JPEG XL เป็นตัวเลือกที่น่าสนใจสำหรับการบีบอัดภาพคุณภาพสูง แต่ยังไม่ได้รับการรองรับอย่างแพร่หลายในผู้ใช้และทุกระบบ
  • ประโยชน์ของการนำเทคโนโลยีนี้มาใช้คือการลดการใช้หน่วยความจำ เพิ่มความเร็วในการเข้ารหัส และลดขนาดไฟล์ ส่วนต้นทุนอาจเป็นปัญหาความเข้ากันได้กับระบบเดิมและช่วงการเรียนรู้ของเทคโนโลยีใหม่

2 ความคิดเห็น

 
dofuuz 2024-03-08

เอนโค้ดเดอร์ jpegli กำลังยืดอายุให้ jpg ได้อีกครั้งต่อจาก mozjpeg...
แม้จะถูกสร้างขึ้นโดยฝั่ง JXL แต่ก็น่าแดกดันที่มันอาจขัดขวางการแพร่หลายของ JXL เองก็ได้...

 
GN⁺ 2024-03-02
ความคิดเห็นจาก Hacker News
  • ประสิทธิภาพการบีบอัดแบบไม่สูญเสียของฟอร์แมต WebP ยอดเยี่ยมมาก

    ความสามารถในการบีบอัดแบบไม่สูญเสียของ WebP เหนือกว่า PNG หรือ OptiPNG อย่างมากทั้งในด้านประสิทธิภาพและความเร็ว และปัจจุบันก็รองรับอย่างแพร่หลายบนออนไลน์ นอกจากนี้ยังดีกว่า AVIF แบบไม่สูญเสียอย่างมาก

  • การประเมินความสามารถของ JPEG ในการรักษารายละเอียดที่การตั้งค่าคุณภาพต่ำ

    JPEG มีความสามารถโดดเด่นในการคงคุณภาพโดยรวมของภาพไว้แม้ตั้งค่าคุณภาพต่ำ พร้อมทั้งแปลงรายละเอียดให้กลายเป็นสไตล์ศิลปะนามธรรม ขณะที่ JXL และ AVIF จะออกมาเบลอ

  • ความยากลำบากของผู้ใช้ในการหาข้อมูลเชิงลึกเกี่ยวกับฟอร์แมต JPEG XL

    ค่อนข้างหายากที่จะหาเว็บไซต์หรือเอกสารที่อธิบายแต่ละขั้นตอนของฟอร์แมต JPEG XL อย่างละเอียด JPEG XL มีเทคโนโลยีนวัตกรรมอยู่มาก แต่กลับขาดแคลนแหล่งข้อมูลที่อธิบายรายละเอียดเหล่านี้

  • ข้อสงสัยต่อบทความที่โฟกัสความเร็วในการเข้ารหัส

    บนคอมพิวเตอร์สมัยใหม่ ความเร็วในการถอดรหัสไม่ได้เป็นปัญหาใหญ่นัก แต่ถึงอย่างนั้นการได้ดูข้อมูลด้านความเร็วก็ยังน่าสนใจ

  • การประเมินคุณภาพและความสามารถในการบีบอัดของ JPEG XL

    JPEG XL สามารถสร้างภาพที่ถูกบีบอัดด้วยคุณภาพสูงได้อย่างยอดเยี่ยมแม้ใช้การตั้งค่าแบบง่าย ๆ ขณะที่โค้ดेकอื่น ๆ ต้องใช้การตั้งค่าคุณภาพที่หลากหลายตามประเภทของภาพเพื่อให้ได้ผลลัพธ์ใกล้เคียงกัน

  • ไลบรารีประมวลผลขนานตัวใหม่ที่พัฒนาขึ้นจากโปรเจกต์ JPEG XL

    โปรเจกต์ JPEG XL ได้พัฒนาไลบรารีประมวลผลขนานตัวใหม่ชื่อ Highway ไลบรารีนี้ไม่ได้ใช้แค่กับ JPEG XL เท่านั้น แต่ยังถูกใช้ในโมเดล AI Gemma รุ่นล่าสุดของ Google ด้วย

  • ปฏิกิริยาต่อการรวมฟอร์แมต QOI

    เป็นเรื่องน่าสนใจที่ฟอร์แมต QOI ซึ่งมุ่งเป้าเพียงระดับ “ดีใช้ได้” และไม่ได้ถูกรองรับเป็นค่าเริ่มต้นในซอฟต์แวร์สำหรับผู้ใช้ทั่วไป กลับถูกนำมารวมไว้ในเบนช์มาร์กการเข้ารหัสภาพที่ไม่ใช่ภาพถ่าย

  • เวอร์ชันใหม่ของ libjxl ลดการใช้หน่วยความจำลงอย่างมาก

    libjxl เวอร์ชันใหม่ลดการใช้หน่วยความจำลงอย่างมากทั้งในการบีบอัดแบบสูญเสียและไม่สูญเสีย และปรับปรุงความเร็วของการเข้ารหัสแบบไม่สูญเสียโดยเฉพาะเมื่อใช้มัลติเธรด อีกทั้งบทความก็เขียนได้ดีด้วย

  • ข้อดีของการบีบอัดไฟล์ JPEG เก่าซ้ำด้วย JPEG XL

    การใช้ JPEG XL สามารถบีบอัดไฟล์ JPEG เก่าซ้ำเพื่อประหยัดพื้นที่ได้ 15% ถึง 30% และยังสามารถกู้คืนไฟล์ JPG ต้นฉบับให้เหมือนเดิมทุกบิตได้อย่างสมบูรณ์

  • การกล่าวถึงความเป็นไปได้ในการประหยัดเพิ่มเติมของ AVIF แบบไม่สูญเสีย

    มีการกล่าวถึงว่าคาดว่า AVIF แบบไม่สูญเสียจะประหยัดพื้นที่ได้มากยิ่งขึ้น