ضغط
| English | العربية |
|---|---|
| compression/kəmˈpreʃn/ | ضغط |
| lossless/ˈlɒsləs/ | غير خاسر |
| lossy/ˈlɒsi/ | خاسر |
| bandwidth/ˈbændwɪdθ/ | نطاق التردد |
| run-length encoding/rʌn leŋθ enˈkəʊdɪŋ/ | ترميز الطول المتتالي |
| dictionary coding/ˈdɪkʃənəri ˈkəʊdɪŋ/ | ترميز القاموس |
| Huffman coding/ˈhʌfmən ˈkəʊdɪŋ/ | ترميز هوفمان |
| spatial/ˈspeɪʃl/ | مكاني |
| temporal/ˈtempərəl/ | زمني |
الأحرف الثلاثة التي جعلت الويب ممكناً
- في عام 1987، كتب مبرمج اسمه فيل كاتز برنامج ضغط ووضع صيغة الملف في المجال العام. سمّاها ZIP. كان عمره 24 عاماً.
- لا شيء يعمل في الويب بدون هذه الفكرة. ثانية واحدة من فيديو HD غير مضغوطة تساوي حوالي 187 ميغابايت؛ فيلم مدته ساعتان سيكون 1.3 تيرا بايت. بثه عبر اتصال منزلي أمر مستحيل رياضياً.
- الأفلام التي تشاهدها قد تكون جزءاً من ألف من ذلك، ولا تزال تبدو صحيحة، لأن الضغط يتخلص من أشياء كانت عينك لن تلاحظها أبداً.
- هذه الدرس هي الضغط: العائلتان، الثلاث طرق بلا فقد، وكيفية تبرير طريقة لملف معين.
بدون فقدان ومع الفقدان
- الضغط يقلل حجم الملف،وفير مساحة التخزين وعرض الناقلة للإرسال، ويجعل التنزيلات والبث أسرع.
- الضغط غير المفقود هو ضغط يمكن منه استعادة البيانات الأصلية بالضبط. ZIP و PNG هما ضغط غير مفقود.
- الضغط المفقود يزيل بعض البيانات بشكل دائم، لذا لا يمكن استعادة الأصل. JPEG و MP3 والفيديو المتدفق هي ضغوط مفقودة.

استعادة بالضبط، أو انكماش أكبر بكثير
الضغط الذي لا يفقد بيانات يعني:
الضغط الذي لا يفقد بيانات يسمح لك بإعادة بناء البيانات الأصلية بدقة — وهو ضروري للنصوص والبرامج وZIP/PNG.
صل كل فكرة ضغط بما تعنيه.
الضغط الذي لا يفقد بيانات يحافظ على كل بت (ضروري للنصوص/الكود)؛ الضغط الذي يفقد بيانات يتنازل عن الجودة مقابل الحجم (الصور، الصوت).
الضغط الذي لا يفقد بيانات يعيد بناء البيانات الأصلية بدقة (ضروري للنصوص والبرامج)، بينما الضغط الذي يفقد بيانات يزيل بعض البيانات بشكل دائم لتقليص الملف (يستخدم للصور والصوت).
ولهذا السبب يجب أن يكون البرنامج أو ملف ZIP غير قابل للفقدان، بينما يمكن للصورة أو الأغنية استخدام الضغط الخاسر.
مثال محلول: تبرير الاختيار
- شركة تحتفظ بنسخة احتياطية من جداول بيانات المحاسبة الخاصة بها. ما نوع الضغط ولماذا؟ غير مفقود، لأنه يجب استعادة جدول البيانات بالضبط؛ تغيير قيمة واحدة سيجعل الحسابات خاطئة.
- مصور يلتقط صور العطلات ويرفعها إلى معرض هاتف. مفقود، لأن الصور تُعرض على شاشة صغيرة حيث التفاصيل المفقودة غير مرئية، والملفات الأصغر ترفع أسرع وتستهلك مساحة تخزين أقل.
- سمِّ النوع، ثم قدّم السبب من الموقف. "المفقود أصغر" وحده ليس تبريراً كافياً.
أي ملف يجب ضغطه بدون فقدان بيانات؟
كود المصدر يجب استعادته بدقة — تغيير حرف واحد قد يعطله — لذا فهو بحاجة إلى ضغط بدون فقدان بيانات.
ترميز طول التسلسل
- ترميز طول التسلسل (RLE) يحل محل سلسلة من القيم المكررة بقيمة واحدة وعدد تكراراتها: بدلاً من ثمانية بكسلات بيضاء متطابقة، احفظ "8، أبيض".
- إنه ممتاز للبيانات ذات السلاسل الطويلة، مثل الأيقونات والمخططات والمسح الضوئي بالأبيض والأسود ومناطق اللون المسطح.
- إنه عديم الفائدة، ويمكن أن يجعل الملف أكبر، في البيانات الصاخبة مثل الصورة الفوتوغرافية، حيث لا تتساوى قيمتان مجاورتان تقريباً.

