รูปภาพ WebP (.webp)
RFC มาตรฐานWebP คือรูปแบบไฟล์ภาพสมัยใหม่ที่พัฒนาโดย Google ซึ่งให้การบีบอัดข้อมูลแบบไม่สูญเสียข้อมูลและแบบสูญเสียข้อมูลที่ยอดเยี่ยมสำหรับภาพบนเว็บ รองรับทั้งความโปร่งใสแบบแอลฟาและเฟรมภาพเคลื่อนไหว
แปลง JPG เป็น WEBP
ตัวแปลงจาก JPG เป็น WEBP ฟรีในเบราว์เซอร์ แปลงไฟล์ได้ทันทีบนอุปกรณ์ของคุณ
บีบอัด WebP ออนไลน์
เป็นส่วนตัว - ไฟล์จะไม่ออกจากอุปกรณ์ของคุณ
ตรวจสอบไฟล์และข้อมูลเมตา
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ WebP โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็นส่วนหัวระดับไบต์
ระบบปฏิบัติการและเครื่องมือวิเคราะห์ไฟล์จะระบุไฟล์ WebP โดยการตรวจสอบลำดับไบต์ไบนารีส่วนต้น:
ลายเซ็น HEX (OFFSET 0):
52 49 46 46 ?? ?? ?? ?? 57 45 42 50การแสดงผลรูปแบบ ASCII: RIFF????WEBP
มาตรฐาน: RFC 6386 / ข้อกำหนดคอนเทนเนอร์ RIFF
ข้อมูลจำเพาะทางเทคนิค
| สถาปัตยกรรมคอนเทนเนอร์ | คอนเทนเนอร์ Resource Interchange File Format (RIFF) ที่มี FourCC 'WEBP' |
| การบีบอัด | การเข้ารหัสแบบคาดการณ์ภายในเฟรม VP8 แบบสูญเสียข้อมูล และการเข้ารหัสเอนโทรปีเชิงพื้นที่ VP8L แบบไม่สูญเสียข้อมูล |
| การจัดลำดับไบต์ | Little-Endian สำหรับขนาดชังก์ RIFF และแท็กคอนเทนเนอร์ |
| พื้นที่สี | sRGB, โปรไฟล์ ICC ที่ฝังอยู่ (ผ่านส่วนหัวเพิ่มเติม VP8X) |
| ช่องสัญญาณและโครงสร้าง | RGB + Alpha (8 บิตต่อช่องสัญญาณ) |
| ขนาดสูงสุด | 16,383 x 16,383 พิกเซล (เลขจำนวนเต็มไร้เครื่องหมาย 14 บิต) |
| ความโปร่งใส | ช่องสัญญาณอัลฟา 8 บิตที่โปร่งใสได้เต็มรูปแบบ ทั้งในโหมดสูญเสียข้อมูลและไม่สูญเสียข้อมูล |
| การสตรีมและแบบโปรเกรสซีฟ | รองรับการถอดรหัสแบบทีละน้อยผ่านการถอดรหัสบล็อก VP8 แบบเพิ่มทีละส่วน |
ตารางเปรียบเทียบทางเทคนิค: WebP กับคู่แข่ง
| คุณลักษณะทางเทคนิค | WebP (ปัจจุบัน) | JPEG | PNG | AVIF |
|---|---|---|---|---|
| โหมดการบีบอัดที่รองรับ | ทั้งแบบสูญเสียข้อมูล (VP8) และไม่สูญเสียข้อมูล (VP8L) | แบบสูญเสียข้อมูลเท่านั้น | แบบไม่สูญเสียข้อมูลเท่านั้น | ทั้งแบบสูญเสียข้อมูล (AV1) และไม่สูญเสียข้อมูล |
| ความโปร่งใสแบบแอลฟา | มี (ทั้งแบบสูญเสียข้อมูลและไม่สูญเสียข้อมูล) | ไม่มี | มี | มี |
| การรองรับภาพเคลื่อนไหว | มี (หลายเฟรมพร้อมกำหนดเวลาหน่วงเฟรม) | ไม่มี | ต้องใช้ส่วนขยาย APNG | มี (ลำดับภาพ AVIF) |
| HDR / ขอบเขตสีกว้าง | 8 บิต sRGB เท่านั้น | 8 บิตมาตรฐาน | 8 บิตและ 16 บิต | HDR 10 บิตและ 12 บิตในตัว |
| การรองรับของเบราว์เซอร์ | รองรับทั่วโลก 97%+ ในเบราว์เซอร์สมัยใหม่ทั้งหมด | สากล 100% | สากล 100% | เบราว์เซอร์สมัยใหม่ 93%+ |
รูปแบบความเสียหายทั่วไปและคู่มือการกู้คืน Hex
เบราว์เซอร์ไม่สามารถแสดงภาพ WebP หรือแสดงไอคอนภาพเสีย
สาเหตุหลัก: ส่วนหัวระบุความยาวข้อมูล RIFF (ไบต์ที่ 4 - 7) ไม่ตรงกับความยาวไบต์จริงในดิสก์
การกู้คืน: คำนวณขนาดไฟล์รวมลบออก 8 ไบต์ และแก้ไขเลขจำนวนเต็มไร้เครื่องหมาย Little-Endian 4 ไบต์ที่ออฟเซ็ต 0x04
ตัวถอดรหัสล้มเหลวพร้อมข้อความ 'Invalid FourCC: Expected WEBP'
สาเหตุหลัก: ไบต์ที่ 8-11 ไม่มีอักขระ ASCII 'WEBP'
การกู้คืน: ตรวจสอบว่าออฟเซ็ต 0x08 มีค่า 0x57 0x45 0x42 0x50 ('WEBP') และส่วนหัวชังก์ตรงกับ 'VP8 ' หรือ 'VP8L'
การวิเคราะห์ความปลอดภัยและเวกเตอร์การโจมตีตัวแยกวิเคราะห์
การแยกวิเคราะห์ WebP ได้รับการตรวจสอบด้านความปลอดภัยอย่างเข้มข้นหลังจากเกิดช่องโหว่ CVE-2023-4863 ซึ่งนำไปสู่การเพิ่มความปลอดภัยในแซนด์บ็อกซ์ทั่วทั้งเว็บเบราว์เซอร์หลักทั้งหมด
เวกเตอร์การโจมตีที่ทราบ
- CVE-2023-4863: บัฟเฟอร์ล้นในฮีปที่ฟังก์ชัน BuildHuffmanTable ของ libwebp เมื่อแยกวิเคราะห์ตารางฮัฟฟ์แมนแบบไม่สูญเสียข้อมูลที่ไม่ถูกต้อง ทำให้สามารถรันโค้ดจากระยะไกลได้
- เลขจำนวนเต็มล้นเมื่อถอดรหัสขนาดแคนวาสของเฟรมภาพเคลื่อนไหวที่มีขนาดใหญ่เกินไป
แนวทางปฏิบัติที่ดีที่สุดในการป้องกัน: ตรวจสอบให้แน่ใจว่าไลบรารีของไคลเอนต์และเซิร์ฟเวอร์ทั้งหมดใช้ libwebp 1.3.2 หรือใหม่กว่า ทำการถอดรหัสไฟล์ WebP ในเธรดงานที่มีแซนด์บ็อกซ์หน่วยความจำ
ประวัติความเป็นมาและเหตุการณ์สำคัญ
ข้อได้เปรียบและจุดเด่นสำคัญ
- WebP แบบสูญเสียข้อมูลอาจสร้างไฟล์เล็กกว่า JPEG ที่คุณภาพภาพใกล้เคียงกัน แต่ผลลัพธ์แตกต่างตามภาพและตัวเข้ารหัส
- WebP แบบไม่สูญเสียข้อมูลอาจสร้างไฟล์เล็กกว่า PNG สำหรับภาพบางภาพ ผลลัพธ์แตกต่างตามภาพและตัวเข้ารหัส
- รูปแบบเดียวแบบครบวงจรสามารถจัดการภาพถ่าย, กราฟิกที่มีความโปร่งใส และคลิปภาพเคลื่อนไหวขนาดเบาได้
ข้อจำกัดทางเทคนิคและข้อควรพิจารณา
- จำกัดขนาดสูงสุดไว้ที่ 16,383 x 16,383 พิกเซล ทำให้ไม่รองรับภาพพาโนรามาความละเอียดสูงพิเศษ
- รองรับความลึกสี 8 บิตเท่านั้น (ไม่มีการรองรับ HDR 10 บิตหรือ 12 บิตในตัว)
- การเข้ารหัสภาพสูญเสียข้อมูลที่ซับซ้อนต้องใช้รอบซีพียูมากกว่าตัวเข้ารหัส JPEG รุ่นเก่า
เกร็ดความรู้ทางเทคนิคที่น่าสนใจ
- WebP อ้างอิงจากอัลกอริทึมการคาดการณ์ล่วงหน้าภายในเฟรมคีย์ของตัวแปลงสัญญาณวิดีโอ VP8 แบบโอเพนซอร์สของ Google
- คอนเทนเนอร์ RIFF ที่ WebP ใช้ เป็นสถาปัตยกรรมคอนเทนเนอร์แบบเดียวกับที่ใช้ในไฟล์ AVI และ WAV ดั้งเดิมของ Microsoft
- ขนาดไฟล์เมื่อเทียบกับ GIF ขึ้นอยู่กับเนื้อหาแอนิเมชันและการตั้งค่าการเข้ารหัส จึงควรเปรียบเทียบผลลัพธ์
คำถามทางเทคนิคที่พบบ่อย
WebP สามารถแทนที่ทั้ง PNG และ JPEG ได้อย่างสมบูรณ์หรือไม่
WebP เหมาะกับภาพบนเว็บหลายประเภท แต่ไม่ได้ใช้แทน PNG หรือ JPEG ได้ในทุกกรณี ควรเลือกฟอร์แมตตามเนื้อหาภาพ ความต้องการความโปร่งใส และเบราว์เซอร์หรือซอฟต์แวร์ที่ผู้ชมใช้
เหตุใดการบีบอัดแบบไม่สูญเสียข้อมูลของ WebP จึงมีประสิทธิภาพมากกว่า PNG
WebP แบบไม่สูญเสียข้อมูลใช้ตัวคาดการณ์เชิงพื้นที่ขั้นสูง, การแปลงสีเพื่อลดความสัมพันธ์ระหว่างช่องสี, แคชสีแบบเฉพาะที่ และการแปลง 2 มิติที่เข้ารหัสด้วยเอนโทรปี ส่งผลให้ไฟล์มีขนาดเล็กกว่า PNG ที่เหมาะสมที่สุดโดยทั่วไปถึง 26%
WebP รองรับภาพเคลื่อนไหวหรือไม่
WebP รองรับภาพเคลื่อนไหว ขนาดไฟล์เมื่อเทียบกับ GIF ขึ้นอยู่กับเนื้อหาแอนิเมชันและการตั้งค่าการเข้ารหัส จึงควรเปรียบเทียบผลลัพธ์
คู่การแปลงไฟล์ WebP ที่เกี่ยวข้อง
การแปลงภาพ JPEG เป็น WebP อาจลดขนาดไฟล์ที่คุณภาพภาพใกล้เคียงกัน แต่ผลลัพธ์แตกต่างตามเนื้อหาภาพและการตั้งค่าการเข้ารหัส
การแปลง WebP เป็น JPEG อาจช่วยให้ใช้ภาพนิ่งในซอฟต์แวร์ที่ไม่รองรับ WebP ได้ง่ายขึ้น JPEG ไม่เก็บความโปร่งใสหรือภาพเคลื่อนไหว
การแปลงภาพ PNG เป็น WebP อาจลดขนาดไฟล์โดยคงความโปร่งใสไว้ ผลลัพธ์ขึ้นอยู่กับการเข้ารหัสแบบสูญเสียหรือไม่สูญเสียข้อมูลและเนื้อหาภาพ
การแปลง WebP เป็น PNG สร้างภาพนิ่งสำหรับซอฟต์แวร์ที่รองรับ PNG แต่ไม่เก็บภาพเคลื่อนไหวของ WebP และไม่สามารถกู้คืนรายละเอียดจากแหล่งที่สูญเสียข้อมูลได้
การแปลงไฟล์ WebP แบบเคลื่อนไหวเป็นไฟล์ GIF แบบเคลื่อนไหวช่วยเชื่อมโยงรูปแบบแอนิเมชันราสเตอร์สมัยใหม่เข้ากับมาตรฐานเว็บรุ่นเก่าที่ต้องการความเข้ากันได้แบบสากล
สร้าง PDF หนึ่งหน้าจากกราฟิก WebP สำหรับใช้ในเอกสารหรือรอบการอนุมัติ เบราว์เซอร์จะวาดกราฟิกนั้นใหม่เป็นรูปภาพ จึงไม่เก็บข้อมูล WebP หรือภาพเคลื่อนไหวไว้