การจัดส่ง JPEG XL ใน Chrome

เผยแพร่: 6 ตุลาคม 2026

เรายินดีที่จะประกาศว่า Chrome จะรองรับการถอดรหัสรูปแบบรูปภาพ JPEG XL (.jxl) ตั้งแต่ Chrome 155 เป็นต้นไป JPEG XL เป็นรูปแบบรูปภาพรุ่นถัดไป ที่ออกแบบมาเพื่อตอบสนองความต้องการของนักพัฒนาเว็บและ ช่างภาพในปัจจุบัน โดยมีอัตราการบีบอัดดีกว่า JPEG 30-50% การบีบอัดแบบไม่สูญเสียรายละเอียด การรองรับ HDR ในตัว การแปลงรหัส JPEG แบบไม่สูญเสียรายละเอียด และอื่นๆ

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

ในโพสต์นี้ เราจะมาแชร์เหตุผลที่นำ JPEG XL มาใช้ใน Chrome, วิธีใช้ Rust เพื่อให้มั่นใจในความปลอดภัยของหน่วยความจำเป็นอันดับแรก, งานด้านประสิทธิภาพที่ครอบคลุมซึ่งทำให้ JPEG XL ทำงานได้อย่างรวดเร็ว และสิ่งที่การเดินทางนี้บอกเราเกี่ยวกับความคิดเห็นของนักพัฒนาซอฟต์แวร์และระบบนิเวศของมาตรฐานเว็บ

ความปลอดภัยต้องมาเป็นอันดับแรก: การติดตั้งใช้งานตัวถอดรหัสใน Rust อีกครั้ง (jxl-rs)

เครื่องมือถอดรหัสรูปภาพเป็นหนึ่งในพื้นที่การโจมตีที่สำคัญและมีการโจมตีแบบกำหนดเป้าหมายมากที่สุดในเว็บเบราว์เซอร์สมัยใหม่ โดยจะประมวลผลโครงสร้างไบนารีที่ซับซ้อนและไม่น่าเชื่อถือโดยตรง จากเครือข่ายและทำงานภายในกระบวนการแสดงผล ที่ผ่านมา ตัวถอดรหัส ที่เขียนด้วยภาษาที่ไม่ปลอดภัยด้านหน่วยความจำ เช่น C++ มักจะเสี่ยงต่อช่องโหว่ ต่างๆ เช่น การอ่านนอกขอบเขต บัฟเฟอร์ล้นฮีป และข้อบกพร่องของการใช้งานหลังช่วงใช้ฟรี (Use After Free)

โมเดลการรักษาความปลอดภัยของเราอาศัยการแซนด์บ็อกซ์และการป้องกันแบบหลายชั้นตามกฎของ สอง อย่างไรก็ตาม แซนด์บ็อกซ์เป็นชั้นการป้องกันรอง เราจึงได้ผสานรวม jxl-rs ซึ่งเป็นการติดตั้งใช้งานตัวถอดรหัส JPEG XL ใน Rust เพื่อลดความเสี่ยงด้านความปลอดภัยเหล่านี้ตั้งแต่ต้น

ออกแบบเพื่อความเร็วโดยไม่ลดทอนความปลอดภัย

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

ส่วนสำคัญของประสิทธิภาพของตัวแปลงรหัสสมัยใหม่คือการใช้ประโยชน์จาก ฮาร์ดแวร์ SIMD ที่มีอยู่ในอุปกรณ์สมัยใหม่ให้ได้มากที่สุด เราจึงต้องทำให้ฟีเจอร์ target_feature_11 Rust มีความเสถียร ซึ่งช่วยให้ใช้คำสั่ง SIMD ได้โดยไม่ต้องมีโค้ด unsafe

ขั้นตอนถัดไปคือการสร้างเลเยอร์การแยก SIMD (jxl_simd) ซึ่งได้แรงบันดาลใจจาก ไลบรารี Highway ของ C++ (ซึ่งเดิมพัฒนาขึ้นสำหรับ libjxl ซึ่งเป็นการใช้งานอ้างอิงของ JPEG XL ใน C++) การพัฒนาเหล่านี้ช่วยให้เราเขียนไลบรารีแบบหลายแพลตฟอร์มที่ ไม่ลดทอนการเพิ่มประสิทธิภาพ SIMD ขณะเดียวกันก็จำกัดการดำเนินการที่ไม่ปลอดภัย ไว้ในตำแหน่งที่ผ่านการตรวจสอบอย่างเข้มงวดเพียงไม่กี่แห่ง

