Materi 2-Source Coding revisi
-
Upload
agetbalibmgyahoocoid -
Category
Documents
-
view
362 -
download
15
Transcript of Materi 2-Source Coding revisi
Definisi Matematis
Awali dengan sebuah deretan simbol, X = X1, X2,, ….. , XN dari sebuah sumber alphabet berhingga/terbatas, AX = {a1, a2, ….. }Contoh :
o AX = {A, B, C, D,…., Z}o Ax = {0, 1, 2, ……., 255}o AX = {C, G, T, A}o AX = {0, 1}
Pada sisi ENCODER, keluarannya adalah sebuah deretan baru Z = Z1, Z2, …, ZM . Masing-masing menggunakan code alphabet yang berbeda, AZ
Pada sisi DECODER, akan melakukan proses konversi dari Z kembali ke X Dalam kompresi, encoder akan berusaha untuk membuang redudansi
sumber Pada pengkodean kanal bernoise (noisy channel), encoder akan berusaha
untuk memproteksi pesan terhadap noise transmisi. Kita akan selalu menggunakan AZ = {0, 1}, untuk alasan-alasan seperti pada
computer file, digital telecommunications, tetapi secara teori AZ dapat dibangkitkan sebagai sebuah susunan berhingga
Lossless Data Compression
Fokus pada persoalan kompresi data tanpa rugi-rugi, dan abaikan pengaruh noisy channel. Dalam prakteknya terdapat dua persoalan yang harus ditangani secara terpisah yaitu ;
• Kita harus merancang sebuah code yang efisien untuk sebuah sumber (membuang redundansi sumber)
• Merancang sebuah kode kanal untuk membantu transmisi code sumber melalui sebuah kanal.
Asumsi yang digunakan :• Kanal adalah perfectly noiseless, yaitu seolah-olah receiver melihat
langsung keluaran encoder• Kita selalu membutuhkan keluaran decoder untuk dibandingkan
keselarasannya dengan deretan asli X (lossless)• X dibangkitkan selaras dengan model probabilitas yang tetap p(X)
Kita akan mengukur kualitas skema kompresi (disebut dengan sebuah code) dengan menguji panjang rata-rata (average length) encoded string Z, didasarkan pada nilai p(X).
Mengkodekan sebuah Simbol
Pikirkan tentang mengkodekan satu simbol Xi dengan menggunakan sebuah code yang tetap, yaitu sebuah code yang mendefinisikan sebuah pemetaan setiap simbol sumber kedalam sebuah deretan berhingga simbol-simbol code yang disebut dengan CODEWORD
Kita akan mengkodekan sebuah deretan simbol-simbol sumber dengan merangkaikan masing-masing codewordnya. Ini disebut dengan SIMBOL CODE
• Contoh : Sumber alphabet, AX = {C,G, T, A}Satu code yang mungkin adalah
C - 0G - 10 T - 110A - 1110
maka ; CCAT - 001110110 Kita memerlukan sebuah pemetaan yang sedemikian rupa dapat
memecahkan rangkaian code ini menjadi sumber alphabet kembali di penerima.
Notasi Sequence & code
AX dan AZ adalah sumber dan code alphabet AX
+ dan AZ+ menyatakan deretan dari satu atau lebih simbol dari sumber atau
code alphabet Symbol Code (C) adalah sebuah pemetaan dari AX - AZ
+
Kita menggunakan c(x) untuk menyatakan codeword Kita gunakan penggabungan untuk memperluas pemetaan
Kita kodekan sebuah string dari simbol dengan hanya menyusun bersama kode dari masing-masing simbol
Decodable Code Adalah code yang dapat dengan sukses di dekodekan di penerima Untuk menggambarkan maksudnya, beberapa aturan main yang harus
dipahami :• Bagaimana cara saluran untuk mengakhiri transmisi
Contoh : dapat dengan cara eksplisit menandai akhir, seperti menandai akhir code dengan bit 0.
• Bagaimana dengan cepat sebuah code simbol dapat dikenali menjadi decoded simbolmaka; code simbol adalah instantaneously, yaitu dengan cepat (dengan delay yang tetap) mampu didekodekan ketika codeword diterima, tanpa harus menunggu akhir sebuah pesan diterima
Cara paling mudah :Asumsikan akhir dari transmisi di beri tanda (mark), sehingga tidak memerlukan simbol apapun untuk dikodekan sampai keseluruhan transmisi diterima.
Cara yang agak beratMembuat code simbol yang dapat dengan segera mengenali codeword, sehingga tidak memerlukan tanda di akhir transmisi
Uniquely Decodable & Instantaneous Codes
xxAxx X cc x x , dalam dan
Sebuah code adalah Uniquely decodable jika pemetaan C+ : AX+ - AZ
+
adalah one to one, yaitu
jiacac ji untuk jika
Sebuah code bukan Uniquely decodable jika dua simbol memiliki codeword yang sama, yaitu :
Sebuah code adalah instantaneously decodable jika beberapa deretan sumber x dan x’ dalam A+, dimana x bukan merupakan awalan (prefix) dari x’ Pengkodean z = C(x) dan z’ = C(x’), dimana z bukan prefix dari z’.
Instantaneously code sering disebut dengan prefix-free code
Contoh
Contoh
McMillan’s Inequality
Ada sebuah Uniquely decodable binary code dengan codeword mempunyai panjang l1, l2 ,….., lI, jika dan hanya jika :
12
11
I
i li
Contoh : Ada kode biner uniquely decodable dengan panjang 1, 2, 3, 3 bila :½ + ¼ + 1/8 + 1/8 = 1
Code yang mungkin adalah [ 0, 01, 011, 111 ]
Contoh : Ada kode biner yang bukan uniquely decodable dengan panjang 2, 2, 2, 2, 2, selama :
¼ + ¼ + ¼ + ¼ + ¼ > 1
Kraft Inequality
Ada sebuah Instantaneous binary code dengan codeword mempunyai panjang l1, l2 ,….., lI, jika dan hanya jika :
12
11
I
i li
Kondisinya percis sama dengan McMillan Inequality
Contoh : Ada kode biner instantaneous dengan panjang 1, 2, 3, 3 bila :½ + ¼ + 1/8 + 1/8 = 1
Code yang mungkin adalah [ 0, 10, 110, 111 ]
Contoh : Ada kode biner instantaneous dengan panjang 2, 2, 2, selama :¼ + ¼ + ¼ < 1
Code yang mungkin adalah [ 00, 10, 01 ]
Visualisasi Instantaneous Code
Kita dapat mengambarkan codeword dari sebuah instantaneus code (prefix code) sebagai sebuah percabangan pohon
Akar menyatakan string null Contoh : codeword [0, 11, 100, 101] diperoleh dari :
Memperpanjang pohon
Kita dapat memperpanjang pohon dengan dengan mengisi setiap percabangan dibawahnya dengan code lanjutan dari atas.
Setiap codeword bersesuaian dengan percabangan diatasnya.
Satu putaran percabangan
Mengkonstruksi instantaneous code
12
11
I
i li
Kraft Inequality :
; dengan urutan panjang codeword :
Ill ........1
Untuk kode biner, bagaimanakah kita dapat mengalokasikan subtree untuk codeword dengan panjang li ?
Jawab : urutannya kita mulai dari terpendek sampai yang terpanjang1. Ambil sebuah node pada kedalam li, yang bukan subtree yang telah
digunakan sebelumnya dan tetapkan satu code untuk codeword ke I di node tersebut.
2. Tandai seluruh subtree dengan satu induk node yang telah dipilih
Mengkonstruksi instantaneous code
Mengkonstruksi instantaneous code
Mengkonstruksi instantaneous code
Mengkonstruksi instantaneous code
Mengkonstruksi instantaneous code
Syarat konstruksi yang mungkin
Selama syarat Kraft Inequality terpenuhi, maka pada setiap percabangan pohon akan selalu tersedia node.Pembuktian :
• Asumsikan terdapat 2lb node di kedalaman lb• Jika kita ambil sebuah node dengan kedalaman la, maka jumlah node
yang tidak tersedia di ke dalaman lb adalah 2lb – la
• Atau, setelah node li,kita ambil sebuah node dengan kedalaman lj, maka jumlah node yang tersisa adalah :
Ini membuktikan bahwa kita selalu dapat mengkonstruksi Instantaneusly Decodable code jika
12
11
I
i li
Tradeoff memilih panjang codeword
Contoh : kodekan 8 simbol menggunakan pengkodean biner dengan panjang masing-masing 3 bit.Kode ini adalah instantaneuos dan memenuhi Kraft Inequality, selama,
Jika kita ingin mengkodekan simbol pertama dengan 2 bit, agar syarat diatas terpenuhi maka kita harus memberikan codeword yang lebih panjang untuk beberapa buah simbol, seperti
Maka, Kraft Inequality mengisyaratkan bahwa untuk membuat beberapa codeword pendek berarti harus memberikan codeword yang lebih panjang pada beberapa simbol yang lain.
Probabilitas Simbol-simbol sumber
Dasar yang digunakan untuk memilih panjang codeword adalah dengan memberikan panjang codeword pendek untuk simbol-simbol yang umum dan sebaliknya untuk simbol-simbol yang jarang.
Untuk memfomulasikan, maka diperlukan penetapan sebuah probabilitas untu setiap simbol sumber.
Simbol a1, ………., aI akan mempunyai probabilitas yang ditulis sebagai p1, ……, pI. Dan diasumsikan probabilitas ini tidak berubah terhadap waktu
Kita juga asumsikan bahwa simbol-simbol dalam deretan sumber X1, X2, ……, XN adalah independent
Expected Codeword Length
Perhatikan sebuah code dimana codeword untuk simbol a1, …., a2 mempunyai panjang l1, ….., lI. Anggap probabilitas dari simbol-simbol ini adalah p1,……., pI. Expected codeword length untuk code ini adalah :
Ini merupakan panjang rata-rata codeword untuk pengkodean simbol sumber tunggal. Tetapi selama rata-rata adalah operasi linier, maka panjang rata-rata pesan dengan N simbol sumber adalah :
L = N x L