PDFMove
لماذا يبقى التحويل من BMP إلى PNG عديم الفقد؟
دليل

لماذا يبقى التحويل من BMP إلى PNG عديم الفقد؟

4 دقيقة للقراءة

الصورة نفسها، وملفان شديدا الاختلاف

عندما تحوّل ملف BMP إلى PNG يحدث أمر لافت: إذ يصغر الملف بوضوح لكن لا يتغير في الصورة بكسل واحد. ويتولد لدى معظم من يرى ذلك أول مرة شكٌّ محق — أفلا ينبغي أن تتخلى عن شيء إن كنت تصغّر شيئًا؟

الجواب لا، وهذا المقال يشرح السبب بالضبط.

ثمة نوعان من الضغط

منشأ الالتباس هو استخدام كلمة "ضغط" للدلالة على عمليتين مختلفتين تمامًا.

الضغط مع الفقد يوفّر المساحة بتقليل البيانات. وهذا ما يفعله JPG: إذ يحسب — مستفيدًا من خصائص الجهاز البصري البشري — المعلومات التي يصعب على العين ملاحظتها ويُسقطها. فيصغر الملف كثيرًا، لكن البيانات المُسقَطة ذهبت نهائيًا. وإعادة فتح ملف JPG وحفظه بتنسيق آخر لا يستعيد تلك البيانات.

والضغط عديم الفقد لا يقلّل البيانات؛ بل يعبّر عن البيانات نفسها تعبيرًا أقصر فحسب. ومن السهل التفكير في ذلك عبر مثال نصي: فبدلًا من كتابة "aaaaaaaaaa" تكتب "10 أحرف a" فتشغل مساحة أقل دون أن تفقد أي معلومة. وعند الفتح تستطيع استعادة الأصل بدقة تامة.

وPNG في المجموعة الثانية. وBMP عديم الفقد أيضًا — غاية ما في الأمر أنه لا يُجري ضغطًا إطلاقًا. أي أن الانتقال من BMP إلى PNG انتقال من عديم فقد إلى عديم فقد، والتغيير الوحيد هنا هو طريقة حزم البيانات.

لماذا لا يضغط BMP إطلاقًا؟

فلسفة تصميم BMP مبنية على البساطة. فالملف يبدأ بكتلة ترويسة قصيرة، ثم تُكتب قيم البكسلات بالترتيب. ولا أثر إطلاقًا لما في الصورة على حجم الملف؛ فالحجم حاصل ضرب العرض في الارتفاع في عمق البت بالكامل.

والنتيجة الملموسة لذلك هي: مربع أبيض مصمت تمامًا وصورة فوتوغرافية معقدة بالمقاس نفسه يشغلان المساحة نفسها تقريبًا بصيغة BMP. ولا يُقيَّم إطلاقًا ما في المحتوى من تكرار أو انتظام أو بساطة.

وثمة ضغط مُعرَّف في المواصفة يُسمى RLE لكنه لا يكاد يُستخدم عمليًا ولا يسري إلا على أعماق البت المنخفضة. والأغلبية الساحقة من ملفات BMP التي تصادفها في حالتها الخام.

ولهذه البساطة مبرر: عدم اشتراط فك الترميز. فحتى معالج شديد المحدودية يستطيع قراءة ملف BMP مباشرة وعرضه على الشاشة. وهذه الميزة اليوم لا معنى لها إلا في الأنظمة المدمجة والأجهزة الصناعية؛ أما على سطح المكتب وفي الويب فهي عديمة القيمة تمامًا.

كيف يصغّر PNG البكسلات نفسها؟

العمل الذي يقوم به PNG على مرحلتين، وكلتاهما تصون المعلومات.

المرحلة الأولى: التنبؤ. فبدلًا من كتابة كل بكسل كما هو، يكتب PNG مقدار اختلافه عن جاره. ولأن البكسلات المتجاورة في الصور متشابهة جدًا عادةً، تكون هذه الفروق أرقامًا صغيرة، والأرقام الصغيرة تشغل مساحة أقل. فمثلًا في صورة سماء يتغير اللون تغيّرًا بالغ البطء عند التقدم أفقيًا؛ ويستطيع PNG التعبير عن هذا التغير البطيء بوصفه "متطابقًا تقريبًا".

المرحلة الثانية: ضغط الأنماط. إذ يُشغَّل ضغط عديم الفقد عام الغرض على بيانات الفروق الناتجة. وتجد هذه المرحلة التتابعات المتكررة وتختصرها. فشريط الأدوات الرمادي في لقطة شاشة، ومساحة اللون المصمت في شعار، والخلفية البيضاء في مخطط — كلها تحقق مكسبًا كبيرًا هنا.

والخاصية المشتركة بين المرحلتين أنهما قابلتان للعكس. فعند فتح الملف تُشغَّل العمليتان في الاتجاه المعاكس وتُستعاد قيم البكسلات الأصلية كلها.

ماذا يعني ذلك عمليًا؟

لست مضطرًا إلى الاحتفاظ بالنسخة الأصلية. فبعد تحويل BMP إلى PNG يتضمن ملف PNG كل المعلومات التي يحملها BMP. ولا توجد ميزة معلوماتية في أرشفة الملف المصدر. والاستثناء الوحيد أن تحتاج إلى تقديم الملف لبرنامج لا يقبل سوى BMP.

