جهات الاتصال

طريقتان لضغط المعلومات في الملفات. الضغط عن طريق ترميز السلسلة. إرسال البريد الإلكتروني

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

في هذه المقالة سوف أتطرق إلى أساسيات الضغط والأنواع الرئيسية للخوارزميات.

ضغط. هل هو ضروري في عصرنا؟

بكل تأكيد نعم. بالطبع ، نحن نتفهم جميعًا أنه يمكننا الآن الوصول إلى كل من وسائط التخزين كبيرة الحجم وقنوات نقل البيانات عالية السرعة. ومع ذلك ، في نفس الوقت ، تتزايد أحجام المعلومات المنقولة. إذا شاهدنا قبل بضع سنوات أفلامًا بحجم 700 ميغا بايت تتلاءم مع قرص واحد ، فإن الأفلام بجودة HD اليوم يمكن أن تستغرق عشرات الجيجابايت.
بالطبع ، لا فائدة كبيرة من ضغط كل شيء وكل شيء. ولكن لا تزال هناك حالات يكون فيها الضغط مفيدًا للغاية ، إن لم يكن ضروريًا.

  • إرسال المستندات عن طريق البريد الإلكتروني(لا سيما الكميات الكبيرة من المستندات باستخدام الأجهزة المحمولة)
  • عند نشر الوثائق على المواقع ، الحاجة إلى حفظ حركة المرور
  • إنقاذ مساحة القرصفي الحالات التي يصعب فيها استبدال أو إضافة وسائل التخزين. على سبيل المثال ، يحدث هذا في الحالات التي لا يكون فيها من السهل إخراج ميزانية للنفقات الرأسمالية ، ولا توجد مساحة كافية على القرص.

بالطبع ، يمكنك التفكير في العديد من المواقف التي يكون فيها الضغط مفيدًا ، ولكن هذه الأمثلة القليلة كافية بالنسبة لنا.

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

لذا ، دعنا ننتقل إلى التفكير في خوارزميات الضغط بدون فقدان البيانات.

طرق ضغط متعددة الاستخدامات بلا خسارة

بشكل عام ، هناك ثلاثة خيارات أساسية تُبنى عليها خوارزميات الضغط.
المجموعة الأولىطرق - تحويل تيار. هذا يفترض وصف البيانات الجديدة غير المضغوطة الواردة من خلال معالجتها بالفعل. في هذه الحالة ، لا يتم حساب أي احتمالات ، ويتم تنفيذ تشفير الأحرف فقط على أساس البيانات التي تمت معالجتها بالفعل ، على سبيل المثال ، في أساليب LZ (التي سميت على اسم Abraham Lempel و Jacob Ziv). في هذه الحالة ، يتم استبدال التكرارات الثانية والتكرارات اللاحقة لسلسلة فرعية معينة معروفة بالفعل لبرنامج التشفير بإشارات إلى حدوثها الأول.

المجموعة الثانيةالأساليب هي طرق ضغط إحصائي. في المقابل ، تنقسم هذه الطرق إلى تكيفية (أو تدفق) ، وكتلة.
في الإصدار الأول (التكيفي) ، يعتمد حساب احتمالات البيانات الجديدة على البيانات التي تمت معالجتها بالفعل أثناء التشفير. تتضمن هذه الطرق إصدارات تكيفية من خوارزميات Huffman و Shannon-Fano.
في الحالة الثانية (الكتلة) ، يتم حساب إحصائيات كل كتلة بيانات بشكل منفصل وإضافتها إلى الكتلة الأكثر ضغطًا. يتضمن هذا الإصدارات الثابتة من Huffman و Shannon-Fano وطرق الترميز الحسابي.

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

المبادئ العامة التي يعتمد عليها ضغط البيانات

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

قليلا من الرياضيات
إذا كان احتمال حدوث عنصر s i يساوي p (s i) ، فسيكون من الأفضل تمثيل هذا العنصر - log 2 p (s i) بالبتات. إذا كان من الممكن أثناء التشفير تحقيق أن يتم تقليل طول جميع العناصر إلى 2 p (s i) بتات ، فسيكون طول التسلسل المشفر بأكمله في حده الأدنى لجميع طرق التشفير الممكنة. علاوة على ذلك ، إذا كان التوزيع الاحتمالي لجميع العناصر F = (p (s i)) ثابتًا ، وكانت احتمالات العناصر مستقلة عن بعضها البعض ، فيمكن حساب متوسط ​​طول الرموز على النحو التالي:

تسمى هذه القيمة إنتروبيا التوزيع الاحتمالي F ، أو إنتروبيا المصدر في لحظة معينة من الزمن.
ومع ذلك ، عادة لا يمكن أن يكون احتمال ظهور عنصر مستقلاً ، بل على العكس ، يعتمد على بعض العوامل. في هذه الحالة ، لكل عنصر مشفر جديد s i ، سيأخذ التوزيع الاحتمالي F بعض القيمة F k ، أي لكل عنصر F = F k و H = H k.