การเพิ่มประสิทธิภาพใน jxl-rs จะต่อยอดจากประสิทธิภาพใน libjxl ซึ่งรวมถึง ไปป์ไลน์การประมวลผลทั่วไปสำหรับขั้นตอนที่ข้ามเขตแดนของภูมิภาค ขณะเดียวกันก็ ลดการคัดลอกข้อมูลเพื่อเพิ่มประสิทธิภาพฮาร์ดแวร์ให้ได้สูงสุด เราได้ติดตาม ประสิทธิภาพของการติดตั้งใช้งาน Rust อีกครั้งในแพลตฟอร์มฮาร์ดแวร์ต่างๆ ในแดชบอร์ดประสิทธิภาพ jxl-rs

เราได้ยืนยันการติดตั้งใช้งาน jxl-rs ด้วยเทคนิคที่ทันสมัยต่างๆ ซึ่งรวมถึงการฟัซและการตรวจสอบโค้ดโดย AI และไม่พบข้อบกพร่องด้านความปลอดภัยของหน่วยความจำตลอดประวัติการติดตั้งใช้งานทั้งหมด ซึ่งเป็นการยืนยันอีกครั้งถึงการปรับปรุงครั้งใหญ่ที่ Rust นำมาสู่ความปลอดภัยของหน่วยความจำ

ความคิดเห็นของนักพัฒนาแอปและโปรเจ็กต์การทำงานร่วมกัน

ทีม Chrome พิจารณาความคิดเห็นของนักพัฒนาเว็บจากหลากหลายช่องทาง เช่น บั๊ก แบบสำรวจ Developer Signals Project และ Interop Project การตัดสินใจเปิดตัว JPEG XL ของเราอิงตามความคิดเห็นและคำขอที่สอดคล้องกันจากนักพัฒนาเว็บ ซึ่งเห็นได้ชัดเจนที่สุดในกระบวนการ Interop ซึ่งเป็นข้อเสนอที่ได้รับความนิยม ในปี 2026 และ หลายปีก่อนหน้านี้

เราได้เข้าร่วมการตรวจสอบ Interop 2026 JPEG XL เพื่อให้มั่นใจว่ารูปแบบนี้จะทำงานร่วมกันได้ในเบราว์เซอร์ต่างๆ และเพื่อให้มั่นใจว่าการทดสอบจะครอบคลุมฟีเจอร์ทั้งหมดของ JPEG XL ในเบราว์เซอร์ และการทดสอบเหล่านั้นจะผ่านใน Chrome

ลองเลย

การเปิดตัว JPEG XL อย่างเป็นทางการใน Chrome ทำให้เว็บทำงานได้เร็วขึ้น มีประสิทธิภาพมากขึ้น และปลอดภัยมากขึ้น เราขอแนะนำให้นักพัฒนาแอป ครีเอเตอร์เนื้อหา และเจ้าของแพลตฟอร์มเริ่ม ใช้.jxlรูปภาพและภาพเคลื่อนไหวในไปป์ไลน์ของตน

ลองใช้ รายงานข้อบกพร่อง และช่วยเราสร้างเว็บที่เร็วขึ้นและปลอดภัยยิ่งขึ้นสำหรับทุกคน

การรับทราบ

เราขอขอบคุณทุกท่านที่ร่วมสนับสนุน jxl-rs หรือการผสานรวมกับ Chrome และขอขอบคุณเป็นพิเศษต่อ Helmut Januschka สำหรับการสนับสนุนที่สำคัญ ทั้งการผสานรวมกับ Chrome และ jxl-rs รวมถึง Martin Bruse, Zoltan Szabadka, Sami Boukortt และ Wonwoo Choi สำหรับการสนับสนุนที่สำคัญต่อ jxl-rs โดยตรง