מחקר השוואתי של 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 | ~900K |
PNG | כ-47,000 |
GIF | כ-47,000 |
אחר | ~6K |
תכנון הניסוי
הניסויים הופעלו בשני שלבים:
הצוות הפעיל את WebP בתמונות עם יעד PSNR של 42. הם כווננו את פרמטר האיכות (QP) של מקודד ה-WebP עד שהם הגיעו לתוצאה הקרובה ביותר ל-42 עבור תמונה נתונה. לכן, ערך ה-PSNR בפועל שהושג לכל תמונה לא היה בהכרח בדיוק 42.
הצוות השתמש בערך ה-PSNR של התמונות שנדחסו ב-WebP כיעד ה-PSNR של התמונות בפורמט JPEG 2000 ובפורמט Re-JPEG. הם גם ביצעו חיפוש שורה על פרמטרים של איכות של תמונות JPEG 2000 ו-JPEG כדי להתקרב ככל האפשר ל-PSNR היעד.
התוצאה בפועל של הדחיסה נמדדה כאחוז באמצעות הנוסחה הבאה:
compression_percentage = 100 * (original_image.length - compressed_image.length) / original_image.length
תוצאות
הבדיקות הניבו את התוצאות הבאות לגבי שיפור דחיסה שלילי ולא שלילי:
שיפור הדחיסה (Compression Gain) שאינו שלילי
הצוות לא הטיל סנקציה על שיטה אם היא הגדילה את גודל התמונה אחרי הדחיסה. כלומר, הערך של compression_percentage נחשב ל-0 כשהערך של compressed_image.length היה גדול מהערך של original_image.length.
Negative Compression Gain
הצוות איפשר תוצאות של אחוז דחיסה שלילי כדי להבין טוב יותר את הביצועים הגולמיים של דחיסות שונות.
בהמשך מפורטים אחוזי הדחיסה הממוצעים שהושגו בכל אחת משלוש השיטות.
סוג | Avg PSNR Obtained | אחוז דחיסה ממוצע (שיפור דחיסה שאינו שלילי) |
אחוז דחיסה ממוצע (שיפור שלילי בדחיסה) |
---|---|---|---|
WebP | 39.38 | 41.30 | 39.80 |
JPEG 2000 | 39.49 | 27.67 | 9.71 |
קובץ JPEG מחדש | 39.36 | 22.37 | 14.62 |
כשהתאפשרה דחיסה שלילית, הביצועים הממוצעים של JPEG 2000 היו נמוכים יותר מאלה של JPEG. יכול להיות שהסיבה לכך היא פגמים בתדירות גבוהה שנמצאים בתמונות ה-JPEG. פגמים כאלה יכולים לגרום לדחיסה לא אידיאלית.
ההטמעה של Kakadu ששימשה בניסוי להמרה ל-JPEG 2000 לא הצליחה להמיר כ-240,000 תמונות.
אחוזי הדחיסה של JPEG 2000 היו נמוכים יותר מאשר אחוזי הדחיסה של Re-JPEG, בעיקר כי התוצאה של JPEG 2000 הייתה דחיסה שלילית בתמונות רבות. לכן, ציון הדחיסה הכולל של תמונות JPEG נמוך יותר.
בתרשים הבא מוצגים תרשימי הפצה של שלוש השיטות:
איור 1: התפלגות האוכלוסייה לפי גודל התמונה
בתרשים מוצג שרוב התמונות היו קטנות. בדרך כלל, התדירות של תמונות בגודל של יותר מ-500K היא פחות מ-100.
איור 2: אחוזים של דחיסה בתמונות WebP, JPEG ו-JPEG 2000
בתרשים הזה מוצג שהגוף של התמונות שנדחסו באמצעות WebP עבר דחיסה טובה יותר מאשר JPEG מחדש ו-JPEG 2000. בנוסף, התמונות שנדחסו באמצעות WebP נהנו מדחיסת נתונים חיובית יותר מאשר התמונות האחרות.
איור 3: השוואה בין גדלי תמונות לבין אחוז הדחיסה
בתרשים הזה אפשר לראות שפורמט WebP מספק דחיסה טובה יותר מהפורמטים האחרים, במיוחד בתמונות קטנות.