بمعنى آخر ، يمكننا القول أن المصدر في الحالة k ، والتي تتوافق مع مجموعة معينة من الاحتمالات p k (s i) لجميع العناصر s i.

لذلك ، مع الأخذ في الاعتبار هذا التعديل ، يمكننا التعبير عن متوسط ​​طول الرموز كـ

حيث P k هو احتمال العثور على مصدر في الحالة k.

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

ترميز بلا ذاكرة

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

دعنا نعطي بعض الأبجدية ، تتكون من عدد معين (محدود) من الحروف. دعنا نسمي كل سلسلة محدودة من الرموز من هذه الأبجدية (أ = أ 1 ، أ 2 ، ... ، أ ن) كلمة، والرقم ن هو طول هذه الكلمة.

دعنا نعطي أيضا أبجدية أخرى ... وبالمثل ، دعونا نشير إلى كلمة في هذه الأبجدية باسم B.

دعونا نقدم ترميزين إضافيين لمجموعة الكلمات غير الفارغة في الأبجدية. اسمح أن يكون عدد الكلمات غير الفارغة في الأبجدية الأولى ، و- في الثانية.

لنفترض أيضًا تعيين F ، والذي يخصص لكل كلمة A من الأبجدية الأولى بعض الكلمات B = F (A) من الثانية. ثم سيتم استدعاء الكلمة ب الشفرةكلمة A ، وسيتم استدعاء الانتقال من الكلمة الأصلية إلى رمزها الترميز.

نظرًا لأن الكلمة يمكن أن تتكون أيضًا من حرف واحد ، فيمكننا تحديد التطابق بين أحرف الأبجدية الأولى والكلمات المقابلة من الحرف الثاني:
أ 1<->ب 1
أ 2<->ب 2

أ<->ب ن

هذه المراسلات تسمى مخطط، ويتم الإشارة إليها بواسطة ∑.
في هذه الحالة ، الكلمات B 1 ، B 2 ، ... ، B n call الرموز الأولية، ونوع التشفير بمساعدتهم هو الترميز الأبجدي... بالطبع ، صادف معظمنا هذا النوع من الترميز ، حتى بدون معرفة كل ما وصفته أعلاه.

لذلك ، حددنا المفاهيم الأبجدية ، كلمة ، كود ،و الترميز... الآن نقدم المفهوم اختصار.

دع الكلمة B لها شكل B = B "B" "ثم B" تسمى البداية ، أو اختصارالكلمة B ، و B "" هي نهايتها. هذا تعريف بسيط إلى حد ما ، ولكن تجدر الإشارة إلى أنه بالنسبة لأي كلمة B ، يمكن اعتبار كل من الكلمة الفارغة ʌ ("الفضاء") ، والكلمة B نفسها ، بدايات ونهايات.

لذلك ، اقتربنا من فهم تعريف الرموز بدون ذاكرة. آخر تعريف يبقى لنا أن نفهمه هو مجموعة البادئة. المخطط ∑ له خاصية البادئة إذا كانت الكلمة B i ليست بادئة لكلمة B j لأي 1≤i ، j≤r ، i ≠ j.
ببساطة ، مجموعة البادئة هي مجموعة محدودة لا يكون فيها أي عنصر بادئة (أو بداية) لأي عنصر آخر. مثال بسيطهذه المجموعة ، على سبيل المثال ، أبجدية عادية.

لذلك ، توصلنا إلى التعريفات الأساسية. فكيف يحدث التشفير الفعلي بدون ذاكرة؟
يحدث على ثلاث مراحل.

  1. يتم تجميع أبجدية من رموز للرسالة الأصلية ، ويتم فرز الرموز الأبجدية بترتيب تنازلي لاحتمالية حدوثها في الرسالة.
  2. يرتبط كل رمز i من الأبجدية Ψ بكلمة معينة B i من مجموعة البادئة Ω.
  3. يتم ترميز كل حرف ، متبوعًا بدمج الرموز في دفق بيانات واحد ، والذي سيكون نتيجة الضغط.

إحدى الخوارزميات الأساسية التي توضح هذه الطريقة هي خوارزمية هوفمان.

خوارزمية هوفمان

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

بادئ ذي بدء ، عند الترميز باستخدام خوارزمية هوفمان ، نحتاج إلى بناء دائرة ∑. هكذا يتم فعل هذا:

  1. يتم ترتيب جميع أحرف أبجدية الإدخال بترتيب تنازلي للاحتمالات. تعتبر جميع الكلمات من الأبجدية لتيار الإخراج (أي ما سنشفّر به) فارغة في البداية (تذكر أن الأبجدية لتدفق الإخراج تتكون فقط من الأحرف (0،1)).
  2. يتم دمج الرمزين a j-1 و a j لتيار الإدخال ، اللذين لهما أدنى احتمالات حدوث ، في "رمز زائف" واحد مع الاحتمال صيساوي مجموع احتمالات الرموز المدرجة فيه. ثم نضيف 0 إلى بداية الكلمة B j-1 ، و 1 إلى بداية الكلمة B j ، والتي ستكون لاحقًا رموز الأحرف a j-1 و a j ، على التوالي.
  3. نقوم بإزالة هذه الرموز من أبجدية الرسالة الأصلية ، ولكن نضيف الرمز الزائف الذي تم إنشاؤه إلى هذه الأبجدية (بالطبع ، يجب إدخاله في الأبجدية في المكان المناسب ، مع مراعاة احتمالية ذلك).
