Professional Documents
Culture Documents
03 Text Coding
03 Text Coding
8
Organizing Files for Performance
Organizing Files for Performance
Organizing Files for Performance
Organizing Files for Performance
Organizing Files for Performance
RLE
طريقةRLE
طريقة
بط+ول الترم+يز تع+ني و Run Length Encoding
• هي اختص ار ل Run Length Encodingو تع ني الترم يز بط ول ل اختص+ار هي •
التعداد.
التعداد.
الالمصدري. الصنف من و فاقدة غير ضغط طريقة ••
طريق ة ض غط غ ير فاق دة ومن أبس ط و أس هل الط رق وس ريعة و هي
بكثرة.ن+وع ال+ذي يتك+رر
الواحدس+بة لل
Bytesهي منا
ال+ريعة و
+رقفيهوس +هل الط
يتكرر للنوع أس
الذي • من أب
مناسبةس+ط و
تبديل سلسلة من ال Bytesأو من البيانات علىبكثرة. الواحد Bytes
الطريقة تعتمدالهذه
• فيه
إحداها.س+لة من ال Bytesأو من البيان+اتتاركة+ديل سل
تكرارهاعلى تب
بعددالطريق+ة • تعتم+د
المتكررةه+ذه
إحداها.وي المل ف على سالس ل بط ول تاركةدما يحت
تكرارهاط عن
بعددفعال ة فق المتكررة
الطريق ة • هذه
+ول من بط+
ثالث سالس++ل
على أك ثر الملا++ف
الرم ز +ويفيه
يحت+رر عن++طثالثعن+ة+دما
أي يتك فعال+د+ة فق
+ة يزي
منه +ا
الطريق • هذه
الواح دة
الواح++دة منه++ا يزي++د عن ثالث++ة أي يتك++رر فيه++ا الرم++ز أك++ثر من ثالث مرات.
مناس بة ج دًا إذا ك ثرت السالس ل من البيان ات المتك ررة في المل ف مرات. • هي
الواحدمناس+بة ج+دًا إذا ك+ثرت السالس+ل من البيان+ات المتك+ررة في المل+ف • هي
الواح+د ,مث+ل الص+ور ال+تي تحت+وي الكث+ير من البي+اض أو ص+فحة فيه+ا
الكثير من الفراغات.
• تدعم نماذج PDFو . TIFF
14
14
Organizing Files for Performance
Organizing Files for Performance
Purpose of Huffman Coding
E e r i space
ysnarlk.
Building a Tree
Scan the original text
Eerie eyes seen near lake.
• What is the frequency of each character in the text?
E i y l k . r s n a sp e
1 1 1 1 1 1 2 2 2 2 4 8
Building a Tree
E i y l k . r s n a sp e
1 1 1 1 1 1 2 2 2 2 4 8
Building a Tree
y l k . r s n a sp e
1 1 1 1 2 2 2 2 4 8
E i
Building a Tree
y l k . r s n a sp e
1 1 1 1 2 2 2 2 4 8
E i
Building a Tree
k . r s n a sp e
1 1 2 2 2 2 4 8
E i
y l
Building a Tree
2
k . r s n a 2 sp e
1 1 2 2 2 2 4 8
y l
E i
Building a Tree
r s n a 2 2 sp e
2 2 2 2 4 8
y l
E i
k .
Building a Tree
r s n a 2 2 sp e
2
2 2 2 2 4 8
E i y l k .
Building a Tree
n a 2 sp e
2 2
2 2 4 8
E i y l k .
r s
CS 102
Building a Tree
n a 2 sp e
2 4
2
2 2 4 8
E i y l k . r s
Building a Tree
2 4 e
2 2 sp
8
4
y l k . r s
E i
n a
Building a Tree
2 4 4 e
2 2 sp
8
4
y l k . r s n a
E i
Building a Tree
4 4 e
2 sp
8
4
k . r s n a
2 2
E i y l
Building a Tree
4 4 4
2 sp e
4 2 2 8
k . r s n a
E i y l
Building a Tree
4 4 4
e
2 2 8
r s n a
E i y l
2 sp
k .
Building a Tree
4 4 4 6 e
2 sp 8
r s n a 2 2
k .
E i y l
4 6 e
2 2 2 8
sp
E i y l k .
8
4 4
r s n a
Building a Tree
4 6 e 8
2 2 2 8
sp
4 4
E i y l k .
r s n a
Building a Tree
8
e
8
4 4
10
r s n a
4
6
2 2
2 sp
E i y l k .
Building a Tree
8 10
e
8 4
4 4
6
2 2 2
r s n a sp
E i y l k .
Building a Tree
10
16
4
6
2 2 e 8
2 sp
E i y l k . 4 4
r s n a
Building a Tree
10 16
4
6
e 8
2 2
2 sp
4 4
E i y l k .
r s n a
Building a Tree
26
16
10
4 e 8
6
2 2 2 sp 4 4
E i y l k .
r s n a
Building a Tree
26
16
10
4 e 8
6
2 2
2 sp 4 4
E i y l k .
r s n a
Building a Tree
Dequeue the single node left in
the queue.
26
e 10 2 2 2 sp 4 4
r 1100
E i y l k .
s 1101 r s n a
n 1110
a 1111
Encoding the File
• Rescan text and encode file
using new code words Char Code
E 0000
Eerie eyes seen near lake. i 0001
y 0010
l 0011
000010110000011001110001010110110
k 0100
. 0101
100111110101111110001100111111010 space 011
0100101 e 10
r 1100
s 1101
n 1110
a 1111
Why is there no need for a
separator character?
.
Encoding the File
Results
• Have we made things any
000010110000011001110001010110110
better? 100111110101111110001100111111010
0100101
• 73 bits to encode the text
• ASCII would take 8 * 26 =
208 bits
• 0 go left 10
16
• 1 go right 4 e 8
6
2 2 2 sp 4 4
10100011011110111101 E i y l k .
r s n a
111110000110101
طريقة هفمان Huffman
اخترعها ديفيد هافمان و هي طريقة غير فاقدة و ال مصدرية. •
تعطي أحجامًا مختلفة لكل رمز حسب تردده بالملف الواحد. •
ب 2بت نستطيع تمثيل أربعة رموز مختلفة ,و بثالثة بت نستطيع تمثيل •
ثمانية رموز.
فمثال إذا أردت أن تمثل خمسة من الرموز المختلفة فسيكون طول الرمز •
الواحد على األقل 3بت كما في الجدول أدناه:
عشري ثنائي الرمز
0 000 A
1 001 B
2 010 C
3 011 D
55
4 100 E
تابع طريقة هفمان Huffman
• تب+نى ه+ذه الطريق+ة على إعط+اء الرم+ز المتك+رر كث+يرًا حجمً+ا قلي+ل ,و
الرمز النادر التكرار حجمًا أكبر و ذلك للتوفير بالمساحة الكلية.
خطوات هذه الطريقة باختصار هو أنك تقوم:
.1بترتيب الرموز الواحد تلو اآلخر.
.2ندون بجانب كل رمز عدد مرات تكراره.
.3نب++دأ بجم++ع الرم++زين ال++ذين لهم أق++ل ع++دد م++رات تك++رار في نقط++ة
واحدة.
.4نض+ع 0على الف+رع األق+ل حجمً+ا للنقط+ة و 1على األك+بر حجمً+ا ,و
إذا تساوى الفرعان فتختار عشوائيًا.
• طريق+ة هفم+ان مناس+بة للملف+ات ال+تي تحت+وي نص+وص و ب+رامج و
تس+تخدم ع+ادًة في ب+رامج الض+غط و هي طريق+ة داعم+ة لط+رق الض+غط
. Jpeg, Mpeg
56