เกริ่นนำ
เราประเมินการเปรียบเทียบการบีบอัดรูปภาพ 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 ที่เราใช้ในการทดลองจากที่เก็บโค้ดเพื่อใช้อ้างอิงได้
ชุดข้อมูลภาพ
เราเลือกชุดข้อมูลดังกล่าวเพื่อประเมินคอลเล็กชันรูปภาพทดสอบมาตรฐานและชุดรูปภาพขนาดใหญ่ ต่อไปนี้คือรายการของชุดข้อมูลที่ใช้ในการทดสอบ
Lenna: รูปภาพ Lenna ที่ใช้กันอย่างแพร่หลาย (512 x 512 พิกเซล)
Kodak: รูปภาพ 24 รูปจากชุดภาพสีจริง Kodak
Tecnick: รูปภาพ 100 รูปจากคอลเล็กชันที่มีที่ Tecnick.com เราใช้รูปภาพสี RGB ขนาดต้นฉบับ 100 ภาพ
Image_crawl: เพื่อทดสอบรูปภาพจำนวนมาก เราได้เก็บรวบรวมตัวอย่างรูปภาพ PNG แบบสุ่มจากฐานข้อมูลการ Crawl เว็บของ Google Image Search รูปภาพ PNG ที่ทำการ Crawl ส่วนใหญ่เป็นไอคอน กราฟิก แผนภูมิ เอกสารที่สแกน ฯลฯ แต่รูปภาพส่วนใหญ่ในคอลเล็กชันการทดสอบมาตรฐานจะเป็นเหมือนภาพถ่าย ไม่ใช่รูปภาพที่สร้างขึ้นจากคอมพิวเตอร์ เพื่อให้ชุดข้อมูลนี้มีลักษณะคล้ายกับชุดทดสอบมาตรฐาน เราจึงเรียกใช้อัลกอริทึมการตรวจจับใบหน้ากับรูปภาพ PNG เหล่านี้และพิจารณาเฉพาะรูปภาพเหล่านั้น (ประมาณ 11,000 ภาพ) สำหรับการทดสอบนี้ที่ผ่านการทดสอบการตรวจจับนี้
การทดสอบ 1: WebP กับ JPEG ที่ดัชนี SSIM เท่ากัน
ในการทดลองนี้ เราสร้างรูปภาพ JPEG และ WebP ที่ค่า SSIM ที่เปรียบเทียบกันได้ และวัดอัตราส่วนของขนาดไฟล์ ขั้นตอนของการทดสอบมีดังนี้
บีบอัดรูปภาพ PNG ต้นฉบับเป็น JPEG ที่มีพารามิเตอร์คุณภาพคงที่ Q และบันทึก SSIM ระหว่างรูปภาพ PNG ต้นฉบับและรูปภาพ JPEG ที่บีบอัด
บีบอัดอิมเมจต้นฉบับเดียวกันไปยัง 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
รูปที่ 2: SSIM กับ BPP สำหรับ kodim19.png จากชุดข้อมูล Kodak
รูปที่ 3: SSIM กับ BPP สำหรับ RGB_OR_1200x1200_061.png จากชุดข้อมูล Tecnick
นอกจากนี้ เรายังศึกษาพฤติกรรมเฉลี่ยของชุดข้อมูล SSIM เทียบกับ bpp สำหรับชุดข้อมูล Kodak และ Tecnick ด้วย ในการพล็อตพฤติกรรมโดยเฉลี่ย เราบีบอัดรูปภาพทั้งหมดในชุดข้อมูลโดยใช้ WebP และ JPEG ที่ค่าคุณภาพที่ต่างกัน 100 ค่า จากนั้นเราจะพล็อตค่าเฉลี่ยของ SSIM และ bpp สำหรับค่าคุณภาพแต่ละค่า ชุดข้อมูลการ Crawl รูปภาพประกอบด้วยรูปภาพที่แตกต่างกันซึ่งทำให้เกิดการรวมข้อมูลนี้ไม่ได้ พล็อตต่อไปนี้แสดงพฤติกรรมเฉลี่ยของ SSIM และ bpp สำหรับชุดข้อมูล Kodak และ Tecnick ตามลำดับ
รูปที่ 4: SSIM เทียบกับ BPP สำหรับชุดข้อมูล Kodak
รูปที่ 5: 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