Anda di halaman 1dari 44

Transform Coding

Hendrawan hend@telecom.ee.itb.ac.id

Idea Transform Coding


Deretan data yg akan dikodekan dikonversikan ke deretan data baru menggunakan aturan transformasi 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

Proses reversible dp kembali ke deretan original menggunakan inverse transformation Koefisien dikuantisasi scalar
Ini adalah pengalokasian bit Koefisien penting mendapat level kuantisasi yg lebih

Hasil kuantisasi dikodekan dg entropy encoder

Pemampatan Energi (Energy Compaction)


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

Coding Menggunakan Energy Compaction


Energy compaction baik utk coding hanya gunakan koefisien signifikan Jika jumlah koef signifikan << jumlah sample pd deretan original kompresi Dlm praktek:
Koefisien signifikan dikodekan lebih akurat menggunakan bit lebih banyak Alokasikan jumlah bit lebih sedikit utk koefisien lainnya

Pd decoder:
Ambil kembali koefisien yg sdh dikodekan Rekonstruksi dg inverse transformation

Block Diagram of Transform Coding

Decoding
Entropy decoder diaplikasikan pd simbol-simbol hasil kuantisasi (quantized symbols) Hitung koefisien aproksimasi c0 ,c1, ...,cN-1 dari simbolsimbol Inverse transform c0,c1,...,cN-1 ke x0,x1,...,xN-1 yg merupakan aproksimasi yg baik dari x0,x2,...,xN-1 original

Analisa Fourier
Cara lain utk menurunkan transformasi Semua fungsi-fungsi periodik dp dinyatakan sbg kombinasi linier dari fungsi sin() dan cos() Memberikan pandangan alternatif dari suatu fungsi

Sifat Matematis Transformasi


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

Matrix Review: Perkalian


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

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

Matrix Review
I = Identity matrix = diagonal memp nilai 1, dan bernilai 0 pd posisi lainnya Jika A adalah matrix n x n, maka AI = IA = A A-1 menyatakan inverse dari A, shg A A-1 = A-1A = I Jika A = (aij) maka AT= (aji) (disebut transpose) Jika A = (aij) dan B = (bij) maka A+B= (aij+bij) Jika A = (aij) dan adalah scalar, A = (aij)

Transformasi Linier
Transformasi Linier Didefinisikan dg real matrix N x N, A = (aij)

Mis. X = column vector dari N data points maka AX = column vector dari transformed data (juga menghasilkan N data points) A = forward transform A-1 = inverse transform

Koefisien

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

Menghasilkan pemampatan (compaction)

Transformasi Optimal : Karhunen-Loeve Transform (KLT)


Diusulkan oleh Harold Hotelline (1933) dan dikembangkan oleh Kari Karhunen (1947) dan Michel Loeve (1948) Disebut juga Hotelling atau eigenvector transform Transformasi didasarkan pada statistical properties dari image Memberikan transformasi matrix yang ideal
Decorrelation Linearity Orthogonality

Kerugian data dependent dan pemrosesan kompleks

Sifat Matematis Transformasi


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

Transformasi orthonormal A-1 = AT

Koefisien

Mengapa Transformasi Orthonormal?


Energi data sama dg energi koefisien

Contoh Pemampatan (Compaction)

Discrete Cosine Transform (DCT)


Digunakan secara luas utk image dan video coding Transformasi orthonormal Forward transform = inverse transform Koefisien merepresentasikan kontribusi energi dari macam-macam frekuensi C(0) nilai rata-rata dari deretan - komponen DC Koefisien lainnya - komponen AC DCT dp dikomputasi secara efisien menggunakan algoritma Fast Fourier Transform (FFT)

Discrete Cosine Transform (DCT)

Dekomposisi dalam Basic Vectors

Basis Vectors

Discrete Cosine Transform


DCT 1-D

Inverse DCT

DCT 1-D: Basis Function (Basis Vector)

Transformasi 2-D

Discrete Cosine Transform


DCT 2-D
Utk citra dan video perlu DCT 2-D

Discrete Cosine Transform


