מחקר השוואתי

מחקר השוואתי של WebP, JPEG ו-JPEG 2000, ספטמבר 2010

הערה: ערכנו את המחקר הראשוני הזה עם הגרסה הראשונה של WebP שפרסמנו, שבה נעשה שימוש בספרייה libvpx. בנוסף, תמונות המקור היו תמונות JPEG שסרקנו מהאינטרנט. על סמך משוב מהקהילה, ערכנו עכשיו מחקר חדש בגרסה 0.1.2 של libwebp, שמתחיל כמקור לתמונות ללא אובדן נתונים (PNG). המחקר החדש מחליף את המחקר הזה.

צוות WebP ביצע מחקר השוואתי של שלוש שיטות לדחיסת תמונות ביחס לקבוצה אקראית של מיליון תמונות. מטרת המחקר הייתה למדוד את הדחיסה שהושגה באמצעות השיטות האלה ולנתח את ההשפעות בין גדלים של תמונות לדחיסה.

שלוש שיטות דחיסה – WebP, JPEG 2000 ו-Re-JPEG, הוחלו על 900,000 התמונות בפורמט JPEG שכלולות בקבוצת הנתונים. תמונות JPEG נדחסו מחדש באמצעות Re-JPEG, כך שכל אחת מהן הייתה קרובה ככל האפשר לערך של יחס אות לרעש (PSNR) המקסימלי של היעד. הצוות ביצע ניתוח של התמונות אחרי שהן דוחסו.

בנוסף למחקר בקנה מידה גדול, הצוות בדק ידנית 100 תמונות אקראיות ומצא שברוב המקרים WebP מספק איכות חזותית סבירה.

מסקנות

הדחיסה באמצעות WebP גבוהה יותר באופן כללי מאשר בפורמט JPEG או JPEG 2000. הביטולים בצמצום גודל הקובץ גדולים במיוחד כשמדובר בתמונות קטנות יותר, שהן הנפוצות ביותר באינטרנט.

מערך נתונים

מערך הנתונים ששימש במחקר היה אוסף של מיליון תמונות שנדגמו באופן אקראי ממאגר של תמונות שנסרקו מהאינטרנט. בטבלה הבאה מוצגת ההתפלגות של סוגים שונים של תמונות בקבוצת הנתונים.

תיאור מספר פעמים
JPEG כ-900 אלף
PNG כ-47 אלף
GIF כ-47 אלף
אחר כ-6,000

תכנון ניסוי

הניסויים הופעלו בשני שלבים:

  1. הצוות הפעיל את WebP בתמונות עם יעד PSNR של 42. הם כוונו את פרמטר האיכות (QP) למקודד WebP עד שהשיגו תוצאה שהייתה קרובה ל-42 כפי שיכלו לקבל עבור תמונה נתונה. לכן, ערך ה-PSNR שהושג בפועל לכל תמונה לא היה בהכרח 42 בדיוק.

  2. הצוות השתמש בערך ה-PSNR של התמונות הדחוסות ב-WebP בתור ה-PSNR לטירגוט של התמונות בפורמט JPEG 2000 ו-Re-JPEG. החברה ביצעה גם חיפוש שורה של הפרמטרים של האיכות של תמונות JPEG 2000 ו-JPEG כדי להתקרב ככל האפשר ל-PSNR של היעד.

תוצאת הדחיסה בפועל נמדדה באחוזים באמצעות הנוסחה הבאה:

compression_percentage = 100 * (original_image.length - compressed_image.length) / original_image.length

תוצאות

הבדיקות הניבו את התוצאות הבאות לרווח דחיסה שלילי ולא שלילי:

רווח דחיסה לא שלילי

הצוות לא קיבל קנס על שיטה מסוימת אם השיטה הזו הגדילה את גודל התמונה לאחר הדחיסה. כלומר, הערך של Compression_percentage נחשב ל-0 כשערך ה-press_image.length היה גדול מה-Original_image.length.

רווח דחיסה שלילי

הצוות אפשר לתוצאות של אחוזי דחיסה שליליים כדי להבין טוב יותר את הביצועים הגולמיים של המדחסים.

זהו אחוזי הדחיסה הממוצעים שהושגו בכל אחת משלוש השיטות.

תיאור התקבל PSNR הממוצע % דחיסה ממוצעת
(רווח דחיסה לא שלילי)
% דחיסה ממוצע
(רווח דחיסה שלילי)
WebP 39.38 41.30 159.80
JPEG 2000 39:49 27.67 9.71
JPEG מחדש 39:36 22.37 14.62

כשרווח דחיסה שלילי התאפשר, הביצועים הממוצעים של JPEG 2000 היו נמוכים יותר מאלה של JPEG. זה יכול לקרות בגלל פריטי מידע שנוצרו בתהליך הפיתוח (Artifact) בתדירות גבוהה בתמונות JPEG. פריטי המידע האלה עשויים לגרום למצב דחיסה לא אידיאלי.

ההטמעה של Kakadu ששימשה בניסוי כדי להמיר ל-JPEG 2000 לא הצליחה להמיר כ-240,000 תמונות.

ב-JPEG 2000 היו אחוזי דחיסה נמוכים יותר מאשר ב-Re-JPEG, בעיקר כי התוצאה של JPEG 2000 הייתה דחיסה שלילית של תמונות רבות. לכן הדחיסה לתמונות בפורמט JPEG הייתה נמוכה יותר.

הנתונים הבאים מספקים תרשימי התפלגות לשלוש השיטות:

איור 1: התפלגות האוכלוסייה של גודל התמונה

התרשים מראה שרוב התמונות היו קטנות. התדירות של תמונות בגודל גבוה מ-500K בדרך כלל נמוכה מ-100.

איור 2: אחוזי הדחיסה של תמונות WebP, JPEG ו-JPEG 2000

התרשים הזה מראה שהדחיסה של גוף התמונות הדחוסות עם WebP טובה יותר מאשר תמונות מסוג re-jpeg ו-jpeg 2000. בנוסף, התמונות שנדחסו באמצעות WebP קיבלו דחיסה חיובית יותר מהאחרות.

איור 3: השוואה בין גדלים של תמונות ואחוזי דחיסה

בתרשים הזה רואים ש-WebP מקבל דחיסה טובה יותר בפורמטים האחרים, במיוחד בתמונות קטנות יותר.