لا قلق بشأن الجودة. فلست بحاجة إلى اختيار إعداد جودة، أو إجراء تجارب على الإعدادات، أو تكبير النتيجة بحثًا عن الآثار. فالنتيجة مطابقة للمصدر أصلًا.

العمليات المتكررة لا تراكم تشويهًا. ففي JPG يضيف فتح ملف وحفظه مزيدًا من التشويه في كل مرة. ولا يوجد تراكم كهذا في PNG؛ فحتى لو فتحت الملف وحفظته مئة مرة لن تتغير الصورة. وهذه ضمانة مهمة للملفات التي سيُعمل عليها.

المكسب يتوقف على المحتوى. فلقطات الشاشة وتسجيلات الواجهات والشعارات والمخططات والنصوص الممسوحة ضوئيًا تصغر صغرًا لافتًا في PNG. أما في المحتوى الفوتوغرافي المشوّش وكثيف النسيج فيكون المكسب أكثر اعتدالًا، لأن الأنماط التي يمكن لـ PNG إيجادها قليلة. وإذا صادفت وضعًا كهذا ففكّر في أن محتواك فوتوغرافي في الحقيقة وأن JPG قد يكون هدفًا أنسب لغرض المشاركة.

هل يسري الضغط في الذاكرة أيضًا؟

سؤال يتكرر كثيرًا: هل يبقى PNG صغيرًا عند فتحه أيضًا؟

لا. فالضغط يخص التمثيل على القرص وحده. فعند فتح صورة يفك البرنامج شفرة الملف ويضع البكسلات في الذاكرة بحالتها الخام؛ وعند تلك النقطة تكون المساحة التي يشغلها في الذاكرة مساوية لمساحة BMP. وميزة PNG تكمن في جانب التخزين والنقل: مساحة قرص أقل، وتنزيل أسرع، وملفات تتّسع في البريد الإلكتروني.

خلاصة القول

BMP وPNG تنسيقان يخزّنان المعلومات نفسها؛ والفارق بينهما كيفية كتابتهما لهذه المعلومات. فـ BMP يكتب كل شيء في حالته الخام، بينما يعبّر PNG عن الشيء ذاته تعبيرًا أقصر بكثير مستفيدًا من الأنماط. ولأنه لا تُسقَط أي بيانات في التحويل بينهما، فإن جواب سؤال "ماذا أخسر" واضح: لا شيء. وما تكسبه هو مساحة القرص، وقابلية النقل، وتنسيق يعمل في كل مكان.

الأسئلة الشائعة

إذا كان ثمة ضغط، فكيف يكون عديم الفقد؟

لأن هناك نوعين مختلفين من الضغط، والخلط بينهما مغالطة شائعة. فالضغط مع الفقد يوفّر المساحة بحساب المعلومات التي تلاحظها العين قليلًا وإسقاطها، والبيانات المُسقَطة لا تعود. أما الضغط عديم الفقد فلا يُسقط أي معلومة، بل يعبّر عن المعلومات نفسها تعبيرًا أقصر فحسب. وPNG ينتمي إلى المجموعة الثانية: فهو يعيد كتابة البيانات مستفيدًا من الأنماط المتكررة وتشابه البكسلات المتجاورة، وعند الفتح يستعيد الأصل بتمامه.

هل يصبح ملف PNG صغيرًا في الذاكرة أيضًا عند فتحه؟

لا، فالضغط يخص التمثيل على القرص وحده. فعند فتح ملف PNG يفك البرنامج شفرة الملف ويضع البكسلات في الذاكرة بحالتها الخام؛ وعند هذه النقطة تكون المساحة التي يشغلها في الذاكرة مساوية لمساحة BMP. أي أن ميزة PNG تكمن في جانب التخزين والنقل: مساحة قرص أقل، وتحميل أسرع، ومشاركة أيسر. ولن تلمس فرقًا ذا معنى عمليًا بين التنسيقين من ناحية أداء العرض.

إذا أعدت تحويل PNG إلى BMP، فهل يكون مطابقًا للملف الأصلي؟

من ناحية بيانات البكسل نعم، لكن قد لا يكون الملفان متطابقين بايتًا ببايت. فقيمة لون كل بكسل في الصورة مصونة، وبالتالي يتحقق تطابق تام بصريًا وعلى مستوى البيانات. غير أن ترويسات الملف وترتيب عمق البت وحشو الأسطر والبيانات الوصفية إن وُجدت قد تُكتب على نحو مختلف. أي أن النتيجة هي الصورة نفسها، لكن لا تتوقع تطابق الملفين طبق الأصل في برنامج مقارنة.

كم يصغر ملف PNG للصورة نفسها؟

يتوقف ذلك كليًا على محتوى الصورة ولا يمكن إعطاء نسبة ثابتة. ففي الصور المتضمنة مساحات لون مصمت وأنماطًا متكررة ولوحة ألوان محدودة — مثل لقطات الشاشة والشعارات والمخططات — يكون المكسب واضحًا جدًا. أما في المحتوى المشوّش أو كثيف النسيج أو الفوتوغرافي فالأنماط التي يجدها PNG قليلة ويبقى الانكماش أكثر اعتدالًا. ومع ذلك يكون PNG أصغر بمقدار يُعتد به في كل الأحوال تقريبًا أمام ملف BMP غير مضغوط.

جرّب ذلك الآن باستخدام BMP → PNG Dönüştür.

جرّب BMP → PNG Dönüştür