Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

‫جامعة المنارة‬

‫قسم هندسة المعلوماتية‬

‫‪Information theory and coding‬‬


‫نظرية المعلومات و الترميز‬

‫مدرسة املقرر‬
‫د‪.‬بشرى علي معال‬

‫العام الدراسي ‪2024-2023‬‬ ‫‪https://manara.edu.sy/‬‬ ‫الفصل األول‬


‫طرائق ضغط البيانات‬

Data Compression Methods

Lossless Methods Lossly Methods


(Text) (Image, Audio & Video)

Run- Arithmetic Shanon


Huffman Lempel Ziv JPEG MPEG MP3
length coding fano

2 https://manara.edu.sy/ DCT
‫تعريف ترميزشانون‪-‬فانو)‪)Shanon-Fano Definition‬‬

‫✓ طور العاملان ‪ Claude E.Shannon‬و‪ Robert M.Fano‬إجرائية ترميز ترتكز في عملها على تجميع مجموعة رموز مع االحتماالت املتعلقة‬
‫بها‪.‬‬
‫✓ يعد أول طريقة مطورة إليجاد تراميز ذات طول متغير‪.‬‬

‫✓ يعد سهل التنفيذ وذا أداء عال مقارنة مع املتطلبات البسيطة لعملية البرمجة‪.‬‬
‫✓ ال يندرج تحت عنوان التراميز ذات األهمية الكبيرة كون فعالية ترميزه منخفضة مقارنة مع التراميز الشهيرة كترميز هوفمان‪.‬‬
‫ا‬
‫✓ يمكن القول أنه ال يقدم تراميز منبع مثالية لذا فهو قليل االستخدام ويفضل استخدام ترميز هوفمان بدال منه‪.‬‬
‫✓ إن هذا الترميز يحقق نتائج أفضل عندما ترد الرموز وفق احتماالت تكرار مرفوعة للقوة ‪.2‬‬
‫‪3‬‬ ‫‪https://manara.edu.sy/‬‬
‫مقارنة مع ترميزهوفمان‬

‫✓ تعد طريقة ترميز شانون‪-‬فانو مشابهة بعض الش يء لترميز هوفمان‬

‫▪ فهي تنتج التراميز األفضل املتناسبة مع احتماالت التكرار‪.‬‬

‫▪تحقق الترميز األمثل عندما تكون احتمالية الرموز مرفوعة للقوة ‪2‬‬

‫✓ االختالف األساس ي بين هاتين الطريقتين هي أن شانون‪ -‬فانو يبني الترميز من األعلى لألسفل‪ ,‬بينما يشكل هوفمان شجرة الترميز بطريقة‬
‫معاكسة‪.‬‬

‫‪4‬‬ ‫‪https://manara.edu.sy/‬‬
‫آلية العمل‬
‫➢ نشكل قائمة متناسبة مع احتماالت أو تكرار الرموز‪.‬‬
‫ا‬ ‫ا‬ ‫ا‬
‫➢ نرتب هذه الرموز وفقا لتكرارها ضمن مجموعة بحيث تكون الرموز األكثر تكرارا في اليسار‪ ,‬والرموز األقل تكرارا في اليمين‪.‬‬

‫➢ نقسم هذه املجموعة لجزأين‪ ,‬مع عدد تكرار(احتمال) في الجزء اليساري أقرب ما يمكن لعدد التكرار في الجزء اليميني‪.‬‬

‫➢ نخصص للجزء اليساري الرمز ‪ 0‬وللجزء اليميني الرمز‪.1‬‬

‫➢ نكرر الخطوتين األخيرتين على كل مجموعة‪.‬‬


‫➢ ونستمر بذلك حتى نصل إلى نهاية الشجرة‪.‬‬
‫ا‬
‫➢ مع مالحظة أنه كلما كان التقسيم ملجموعات جزئية أفضل ( االحتماالت بين هذه املجموعات متقاربة جدا)‪ ،‬كلما حصلنا على الترميز‬
‫األفضل واألكثر مثالية‪.‬‬
‫‪5‬‬ ‫‪https://manara.edu.sy/‬‬
‫مثال (‪)1‬‬

