دراسة ضغط تنسيق WebP

مقدمة

نحن نُجري تقييمًا مقارنًا لضغط الصور بتنسيق WebP وJPEG استنادًا إلى برنامج الترميز الجديد الذي أطلقناه في libwebp. الهدف من ذلك هو إجراء مجموعة من التجارب التي يسهل تكرارها باستخدام الأدوات المتاحة للجمهور ومقارنة ضغط الصور الناتج عن WebP وJPEG.

ركّزت دراستنا المقارنة بتنسيق WebP السابقة على تقييم عدد كبير من الصور وتم إجراؤها على مصادر JPEG التي تم الزحف إليها من الويب. JPEG هو تنسيق ضغط مع فقدان البيانات ويقدم أدوات ضغط للمصدر. بالإضافة إلى ذلك، استخدمنا في البداية "نسبة الإشارة إلى الضوضاء" أو PSNR كمقياس للجودة. تنطوي خدمة PSNR على بعض الجوانب السلبية عند استخدامها كمقياس لجودة الصور. واستنادًا إلى الملاحظات الواردة من المنتدى، نُجري التجارب على صور PNG بما في ذلك الصور المتوفرة في عدد قليل من مجموعات الاختبار العادية. ونستخدم في هذه الدراسة التشابه الهيكلي أو SSIM كمقياس جودة لهذه الدراسة. يُعتبَر SSIM مقياسًا أفضل للجودة المرئية .

منهجية احتساب البيانات

نوضح نوعين من التقييمات. في الحالة الأولى، ندرس الضغط الإضافي الذي يتم القيام به بواسطة 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 التي أطلقناها في الربع الأول من عام 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، وقد استخدمنا 100 صورة بألوان نموذج أحمر أخضر أزرق بالحجم الأصلي.

  4. Image_crawl: لاختبار عدد كبير من الصور، جمعنا عيّنة عشوائية من صور PNG من قاعدة بيانات الزحف على الويب في "بحث الصور من Google". تكون معظم صور PNG التي يتم الزحف إليها عبارة عن رموز ورسومات ورسوم بيانية ومستندات تم مسحها ضوئيًا وغيرها، إلا أنّ معظم الصور في مجموعات الاختبار العادية تشبه الصور الفوتوغرافية وليس الصور التي يتم إنشاؤها باستخدام الكمبيوتر. لجعل مجموعة البيانات هذه مشابهة في طبيعة مجموعات الاختبار العادية، أجرينا خوارزمية للتعرّف على الوجه على هذه الصور بتنسيق PNG ولم نأخذ في الاعتبار سوى تلك الصور (حوالي 11,000 صورة) في هذه التجربة، وهي الصور التي اجتازت اختبار الرصد هذا.

التجربة 1: تنسيق WebP مقابل تنسيق JPEG بمؤشر SSIM متساوي

في هذه التجربة، ننشئ صور JPEG وWebP بقيم SSIM قابلة للمقارنة ونقيس نسبة أحجام الملفات. خطوات التجربة هي كما يلي:

  1. اضغط صورة المصدر بتنسيق PNG إلى JPEG باستخدام معلَمة الجودة الثابتة Q وسجِّل مقياس SSIM بين صورة المصدر بتنسيق PNG وصورة JPEG المضغوطة.

  2. اضغط صورة المصدر نفسها إلى تنسيق WebP باستخدام مَعلمة جودة تحقِّق أكبر قدر ممكن من مقياس SSIM المسجّل أعلاه.

أجرينا الخطوتين أعلاه على جميع الصور في مجموعة بيانات ثم قمنا بقياس متوسط حجم الملف ومقياس SSIM لصور JPEG وWebP.

تعرض الجداول التالية نتائج هذه التجربة لثلاث قيم مختلفة (50 و75 و95) لمعلمة جودة JPEG Q. تمثل معلمتا الجودة 50 و95 ضغط الصور بمعدلات بت منخفضة وعالية على التوالي. لقد أدرجنا أيضًا معلمة جودة JPEG 75 لأنها مستوى الجودة الموصى به بشكل عام لصور JPEG.

