מחקר השוואתי

מחקר השוואתי של 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,000
PNG כ-47,000
GIF כ-47,000
אחר כ-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

תוצאות

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

תוספת דחיסה לא שלילית

הצוות לא נקט צעדים אם השיטה הגדילה את התמונה לאחר הדחיסה. כלומר, הערך של pression_percentage נחשב ל-0 כשהדחיסות_image.length הייתה גדולה מהקובץ המקורי_image.length.

תוספת דחיסה שלילית

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

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

סוג ממוצע PSNR שהושג אחוז דחיסה ממוצע
(עוצמת דחיסה לא שלילית)
אחוז דחיסה ממוצע
(עוצמת דחיסה שלילית)
WebP 39.38 41.30 39.80
JPEG 2000 39.49 27.67 9.71
Re-JPEG 39.36 22.37 14.62

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

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

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

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

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

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

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

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

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

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