يتم تكرار الخطوتين 2 و 3 حتى يبقى حرف زائف واحد فقط في الأبجدية ، يحتوي على جميع الأحرف الأصلية للأبجدية. في هذه الحالة ، نظرًا لأنه في كل خطوة ولكل حرف ، تتغير الكلمة المقابلة B i (بإضافة واحد أو صفر) ، ثم بعد الانتهاء من هذا الإجراء ، سيتوافق رمز معين B i مع كل رمز أولي للأبجدية a أنا.

للحصول على توضيح أفضل ، فكر في مثال صغير.
لنفترض أن لدينا أبجدية تتكون من أربعة أحرف فقط - (أ 1 ، أ 2 ، أ 3 ، أ 4). لنفترض أيضًا أن احتمالات حدوث هذه الرموز هي ، على التوالي ، p 1 = 0.5 ؛ ص 2 = 0.24 ؛ ص 3 = 0.15 ؛ ص 4 = 0.11 (من الواضح أن مجموع كل الاحتمالات يساوي واحدًا).

لذلك ، دعونا نبني مخططًا لأبجدية معينة.

  1. نقوم بدمج الحرفين ذوي الاحتمالات الأقل (0.11 و 0.15) في حرف p زائف ".
  2. ادمج الحرفين مع أدنى احتمال (0.24 و 0.26) في الحرف الزائف p "".
  3. أزل الأحرف المتسلسلة ، وأدخل الحرف الزائف الناتج في الأبجدية.
  4. أخيرًا ، نقوم بدمج الرمزين المتبقيين للحصول على قمة الشجرة.

إذا قدمت توضيحًا لهذه العملية ، فستحصل على شيء مثل هذا:


كما ترى ، في كل مرة ندمج فيها ، نقوم بتعيين الرموز 0 و 1 إلى الأحرف المدمجة.
بهذه الطريقة ، عندما يتم بناء الشجرة ، يمكننا بسهولة الحصول على الرمز لكل حرف. في حالتنا ، ستبدو الرموز كما يلي:

أ 1 = 0
أ 2 = 11
أ 3 = 100
أ 4 = 101

نظرًا لأن أيًا من هذه الرموز ليس بادئة لأي رمز آخر (أي أننا حصلنا على مجموعة البادئة سيئة السمعة) ، يمكننا تحديد كل رمز بشكل فريد في دفق الإخراج.
لذلك ، توصلنا إلى أن الحرف الأكثر شيوعًا يتم ترميزه بأقصر رمز ، والعكس صحيح.
إذا افترضنا أنه تم استخدام بايت واحد في البداية لتخزين كل حرف ، فيمكننا حساب مقدار ما تمكنا من تقليل البيانات.

لنفترض أن لدينا سلسلة من 1000 حرف عند الإدخال ، حيث يتكرر الحرف 1 500 مرة ، و 2 - 240 ، و 3 - 150 ، و4 - 110 مرة.

في البداية سلسلة معينةاحتلت 8000 بت. بعد التشفير ، نحصل على سلسلة طولها ∑p i l i = 500 * 1 + 240 * 2 + 150 * 3 + 110 * 3 = 1760 بت. لذلك ، تمكنا من ضغط البيانات بمقدار 4.54 مرة ، حيث أنفقنا متوسط ​​1.76 بت لتشفير كل حرف في الدفق.

دعني أذكرك أنه وفقًا لشانون ، متوسط ​​طول الرموز هو. بالتعويض عن احتمالاتنا في هذه المعادلة ، نحصل على متوسط ​​طول الكود يساوي 1.75496602732291 ، وهو قريب جدًا جدًا من النتيجة.
ومع ذلك ، يجب ألا يغيب عن البال أنه بالإضافة إلى البيانات نفسها ، نحتاج إلى تخزين جدول الترميز ، والذي سيزيد بشكل طفيف من الحجم النهائي للبيانات المشفرة. من الواضح أنه في حالات مختلفة ، يمكن استخدام أشكال مختلفة من الخوارزمية - على سبيل المثال ، في بعض الأحيان يكون الاستخدام مقدمًا أكثر كفاءة جدول معينالاحتمالات ، وأحيانًا - من الضروري تكوينها ديناميكيًا ، عن طريق المرور عبر البيانات القابلة للضغط.

استنتاج

