Professional Documents
Culture Documents
Information Theory and Coding
Information Theory and Coding
مدرسة املقرر
د.بشرى علي معال
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/
آلية العمل
➢ نشكل قائمة متناسبة مع احتماالت أو تكرار الرموز.
ا ا ا
➢ نرتب هذه الرموز وفقا لتكرارها ضمن مجموعة بحيث تكون الرموز األكثر تكرارا في اليسار ,والرموز األقل تكرارا في اليمين.
➢ نقسم هذه املجموعة لجزأين ,مع عدد تكرار(احتمال) في الجزء اليساري أقرب ما يمكن لعدد التكرار في الجزء اليميني.
ليكن لدينا النص اآلتي املكون من مجموعة من املحارف مع احتماالت تكرارها والتي يريد املرسل إرسالها كما هو موضح بالجدول:
واملطلوب :أوجد ترميز كل محرف من محارف النص الواردة في الجدول السابق باستخدام ترميز شانون-فانو؟
6 https://manara.edu.sy/
0.56 0.44
A G D E B F
7 https://manara.edu.sy/
ترميز شانون-فانو:فيكون ترميز كل محرف من محارف النص الواردة في الجدول السابق باستخدام
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
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
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
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
22
https://manara.edu.sy/
نهاية المحاضرة الخامسة
23 https://manara.edu.sy/