Anda di halaman 1dari 23

SOURCE CODING

Teori Informasi & Pengkodean


Sumber
Oleh : I Made Oka Widyantara
oka.widyantara@unud.ac.id
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 - 0
G - 10
T - 110
A - 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 simbol
maka; 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 berat
Membuat code simbol yang dapat dengan segera mengenali codeword,
sehingga tidak memerlukan tanda di akhir transmisi
Uniquely Decodable & Instantaneous
Codes

 Sebuah code adalah Uniquely decodable jika pemetaan C+ : AX+ - AZ+


adalah one to one, yaitu
∀x dan x′ dalam AX+ , x ≠ x ′ ⇒ c + ( x ) ≠ c + ( x′)
 Sebuah code bukan Uniquely decodable jika dua simbol memiliki codeword
yang sama, yaitu :
jika c( ai ) = c( a j ) untuk i ≠ j
 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 :

1
∑i =1 2li ≤ 1
I

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 :
1
∑i =1 2li ≤ 1
I

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
 Kraft Inequality :
1
∑i =1 2li ≤ 1
I
; dengan urutan panjang codeword :
l1 ≤ ........ ≤ l I
 Untuk kode biner, bagaimanakah kita dapat mengalokasikan subtree untuk
codeword dengan panjang li ?
 Jawab : urutannya kita mulai dari terpendek sampai yang terpanjang
 Ambil sebuah node pada kedalam li, yang bukan subtree yang telah
digunakan sebelumnya dan tetapkan satu code untuk codeword ke I di
node tersebut.
 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 1

I
i =1 li
≤1
2
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=NxL

Anda mungkin juga menyukai