لذلك ، في هذه المقالة حاولت التحدث عن المبادئ العامة التي يحدث بها ضغط بلا خسارة ، واعتبرت أيضًا إحدى الخوارزميات الأساسية - ترميز هوفمان.
إذا كانت المقالة تعجب مجتمع habro ، فسأكتب بكل سرور تكملة ، حيث لا يزال هناك العديد من الأشياء المثيرة للاهتمام المتعلقة بالضغط بدون فقدان ؛ هذه خوارزميات كلاسيكية وتحولات بيانات أولية (على سبيل المثال ، تحويل Burrows-Wheeler) ، وبالطبع ، خوارزميات محددة لضغط الصوت والفيديو والصور (الأكثر ، في رأيي ، موضوع مثير للاهتمام).

المؤلفات

  • Vatolin D. ، Ratushnyak A. ، Smirnov M. ، Yukin V. طرق ضغط البيانات. جهاز الأرشفة وضغط الصور ومقاطع الفيديو ؛ ردمك 5-86404-170-X ؛ 2003 ص.
  • سالومون. ضغط البيانات والصور والصوت ؛ ردمك 5-94836-027-X ؛ 2004

مبادئ ضغط المعلومات

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

تتضمن أي طريقة لضغط المعلومات تحويلين معكوسين لبعضهما البعض:

  • تحويل الضغط
  • تحويل التوسع.

يوفر تحويل الضغط رسالة مضغوطة من الأصل. يضمن إلغاء الضغط الحصول على الرسالة الأصلية (أو تقريبها) من الرسالة المضغوطة.

تنقسم جميع طرق الضغط إلى فئتين رئيسيتين

  • لا خسارة،
  • مع الخسائر.

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

خصائص خوارزمية الضغط وقابليتها للتطبيق

نسبة الضغط

نسبة الضغط هي السمة الرئيسية لخوارزمية الضغط ، والتي تعبر عن جودة التطبيق الرئيسية. يتم تعريفه على أنه نسبة حجم البيانات غير المضغوطة إلى المضغوطة ، أي:

ك = سس / سج ،

أين ك- نسبة الضغط، س o هو حجم البيانات غير المضغوطة ، و سج - حجم المضغوطة. وبالتالي ، كلما زادت نسبة الضغط ، كانت الخوارزمية أفضل. يجب ملاحظة ذلك:

  • لو ك= 1 ، ثم لا تنضغط الخوارزمية ، أي أنها تتلقى رسالة إخراج بحجم يساوي المدخلات ؛
  • لو ك < 1, то алгоритм порождает при сжатии сообщение большего размера, нежели несжатое, то есть, совершает «вредную» работу.

الوضع مع ك < 1 вполне возможна при сжатии. Невозможно получить алгоритм сжатия без потерь, который при любых данных образовывал бы на выходе данные меньшей или равной длины. Обоснование этого факта заключается в том, что количество различных сообщений длиной نالنمط: E: bit هو بالضبط 2 ن... ثم عدد الرسائل المختلفة بطول أقل من أو يساوي ن(إذا كانت هناك رسالة واحدة على الأقل ذات طول أقصر) فسيكون أقل من 2 ن... هذا يعني أنه من المستحيل مطابقة جميع الرسائل الأصلية بشكل لا لبس فيه مع رسالة مضغوطة: إما أن بعض الرسائل الأصلية لن تحتوي على تمثيل مضغوط ، أو أن عدة رسائل أصلية ستتوافق مع نفس الرسالة المضغوطة ، مما يعني أنه لا يمكن تمييزها.

يمكن أن تكون نسبة الضغط إما نسبة ثابتة (بعض خوارزميات الضغط للصوت والصور وما إلى ذلك ، على سبيل المثال ، A-law ، μ-law ، ADPCM) ، أو متغير. في الحالة الثانية ، يمكن تحديدها إما لرسالة معينة ، أو تقييمها وفقًا لبعض المعايير:

  • متوسط ​​(عادةً فوق بعض مجموعة بيانات الاختبار) ؛
  • الحد الأقصى (حالة أفضل ضغط) ؛
  • الحد الأدنى (ضغط أسوأ حالة) ؛

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

تحمل الخسارة

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

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

ومع ذلك ، يسمح لك الضغط المفقود بتحقيق نسب ضغط أعلى بكثير من خلال تجاهل المعلومات غير المهمة التي لا تنضغط جيدًا. لذلك ، على سبيل المثال ، تسمح لك خوارزمية ضغط الصوت بدون فقدان بيانات FLAC ، في معظم الحالات ، بضغط الصوت بمقدار 1.5-2.5 مرة ، بينما يمكن لخوارزمية Vorbis الضائعة ، اعتمادًا على معلمة الجودة المحددة ، ضغط ما يصل إلى 15 مرة مع الحفاظ على الجودة المقبولة . sound.

متطلبات نظام الخوارزمية

قد تتطلب الخوارزميات المختلفة كميات مختلفة من الموارد نظام الحوسبةالتي يتم تنفيذها:

  • ذاكرة الوصول العشوائي (للبيانات الوسيطة) ؛
  • ذاكرة دائمة (لرمز البرنامج والثوابت) ؛
  • وقت المعالج.

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

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

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

