การศึกษาการบีบอัด WebP

เกริ่นนำ

เราประเมินการเปรียบเทียบการบีบอัดรูปภาพ WebP และ JPEG โดยอิงจากโปรแกรมเปลี่ยนไฟล์ใหม่ที่เผยแพร่ในเดือนlibwebp โดยมีเป้าหมายที่จะทำการทดสอบง่ายๆ ที่ทำซ้ำโดยใช้เครื่องมือที่เผยแพร่ต่อสาธารณะ และเปรียบเทียบการบีบอัดรูปภาพที่ได้จาก WebP และ JPEG

การศึกษาเปรียบเทียบ WebP ก่อนหน้านี้ของเรามุ่งเน้นที่การประเมินรูปภาพจำนวนมากและจัดทำขึ้นจากแหล่งที่มา JPEG ซึ่งรวบรวมข้อมูลจากเว็บ JPEG คือรูปแบบการบีบอัดแบบสูญเสียบางส่วนและแนะนำอาร์ติแฟกต์การบีบอัดไปยังซอร์ส นอกจากนี้ ในตอนแรกเราใช้อัตราส่วนสัญญาณต่อเสียงรบกวนหรือ PSNR เป็นเมตริกคุณภาพ PSNR มีข้อเสียบางอย่างเมื่อใช้เป็นเมตริกคุณภาพของรูปภาพ จากความคิดเห็นของชุมชน เราจึงทำการทดลองกับรูปภาพ PNG รวมถึงรูปภาพที่มีในชุดการทดสอบมาตรฐาน 2-3 ชุด เราใช้ความคล้ายคลึงของโครงสร้างหรือ SSIM ในการศึกษานี้เป็นเมตริกคุณภาพสำหรับการศึกษานี้ ซึ่ง SSIM เป็นเมตริกที่มีคุณภาพด้านภาพที่ดีกว่า

ระเบียบวิธี

เราอธิบายการประเมิน 2 ประเภท ในกรณีแรก เราจะศึกษาการบีบอัดเพิ่มเติมที่ WebP ทำได้ที่ระดับคุณภาพเดียวกันของ JPEG โดยเฉพาะอย่างยิ่ง เราจะสร้างรูปภาพ WebP ที่มีคุณภาพเท่ากัน (ตามดัชนี SSIM) กับรูปภาพ JPEG จากนั้นเปรียบเทียบขนาดไฟล์ของรูปภาพ WebP และ JPEG ในกรณีที่สอง เราจะวิเคราะห์พล็อต SSIM เทียบกับบิตต่อพิกเซล (bpp) สำหรับ WebP และ JPEG แผนภาพเหล่านี้แสดงข้อดีของการบิดเบี้ยวของอัตราสำหรับ WebP และ JPEG

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

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

  • identify และ convert เป็นเครื่องมือบรรทัดคำสั่งที่เป็นส่วนหนึ่งของ ImageMagick เราใช้เวอร์ชัน 6.5.7 สำหรับการวิเคราะห์นี้ เราใช้ convert เพื่อแปลงระหว่างรูปแบบ PNG และ PPM เราใช้ identify เพื่อดึงข้อมูลความกว้างและความสูงของรูปภาพ

  • cwebp และ dwebp เป็นเครื่องมือบรรทัดคำสั่งที่เป็นส่วนหนึ่งของไลบรารี libwebp ซึ่งเราเปิดตัวในไตรมาสที่ 1 ของปี 2011 เราใช้ไลบรารีเวอร์ชัน 0.1.2 เราใช้ cwebp และ dwebp เพื่อเข้ารหัสและถอดรหัสอิมเมจ WebP เราใช้พารามิเตอร์การเข้ารหัสและถอดรหัส เริ่มต้นของเครื่องมือเหล่านี้

  • cjpeg และ djpeg เป็นเครื่องมือบรรทัดคำสั่งที่เป็นส่วนหนึ่งของไลบรารี libjpeg เราใช้ไลบรารีเวอร์ชัน 6b เราใช้ cjpeg และ djpeg เพื่อเข้ารหัสและถอดรหัสรูปภาพ JPEG เราใช้ cjpeg กับแฟล็ก -optimize เพื่อเพิ่มประสิทธิภาพสำหรับขนาดไฟล์ เราตั้งค่าพารามิเตอร์อื่นๆ ทั้งหมดเป็นค่าเริ่มต้น

