الثلاثاء، ديسمبر 20

كيف تتم عملية ضغط الملفات؟؟



أعد ضغط الملفات ابتكاراً جيداً رغم بساطته، هذا التطبيق اللطيف يساعدنا على اختزال أحجام الملفات وتقليصها إلى أكثر من ٥٠٪ من حجم الملف الأصلي! وهذا يخدم كثيراً في عملية تناقل الملفات عبر الإنترنت أوحتى في عملية الأرشفة.
لكن هذه الخدمة البسيطة تتسم بكثير من الغموض،،
كيف يتم ضغط وتصغير حجم الملفات؟ أين تذهب هذه الميجا بايتات عند الضغط؟ وكيف تعود بعد فكه؟ كيف تتم هذه العملية دون أن تتأثر جودة ومحتويات الملف؟ ولماذا لا يمكننا استخدام الملفات وهي مضغوطة؟؟

الجواب في منتهى البساطة والذكاء، ولا يتطلب أن تكون متخصصاً في الحواسيب لتفهم فكرة الضغط، باختصار المبدأ في ضغط الملفات هو اختزال البيانات المتكررة.

في المستند النصي مثلاً، نجد الكلمة تتكر عشرات بل مئات المرات أحياناً، وفي كل مرة تأخذ هذه الكلمة حصتها من حجم الملف، عند ضغط هذا الملف سيقوم برنامج الضغط بتغيير هذه الكلمة المتكررة إلى رمز معين يصغرها حجماً،
لتتوضح الفكرة دعوني أأخذ كلمات أغنية بارني I love you (♡) كمثال،،

 عدد الحروف في الوضع الأصلي للملف ٢٠٠ حرف، كيف يمكننا تقليص هذا العدد وضغط الملف؟

ببساطة نلاحظ أن كلمة "you" قد تكررت ١٠ مرات في هذا النص، عند ضغط هذا الملف سيقوم برنامج الضغط باستبدال "you" بالرمز (؟) مثلاً مع الاحتفاظ بدالة الرموز المستبدلة  (you = ?) وسيكون بذلك قد قلل عدد الحروف إلى ١٨٠ حرف، أي أن هذه العملية البسيطة قلصت المحتوى بنسبة ١٠٪ !



وبتكرار هذه العملية على مختلف الأجزاء الواردة بشكل متكرر في النص ستزداد هذه النسبة، كما نرى في الصورة الثانية بعد اختزال المزيد من الكلمات أصبح عدد الحروف ١٠٨ حرف، أي أن الملف أصبح أصغر بنسبة تزيد عن ٤٥٪ من حجمه الأصلي.
 الفكرة ذاتها تتكرر عند ضغط ملفات الصور ولكن التطبيق يختلف قليلاً. في الصور بدلاً من حفظ معلومات كل بكسل على حدى مثلاً (بكسل١ أزرق، بكسل٢ أزرق، بكسل٣ أزرق) سيقوم باختزالها بهذا الشكل (البكسلات من ١إلى٣ أزرق) مستفيداً من البكسلات المشتركة القيمة.

ماذا عن فك الضغط؟
عند فك الضغط سيقوم البرنامج بفك الإختصارات وإعادة الملفات لصيغتها الأصلية لنتتمكن من استعراضها.

هذا هو ببساطة السر وراء ضغط الملفات =]


تمنياتي لكم بأجوبة شافية دائماً
دمتم

هناك تعليق واحد:

  1. you = ?
    وماذا لو كان بالملف الأصلى هذاالرمز ? الذى وضعته لضغط الملف
    عند فك الضغط سيستبدله بكلمة "you"
    أى كيف نفرق بين الرمز الموجود أصلآ وبين الرمز الذى وضعته لضغط الملف

    ردحذف