ไฟล์ WEBP คืออะไร??
WebP นำเสนอโดย Google เป็นรูปแบบไฟล์ภาพเว็บแรสเตอร์สมัยใหม่ที่ใช้การบีบอัดแบบไม่สูญเสียข้อมูล ให้คุณภาพของภาพเท่าเดิมในขณะที่ลดขนาดภาพลงมาก เนื่องจากหน้าเว็บส่วนใหญ่ใช้รูปภาพในการแสดงข้อมูลอย่างมีประสิทธิภาพ การใช้รูปภาพ WebP ในหน้าเว็บจึงส่งผลให้โหลดหน้าเว็บได้เร็วขึ้น ตามข้อมูลของ Google รูปภาพที่ไม่มีการสูญเสียข้อมูลของ WebP จะมีขนาดเล็กลง 26% เมื่อเทียบกับ PNG ในขณะที่รูปภาพที่ไม่มีการสูญเสียข้อมูลของ WebP จะมีขนาดเล็กกว่ารูปภาพ JPEG ที่เทียบเคียงได้ 25-34% รูปภาพจะถูกเปรียบเทียบตามดัชนีความคล้ายคลึงกันของโครงสร้าง (SSIM) ระหว่าง WebP และรูปแบบไฟล์รูปภาพอื่นๆ WebP เป็นโครงการพี่น้องของรูปแบบคอนเทนเนอร์มัลติมีเดีย WebM
ภาพรวมคุณสมบัติ WebP
อิมเมจ WebP ใช้กระบวนการบีบอัดตามการคาดคะเนพิกเซลจากบล็อกรอบๆ ส่งผลให้พิกเซลถูกใช้หลายครั้งในไฟล์เดียว รองรับภาพเคลื่อนไหวและคาดว่าจะรองรับคุณสมบัติเพิ่มเติมในอนาคต Google ได้ให้บริการซอร์สโค้ด ออนไลน์ สำหรับตัวเข้ารหัสและตัวถอดรหัสเพื่อใช้ในกรณีที่จำเป็น อิมเมจ WebP ให้การสนับสนุนสำหรับ:
- การบีบอัดแบบสูญเสียข้อมูล: การบีบอัดแบบสูญเสียขึ้นอยู่กับการเข้ารหัสคีย์เฟรม VP8 VP8 เป็นรูปแบบการบีบอัดวิดีโอที่สร้างขึ้นโดย On2 Technologies ในฐานะตัวตายตัวแทนของรูปแบบ VP6 และ VP7
- การบีบอัดแบบไม่สูญเสีย: รูปแบบการบีบอัดแบบไม่สูญเสียพัฒนาโดยทีมงาน WebP
- ความโปร่งใส: ช่องอัลฟ่า 8 บิตมีประโยชน์สำหรับภาพกราฟิก สามารถใช้แชนเนลอัลฟ่าร่วมกับ RGB แบบ Lossy ซึ่งเป็นฟีเจอร์ที่ไม่มีในฟอร์แมตอื่นในขณะนี้
- แอนิเมชัน: รองรับภาพเคลื่อนไหวสีจริง
- ข้อมูลเมตา: อาจมีข้อมูลเมตา EXIF และ XMP (ใช้โดยกล้อง เป็นต้น)
- โปรไฟล์สี: อาจมีโปรไฟล์ ICC ฝังอยู่
การบีบอัด WebP แบบสูญเสียจะใช้การเข้ารหัสแบบคาดเดาเพื่อเข้ารหัสภาพ ซึ่งเป็นวิธีเดียวกับที่ตัวแปลงสัญญาณวิดีโอ VP8 ใช้ในการบีบอัดคีย์เฟรมในวิดีโอ การเข้ารหัสเชิงคาดการณ์ใช้ค่าในบล็อกพิกเซลที่อยู่ใกล้เคียงเพื่อทำนายค่าในบล็อก จากนั้นเข้ารหัสเฉพาะส่วนต่าง
การบีบอัด WebP แบบไม่สูญเสียข้อมูลจะใช้ชิ้นส่วนรูปภาพที่เห็นอยู่แล้วเพื่อสร้างพิกเซลใหม่ นอกจากนี้ยังสามารถใช้จานสีในเครื่องได้หากไม่พบการจับคู่ที่น่าสนใจ
รูปแบบไฟล์
รูปแบบไฟล์ WebP ขึ้นอยู่กับรูปแบบเอกสาร RIFF (รูปแบบไฟล์การแลกเปลี่ยนทรัพยากร) คอนเทนเนอร์ WebP ให้การสนับสนุนคุณสมบัติที่มากกว่าและเหนือกว่าซึ่งมีเฉพาะรูปภาพเดียวที่เข้ารหัสเป็นคีย์เฟรม VP8 องค์ประกอบพื้นฐานของไฟล์ RIFF คือก้อนซึ่งประกอบด้วย:
ฟิลด์ | คำอธิบาย |
---|---|
Chunk FourCC: 32 บิต | รหัสสี่อักขระ ASCII ที่ใช้สำหรับการระบุกลุ่ม |
ขนาดก้อน: 32 บิต (uint32) | ขนาดของก้อนไม่รวมฟิลด์นี้ ตัวระบุก้อน หรือช่องว่างภายใน |
น้ำหนักบรรทุกก้อน: ขนาดก้อนไบต์ | น้ำหนักบรรทุกข้อมูล หากขนาดก้อนเป็นเลขคี่ จะมีการเพิ่มไบต์การเติมเดียว ~-~- ที่ควรเป็น 0 ~-~- |
ChunkHeader (‘ABCD’) | ใช้เพื่ออธิบาย FourCC และส่วนหัวของ Chunk Size ของแต่ละอัน โดยที่ ‘ABCD’ คือ FourCC สำหรับอันนั้น ขนาดขององค์ประกอบนี้คือ 8 ไบต์ |
ส่วนหัวของ WebP
ส่วนหัวของไฟล์ WebP เป็นดังนี้:
- RIFF Header - 32 บิตแทนอักขระ ASCII ‘R’ ‘I’ ‘F’ ‘F’
- ขนาดไฟล์ - 32 บิต (uint32) แสดงขนาดของไฟล์เป็นไบต์โดยเริ่มต้นที่ออฟเซ็ต 8 ค่าสูงสุดของฟิลด์นี้คือ 2^32 ลบ 10 ไบต์ ดังนั้นขนาดของไฟล์ทั้งหมดจึงอยู่ที่ 4GiB ลบ 2 ไบต์ .
- ‘WEBP’ - 32 บิตแทนอักขระ ASCII ‘W’ ‘E’ ‘B’ ‘P’
รูปแบบไฟล์สูญหาย
อิมเมจ WebP ใช้รูปแบบไฟล์ที่สูญเสีย หากอิมเมจใช้การเข้ารหัสที่สูญเสีย และไม่ต้องการคุณสมบัติขั้นสูง/ขยายใดๆ เช่น ความโปร่งใส ภาพเคลื่อนไหว อัลฟ่า ฯลฯ อิมเมจที่สูญเสียจะมีขนาดเล็กกว่าและรองรับโดยแอปพลิเคชันรุ่นเก่าเช่นกัน
ในกรณีนี้ ไฟล์ WebP ประกอบด้วย:
- ส่วนหัวของไฟล์ WebP ขนาด 12 ไบต์
- ก้อน VP8
รูปแบบข้อมูล VP8 และคู่มือการถอดรหัส จะแสดงข้อมูลจำเพาะของรูปแบบสตรีมบิต VP8
รูปแบบไฟล์แบบไม่สูญเสีย
เลย์เอาต์นี้ใช้เมื่อรูปภาพใช้การเข้ารหัสแบบ Lossless และไม่จำเป็นต้องใช้ฟีเจอร์ขั้นสูงที่มีให้ในรูปแบบภายนอก แอปพลิเคชันรุ่นเก่าอาจไม่สามารถอ่านไฟล์ดังกล่าวได้
ในกรณีนี้ ไฟล์ WebP ประกอบด้วย:
- ส่วนหัวของไฟล์ WebP ขนาด 12 ไบต์
- ก้อน VP8L