Materi 2-Source Coding revisi

23
SOURCE CODING Teori Informasi & Pengkodean Sumber Oleh : I Made Oka Widyantara [email protected]

Transcript of Materi 2-Source Coding revisi

Page 1: Materi 2-Source Coding revisi

SOURCE CODING

Teori Informasi & Pengkodean SumberOleh : I Made Oka Widyantara

[email protected]

Page 2: 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

Page 3: Materi 2-Source Coding revisi

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).

Page 4: Materi 2-Source Coding revisi

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.

Page 5: Materi 2-Source Coding revisi

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

Page 6: Materi 2-Source Coding revisi

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

Page 7: Materi 2-Source Coding revisi

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

Page 8: Materi 2-Source Coding revisi

Contoh

Page 9: Materi 2-Source Coding revisi

Contoh

Page 10: Materi 2-Source Coding revisi

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

Page 11: Materi 2-Source Coding revisi

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 ]

Page 12: Materi 2-Source Coding revisi

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 :

Page 13: Materi 2-Source Coding revisi

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

Page 14: Materi 2-Source Coding revisi

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

Page 15: Materi 2-Source Coding revisi

Mengkonstruksi instantaneous code

Page 16: Materi 2-Source Coding revisi

Mengkonstruksi instantaneous code

Page 17: Materi 2-Source Coding revisi

Mengkonstruksi instantaneous code

Page 18: Materi 2-Source Coding revisi

Mengkonstruksi instantaneous code

Page 19: Materi 2-Source Coding revisi

Mengkonstruksi instantaneous code

Page 20: Materi 2-Source Coding revisi

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

Page 21: Materi 2-Source Coding revisi

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.

Page 22: Materi 2-Source Coding revisi

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

Page 23: Materi 2-Source Coding revisi

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