‫ليكن لدينا النص اآلتي املكون من مجموعة من املحارف مع احتماالت تكرارها والتي يريد املرسل إرسالها كما هو موضح بالجدول‪:‬‬

‫المحرف‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬ ‫‪D‬‬ ‫‪E‬‬ ‫‪F‬‬ ‫‪G‬‬


‫االحتمال‬ ‫‪0.2 0.12‬‬ ‫‪0.21‬‬ ‫‪0.13‬‬ ‫‪0.13‬‬ ‫‪0.06‬‬ ‫‪0.15‬‬

‫واملطلوب‪ :‬أوجد ترميز كل محرف من محارف النص الواردة في الجدول السابق باستخدام ترميز شانون‪-‬فانو؟‬

‫‪6‬‬ ‫‪https://manara.edu.sy/‬‬
0.56 0.44

0.21 0.20 0.15 0.13 0.13 0.12 0.06


C A G D E B F
0 1
0.56
0.44

0.21 0.20 0.15 0.13 0.13 0.12 0.06


C A G D E B F
0 1 0 1
0.35 0.26 0.18
0.21 0.20 0.15 0.13 0.13 0.12 0.06
C A G D E B F
0 1 0 1 0 1

A G D E B F
7 https://manara.edu.sy/
‫ترميز شانون‪-‬فانو‪:‬فيكون ترميز كل محرف من محارف النص الواردة في الجدول السابق باستخدام‬

‫المحرف‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬ ‫‪D‬‬ ‫‪E‬‬ ‫‪F‬‬ ‫‪G‬‬


‫االحتمال‬ ‫‪0.2‬‬ ‫‪0.12‬‬ ‫‪0.21‬‬ ‫‪0.13‬‬ ‫‪0.13‬‬ ‫‪0.06‬‬ ‫‪0.15‬‬
‫ترميزه‬ ‫‪010‬‬ ‫‪110‬‬ ‫‪00‬‬ ‫‪100‬‬ ‫‪101‬‬ ‫‪111‬‬ ‫‪011‬‬

