ما هو ملف WEBP؟
WebP ، الذي قدمته Google ، هو تنسيق حديث لملف صور الويب النقطية يعتمد على ضغط بدون فقد وفقدان. إنه يوفر نفس جودة الصورة مع تقليل حجم الصورة بشكل كبير. نظرًا لأن معظم صفحات الويب تستخدم الصور كتمثيل فعال للبيانات ، فإن استخدام صور WebP في صفحات الويب ينتج عنه تحميل أسرع لصفحات الويب. وفقًا لـ Google ، تكون الصور غير المنقوصة لـ WebP أصغر حجمًا بنسبة 26٪ مقارنةً بـ PNGs ، في حين أن صور WebP المفقودة أصغر بنسبة 25-34٪ من صور JPEG القابلة للمقارنة. تتم مقارنة الصور بناءً على فهرس التشابه الهيكلي (SSIM) بين WebP وتنسيقات ملفات الصور الأخرى. WebP هو مشروع شقيق لتنسيق حاوية الوسائط المتعددة WebM.
نظرة عامة على ميزات WebP
تستخدم صور WebP عملية الضغط بناءً على توقع وحدات البكسل من الكتل المحيطة بها ، مما ينتج عنه استخدام وحدات البكسل عدة مرات في ملف واحد. يدعم الصور المتحركة ومن المتوقع أن يدعم المزيد من الميزات في المستقبل. أتاحت Google شفرة المصدر عبر الإنترنت لبرنامج التشفير وفك التشفير الخاص بها لاستخدامها عند الحاجة. توفر صورة WebP دعمًا لما يلي:
- ** الضغط مع الفقد: ** يعتمد الضغط مع الفقد على VP8 ترميز إطار المفتاح. VP8 هو تنسيق لضغط الفيديو تم إنشاؤه بواسطة On2 Technologies كخلف لتنسيقات VP6 و VP7.
- ** ضغط بدون فقدان: ** تم تطوير تنسيق الضغط بدون فقدان البيانات بواسطة فريق WebP.
- ** الشفافية: ** قناة ألفا 8 بت مفيدة للصور الرسومية. يمكن استخدام قناة Alpha مع فقدان RGB ، وهي ميزة غير متوفرة حاليًا مع أي تنسيق آخر.
- ** الرسوم المتحركة: ** تدعم الصور المتحركة ذات الألوان الحقيقية.
- ** البيانات الوصفية: ** قد تحتوي على بيانات وصفية EXIF و XMP (مستخدمة بواسطة الكاميرات ، على سبيل المثال).
- ** ملف تعريف اللون: ** قد يحتوي على ملف تعريف ICC مضمن.
يستخدم ضغط WebP الخاسر الترميز التنبئي لتشفير صورة ، وهي نفس الطريقة المستخدمة بواسطة برنامج ترميز الفيديو VP8 لضغط الإطارات الرئيسية في مقاطع الفيديو. يستخدم التشفير التنبئي القيم الموجودة في كتل البكسل المجاورة للتنبؤ بالقيم الموجودة في كتلة ، ثم يقوم بترميز الفرق فقط.
يستخدم ضغط WebP بدون فقدان أجزاء الصورة التي تم رؤيتها بالفعل من أجل إعادة بناء وحدات البكسل الجديدة تمامًا. يمكنه أيضًا استخدام لوحة محلية إذا لم يتم العثور على تطابق مثير للاهتمام.
تنسيق الملف
يعتمد تنسيق ملف WebP على تنسيق مستند RIFF (تنسيق ملف تبادل الموارد). توفر حاوية WebP دعمًا لميزات أكثر من مجرد احتواء صورة واحدة مشفرة كإطار مفتاح VP8. العنصر الأساسي لملف RIFF هو قطعة تتكون من:
الحقل | الوصف |
---|---|
Chunk FourCC: 32 بت | كود ASCII المكون من أربعة أحرف يستخدم لتعريف القطعة |
حجم القطعة: 32 بت (uint32) | حجم القطعة لا يشمل هذا الحقل أو معرّف القطعة أو الحشو |
حمولة القطعة: بايت حجم القطعة | حمولة البيانات. إذا كان Chunk Size فرديًا ، فسيتم إضافة بايت مساحة واحدة ~ - ~ - التي يجب أن تكون 0 ~ - ~ - |
ChunkHeader (‘ABCD’) | يستخدم لوصف رأس FourCC و Chunk Size للقطع الفردية ، حيث ‘ABCD’ هو FourCC للمقطع. حجم هذا العنصر 8 بايت. |
رأس WebP
يكون رأس ملف WebP كما يلي:
- رأس RIFF - 32 بت تمثل أحرف ASCII ‘R’ ‘I’ ‘F’ ‘F’
- حجم الملف - 32 بت (uint32) تمثل حجم الملف بالبايت بدءًا من الإزاحة 8. الحد الأقصى لقيمة هذا الحقل هو 2 ^ 32 ناقص 10 بايت وبالتالي يكون حجم الملف بأكمله على الأكثر 4 جيجابايت ناقص 2 بايت .
- ‘WEBP’ - 32 بت تمثل أحرف ASCII ‘W’ ‘E’ ‘B’ ‘P’
تنسيق الملف المفقود
تستخدم صور WebP تنسيق الملف المفقود إذا كانت الصورة مبنية على ترميز مع فقدان البيانات ولا تتطلب أي ميزات متقدمة / موسعة مثل الشفافية والتحريك وألفا وما إلى ذلك. الصور المفقودة أصغر حجمًا وتدعمها التطبيقات القديمة أيضًا.
يتكون ملف WebP ، في هذه الحالة ، من:
- رأس ملف WebP 12 بايت
- VP8 قطعة
يوضح VP8 Data Format and Decoding Guide مواصفات تنسيق VP8 bitstream.
تنسيق ملف بدون فقدان
يتم استخدام هذا التخطيط عندما تكون الصورة مبنية على ترميز عديم الفقد وليست هناك حاجة إلى الميزات المتقدمة التي يوفرها التنسيق الخارجي. قد لا تتمكن التطبيقات القديمة من قراءة مثل هذه الملفات.
يتكون ملف WebP ، في هذه الحالة ، من:
- رأس ملف WebP 12 بايت
- قطعة VP8L