أنظر أيضا


مؤسسة ويكيميديا. 2010.

شاهد ما هو "ضغط المعلومات" في القواميس الأخرى:

    ضغط المعلومات- توحيد المعلومات - [L.G. Sumenko. القاموس الإنجليزي الروسي لتكنولوجيا المعلومات. M: GP TsNIIS، 2003.] موضوعات تقنيات المعلومات بشكل عام مرادفات ضغط المعلومات EN تقليل المعلومات ...

    المعلومات الضاغطة- (ضغط البيانات) عرض المعلومات (البيانات) في وحدات بت أقل من الأصل. على أساس القضاء على التكرار. تميز S. و. دون فقدان المعلومات وفقدان بعض المعلومات غير المهمة للمهام التي يتم حلها. إلى… … القاموس الموسوعي لعلم النفس والتربية

    ضغط تكيفي ضياع- - [L.G. Sumenko. القاموس الإنجليزي الروسي لتكنولوجيا المعلومات. M: GP TsNIIS، 2003.] موضوعات تقنيات المعلومات بشكل عام EN ضغط البيانات التكيفي بدون فقدان البيانات ALDC ... دليل المترجم الفني

    ضغط / ضغط المعلومات- - [L.G. Sumenko. القاموس الإنجليزي الروسي لتكنولوجيا المعلومات. M.: GP TsNIIS، 2003.] موضوعات تقنيات المعلومات بشكل عام ضغط EN ... دليل المترجم الفني

    ضغط المعلومات الرقمية- - [L.G. Sumenko. القاموس الإنجليزي الروسي لتكنولوجيا المعلومات. م: GP TsNIIS ، 2003.] موضوعات تقنيات المعلومات في ضغط EN العام ... دليل المترجم الفني

    الصوت عبارة عن موجة بسيطة و الإشارات الرقميةهو تمثيل لهذه الموجة. يتم تحقيق ذلك من خلال حفظ السعة الإشارات التناظريةعدة مرات في غضون ثانية واحدة. على سبيل المثال ، في قرص مضغوط عادي ، يتم حفظ الإشارة 44100 مرة في ... ... ويكيبيديا

    عملية تقلل من كمية البيانات عن طريق تقليل التكرار. يتضمن ضغط البيانات ضغط قطع البيانات ذات الحجم القياسي. يتم التمييز بين الضغط المفقود وغير المنقوص. باللغة الإنجليزية: البيانات ... ... مفردات مالية

    ضغط الخريطة الرقمية- معالجة معلومات الخرائط الرقمية لتقليل حجمها بما في ذلك القضاء على التكرار ضمن الدقة المطلوبة لعرضها. [GOST 28441 99] الموضوعات رسم الخرائط الرقمية تعميم المصطلحات والأساليب والتقنيات ... ... دليل المترجم الفني

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

خلال الفصول

1. الجزء التنظيمي.
2. تحديث المعرفة الأساسية.
3. تعلم مواد جديدة
4. تأمين مواد جديدة.
5. الواجب المنزلي.
6. تلخيص الدرس.

تعلم مواد جديدة

1. ما هي الأرشفة. مفهوم ضغط البيانات.
2. الأنواع الرئيسية لبرامج الأرشفة.
3. برنامج WIN-RAR أرشيفي.
4. كيفية إضافة ملف إلى الأرشيف واستخراجه من الأرشيف.

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

أرشفة البيانات هي دمج عدة ملفات أو أدلة في ملف أرشيف واحد.

ضغط البيانات - تقليل حجم الملفات الأصلية عن طريق التخلص من المعلومات الزائدة عن الحاجة.

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

تعتمد نسبة الضغط على نوع الملف وعلى برنامج الأرشفة. الأهم من ذلك كله يتقلص ملفات نصية، على الأقل - ملفات الصوت والفيديو.

أرشفة الملفات. مهام

حتى الآن ، كنا نتحدث عن غرض واحد من أرشفة البيانات - استخدام أكثر اقتصادا لوسائط التخزين. ومع ذلك ، باستخدام الأرشفة ، يمكنك تنفيذ مجموعة كاملة من المهام:
1. تقليل حجم الملفات (مهم ليس فقط لتوفير مساحة على الوسائط ، ولكن أيضًا لنقل الملفات بسرعة عبر الشبكة).
2. النسخ الاحتياطي إلى الوسائط الخارجية لتخزين المعلومات المهمة.

3. الأرشفة عند تشفير البيانات لتقليل احتمالية كسر نظام التشفير.

تسمى عملية كتابة المعلومات في ملف أرشيف الأرشفة.
استخراج الملفات من الأرشيف - فك الضغط.