คุณภาพของรูปจะวัดโดยใช้ SSIM โดยทั่วไปแล้ว SSIM ได้รับการยอมรับว่าเป็นเมตริกคุณภาพที่ดีกว่า PSNR สำหรับการคำนวณดัชนี SSIM เราใช้การใช้งานที่เปิดเผยต่อสาธารณะใน C++ ผู้อ่านสามารถดาวน์โหลดสคริปต์ Python ที่เราใช้ในการทดลองจากที่เก็บโค้ดเพื่อใช้อ้างอิงได้

ชุดข้อมูลภาพ

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

  1. Lenna: รูปภาพ Lenna ที่ใช้กันอย่างแพร่หลาย (512 x 512 พิกเซล)

  2. Kodak: รูปภาพ 24 รูปจากชุดภาพสีจริง Kodak

  3. Tecnick: รูปภาพ 100 รูปจากคอลเล็กชันที่มีที่ Tecnick.com เราใช้รูปภาพสี RGB ขนาดต้นฉบับ 100 ภาพ

  4. Image_crawl: เพื่อทดสอบรูปภาพจำนวนมาก เราได้เก็บรวบรวมตัวอย่างรูปภาพ PNG แบบสุ่มจากฐานข้อมูลการ Crawl เว็บของ Google Image Search รูปภาพ PNG ที่ทำการ Crawl ส่วนใหญ่เป็นไอคอน กราฟิก แผนภูมิ เอกสารที่สแกน ฯลฯ แต่รูปภาพส่วนใหญ่ในคอลเล็กชันการทดสอบมาตรฐานจะเป็นเหมือนภาพถ่าย ไม่ใช่รูปภาพที่สร้างขึ้นจากคอมพิวเตอร์ เพื่อให้ชุดข้อมูลนี้มีลักษณะคล้ายกับชุดทดสอบมาตรฐาน เราจึงเรียกใช้อัลกอริทึมการตรวจจับใบหน้ากับรูปภาพ PNG เหล่านี้และพิจารณาเฉพาะรูปภาพเหล่านั้น (ประมาณ 11,000 ภาพ) สำหรับการทดสอบนี้ที่ผ่านการทดสอบการตรวจจับนี้

การทดสอบ 1: WebP กับ JPEG ที่ดัชนี SSIM เท่ากัน

ในการทดลองนี้ เราสร้างรูปภาพ JPEG และ WebP ที่ค่า SSIM ที่เปรียบเทียบกันได้ และวัดอัตราส่วนของขนาดไฟล์ ขั้นตอนของการทดสอบมีดังนี้

  1. บีบอัดรูปภาพ PNG ต้นฉบับเป็น JPEG ที่มีพารามิเตอร์คุณภาพคงที่ Q และบันทึก SSIM ระหว่างรูปภาพ PNG ต้นฉบับและรูปภาพ JPEG ที่บีบอัด

  2. บีบอัดอิมเมจต้นฉบับเดียวกันไปยัง WebP ด้วยพารามิเตอร์คุณภาพที่ทำให้ได้ SSIM ที่บันทึกไว้ด้านบนที่ใกล้เคียงที่สุด

เราใช้ 2 ขั้นตอนข้างต้นกับรูปภาพทั้งหมดในชุดข้อมูล จากนั้นจึงวัดขนาดไฟล์โดยเฉลี่ยและ SSIM สำหรับรูปภาพ JPEG และ WebP

