قدم تنسيق ضغط صورة QOI

تم تقديم تنسيق ضغط صورة جديد وخفيف الوزن وغير ضياع ، QOI (صورة جيدة تمامًا) ، والذي يسمح بضغط الصور بسرعة كبيرة في مساحات ألوان RGB و RGBA. عند مقارنة الأداء بتنسيق PNG ، يكون تنفيذ مرجعي مترابط واحد لتنسيق QOI بلغة C ، والذي لا يستخدم تعليمات SIMD وتحسينات المجمع ، أسرع بمقدار 20-50 مرة من مكتبات libpng و stb_image في سرعة التشفير ، و 3-4 مرات في سرعة فك التشفير. فيما يتعلق بكفاءة الضغط ، فإن QOI في معظم الاختبارات قريبة من libpng (في بعض الاختبارات تكون متقدمة قليلاً ، وفي حالات أخرى تخسر) ، ولكنها بشكل عام تتقدم بشكل ملحوظ على stb_image (حتى 20٪ ربح).

يحتوي تطبيق مرجع QOI في C على 300 سطر فقط من التعليمات البرمجية. يتم توزيع الكود المصدري بموجب ترخيص معهد ماساتشوستس للتكنولوجيا. بالإضافة إلى ذلك ، أعد المتحمسون تطبيقات لأجهزة التشفير وأجهزة فك التشفير في Go و Zig و Rust. يتم تطوير المشروع بواسطة Dominic Szablewski ، وهو مطور ألعاب لديه خبرة في إنشاء مكتبة لفك تشفير الفيديو MPEG1. باستخدام تنسيق QOI ، أراد المؤلف إظهار أنه من الممكن إنشاء بديل فعال وبسيط لتنسيقات ترميز الصور الحديثة المعقدة.

لا يعتمد أداء QOI على دقة وطبيعة الصورة المشفرة (O (n)). يتم إجراء التشفير وفك التشفير في مسار واحد - تتم معالجة كل بكسل مرة واحدة فقط ويمكن ترميزه بإحدى الطرق الأربع ، التي يتم تحديدها بناءً على قيم وحدات البكسل السابقة. إذا تزامن البكسل التالي مع البيكسل السابق ، فإن عداد التكرار يزيد فقط. إذا تطابق البكسل مع إحدى القيم الموجودة في المخزن المؤقت السابق للبكسل 4 ، فسيتم الإشارة إلى إزاحة 64 بت للبكسل الماضي بدلاً من القيمة. إذا كان لون آخر بكسل مختلفًا قليلاً ، تتم الإشارة إلى الاختلاف في الشكل القصير (ترميز مختصر للاختلافات في مكونات اللون التي تتناسب مع 6 و 2,4 بت). إذا لم يكن هناك تحسين قابل للتطبيق ، يتم تحديد قيمة rgba الكاملة.

المصدر: opennet.ru

إضافة تعليق