ظهرت برامج الأرشفة الأولى في منتصف الثمانينيات. لقد ركزوا على العمل في MS-DOC ودعموا تنسيقات الأرشيف الشائعة: ARC و ICE و ARJ و ZIP و RAR ، إلخ. كانت هناك أيضًا مجموعة من المحفوظات التي جمعت البيانات في أرشيفات ذاتية الاستخراج - ملفات ذات امتدادات. على سبيل المثال ،. كوم. تم إنشاء أرشفة مقيمة لضغط القرص بأكمله. لقد جعلوا من الممكن زيادة كفاءة استخدام مساحة القرص عن طريق إنشاء ملفات أرشيف كبيرة - "ضغطات" القرص.

أصبح العمل مع الأرشيف أكثر ملاءمة مع ظهور إصدارات Windows و Windows من المحفوظات. من تنسيقات الأرشيف السابقة بين مستخدمو Windows ARJ ، ZIP - لقد ترسخت جذور البرامج التي تفك ضغط الملفات بالفعل. يمكن وضع ملفات الأرشيف كبيرة الحجم على عدة أقراص مرنة (وحدات تخزين). تسمى هذه المحفوظات بأجزاء متعددة.

توم هو مكونأرشيف متعدد الأجزاء.

يتم الآن استخدام العشرات من برامج الأرشفة ، والتي تختلف في قائمة الوظائف ومعاملات التشغيل ، ولكن أفضلها له نفس الخصائص تقريبًا. نعلم أن حزم الملفات وتفريغها يتم بواسطة نفس البرنامج ، ولكن في بعض الحالات يتم ذلك برامج مختلفة، على سبيل المثال ، يقوم برنامج RKZIP بحزم الملفات ، ويقوم RKUNZIP بفك ضغط الملفات.
تسمح لك برامج الأرشفة بإنشاء مثل هذه المحفوظات ، للاستخراج منها لا تحتاج إلى أي برامج ، حيث أن ملفات الأرشيف تحتوي على برنامج استخراج ذاتي. تسمى هذه المحفوظات أرشيفات SFX.

وضع الملفات في أرشيف: ابدأ البرامج WINRAR أو كاختصار على سطح المكتب.

أرشيفي عالمي WINRAR

يهدف أرشيفي WINRAR أيضًا إلى أرشفة الملفات. يحتوي على واجهة رسومية مريحة ويدعم تقنية السحب والإفلات. يسمح لك برنامج WINRAR بالعمل ليس فقط مع الأرشيف rar، ولكن أيضًا مع تنسيقات الأرشيف الأخرى: zip ، cab ، arj ، lzh. يتم تشغيل WINRAR من قبل أي من الطرق الممكنةالمقدمة في Windows. بدء تشغيل البرنامج باستخدام القائمة الرئيسية للزر "ابدأ" البرامج WINRAR WINRAR أو باستخدام اختصار على سطح المكتب.

مسح اختباري حول أساسيات العمل مع الأقراص.
واجب منزلي.
درس الاستبطان.

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

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

ومع ذلك ، فإن الكثيرين لا يعرفون حتى ما تسمى عملية ضغط المعلومات ، ناهيك عن الخوارزميات المستخدمة وما يقدمه تطبيق كل منها.

هل يجب ضغط البيانات؟

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

ومع ذلك ، في هذه الحالة ، يجب أن تفهم بشكل صحيح أنه بمرور الوقت ، تزداد أيضًا كمية البيانات التي يجب نقلها. وإذا كان حجم 700 ميجابايت حرفيًا قبل عشر سنوات يعتبر معيارًا لفيلم عادي ، فإن الأفلام التي يتم إنتاجها بجودة HD يمكن أن تحتوي اليوم على أحجام مساوية لعشرات الجيجابايت ، ناهيك عن المساحة الخالية التي تشغلها الأفلام عالية الجودة. بتنسيق Blu-ray.

متى يكون ضغط البيانات ضروريًا؟

بالطبع ، لا ينبغي أن تتوقع أن تجلب لك عملية ضغط المعلومات الكثير من الفوائد ، ولكن هناك عددًا من المواقف التي تكون فيها بعض طرق ضغط المعلومات مفيدة للغاية بل وضرورية:

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

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

كيف يمكن ضغط البيانات؟

توجد اليوم مجموعة متنوعة من الطرق لضغط المعلومات ، لكنها جميعًا مقسمة إلى مجموعتين رئيسيتين - هذا هو الضغط مع بعض الخسائر ، وكذلك الضغط دون خسارة.

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

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

الضياع

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

ضغط بلا خسائر

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

طرق عامة

