TE. 6610 Pengolahan Sinyal Multimedia I Made Oka Widyantara, ST, MT oka.widyantara@unud.ac.id
Pengkodean Transform
Pengkodean Transform
Skema
Pengkodean Transform
Pengkodean Transform
Matrix Review
z I = Identity matrix = diagonal memp nilai 1, dan bernilai 0 pd posisi lainnya z Jika A adalah matrix n x n, maka AI = IA = A z A-1 menyatakan inverse dari A, shg A A-1 = A-1A = I z Jika A = (aij) maka AT= (aji) (disebut transpose) z Jika A = (aij) dan B = (bij) maka A+B= (aij+bij) z Jika A = (aij) dan adalah scalar, A = (aij)
Pengkodean Transform
Transformasi Linier
z Transformasi Linier Didefinisikan dg real matrix N x N, A = (aij)
z Mis. X = column vector dari N data points z maka AX = column vector dari transformed data (juga menghasilkan N data points) z A = forward transform z A-1 = inverse transform
Pengolahan Sinyal Multimedia Pengkodean Transform 8
Koefisien
Pengkodean Transform
Contoh Transformasi
z Gunakan A utk transformasi sampel data (5, 11)
Pengkodean Transform
10
Koefisien
Pengkodean Transform
12
Pengkodean Transform
13
Pengkodean Transform
14
Pengkodean Transform
15
Pengkodean Transform
16
Sehingga :
Pengkodean Transform
17
Pengkodean Transform
18
Pengkodean Transform
19
Pengkodean Transform
20
Pengkodean Transform
21
Pengkodean Transform
22
Citra 80 x 80 pixel
Energi dalam koefisien transform di konsentrasikan pojok kiri atas dari matrik koefisien. Koefisien ini berhubungan dengan frekuensi rendah. Terdapat puncak energi dan nilai koefisien akan berkurang dengan cepat sampai di pojok kanan bawah dari matrik.Koefisien yang berada pada pojok kanan bawah berhubungan dengan frekuensi tinggi.
Pengolahan Sinyal Multimedia Pengkodean Transform 23
Fx , y
Dimana :
fi, j
Pengkodean Transform
24
Contoh
Citra asli
Pengkodean Transform
25
Pengkodean Transform
26
Dimana : o Fx = 8 koefisien transform [0 7] o Fi = 8 input sampel o C(x) = konstanta [nilai sama dengan didepan] 2-D FDCT [8 x 8]
Pengkodean Transform
27
fi, j =
C(y) (2 j + 1) y f i cos 2 16 y =0
7
2-D IDCT [8 x 8]
Catatan : Algoritma ini memberikan dua keuntungan yaitu : o Minimal komputasi : menurunkan jumlah operasi perkalian dan penjumlahan yaitu 2 x 8 x 64 = 1024. Operasi 1-D dan 2-D DCT diorganisasikan untuk mengeksploitasi kesimetrian operasi cosinus untuk meminimalkan perkalian dan penjumlahan. o Keteraturan : perhitungan diorganisasikan untuk keteraturan aliran data dan urutan pemrosesan.
Pengkodean Transform
28
Maka :
Pengkodean Transform
29
Kesimpulan :
Pengkodean Transform
30
Pengkodean Transform
31
Pengkodean Transform
32
Transform Coding
Pengkodean Transform
33
Transform Coding
Algoritma Transform Coding 1. Membagi citra M x N kedalam sub-citra p x q atau blok-blok. Setiap blok ditransformasi dan dikodekan secara terpisah. Catatan : o Dengan mengkodekan satu sub-citra (blok) pada satu waktu, maka coder dapat membuat karakteristik citra lokal secara adaptif o Tranformasi pada ukuran sub-citra yang lebih kecil, lebih efisien untuk komputasi dan media penyimpanan. o Akan tetapi ukuran yang lebih kecil akan membuat sedikit korelasi diantara intensitas pixel citra yang dapat dieksploitasi. Korelasi tinggi antara sub-citra bertetangga, tidak dapat dieksploitasi sepanjang tiap-tiap sub-citra dikodekan secara independen. o Batasan ukuran sub-citra biasanya 8 x 8 atau 16 x 16
Pengkodean Transform
34
Transform Coding
2. Metransformasi setiap sub-citra Bi , dimana i = 1,, I (I = MN/pq)
Pengkodean Transform
35
Transform Coding
3. Menentukan koefisien-koefisien untuk dikodekan. Akibat sifat compaction energy, hanya sebagaian kecil dari koefisien transform yang perlu dikodekan. Dua pendekatan yang dapat digunakan untuk menentukan koefisien yang perlu dikodekan : a. Zonal Coding o Hanya koefisien-joefisien dalam daerah yang dispesifikasikan yang dikodekan o Beberapa faktor yang mempengaruhi zone dari daerah yang dispesikasikan diantara adalah metode transform dan jumlah bit yang dialokasikan. Contoh : DCT 2D
Zone yang diarsir, banyak energi citra terkonsentrasi pada frekuensi rendah.
Pengolahan Sinyal Multimedia Pengkodean Transform 36
Transform Coding
b. Threshold Coding o Koefisien-koefisien transform dibandingkan dengan sebuah threshold. Nilai yang lebih tinggi dari nilai threshold yang akan dikodekan. o Lebih disukai Zonal coding : 9 Dalam zonal coding, koefisien dengan amplituda kecil akan dikodekan dan sebaliknya amplituda besar akan dibuang 9 Dalam threshold coding, semua amplituda besar akan dikodekan 9 Dalam threshold coding, lokasi koefisien terkode tidak diketahui dan informasi tentang lokasi harus dienkodekan. Metode yang biasa digunakan disebut Run-Length coding
4.
Menentukan alokasi bit Mengalokasikan bit-bit antar sub-citra (bloks-blok) biasanya diberikan jumlah bit yang tetap Mengalokasikan bit-bit dalam blok (antar koefisien transform). Memberikan lebih banyak bit untuk koefisien-koefisien yang signifikan. Koefisien ini mempunyai ekspektasi varian yang besar, dimana ekspektasi varian dari setiap koefisien transform, variasinya sangat besar antar koefisien-koefisien.
Pengkodean Transform 37
Transform Coding
5. Kuantisasi o Tahapan kuantisasi akan membuang informasi yang kurang penting yaitu informasi yang tidak berpengaruh secara signifikan terhadap visualisasi ketika sub-citra direkontruksi. o Proses kuantisasi dapat dibedakan menjadi 2 (dua) bagian yaitu : o Operasi di enkoder : mengkonversi koefisien-koefisien transform menjadi level-level kuantisasi. o Operasi di dekoder : mengkonversi level-level menjadi koefisien transform rekontruksi, biasanya disebut inverse quantisation.
Pengkodean Transform
38
Transform Coding
Korelasi antara jumlah level-level [step] kuantiasi terhadap laju kompresi dan kualitas citra : Ukuran step kuantisasi besar, koefisien-koefisien yang signifikan akan diturunkan sedikit maka laju kompresi menjadi rendah dan rugi-rugi citra juga rendah. Ukuran step kuantisasi rendah [jarang], banyak koefisien-koefisien tranform dipaksa dibuang [bernilai 0], sehingga banyak informasi yang hilang. Laju kompresi tinggi tapi rugi-rugi citra rekontruksi menjadi besar.
Transform Coding
Rekontruksi terhadap sub-citra dengan menggunakan step kuantisasi besar [IDCT], menghasilkan kecocokan yang lebih baik terhadap blok citra asli
Pengkodean Transform
40
Transform Coding
Uniform Threshold Quantizer [UTQ]
Pengkodean Transform
41
Transform Coding
Terdapat dua kelas dari UTQ pada standar codec yaitu : UTQ tanpa Dead Zone : untuk kuantisasi pada koefisien DC, F[0,0] dari pengkodean blok intraframe Video
I [u , v ] =
F [u , v ] q 2q
F q [u, v ] = I [u, v ] 2q
UTQ dengan Dead Zone : untuk kuantiasasi koefisien AC dan koefisien DC interframe video Pada bagian pusat kuantizer, koefisien di kuantiasasi 0
I [u , v ] =
F [u , v ] 2q
F q [u, v ] = {2 I [u, v ] 1} q
Pengkodean Transform
42
Transform Coding
6. Mengkodekan output kuantizer kedalam codeword 9 Sebuah blok citra setelah pengkodean transform dan kuantisasi akan mengandung sedikit koefisien non-zero dan sejumlah besar koefisien nol.Data non-zero dapat secara efisien dikompress menggunakan metode kompresi secara statistik yaitu entropy coding. 9 Dalam perancangan CODEC entropy, beberapa hal yang harus diperhatikan : Efisiensi kompresi yaitu menyatakan output model sumber dengan jumlah bit seminimal mungkin. Efisiensi komputasi yaitu rancangan CODEC harus mampu disesuaikan ketika diimplementasikan pada Platform software maupun hardware. Ketahanan terhadap error yaitu jika terjadi error pada transmisi, CODEC entropy harus mampu membuat pemulihan error dan membatasi propagasi error di dekoder. 9 Enkoder entropy akan memetakan simbol-simbol input kedalam deretan data yang terkompress. 9 Laju kompresi dapat dicapai dengan mengeksploitasi kelebihan susunan simbolsimbol input, dimana simbol yang sering terjadi direpresentasikan dengan jumlah bit sedikit dan sebaliknya.
Pengolahan Sinyal Multimedia Pengkodean Transform 43
Transform Coding
Re-order Koefisien Kuantisasi Koefisien terkuantisasi non-zero dari blok citra cendrung diclusterkan sepanjang pojok kiri atas, yaitu sepanjang frekuensi rendah. Nilai ini dapat digroupkan bersama-sama dalam deretan dengan mengurutkan kembali 64 koefisien menjadi urutan zigzag.
Pengkodean Transform
44
Transform Coding
Run-Level Coding o Output dari proses re-order merupan susunan yang terdiri atas group koefisien nonzero diikuti oleh zeros. o Tipe output ini dapat dinyatakan dengan sebagai sebuah susunan dari pasangan [run, level], dimana run menyatakan jumlah nol sebelum nilai tidak nol (non-zero) dan level menyatakan tanda dan magnituda dari koefisien non-zero.
Pengkodean Transform
45
Transform Coding
Entropy Coding o Algoritma pengkodean entropy dibuat dengan memperhatikan frekuensi kejadian pasangan [run, level]. o Kode word pendek diberikan untuk pasangan [run, level] yang sering terjadi dan sebaliknya.
Pengkodean Transform
46