لم افهم لماذا في بعض الاحيان حينما اضغط ملف و لنفترض ان حجمه 20 ميغا بعد الضغط يصبح 16 او يبقى 20 ، و في احيان اخرى حينما اضغط ملف بهذا الحجم اجد ان حجمه بعد الضغط اصبح 1 ميغا او 2 ..
لماذا لم يفعل هذا مع الاول ؟ يعني ما الذي يحدث ليحدث هذا ؟
سأفترض أن السؤال في مجتمع "اشرحها وكأني في الخامسة":
لنأخد نصين بنفس الطول. والملفات تشبه النصوص بأنها مجموعة من البايتات بدلًا من الأحرف.
النص الأول : aaaaaaaaaaaaaaaaaaaa
النص الثاني: aaaaabcdefghijklmnopq
النص الأول يمكن ضغطه عن طريق تمثيله بـ ax20
أما الثاني مع أنه بنفس الطول لكن لا يمكن ضغطه أكثر من هذا ax5 bcdefghijklmnopq
تختلف برامج الضغط في خوارزميات الضغط التي تستعملها
أشهر الخوارزميات هية خوارزمية Huffman , سأقوم بشرح مبدأها بشكل مبسط ومحرّف بعيداً عن التفاصيل التقنية او المشكلات التي عالجتها :
لنفترض أن لديك نص معين , سنقوم بحساب أكثر الكلمات تكرارا في هذا النص , لنفرض أننا وجدنا ان الكلمة the مكررة بشكل كبير في هذا النص , سأقوم باستبدال كل كلمة the بحرف الـ t فقط
فإن كان لدي 30 كلمة the فـ هم بالمجمل 3×30 = 90 حرف , ولكن بعد عملية الاستبدال أصبحو 30×1 = 30 حرف فقط
كرر هذه العملية ف مثلا كلمة on قد باستبدالها بحرف ال o مثلاً
ستجد في النهاية أنه كلما تكررت الكلمات بشكل أكبر استطعت انقاص عدد أحرف النص " تصغير حجمه " بشكل أكبر
طبعاً ستجد أن حروف الأبجدية " 28 حرف " غير كافيين لترميز جميع الكلمات , هنا تقوم باستعمال الترميز بحرفين من أجل الكلمات الأقل تكراراً على سبيل المثال
طبعاً خوارزمية الضغط تعتمد على الضغط على مستوى الحرف الواحد وليس الكلمة بالطبع , كما أنها تقوم بالتحويل الى bits , ولكن ذكرت المثال من باب التبسيط
النتيجة أن نسبة الضغط تتناسب طرداً مع عدد التكرارات في الملف المراد ضغطه
بالتوفيق
لأن بعض انواع الملفات تقبل الضغط بعكس غيرها .. فمثلاً الملفات النصية يمكن ضغطها وتقليل حجمها ،لكن ملفات الفيديو والصوت والصور لا يمكن ضغطها الا بتغيير جودتها أو ترميزها ولذا لاتستطيع برامج الضغط ك Winrar أو 7zip ضغط حجمها.
التعليقات