ตารางต่อไปนี้แสดงผลลัพธ์ของการทดสอบนี้สำหรับพารามิเตอร์คุณภาพ JPEG Q สามค่าที่แตกต่างกัน (50, 75 และ 95) พารามิเตอร์คุณภาพ 50 และ 95 แสดงถึงการบีบอัดรูปภาพที่อัตราบิตต่ำและสูงตามลำดับ และเรายังใส่พารามิเตอร์คุณภาพ JPEG 75 ด้วย เนื่องจากโดยทั่วไปจะเป็นระดับคุณภาพที่แนะนำให้กับรูปภาพ JPEG

ตารางที่ 1: ขนาดไฟล์โดยเฉลี่ยสำหรับ WebP และ JPEG สำหรับดัชนี SSIM เดียวกันที่สอดคล้องกับ JPEG Q=50

ดอกเลนนา โคดัก เทกนิค Image_crawl
WebP: ขนาดไฟล์โดยเฉลี่ย
(SSIM เฉลี่ย)
17.4 KB
(0.841)
31.0 KB
(0.898)
92.4 KB
(0.917)
6.5 KB
(0.901)
JPEG: ขนาดไฟล์โดยเฉลี่ย
(SSIM เฉลี่ย)
23.5 KB
(0.840)
42.7 KB
(0.897)
124.6 KB
(0.916)
9.9 KB
(0.899)
อัตราส่วนของ WebP ต่อขนาดไฟล์ JPEG 0.74 0.72 0.74 0.66

ตารางที่ 2: ขนาดไฟล์โดยเฉลี่ยสำหรับ WebP และ JPEG สำหรับดัชนี SSIM เดียวกันที่สอดคล้องกับ JPEG Q=75

ดอกเลนนา โคดัก เทกนิค Image_crawl
WebP: ขนาดไฟล์โดยเฉลี่ย
(SSIM เฉลี่ย)
26.7 KB
(0.864)
46.5 KB
(0.932)
139.0 KB
(0.939)
9.9 KB
(0.930)
JPEG: ขนาดไฟล์โดยเฉลี่ย
(SSIM เฉลี่ย)
37.0 KB
(0.863)
66.0 KB
(0.931)
191.0 KB
(0.938)
14.4 KB
(0.929)
อัตราส่วนของ WebP ต่อขนาดไฟล์ JPEG 0.72 0.70 0.73 0.69

ตารางที่ 3: ขนาดไฟล์โดยเฉลี่ยสำหรับ WebP และ JPEG สำหรับดัชนี SSIM เดียวกันที่สอดคล้องกับ JPEG Q=95

ดอกเลนนา โคดัก เทกนิค Image_crawl
WebP: ขนาดไฟล์โดยเฉลี่ย
(SSIM เฉลี่ย)
74.3 KB
(0.910)
118.0 KB
(0.978)
356.0 KB
(0.970)
23.4 KB
(0.969)
JPEG: ขนาดไฟล์โดยเฉลี่ย
(SSIM เฉลี่ย)
104 KB
(0.907)
162 KB
(0.976)
492 KB
(0.970)
31.3 KB
(0.968)
อัตราส่วนของ WebP ต่อขนาดไฟล์ JPEG 0.71 0.73 0.72 0.75

จากตารางด้านบน จะเห็นได้ว่า WebP ให้ประสิทธิภาพในการบีบอัดมากขึ้น 25%-34% เมื่อเทียบกับ JPEG ที่ดัชนี SSIM ที่เท่ากันหรือดีกว่าเล็กน้อย

การทดสอบ 2: พล็อต SSIM กับ BPP สำหรับ WebP และ JPEG

เราศึกษาข้อดีและความแตกต่างระหว่างอัตราบิดเบือนของ JPEG และ WebP โดยเฉพาะอย่างยิ่ง เราศึกษาแผนภูมิ SSIM เทียบกับบิตต่อพิกเซล (bpp) สำหรับ JPEG และ WebP เรานำรูปภาพ PNG ต้นฉบับมาบีบอัดเป็น JPEG และ WebP โดยใช้ค่าคุณภาพที่เป็นไปได้ทั้งหมด (0-100) จากนั้น สำหรับค่าคุณภาพแต่ละค่า เราพล็อต SSIM และ bpp ที่ได้สำหรับ JPEG และ WebP รูปต่อไปนี้แสดงแผนภาพ SSIM เทียบกับ bpp สำหรับรูปภาพ 3 รูปที่เลือกจากชุดข้อมูลสาธารณะ 3 ชุดที่เราใช้

