Anda di halaman 1dari 46

Materi 5 : Pengkodean Transform

TE. 6610 Pengolahan Sinyal Multimedia I Made Oka Widyantara, ST, MT oka.widyantara@unud.ac.id

Idea Transform Coding


z Deretan data yg akan dikodekan dikonversikan ke deretan data baru menggunakan aturan transformasi z Transformasikan input pixel x0,x1,...,xN-1 ke koefisien c0,c1,...,cN-1 (nilai real) { Koefisien hasil transformasi mempunyai sifat kebanyakan dari koefisien mempunyai nilai dekat nol (kecil) { Sebagian besar energy dimampatkan hanya pada beberapa koefisien z Proses reversible dapat kembali ke deretan original menggunakan inverse transformation z Koefisien dikuantisasi scalar { Ini adalah pengalokasian bit { Koefisien penting, mendapat level kuantisasi yg lebih z Hasil kuantisasi dikodekan dg entropy encoder

Pengolahan Sinyal Multimedia

Pengkodean Transform

Block Diagram of Transform Coding

Pengolahan Sinyal Multimedia

Pengkodean Transform

Skema

Pengolahan Sinyal Multimedia

Pengkodean Transform

Sifat Matematis Transformasi


z Transformasi Linier didefinisikan dg suatu real matrix A = (aij) z Matrix review:

Pengolahan Sinyal Multimedia

Pengkodean Transform

Matrix Review: Perkalian


z Mis A = (aij) adalah matrix n x m, dan B = (bij) adalah matrix m x k z AB = C, dimana C =(cij) adalah matrix n x k didefiniskan dg

z Biasanya, AB BA z Namun, (AB)C = A(BC) utk sembarang tiga matrix


Pengolahan Sinyal Multimedia Pengkodean Transform 6

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)

Pengolahan Sinyal Multimedia

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

Pengolahan Sinyal Multimedia

Pengkodean Transform

Contoh Transformasi
z Gunakan A utk transformasi sampel data (5, 11)

z Menghasilkan pemampatan (compaction)

Pengolahan Sinyal Multimedia

Pengkodean Transform

10

Sifat Matematis Transformasi


z Transformasi Linier Didefinisikan dg suatu real matrix n x n, A = (aij)

z Transformasi orthonormal A-1 = AT


Pengolahan Sinyal Multimedia Pengkodean Transform 11

Koefisien

Pengolahan Sinyal Multimedia

Pengkodean Transform

12

Mengapa Transformasi Orthonormal?


z Energi data sama dg energi koefisien

Pengolahan Sinyal Multimedia

Pengkodean Transform

13

Contoh Pemampatan (Compaction)

Pengolahan Sinyal Multimedia

Pengkodean Transform

14

Pemampatan Energi Energy Compaction)


z Pada transform coding pilih transformasi sehingga hanya subset dari koefisien-koefisien mempunyai nilai signifikan z Kebanyakan energi terkandung pd satu subset koefisien yg penting z Dikenal sbg energy compaction. z Contoh - FT dari sinyal bandlimited:

Pengolahan Sinyal Multimedia

Pengkodean Transform

15

Coding Menggunakan Energy Compaction


z Energy compaction baik utk coding hanya gunakan koefisien signifikan z Jika jumlah koef signifikan << jumlah sample pd deretan original kompresi z Dlm praktek: { Koefisien signifikan dikodekan lebih akurat menggunakan bit lebih banyak { Alokasikan jumlah bit lebih sedikit utk koefisien lainnya z Pd decoder: { Ambil kembali koefisien yg sdh dikodekan { Rekonstruksi dg inverse transformation

Pengolahan Sinyal Multimedia

Pengkodean Transform

16

Discrete Fourier Transform 2D [DFT-2D]


o Discrete time Fourier transform [DTFT] menyediakan sebuah representasi Fourier dari discrete time signal. Akan tetapi selama DTFT merupakan fungsi dari variabel kontinyu , maka dia tidak dapat langsung di terima pada komputasi digital. Untuk deretan dengan panjang terbatas, DTFT dapat dinyatakan sebagai Discrete Fourier Transform [DFT], yaitu sebuah fungsi dari variabel integer K. Maka dapat dikatakan DFT terdiri atas sample-sample DTFT, yaitu X(1,2) di :

Sehingga :

Pengolahan Sinyal Multimedia

Pengkodean Transform

17

Discrete Fourier Transform 2D [DFT-2D]c


Unitary DFT [Symmetric Form]

Pengolahan Sinyal Multimedia

Pengkodean Transform

18

Discrete Fourier Transform 2D [DFT-2D]

Pengolahan Sinyal Multimedia

Pengkodean Transform

19

Discrete Fourier Transform 2D [DFT-2D]

Pengolahan Sinyal Multimedia

Pengkodean Transform

20

Discrete Fourier Transform 2D [DFT-2D]

Pengolahan Sinyal Multimedia

Pengkodean Transform

21

Discrete Cosine Transform 2D [DCT-2D]


Forward DCT [FDCT] mentranformasi sampel-sample citra [domain spatial] ke dalam sebuah susunan koefisien transform [domain transform]. Transformasi sebaliknya disebut Inverse DCT [IDCT] yaitu mentranformasi koefisien transform kedalam sample-sample citra. Forward dan Inverse Transform untuk kompresi citra dan video umumnya menggunakan 1-D atau 2-D. Versi 1-D mentrasformasi sebuah matrik sampel 1-D ke dalam matrik koefisien, sedangkan versi 2-D mentransformasi matrik 2-D [Blok] sampel kedalam blok koefisien.

Pengolahan Sinyal Multimedia

Pengkodean Transform

22

Discrete Cosine Transform 2D [DCT-2D]


DCT mempunyai dua sifat utama untuk kompresi citra dan video yaitu : o Mengkonsentrasikan energi citra kedalam sejumlah kecil koefisien [energi compaction] o Meminimalkan saling ketergantungan diantara koefisien-koefisien [decorrelation]. Koefisien dengan nilai kecil dapat dibuang tanpa mempengaruhi secara signifikan kualitas citra

Plot koefisien DCT 2-D

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

Discrete Cosine Transform 2D [DCT-2D]


Forward DCT 2-D

Fx , y

C ( x )C ( y ) N 1 M 1 (2 j + 1) y (2i + 1)x f i , j cos cos = 4 2M 2N i =0 j =0


1 , n=0 C (n ) = 2 1, n 0 ; n = x, y

Dimana :

Inverse DCT 2-D

fi, j

C ( x )C ( y ) (2 j + 1) y (2i + 1)x Fx , y cos cos = 4 2 N 2 M i =0 j =0


N 1 M 1

Pengolahan Sinyal Multimedia

Pengkodean Transform

24

Contoh

Citra asli

Blok 8 x 8 pixel dari citra

Pengolahan Sinyal Multimedia

Pengkodean Transform

25

ALGORITMA CEPAT UNTUK DCT


Separable Transform Untuk blok ukuran N x M = 8 x 8, 64 sampel citra. Masing-masing dari 64 koefisien FDCT merupakan fungsi pembobotan dari seluruh 64 sampel citra. Ini berarti akan dilakukan sebanyak 64 x 64 = 4096 operasi perkalian dan penjumlahan seluruh satu blok 8 x 8 FDCT. Pada Separable Transform, 2-D DCT dapat dihitung dalam dua tahapan yaitu : 1-D DCT untuk setiap baris, kemudian diikuti dengan 1-D DCT untuk setiap kolom [atau sebaliknya].

Pengolahan Sinyal Multimedia

Pengkodean Transform

26

ALGORITMA CEPAT UNTUK DCT


Separable Transform Forward DCT : 1-D FDCT [8 x 8]

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]

Atau dapat dikatakan 2-D DCT :

Pengolahan Sinyal Multimedia

Pengkodean Transform

27

ALGORITMA CEPAT UNTUK DCT


Separable Transform Invers DCT : 1-D IDCT [8 x 8]

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.

Pengolahan Sinyal Multimedia

Pengkodean Transform

28

ALGORITMA CEPAT UNTUK DCT


Algoritma Diagram Alir Contoh : Dengan menggunakan separable Transform, hitung koefisien F2 dan

Maka :

Dengan melihat sifat kesimetrian fungsi kosinus :

Pengolahan Sinyal Multimedia

Pengkodean Transform

29

ALGORITMA CEPAT UNTUK DCT


Algoritma Diagram Alir

Dengan cara yang sama diperoleh :

Kesimpulan :

Pengolahan Sinyal Multimedia

Pengkodean Transform

30

Potongan algoritma diagram alir untuk keluaran F2 dan F6

Pengolahan Sinyal Multimedia

Pengkodean Transform

31

Algoritma diagram alir [Chen, Fralick dan Smith]

Pengolahan Sinyal Multimedia

Pengkodean Transform

32

Transform Coding

Pengolahan Sinyal Multimedia

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

Pengolahan Sinyal Multimedia

Pengkodean Transform

34

Transform Coding
2. Metransformasi setiap sub-citra Bi , dimana i = 1,, I (I = MN/pq)

Pengolahan Sinyal Multimedia

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

Pengolahan Sinyal Multimedia

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.

Pengolahan Sinyal Multimedia

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.

Fine kuantisasi coarse kuantisasi


Pengolahan Sinyal Multimedia Pengkodean Transform 39

Transform Coding
Rekontruksi terhadap sub-citra dengan menggunakan step kuantisasi besar [IDCT], menghasilkan kecocokan yang lebih baik terhadap blok citra asli

Pengolahan Sinyal Multimedia

Pengkodean Transform

40

Transform Coding
Uniform Threshold Quantizer [UTQ]

th = nilai threshold q = nilai ukuran step

Pengolahan Sinyal Multimedia

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

Pengolahan Sinyal Multimedia

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.

Pengolahan Sinyal Multimedia

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.

Pengolahan Sinyal Multimedia

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.

Pengolahan Sinyal Multimedia

Pengkodean Transform

46

Anda mungkin juga menyukai