الجدول 1: متوسط حجم الملف لـ WebP وJPEG لنفس فهرس SSIM يتوافق مع JPEG Q=50

لينا Kodak تقنية Image_crawl
WebP: متوسط حجم الملف
(متوسط SSIM)
17.4 كيلوبايت
(0.841)
31.0 كيلوبايت
(0.898)
92.4 كيلوبايت
(0.917)
6.5 كيلوبايت
(0.901)
JPEG: متوسط حجم الملف
(متوسط SSIM)
23.5 كيلوبايت
(0.840)
42.7 كيلوبايت
(0.897)
124.6 كيلوبايت
(0.916)
9.9 كيلوبايت
(0.899)
نسبة حجم ملف WebP إلى ملف JPEG 0.74 0.72 0.74 0.66

الجدول 2: متوسط حجم الملف لـ WebP وJPEG لنفس فهرس SSIM يتوافق مع JPEG Q=75

لينا Kodak تقنية Image_crawl
WebP: متوسط حجم الملف
(متوسط SSIM)
26.7 كيلوبايت
(0.864)
46.5 كيلوبايت
(0.932)
139.0 كيلوبايت
(0.939)
9.9 كيلوبايت
(0.930)
JPEG: متوسط حجم الملف
(متوسط SSIM)
37.0 كيلوبايت
(0.863)
66.0 كيلوبايت
(0.931)
191.0 كيلوبايت
(0.938)
14.4 كيلوبايت
(0.929)
نسبة حجم ملف WebP إلى ملف JPEG 0.72 0.70 0.73 0.69

الجدول 3: متوسط حجم الملف لكل من WebP وJPEG لفهرس SSIM نفسه يتوافق مع JPEG Q=95

لينا Kodak تقنية Image_crawl
WebP: متوسط حجم الملف
(متوسط SSIM)
74.3 كيلوبايت
(0.910)
118.0 كيلوبايت
(0.978)
356.0 كيلوبايت
(0.970)
23.4 كيلوبايت
(0.969)
JPEG: متوسط حجم الملف
(متوسط SSIM)
104 كيلوبايت
(0.907)
162 كيلوبايت
(0.976)
492 كيلوبايت
(0.970)
31.3 كيلوبايت
(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 للصور الثلاث التي تم اختيارها من مجموعات البيانات الثلاث العامة التي استخدمناها.

الشكل 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

شريحة SIM مقابل bpp لـ RGB_OR_1200x1200

بالإضافة إلى ذلك، درسنا متوسط سلوك SSIM مقابل مخطط bpp لمجموعات بيانات Kodak وTcnick. لرسم متوسط السلوك، نضغط جميع الصور في مجموعة بيانات باستخدام WebP وJPEG بـ 100 قيمة جودة مختلفة. ثم نرسم متوسط SSIM وbpp لكل قيمة جودة. تتألف مجموعة بيانات الزحف إلى الصور من صور غير متجانسة لا تصلح لتجميع هذه البيانات. توضح المخططات التالية متوسط سلوك SSIM وbpp لمجموعات بيانات Kodak وTcnick على التوالي.

الشكل 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.; Ghanbari, M. (2008). "نطاق صلاحية PSNR في تقييم جودة الصور/الفيديو". Electronics Letters 44: 800-801.doi:10.1049/el:20080522.

2 Z. Wang, A. C. Bovik, H. R. الشيخ، وهـ. محطة مترو "آي بيه بافلوفا" سيمونسيلي، "تقييم جودة الصور: من قياس الخطأ إلى التشابه الهيكلي، معالجة الصور، معاملات معهد الهندسة الكهربائية والإلكترونية (IEEE)، الجزء 13، العدد 4، الصفحات 600-612، 2004.