210 likes | 469 Views
Pemampatan Data. Objektif: Mengetahui kaedah pemampatan data Mengira peratus pemampatan data kod Huffman. Mengapa perlu guna talian berkeupayaan 56k talian 28k mampu melaksanakan transmisi data?
E N D
Pemampatan Data Objektif: Mengetahui kaedah pemampatan data Mengira peratus pemampatan data kod Huffman
Mengapa perlu guna talian berkeupayaan 56k talian 28k mampu melaksanakan transmisi data? • Prinsip pemampatan data ialah dgn membuang unsur yang berulang dlm data (teks, numerik, imej, video) • Apabila data yg termampat diterima, ia harus blh dikembangkan semula kpd bentuk asalnya • Utk tujuan ini, suatu kod perlu digunakan
Jenis-jenis Pengekodan • Pengekodan boleh digunakan utk pelbagai tujuan • 3 jenis pengekodan yg penting dlm komunikasi ialah: • Pengekodan sumber • Ubah isyarat sumber kpd bentuk yg meminimakan keperluan terhadap saluran transmisi • Talian blh diguna utk membawa lebih byk data, dlm masa yg lebih singkat • Pengekodan saluran • Berguna utk mengesan dan membetulkan ralat yg berpunca dr saluran • Pengekodan talian • Diguna utk memadankan isyarat dgn ciri suatu media/saluran. • Lazimnya melibatkan maklumat pensinkronian masa
Kod sumber terbaik ialah kod yg memerlukan digit perduaan plg sedikit utk penghantaran data • Pemampatan data byk diguna dlm produk seperti pemultipleks berstatistik, modem dan mesin faksimili modem modem Data compression device Data compression device Front-end processor Host Terminal 56kbps 56kbps Modem 28kbps
Kaedah Pemampatan Data • Terdapat pelbagai kaedah utk melakukan pemampatan data: • Pengekodan “Run-Length” • Pengekodan Huffman • Pengekodan Huffman diubahsuai
Pengekodan “Run-Length” • Utk memampatkan semua jenis data yg berulang • Penghantar data akan menggelintar utk mencari jujukan aksara yg berulang • Jujukan ini akan diganti dgn kod 3-aksara • Ak – Aksara khas menandakan data berikutnya dimampatkan • U – Aksara yg berulang • Ba – bilangan aksara yg berulang Ak U Ba
Pengekodan “Run-Length” • Jujukan >= 4 aksara berulang blh dimampatkan utk mengurangkan bit-bit yg dihantar • Kecekapan kod “Run-Length” bergantung kpd bilangan kemunculan aksara berulang dlm data asal dan purata panjang aksara tersebut • Ukuran piawai bagi pemampatan ialah Nisbah pemampatan = pjg data tak termampat pjg data termampat
Pemampatan Faksimili • Teknik pemampatan amat berguna dgn tersebar luasnya penggunaan mesin faksimili digital, video, dll • 1 mukasurat dgn 200 unsur gambar/inci (piksel hitam/putih) menjanakan 3,740,000 bit • Tanpa pemampatan, pengguna terpaksa menunggu lama utk menerima sesuatu penghantaran data dlm bentuk imej • Teknik utk mesin faksimili: • Pengekodan “Run-Length” • Pengekodan Huffman • Pengekodan Huffman diubahsuai
Pengekodan “Run-Length” Faksimili • Teknik paling awal diguna (tidak diguna lagi) • Menjadi asas kpd teknik moden dlm faksimili digital
Imej piksel 10 x 10 vv vvv vv vv vv vv vv vv vv vv vv vv
Pengekodan “Run-Length” mudah • Perwakilan imej dgn piksel hitam (1) dan putih (0) • 0000000000 • 0000000000 • 0001111000 • 0001001000 • 0001111000 • 0000001000 • 0000001000 • 0001111000 • 0000000000 • 0000000000 • Pjg data tanpa pengekodan: 100 bit • 23W4B6W1B2W1B6W4B9W1B9W1B6W4B23W atau • 23 4 6 1 2 1 6 4 9 1 9 1 6 4 23 pjg: 15 aksara = 120 bit • Perhatikan: Sebenarnya pengembangan data yg berlaku!!!
Pengekodan Huffman • Utk memperbaiki kod Run-Length kita harus pertimbangkan ciri-ciri imej faksimili • Lebih byk ruang putih drp hitam • Kod Huffman menangani masalah mengekodkan simbol drp alphabet dgn meminimakan bil bit diperlukan • Prinsip: Wakilkan simbol yg kerap muncul dgn kod yg paling pendek dan sebaliknya (sama spt prinsip Kod Morse)
Pengekodan Huffman (samb) • Perlu bina pokok dgn mengumpukkan bit 1 dan 0 (Ingat pokok dedua dlm struktur data) • Langkah penjanaan kod Huffman: • Senarai simbol mengikut kekerapan menurun • Setiap simbol dianggap sbgi nod daun • Gabungkan 2 nod dgn kekerapan terendah menjadi 1 nod, dgn kekerapannya = hasiltambah kekerapan 2 nod yg membentuk nod baru tersebut • Ulang proses gabungan ini pd setiap langkah • Proses berhenti apabila tinggal 1 nod yg tidak bergabung
Keputusan/hasilnya ialah suatu pokok dgn setiap nod kecuali yg teratas mempunyai 1 cabang dr atas dan 2 cabang dr bawah • Labelkan setiap cabang dgn 1 dan 0 • Kod bg setiap simbol ialah rentetan label dr nod akar ke nod daun (simbol asal)
Pokok Kod Huffman 40 A 20 B 15 C 100% 24% 9 D 60% 8 E 36% 5 F 16% 2 G 8% 3% 1 H
Pokok Kod Huffman Pokok Kod Huffman 0 40 A 0 20 B 15 C 0 100% 0 1 1 24% 9 D 1 60% 0 8 E 36% 1 0 5 F 1 16% 0 2 G 1 8% 1 3% 1 H
Pokok Kod Huffman Pokok Kod Huffman KOD 0 40 A 0 0 110 20 B 15 C 0 100 100% 0 1 1 24% 101 9 D 1 60% 0 8 E 36% 1110 1 0 5 F 11110 1 16% 0 2 G 111110 1 8% 1 3% 111111 1 H
Andaikan bhw dlm aliran data tadi, terdiri drp 20 aksara dgn kekerapan kemunculan berikut: • A – 8 x • B – 4 x • C – 3 x • D – 2 x • E – 2 x • F – 1 x • G dan H – 0 x • Dgn menggunakan kod-tetap 3 bit, utk mewakilkan setiap aksara, bil bit yg diperlukan utk menghantar 20 aksara => 20 x 3 = 60 bit
Peratusan Data Dimampatkan • Dgn menggunakan Kod Huffman, bil bit yg diperlukan : • = (1bit x8) + (3bit x4) + (3bit x3) + (3bit x2) + (4bit x2) + (5bit x1) + (6bit x0) + (6bit x 0) • = 48 bit • Bil bit yg dijimatkan = 60 – 48 = 12 bit • Peratus data yg dimampatkan = 12/60 x 100% A B C D E F G H = 20%