‫‪8‬‬ ‫‪https://manara.edu.sy/‬‬
‫مثال ‪2‬‬
‫يولد مصدرمعلومات ‪ A‬الرموزاآلتية }‪ {A0,A1,A2,A3,A4‬وفق االحتماالت اآلتية ‪:‬‬
‫‪A0=0.4, A1= 0.3, A2=0.15, A3=0.1, A4= 0.05‬‬

‫واملطلوب‪:‬أوجد ترميز شانون‪-‬فانو لهذه الرموز‪.‬‬

‫‪https://manara.edu.sy/‬‬ ‫‪9‬‬
0.6
0.4 0.3 0.15 0.1 0.05
A0 A1 A2 A3 A4
0 1
0.3
0.4 0.3 0.15 0.1 0.05
A0 A1 A2 A3 A4
0 0.15 1
0.3 0.15 0.05
0.1
A1 A2 A3 A4
0 1
0.15 0.05
0.1
‫المحرف‬ A0 A1 A2 A3 A4
A2 A3 A4
‫االحتمال‬ 0.4 0.3 0.15 0.1 0.05 0 1
0.1 0.05
‫ترميزه‬ 0 10 110 1110 1111 A3 A4
10 https://manara.edu.sy/
‫طرائق ضغط البيانات‬
Data Compression Methods

Lossless Methods Lossly Methods


(Text) (Image, Audio & Video)

Run- Arithmetic Shanon


Huffman Lempel Ziv JPEG MPEG MP3
length coding fano

11 https://manara.edu.sy/ DCT
‫‪Lempel-Ziv Algorithm‬‬
‫• تعرف هذه الخوارزمية بـ ‪Dictionary Coding‬ـ (خوارزميات الضغط عن طريق اإلستبدال النص ي أو الضغط عن طريق‬
‫القواميس )‬
‫• هي خوارزمية ضغط دون ضياع‪ ,‬وتعد أحد أصناف التراميز اإلحصائية‬
‫• تعتمد على مراقبة العالقة بين أجزاء البيانات الواردة واستبدال جميع الكلمات املكررة بدليل يشير إليها وهو أقصر منها‬
‫وذلك في جدول ‪ dictionary‬الذي يحوي الكلمات الواردة في النص املراد ترميزه‪.‬‬
‫• تصنف خوارزميات الضغط (‪ )LZ‬إلى صنفين‪:‬‬
‫‪LZ77 .i‬‬
‫‪LZ78 .ii‬‬
‫تتفق الخوارزميتين من حيث املبدأ‪.‬‬
‫‪12‬‬ ‫‪https://manara.edu.sy/‬‬
Lempel-Ziv Algorithm
:‫) إلى صنفين‬LZ( ‫تصنف خوارزميات الضغط‬

13 https://manara.edu.sy/
‫الخوارزمية ‪LZ78‬‬

‫مبدأ العمل‪:‬‬

‫تعتمد هذه الخوارزمية على بناء جدول يتضمن كل الكلمات‬


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

‫‪14‬‬ ‫‪https://manara.edu.sy/‬‬
‫الخوارزمية ‪LZ78‬‬
‫➢عملية بناء القاموس ‪dictionary‬‬
‫• في حال ورود الكلمة ألول مرة‪:‬‬
‫ترمز بكلمة ترميز وتكون مؤلفة من جزأين هما الدليل والكلمة نفسها ‪)index,word( :‬‬
‫➢ في حال كانت الكلمة في الجدول‪:‬‬
‫هنا ال داع إلرسال الكلمة ويتم إرسال الدليل فقط كالتالي (‪(index,‬‬

‫‪15‬‬ ‫‪https://manara.edu.sy/‬‬
‫الخوارزمية ‪LZ78‬‬

‫يعرف هذا الجدول بالقاموس املتكيف ( ‪: (adaptive dictionary‬‬


‫أي أنه ال حاجة ألن يكون فاك الترميز على علم مسبق بمحتويات هذا الجدول‪ ،‬وإنما يقوم ببناء جدوله حاملا يستقبل‬
‫البيانات الواردة وذلك بآلية مشابهة لآللية التي يعمل بها املرمز‬

‫‪16‬‬ ‫‪https://manara.edu.sy/‬‬
‫مثال (‪)1‬عن الخوارزمية ‪LZ78‬‬
‫المطلوب ترميز سلسلة المحارف اآلتية‪ABBCBCABABCAABCAAB :‬‬

‫‪17‬‬ ‫‪https://manara.edu.sy/‬‬
‫‪ABBCBCABABCAABCAAB‬‬ ‫مثال ‪:‬‬
‫‪A B‬‬ ‫‪B C‬‬ ‫‪B CA BA‬‬ ‫‪BCAA‬‬ ‫‪BCAAB‬‬

‫‪ B :BCAA‬موجودة ال نضيفها‬
‫‪:A‬غير موجودة في الجدول نضيفها‬ ‫‪ BC‬موجودة ال نضيفها‬
‫إليه‬ ‫‪ BCA‬موجودة ال نضيفها‬
‫‪ BCAA‬غير موجودة نضيفها مع دليل ‪BCA‬وهو ‪4‬‬

‫‪:B‬غير موجودة في الجدول نضيفها‬


‫‪ B :BA‬موجودة‬
‫إليه‬
‫‪ BA‬غير موجودة لذلك نضيفها مع دليل‬
‫‪B‬وهو ‪2‬‬
‫‪ :BC‬لدينا ‪ B‬موجودة في الجدول لذلك ال نرسلها وإنما نرسل‬
‫الدليل الذي يشير إلى موقعها أما ‪ BC‬فهي غير موجودة لذلك‬ ‫‪ B‬موجودة ال نضيفها‬
‫نضيفها للجدول مع دليل ‪)2,C( B‬‬ ‫‪ BC‬موجودة ال نضيفها‬
‫‪BCA‬غير موجودة نضيفها مع دليل ‪BC‬ضمن الجدول‬
‫وهو‪3‬‬
‫‪18‬‬ ‫‪https://manara.edu.sy/‬‬
‫مثال (‪)1‬عن الخوارزمية ‪LZ78‬‬
‫➢ يرمزالجزء الصحيح من كلمة الترميزبعدد بتات تمثل الترميزالثنائي لـ (للدليل –‪(1‬‬
‫الرسالة املرمزة‪(0,A)(0,B)(2,C)(3,A)(2,A)(4,A)(6,B) :‬‬
‫‪1 2 3 4‬‬ ‫‪5 6 7‬‬
‫ً‬
‫➢ مثال )‪(4,A‬حسب الرسالة املرمزة دليل كلمة الترميزهذه هو ‪ 6‬و الجزء الصحيح هو ‪:4‬‬
‫‪Index=6‬‬ ‫‪Index-1=5‬‬ ‫لترميزالعدد ‪ 5‬إلى ‪ 3‬خانات‬ ‫‪ 4‬ترمزبـ ‪100‬‬

‫الرسالة املرمزة‪(0,A)(0,B)(2,C)(3,A)(2,A)(4,A)(6,B) :‬‬ ‫• و منه‪:‬‬


‫‪index‬‬ ‫‪1 2 3 4 5 6 7‬‬

‫‪0A0B10C11A010A100A110B‬‬
‫‪19‬‬ ‫‪https://manara.edu.sy/‬‬
‫‪.‬‬
‫مثال (‪)1‬عن الخوارزمية ‪LZ78‬‬
‫ا‬
‫➢ مقدار الضغط =عدد البتات املطلوبة لترميز هذه الرسالة باآلسكي مقسوما على عدد البتات الالزمة للترميز باستخدام‬
‫الخوارزمية ‪LZ78‬‬
‫• يكون عدد البتات املطلوبة لترميز هذه الرسالة بلغة ‪ASCII‬هو‪:‬‬
‫‪7*18=126 bits‬‬
‫➢ يكون عدد البتات املطلوبة للترميز باستخدام الخوارزمية ‪: LZ78‬‬
‫‪0A 0B 10C 11A 010A 100A 110B‬‬
‫)‪(1+7) (1+7) (2+7) (2+7) (3+7) (3+7) (3+7‬‬
‫‪(1+7) + (1+7) + (2+7) + (2+7) + (3+7) + (3+7)+ (3+7)= 64 bits‬‬
‫➢مقدار الضغط‪126/64=1.96 :‬‬
‫‪20‬‬ ‫‪https://manara.edu.sy/‬‬
LZ78 ‫)عن الخوارزمية‬2( ‫مثال‬
(0, A) (0, B) (2, C) (3, A) (2, A) (4, A) (6, B) : ‫ فك ترميز الرسالة‬:‫المطلوب‬
1 2 3 4 5 6 7
(0, A) (0, B) (2, C) (3, A) (2, A) (4, A) (6, B)
A B string(2) string(3) string(2) string(4) string(6) Dictionary
+C +A +A +A +B Output Index string
A 1 A
B 2 B
BC 3 BC
BCA 4 BCA
BA 5 BA
BCAA 6 BCAA
BCAAB 7 BCAAB

ABBCBCABABCAABCAAB :‫ الرسالة بعد فك ترميزها‬


21 https://manara.edu.sy/
‫إيجابيات وسلبيات الخوارزمية ‪LZ‬‬

‫إيجابيات الخوارزمية ‪lempl zif‬‬

‫❖تحقق نسبة ضغط كبيرة وفعالة من أجل النصوص الكبيرة‬


‫ا‬ ‫ا‬
‫❖ال داع ألن يحتوي فاك الترميز على (‪ ) dictionary‬مسبقا‪ ،‬ألنه يقوم ببنائه اعتمادا على البيانات الواردة بالتتالي‬
‫سلبيات الخوارزمية ‪lempl zif‬‬

‫❖غير فعالة في ضغط النصوص الصغيرة‬

‫‪22‬‬
‫‪https://manara.edu.sy/‬‬
‫نهاية المحاضرة الخامسة‬

‫‪23‬‬ ‫‪https://manara.edu.sy/‬‬

You might also like