Dibandingkan Fourier transform, karakteristik compaction DCT lebih baik dan menghasilkan koefisien-koefisien real N sampel input memberikan N koefisien DCT Image memp. area yg luas dg intensitas yg bervariasi secara perlahan
Memberikan konsentrasi energi pd koefisien DCT frekuensi rendah

Koefisien merepresentasikan kontribusi energi dari macammacam frekuensi F(0) (atau F(0,0) pd DCT 2-D), merepresentasikan harga ratarata sampel komponen DC Koefisien lainnya komponen AC DCT dapat dihitung secara efisien menggunakan algorima Fast Fourier Transform (FFT)

Block Transforms

DCT Block Based Coding


Dlm praktek, DCT diaplikasikan ke blok-blok pixel dari citra Ukuran blok tipikal 8 x 8 atau 16 x 16 Koefisien-koefisien dari blok kemudian dikuantisasi dan dikodekan secara terpisah Memungkinkan kuantisasi secara variabel utk mengeksploitir variasi dari frequency content dari citra Citra terdiri dari daerah-daerah (region) dg karakteristik frekuensi berbeda Krnnya, utk mendpkan energy compaction yg baik aplikasikan DCT ke region-region terpisah Kita tdk tahu region-region secara pasti, krnnya gunakan blok-blok sederhana Lebih baik drpd menggunakan citra lengkap

DCT Block Codec

Pemilihan Ukuran Blok


Pemilihan ukuran blok penting Terlalu besar mencakup lebih dari satu region dg karakteristik frekuensi berbeda Terlalu kecil kompresi kurang 8 x 8 atau 16 x 16 kompromi yg umum digunakan

Contoh DCT
Blok citra 8 x 8:

Koefisien DCT:

Contoh Transform Encoding: Lossy

Thresholding dan Quantization


Koef-koef DCT pd tiap-tiap blok di-threshold Hanya yg di atas threshold dipertahankan Lainnya pengaruhnya dianggap kecil Koefisien yg ada dikuantisasi Kuantisasi bervariasi dg frekuensi Frekuensi tinggi tdk begitu penting kuantisasi kasar

Quantization Matrix
Thresholding dan quantization dilakukan dg menggunakan quantization matrix Tiap koefisien dibagi dg elemen QM (T(k,l)) dan dibulatkan:

Element T(k,l) adalah integer Merepresentasikan ukuran step kuantisasi

Contoh Kuantisasi

Contoh Hasil Rekonstruksi dari Transformasi

Zonal Transform Compression


Zonal Transform Compression hanya mempertahankan koefisien-koefisien transformasi dlm zone spesifik Zonal Compression juga dilakukan dg menggunakan quantizer berbeda thd koefisien-koefisien transformasi 8-bit vs 7-bit, dst.

Zonal Sampling
Buang komponen-komponen utk energi yg diharapkan kecil

Bentuk dan ukuran zone dp berubah secara adaptif

Zonal Sampling
Koef-koef pd frekuensi rendah dipertahankan dan koefkoef pd frek tinggi dibuang Idea dibelakang zonal coding bahwa persepsi dari sistem visual manusia tdk terlalu sensitif utk frekuensi tinggi
Tergantung dari jumlah koef frek tinggi yg dibuang Jika terlalu banyak koef frek tinggi dibuang, tepi pada objek citra akan kabur (blurred)

Contoh

Zonal Sampling
Koef-koef transformasi yg dipertahankan dikuantisasi krn dynamic range sekarang sudah berubah Membuang koefisien bukan cara yg efisien dlm representasi informasi

Zonal Coding
Metoda lebih baik bukan dg membuang sebanyak mungkin koef frek tinggi, tetapi meng-kuantisasi koef frek rendah dg 4-8 bit quantizer krn koef-koef ini yg memuat paling banyak energi atau informasi dari gambar
Koef-koef frek tinggi di-kuantisasi dg kuantizer kasar dg 0-3 bit Proses ini dikenal sbg zonal coding dan matriks yg menyediakan level kuantizer diberikan dg bit assignment matrix

Zonal Coding
Bit assignment matrix tipikal utk blok 8x8

Anda mungkin juga menyukai