تنسيق الصور النقطية المحمولة (.ppm)
معيار قياسيتنسيق خريطة البكسل المحمولة (PPM) هو معيار RGB كامل الألوان ضمن عائلة رسومات Netpbm، ويوفر أبسط تمثيل غير مضغوط للصور الرقمية كاملة الألوان.
فحص البيانات الوصفية
تتعرف أنظمة التشغيل ومحللات الملفات على ملفات PPM من خلال فحص تسلسل البايت الثنائي البادئ:
توقيع رأس الملف على مستوى البايت (Magic Bytes)
تتعرف أنظمة التشغيل ومحللات الملفات على ملفات PPM من خلال فحص تسلسل البايت الثنائي البادئ:
التوقيع الست عشري (الإزاحة 0):
50 33 / 50 36تمثيل ASCII: P3 / P6
التوحيد القياسي: معيار مكتبة Netpbm
المواصفات الفنية
| هيكلية الحاوية | تنسيق Netpbm نصي (P3) أو ثنائي (P6)، يضم العرض والارتفاع والقيمة اللونية القصوى وتدفق ثلاثيات RGB |
| الضغط | بايتات ثنائية خام غير مضغوطة أو ثلاثيات نصية ASCII مقروءة |
| ترتيب البايتات (Endianness) | ترتيب البايتات الكبير (لعينات 16 بت لكل قناة، بعمق 48 بت، في وضع P6) |
| مساحات الألوان | RGB خطي أو sRGB قياسي |
| القنوات والبنية | ثلاث قنوات RGB (ألوان كاملة بعمق 24 أو 48 بت) |
| الحد الأقصى للأبعاد | غير محدود عمليًا (يدعم إحداثيات بأي قيمة ضمن نطاق 64 بت) |
| الشفافية | لا يدعم الشفافية؛ فتنسيق PPM القياسي يعرض ألوان RGB معتمة فقط |
| البث والتحميل التدرجي | يدعم التدفق التسلسلي للصفوف واحدًا تلو الآخر |
مصفوفة المقارنة التقنية: PPM مقابل المنافسين
| السمة التقنية | PPM (الحالي) | BMP | PNG | TIFF |
|---|---|---|---|---|
| عمق الألوان | ألوان RGB حقيقية بعمق 24 بت / 48 بت | RGBA من 1 بت إلى 32 بت | RGBA بقوة 24 بت / 48 بت | RGBA من 8 بت إلى 64 بت |
| تنسيق شقيق ضمن Netpbm | PPM (خريطة بكسل محمولة) | تنسيق ليس من Netpbm | تنسيق W3C ليس من Netpbm | تنسيق Adobe ليس من Netpbm |
| البايتات المميزة | P3 (نصي) / P6 (ثنائي) | BM (0x42 0x4D) | ‰PNG.... | II*\0 أو MM\0* |
| الضغط | غير مضغوط | غير مضغوط / RLE | ضغط Deflate دون فقدان؛ ويختلف توفير مساحة الملف بحسب محتوى الصورة | LZW / Deflate / Zip |
أنماط التلف الشائعة ودليل الاسترداد بالنظام الست عشري
تظهر الصورة مع تشوه قطري لقنوات الألوان.
السبب الجذري: بايت مقتطع في دفق ثلاثيات RGB، مما يتسبب في عدم محاذاة بايتات الأحمر والأخضر والأزرق اللاحقة.
الاسترداد: أعِد محاذاة مواضع ثلاثيات RGB، أو حوّل الملف باستخدام محول Netpbm من File2File.app.
تحليل الأمان ومتجهات الهجوم على المحلّل
يجب على برامج فك ترميز PPM الحماية من تجاوز سعة الأعداد الصحيحة عند حساب حجم مخزن مؤقت لثلاثيات RGB، حيث يتكون كل منها من 3 بايتات.
ناقلات الهجوم المعروفة
- تجاوز سعة الأعداد الصحيحة أثناء تخصيص مخزن مؤقت بالحجم العرض * الارتفاع * 3.
- قراءة زائدة للمخزن المؤقت عند قراءة رموز ASCII المشوهة في وضع P3.
- حجب الخدمة من خلال طلبات مفرطة لتخصيص الذاكرة.
أفضل الممارسات الدفاعية: فرض حدود صارمة لتخصيص الذاكرة بناءً على حجم الملف الفعلي قبل فك التشفير.
الأصول التاريخية والمحطات الرئيسية
المزايا الرئيسية والإيجابيات
- بنية شديدة البساطة: لا يحتاج إلى مكتبات ضغط لقراءة الصور أو كتابتها أو معالجتها.
- يتيح وضع ASCII (P3) للمبرمجين عرض قيم RGB الخام ونسخها وتعديلها مباشرةً في محرر نصوص.
- تنسيق وسيط قياسي يُستخدم في مقررات الرسوميات الحاسوبية الجامعية ومشاريع تتبّع الأشعة.
القيود الفنية والسلبيات
- قد تكون صور P6 غير المضغوطة ذات 8 بت كبيرة؛ إذ تستخدم بيانات البكسل لصورة RGB بأبعاد 3840 × 2160 نحو 24.9 مليون بايت، قبل الترويسة.
- لا يلائم التوزيع عبر الويب أو النقل عبر الشبكات.
- لا يدعم قناة ألفا للشفافية أو ملفات تعريف الألوان المضمّنة.
معلومات تقنية طريفة
- كل طالب علوم حاسوب يكتب برنامجًا لتتبّع الأشعة يُخرج أولى صوره بتنسيق PPM تقريبًا.
- في تنسيق ASCII PPM ('P3')، تكون الصورة حرفيًا ملفًا نصيًا من الأرقام: '255 0 0' للأحمر، و'0 255 0' للأخضر، و'0 0 255' للأزرق.
- وُزعت حزمة Netpbm أول مرة ضمن إصدارات أشرطة يونكس 4.3BSD في أواخر الثمانينيات.
الأسئلة التقنية المتكررة
لماذا تستخدم دورات علوم الحاسب صيغة PPM؟
لأن صيغة PPM لا تتطلب مكتبات خارجية أو خوارزميات ضغط معقدة، ما يتيح للطلاب تعلم مبادئ الرسوميات الحاسوبية من خلال إجراء الحسابات مباشرة على قيم البكسلات.
ما الفرق بين PPM من النوعين P3 وP6؟
تخزن صيغة P3 مجموعات ثلاثية الألوان (RGB) كأرقام نصية بلغة ASCII عادية، بينما تخزن صيغة P6 مجموعات RGB الثلاثية كبايتات ثنائية خام.
كيف يمكنني تحويل ملف PPM إلى JPG أو PNG؟
يمكنك تحويل ملفات PPM إلى PNG أو JPG مباشرة في متصفحك باستخدام File2File.app من دون أن تغادر أي بيانات جهازك.