كل صف يصبح عدداً وتلويناً
ترميز المسارات يعمل بشكل أفضل على البيانات التي تحتوي على:
RLE يستبدل سلسلة من القيم المتطابقة بعدد + قيمة، لذلك يتألق في المناطق المسطحة ويكون عديم الفائدة على البيانات الضوضائية.
مثال محلول: تشفير صف باستخدام RLE
- صف من صورة بالأبيض والأسود مكونة من 8 بكسلات يقرأ: أبيض أبيض أبيض أسود أسود أبيض أبيض أبيض. قم بتشفيره باستخدام RLE.
- ثلاثة بيضاء، اثنان أسود، ثلاثة بيضاء، إذن
3W 2B 3W، أو كازوجين،(3, 0) (2, 1) (3, 0)إذا كانت البيضاء تساوي 0. - ثماني قيم أصبحت ثلاث أزواج. الآن شفر
W B W B W B W B. ثمانية تسلسلات بواحد:1W 1B 1W 1B 1W 1B 1W 1B، مما يخزن أكثر من الأصلي. وهذا بالضبط سبب عدم استخدام RLE على الصور الفوتوغرافية.
ترميز المسارات (طريقة لا تفقد بيانات)
ترميز المسارات يستبدل سلسلة من القيم المكررة بقيمة واحدة مع عدد. إنه لا يفقد بيانات — يتم إعادة بناء الأصل تمامًا — لكنه يصغر البيانات ذات المسارات الطويلة فقط.
شفّر صف البكسل W W W B B W W W باستخدام ترميز المسارات، بصيغة 3W 2B 3W.
ثلاثة أبيض، أسودان، ثلاثة أبيض. ثمانية قيم تصبح ثلاث أزواج، لكن صف متبادل سيصبح eight أزواج وينمو.
ترميز المسارات يجعل الملف أصغر دائمًا.
على البيانات دون مسارات، مثل صورة فوتوغرافية أو نمط متبادل، يكون طول كل مسار واحد ويخزن التشفير أكثر من الأصلي.
ترميز القاموس وترميز هوفمان
- ترميز القاموس، المستخدم في ZIP و PNG، يبني قاموساً لتسلسلات البايت المكررة ويستبدل كل ظهور بمؤشر قصير. يناسب النصوص وكود البرمجة، حيث تتكرر الكلمات والأنماط.
- ترميز هوفمان يمنح رموزاً قصيرة للرموز الشائعة ورموزاً طويلة للنادرة، مما يقلل متوسط طول الرمز. في كلمة "BANANA" الحرف A هو الأكثر شيوعاً ويحصل على أقصر رمز.
- كلاهما غير مفقود: يقوم فاك التشفير بإعادة بناء بايت الأصلي بايت بايت.
تشفير هوفمان يقلل الحجم عن طريق:
هوفمان يعطي أقصر الرموز للأكثر تكرارًا، مما يقلل من متوسط طول الرمز.
صنّف كل طريقة ضغط بدون فقدان مع آلية عملها.
الثلاث طرق جميعها بدون فقدان: حيث يعيد جهاز فك التشفير بناء البيانات الأصلية بايت تلو الآخر.
طرق مفقودة
- الصور (JPEG): يتم تجاهل التفاصيل الدقيقة وفرق الألوان التي يكاد العين تلاحظها.
- الصوت (MP3, AAC): يتم إزالة الترددات التي نصوتها بشكل سيء، بالإضافة إلى الأصوات الهادئة التي يخفيها صوت أعلى في نفس اللحظة.
- الفيديو: يعمل الضغط المكاني داخل كل إطار، مثل JPEG، والضغط الزمني يخزن معظم الإطارات كـ فروقات فقط عن الإطار السابق، حيث أن الإطارات المتتالية متطابقة تقريباً.
يعمل الضغط الزمني للفيديو عن طريق:
يخزن الضغط الزمني كيف يختلف كل إطار عن الذي سبقه، لأن معظم الصورة تبقى ثابتة بين الإطارات. (أما الضغط المكاني فيتعامل مع التفاصيل داخل الإطار الواحد.)
مثال محلول: كيف يتم ضغط كل نوع من الملفات
- ملف نصي: يحوّل ترميز القاموس وترميز هوفمان الكلمات المكررة والحروف الشائعة إلى رموز قصيرة. يجب أن يبقى غير مفقود، لأن تغيير حرف واحد يغير المعنى.
- صورة راسمة (Bitmap): RLE للسلاسل من البكسلات المتطابقة في الأيقونات والمخططات؛ JPEG مفقود للصور الفوتوغرافية؛ أو تقليل عمق اللون أو الدقة، وهو أيضاً مفقود.
- رسم متجهي: قائمة الرسم صغيرة بالفعل. أزل كائنات الرسم غير الضرورية، احفظ الإحداثيات لعدد أقل من المنازل العشرية، أو طبق طريقة غير مفقودة مثل ZIP على الملف.
- ملف صوتي: MP3 أو AAC مفقود يزيل ما لا يستطيع الأذن سماعه؛ خفض معدل أخذ العينات أو الدقة هو أيضاً مفقود؛ صيغ غير مفقودة تحتفظ بكل عينة وتنكمش بشكل أقل بكثير.
كيف يمكن تصغير ملف رسم متجه؟ حدّد كل الخيارات الصحيحة.
الملف المتجه هو قائمة رسم وليس بكسلات، لذا ليس له عمق ألوان. عمق الألوان يخص الصور البكسلية (Bitmaps).
لماذا يجب أن يكون التدفق مفقوداً
- الفيديو الخام عالي الوضوح يستهلك جيجابايت لكل دقيقة، واتصال المنزل يحمل بضعة ميجابت في الثانية.
- الضغط غير المفقود على الفيديو يحقق ربما مضاعفاً واحداً فقط، وهو بعيد كل البعد عن الكافي، لذا ستستمر الصورة في التوقف للتخزين المؤقت.
- achieves الضغط المفقود مضاعفاً قدره مائة أو أكثر عن طريق تجاهل التفاصيل التي لا يلاحظها المشاهد بسرعة طبيعية. السبب يذكر نطاق التردد ومعدل البيانات، وليس فقط "إنه أصغر".
لماذا تستخدم بث الفيديو المباشر ضغطاً بفقدان؟
الفيديو الخام عالي الدقة يستهلك جيجابايتات في الدقيقة؛ لا يكتفي الضغط بفقدان بتصغيره بما يكفي للبث المباشر دون تقطيع.
علامات ضائعة
- غير مفقود يعني استعادة الأصل بالضبط؛ مفقود يعني أنه لا يمكن. عبارة "المفقود يفقد الجودة" تفوت النقطة الأساسية وهي أن البيانات قد ذهبت للأبد.
- RLE يمكن أن يجعل الملف الصاخب أكبر. حدد أين يعمل وأين لا يعمل.
- ضغط الفيديو هو مكاني وزمني؛ الزمني يخزن الفروقات بين الإطارات.
- إجابة "التبرير" تربط الطريقة بالاستخدام: الدقة التامة للمحاسبة والصور الطبية، الحجم للتدفق ومعارض الهواتف.
لقد فهمت الأمر
- الضغط يوفر مساحة التخزين ونطاق التردد؛ غير مفقود يستعيد الأصل بالضبط، مفقود يزيل البيانات بشكل دائم
- طرق غير مفقودة: RLE (قيمة وعدد، جيد على السلاسل، سيئ على الضوضاء)، ترميز القاموس (تسلسلات مكررة لمؤشرات قصيرة)، ترميز هوفمان (رموز قصيرة للرموز الشائعة)
- الطرق المفقودة تتجاهل ما يفتقده العين أو الأذن؛ الفيديو يضيف مكاني داخل الإطار وزمني بين الإطارات
- برّر من الاستخدام: البيانات الدقيقة تعني غير مفقود، نطاق التردد المحدود للتدفق يعني مفقود