من بين أمور أخرى ، هناك سلسلة معينة طرق عالميةالتي يتم من خلالها تنفيذ عملية فعالة لضغط المعلومات لتقليل المساحة التي تشغلها. بشكل عام ، هناك ثلاث تقنيات رئيسية فقط:

  • تيار التحويل. في هذه الحالة ، يتم تنفيذ وصف المعلومات غير المضغوطة الواردة الجديدة من خلال الملفات التي تمت معالجتها بالفعل ، بينما لا يتم حساب الاحتمالات ، ولكن يتم تشفير الأحرف بناءً على تلك الملفات التي خضعت بالفعل لعملية معينة.
  • الضغط الإحصائي. تنقسم عملية ضغط المعلومات هذه لتقليل المساحة التي تشغلها على القرص إلى فئتين فرعيتين - الطرق التكيفية وطرق الحظر. يوفر الإصدار التكيفي لحساب الاحتمالات للملفات الجديدة بناءً على المعلومات التي تمت معالجتها بالفعل أثناء عملية التشفير. على وجه الخصوص ، يجب أن تتضمن هذه الأساليب أيضًا متغيرات تكيفية مختلفة لخوارزميات شانون-فانو وهوفمان. توفر خوارزمية الكتلة حسابًا منفصلاً لكل كتلة من المعلومات مع الإضافة اللاحقة إلى الكتلة الأكثر ضغطًا.
  • كتلة التحول. يتم تقسيم المعلومات الواردة إلى عدة كتل ، ثم يحدث تحول شامل. يجب أن يقال أن بعض الطرق ، خاصة تلك التي تعتمد على تبديل عدة كتل ، يمكن أن تؤدي في النهاية إلى انخفاض كبير في كمية المعلومات التي يتم ضغطها. ومع ذلك ، يجب أن نفهم بشكل صحيح أنه بعد هذه المعالجة ، يحدث تحسن كبير في النهاية ، ونتيجة لذلك يكون الضغط اللاحق من خلال خوارزميات أخرى أسهل وأسرع.

ضغط النسخ

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

لماذا هذا مطلوب؟

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

يمكن إجراء ضغط البيانات للنسخ الاحتياطي في ملف واحد أو عدة ملفات - في هذه الحالة ، سيعتمد كل شيء على البرنامج الذي تستخدمه والمعلومات التي تضغطها.

عند اختيار أداة مساعدة ، تأكد من إلقاء نظرة على مدى قدرة البرنامج الذي اخترته على ضغط البيانات. يعتمد ذلك على نوع المعلومات ، ونتيجة لذلك يمكن أن تزيد كفاءة ضغط المستندات النصية عن 90٪ ، بينما لن تزيد الكفاءة عن 5٪.

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

ضغط المعلوماتهي عملية تحويل الرسالة الأصلية من نظام كود إلى آخر ، ونتيجة لذلك حجم الرسالة... يمكن تقسيم الخوارزميات المصممة لضغط المعلومات إلى مجموعتين كبيرتين: تلك الخوارزميات التي تنفذ ضغطًا بلا خسارة (ضغط عكسي) وتلك التي تنفذ ضغطًا مع فقدان البيانات (ضغط لا رجوع فيه).

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

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

دعنا نلقي نظرة فاحصة على بعض الطرق الأكثر شيوعًا لضغط البيانات العكسي.

الطريقة والخوارزمية الأكثر شهرة للضغط العكسي للمعلومات هي Run Length Encoding (RLE). يتمثل جوهر طرق هذا النهج في استبدال سلاسل أو سلسلة من البايتات المتكررة بحشو بايت واحد للتشفير وعداد لعدد التكرارات. تكمن المشكلة في جميع الطرق المماثلة في تحديد الطريقة التي يمكن بها لخوارزمية التفريغ أن تميز السلسلة المشفرة في دفق البايت الناتج عن تسلسلات البايت غير المشفرة الأخرى. عادة ما يتحقق حل المشكلة عن طريق وضع الملصقات في بداية السلاسل المشفرة. يمكن أن تكون هذه العلامات قيم بت مميزة في البايت الأول من التشغيل المشفر ، قيم البايت الأول من التشغيل المشفر. عيب طريقة RLE هو نسبة الضغط المنخفضة نسبيًا أو تكلفة تشفير الملفات بعدد صغير من السلاسل ، والأسوأ من ذلك ، مع عدد صغير من البايتات المتكررة في سلسلة.

باستخدام التشفير الموحد للمعلومات ، يتم تخصيص نفس عدد البتات للرسالة ، بغض النظر عن احتمال حدوثها. في الوقت نفسه ، من المنطقي أن نفترض أن الطول الإجمالي للرسائل المرسلة سينخفض ​​إذا تم تشفير الرسائل المتكررة بكلمات مشفرة قصيرة ، ورسائل نادرة - بأخرى أطول. ترتبط المشاكل الناشئة في هذه الحالة بالحاجة إلى الاستخدام رموز متغيرة الطول... هناك العديد من الأساليب لبناء مثل هذه الرموز.

تعد طرق القاموس واحدة من أكثر الأساليب المستخدمة على نطاق واسع في الممارسة العملية ، والممثلون الرئيسيون لها هم خوارزميات عائلات Ziv و Lempel. فكرتهم الرئيسية هي استبدال أجزاء تدفق الإدخال ("العبارات") بمؤشر إلى المكان الذي ظهرت فيه بالفعل في النص. في الأدبيات ، يشار إلى هذه الخوارزميات باسم الخوارزميات ضغط LZ.