รูปที่ 1: SSIM เทียบกับ BPP สำหรับ Lenna

ssim กับ bpp สำหรับ Lenna

รูปที่ 2: SSIM กับ BPP สำหรับ kodim19.png จากชุดข้อมูล Kodak

ssim กับ bpp สำหรับ Kodim19

รูปที่ 3: SSIM กับ BPP สำหรับ RGB_OR_1200x1200_061.png จากชุดข้อมูล Tecnick

ssim กับ bpp สำหรับ RGB_OR_1200x1200

นอกจากนี้ เรายังศึกษาพฤติกรรมเฉลี่ยของชุดข้อมูล SSIM เทียบกับ bpp สำหรับชุดข้อมูล Kodak และ Tecnick ด้วย ในการพล็อตพฤติกรรมโดยเฉลี่ย เราบีบอัดรูปภาพทั้งหมดในชุดข้อมูลโดยใช้ WebP และ JPEG ที่ค่าคุณภาพที่ต่างกัน 100 ค่า จากนั้นเราจะพล็อตค่าเฉลี่ยของ SSIM และ bpp สำหรับค่าคุณภาพแต่ละค่า ชุดข้อมูลการ Crawl รูปภาพประกอบด้วยรูปภาพที่แตกต่างกันซึ่งทำให้เกิดการรวมข้อมูลนี้ไม่ได้ พล็อตต่อไปนี้แสดงพฤติกรรมเฉลี่ยของ SSIM และ bpp สำหรับชุดข้อมูล Kodak และ Tecnick ตามลำดับ

รูปที่ 4: SSIM เทียบกับ BPP สำหรับชุดข้อมูล Kodak

ssim กับ bpp สำหรับ Kodak

รูปที่ 5: SSIM เทียบกับ BPP สำหรับชุดข้อมูล Tecnick

ssim กับ bpp สำหรับชุดข้อมูล Tecnick

โดยรวมแล้ว จากพล็อตด้านบน เราพบว่า WebP ต้องการบิตต่อพิกเซลน้อยกว่า JPEG อย่างสม่ำเสมอเพื่อให้ได้ดัชนี SSIM เดียวกัน

บทสรุป

การศึกษานี้ประเมินการบีบอัด WebP เปรียบเทียบกับ JPEG เราสังเกตเห็นว่าขนาดไฟล์ WebP โดยเฉลี่ยจะเล็กกว่า 25%-34% เมื่อเทียบกับขนาดไฟล์ JPEG ที่ดัชนี SSIM ที่เทียบเท่า พล็อต SSIM เทียบกับ bpp แสดงให้เห็นว่า WebP ต้องการบิตต่อพิกเซลน้อยกว่า JPEG อย่างสม่ำเสมอสำหรับดัชนี SSIM เดียวกัน ผลลัพธ์เหล่านี้บ่งบอกว่า WebP ช่วยเพิ่มประสิทธิภาพในการบีบอัดอย่างเห็นได้ชัดมากกว่า JPEG


1 Huynh-Thu, Q. กานบารี, (2008). "ขอบเขตของความถูกต้องของ PSNR ในการประเมินคุณภาพรูปภาพ/วิดีโอ" Electronics Letters 44: 800-801.doi:10.1049/el:20080522

2 ฮ. Wang, A. C. โบวิก เอช R. Sheikh และ E. P. Simoncelli, "การประเมินคุณภาพรูปภาพ: จากการวัดข้อผิดพลาดสู่ความคล้ายคลึงของโครงสร้าง," การประมวลผลรูปภาพ, ธุรกรรมของ IEEE, ฉบับที่ 13, ฉบับที่ 4, หน้า 600-612, 2004