تتكيف هذه الطريقة بسرعة مع بنية النص ويمكنها ترميز الكلمات الوظيفية القصيرة ، كما تظهر في كثير من الأحيان فيه. يمكن أيضًا تكوين كلمات وعبارات جديدة من أجزاء من الكلمات التي تمت مواجهتها مسبقًا. يتم تنفيذ فك تشفير النص المضغوط مباشرة - هناك استبدال بسيط للمؤشر بعبارة جاهزة من القاموس الذي يشير إليها. في الممارسة العملية ، تحقق طريقة LZ ضغطًا جيدًا ، وخاصيتها المهمة هي العمل السريع جدًا لوحدة فك التشفير.

طريقة أخرى لضغط المعلومات هي كود هوفمان، الذي يحتوي برنامج التشفير وفك التشفير الخاص بهما على تطبيق بسيط للأجهزة. فكرة الخوارزمية هي كما يلي: معرفة احتمالات ظهور الأحرف في الرسالة ، يمكننا وصف الإجراء الخاص بإنشاء رموز متغيرة الطول تتكون من عدد صحيح من البتات. من المرجح أن يتم تعيين الرموز أكثر من رموز قصيرة، بينما تكون الأحرف الأقل شيوعًا أطول. يؤدي هذا إلى تقليل متوسط ​​طول كلمة المرور وكفاءة ضغط أعلى. تحتوي أكواد هوفمان على بادئة فريدة (بداية كلمة الشفرة) ، مما يسمح بفك تشفيرها بشكل فريد ، على الرغم من طولها المتغير.

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

ص (S 1) = 0.2 ، ص (2) = 0.15 ، ف (س 3) = 0.55 ، ف (س 4) = 0.1... دعونا نفرز الرموز بترتيب تنازلي لاحتمالية الحدوث ونقدمها في شكل جدول (الشكل 14.3 ، أ).

يتكون إجراء تركيب الكود من ثلاث مراحل رئيسية. في المرحلة الأولى ، يتم طي صفوف الجدول: يتم استبدال صفين متطابقين مع الرموز ذات أدنى احتمالية للوقوع بواحد مع الاحتمال الإجمالي ، وبعد ذلك يتم إعادة ترتيب الجدول مرة أخرى. يستمر الالتفاف حتى يوجد صف واحد فقط في الجدول مع احتمال إجمالي يساوي واحدًا (الشكل 14.3 ، ب).


أرز. 14.3.

في المرحلة الثانية ، يتم إنشاء شجرة الكود باستخدام جدول مطوي (الشكل 14.4 ، أ). تم بناء الشجرة بدءًا من العمود الأخير في الجدول.


أرز. 14.4.

يشكل جذر الشجرة الوحدة في العمود الأخير. في المثال قيد النظر ، تتكون هذه الوحدة من الاحتمالين 0.55 و 0.45 ، الموصوفتين كعقدتين شجرتين مرتبطتين بالجذر. أولهما يتوافق مع الرمز S 3 ، وبالتالي ، لا يحدث مزيد من التفرع لهذه العقدة.

العقدة الثانية ، المسمى باحتمال 0.45 ، تتصل بنقطتين من المستوى الثالث ، باحتمالية 0.25 و 0.2. يتوافق الاحتمال 0.2 مع الرمز S 1 ، ويتشكل الاحتمال 0.25 بدوره من الاحتمالين 0.15 لظهور الرمز S 2 و 0.1 لظهور الرمز S 4.

يتم ترقيم الحواف التي تربط العقد الفردية لشجرة الكود بالرقم 0 و 1 (على سبيل المثال ، الحواف اليسرى 0 والحواف اليمنى 1). في المرحلة الثالثة ، الأخيرة ، تم بناء جدول تتم فيه مقارنة رموز المصدر وكلمات شفرة هوفمان المقابلة. تتشكل كلمات الكود هذه من خلال قراءة الأرقام التي تحدد الحواف التي تشكل مسارًا من جذر الشجرة إلى الرمز المقابل. بالنسبة للمثال قيد الدراسة ، ستتخذ كود Huffman الشكل الموضح في الجدول على اليمين (الشكل 14.4 ، ب).

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

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

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

طرق هوفمان تعطي سرعة عالية ومعتدلة إلى حد ما جودة جيدةضغط. ومع ذلك ، يحتوي ترميز هوفمان على حد أدنى من التكرار ، بشرط أن يتم تشفير كل حرف في أبجدية رمز الحرف بسلسلة منفصلة من بتتين - (0 ، 1). العيب الرئيسي هذه الطريقةهو اعتماد نسبة الضغط على قرب احتمالات الرموز من 2 إلى درجة سالبة ، وهذا يرجع إلى حقيقة أن كل رمز مشفر بعدد صحيح من البتات.

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

يعتبر التسلسل المقدر المطلوب للأحرف عند ضغطه بطريقة الترميز الحسابي جزءًا ثنائيًا من الفاصل الزمني)

هل أعجبك المقال؟ أنشرها