Teknik Kompresi MPEG-2 VIDEO
Istilah VCD bukan merupakan istilah yang asing lagi, bahkan kehadiran VCD player dengan berbagai merek saat ini, lebih memudahkan mendapatkan hiburan dengan kualitas gambar yang relatif baik. Bagaimana data-data gambar tersebut disimpan? Bagaimana memadatkan data-data gambar dalam film tersebut sehingga dapat cukup dalam 1 sampai 2 buah CD?
Semuanya itu berkat adanya teknik kompresi MPEG (Moving Picture Expert Groups). MPEG merupakan standar yang digunakan dalam pengkodean Audio-Video (pada film, video, atau lagu) dalam format digital yang terkompresi. Teknik kompresi MPEG yang paling baru saat ini adalah MPEG-4 dengan kemampuan kompresi yang lebih baik dari pada teknik kompresi tertentu. Sedangkan yang sekarang ini sedang populer adalah MPEG-3 atau yang lebih dikenal sebagai MP3. Sedangkan untuk VCD biasanya menggunakan teknik kompresi MPEG-2 dan kadang-kadang menggunakan MPEG-1.
Selain itu dengan adanya teknik kompresi MPEG saat ini memungkinkan adanya siaran TV digital. Hal ini sudah digunakan pada TV-TV swasta di Indonesia untuk siran-siaran mereka yang melalui satelit. TV swasta lebih memilih siaran dengan format digital karena dengan fomrat digital ini mereka dapat menghemat biaya siaran yaitu penghematan sewa badwidth di satelit. Jika dengan menggunakan dengan format konvesional maka paling tidak dibutuhkan bandwidth sebesar 1MHz sedangkan dengan format TV digital ini hanya diperlukan 100KHz saja.
Struktur Sistem MPEG
Lapisan Sistem MPEG
Tugsa utama dari sistem MPEG adalah menggabungkan satu atau lebih bit video dan audio yang akan dikompress menjadi satu bit saja. Bit terdiri dari perintah yang disediakan untk timing kontrol dan untuk sinkronisasi antara bit video dan audio. Jadi pada dasarnya lapisan sistem MPEG terdiri dari lapisan sistem dan lapisan data terkompres. Lapisan sistem menyediakan sebuah tempat bagi lapisan data terkompres sedangkan lapisan sistem menyediakan kontrol untk mendemultiplex lapisan data terkompres.
Lapisan Sistem MPEG
Data stream seperti di atas pada blok sistem decoder dipisahkan antara audio data stream dan video data stream melalui informasi waktu.
MPEG AUDIO
Pengkodean MPEG audio harus mempunyai kualitas yang baik dengan nilai kompresi yang baik pula. Pengkodean pada MPEG Audio ini harus dapat melakukan sampling sebesar 32,44.1 KHz dan 48 KHz. Untuk mendapatkan kualitas di atas maka untuk penyamplingan audio, data yang tidak dikompres membutuhkan kecepatan data 1.5Mbit/s sedangkan jika dikompress 32-192Kbit/s untuk monophonic dan 128-384Kbit/s untuk stereophonic.
Pada MPEG Audio, lapisan I dan lapisan II menggunakan filter agar semua window dapat disatukan menjadi 32 subbands dengan frekuensi sampling 750 Hz dengan 12 sample per windows. Sebenarnya data stream pada lapisan I dan lapisan II hampir sama tetapi data stream pada lapisan kedua mempunyai kualitas yang lebih baik. Hal ini disebabkan karena error kuantisasi pada saat gema terjadi dan distorsi pada sampling yang pertama. Untuk mengurangi error ini maka perlu adanya Pre-Echo kontrol.
MPEG VIDEO
Lapisan paling luar dari data stream MPEG adalah lapisan data stream untuk video. Semua aliran video dibagi menjadi beberapa kumpulan gambar dan masing-masing kelompok gambar dibagi menjadi satu atau lebih gambar dengan tiga tipe I, P, dan B.
Kumpulan Gambar Dalam Video Data Stream
Ketika MPEG me-request sebuah data stream yang baru maka MPEG mengeluarkan request code dalam suatu data stream dimana instruksi menentukan gambar yang harus didecoderkan oleh decoder.
Makroblok
Komponen utama dari MPEG adalah makroblok yang terdiri dari 16x16 sample luminan bersama dengan 8x8 sample krominan. Dengan katalain didalam setiap makroblok terdapat 4 mikroblok.
Makroblok MPEG
Pengkodean dilakukan dengan melakukan kuantisasi data stream. Metode kuantisasi yang paling baik adalah metode kuantisasi dengan menggunakan metode HUFFMAN. Metode HUFFMAN digunakan untuk membangkitkan sebuah tabel yang berisi panjang pengkodean. Panjang kode yang digunakan nantinya harus merupakan kode dengan panjang yang paing tinggi dengan probabilitas paling tinggi. Pengkodean ini dilakukan pada setiap makroblok dan akhir dari setiap blok diberi tanda EOB (End Of Block).
Pengkodean MPEG
Sistem kompresi akan melakukan reduksi data sehingga jumlah data dalam suatu data stream dapat ditekan. Proses kompresi dalam MPEG disusun dari menjadi dua bagian, yaitu model encoder yang berbentuk lossy data reduction dalam sebuah proses perubahab seumber data digital menjadi sebuah bentuk data abstrak yang menggambarkan suatu label simbol. Bagian yang kedua adalah bagian yang mendekodekan simbol tadi dalam sebuah proses yang meminimalkan panjang aliran data. Proses yang kedua disebuat dengan proses entrophy code.
Kode-kode entropi terbentuk dari susunan huruf yang telah disusun sedemikian rupa sehingga jumlah panjang kode yang dikirimkan menjadi seminim mungkin dan sesederhana mungkin untuk semua simbol dan huruf.
Kode-kode yang dihasilkan dari kode entropi tersebut dikodekan dengan menggunakan metode HUFFMAN. Metode ini berdasarkan pemasangan simbol dan pengelompokan simbol. Pengelompokan simbol diberi simbol ?a?,?b?,?c?, dan ?d?. Selain itu juga digunakan metode ?tree? dimana kemungkinan pemasangan dan pengelompokan dari simbol yang mempunyai bermacam kemungkinan tersebut sebagai sebuah dahan dalam sebuah pohon. Kemungkinan dari cabang yang paling luar dibentuk dari pemasangan 2 simbol dengan menjumlahkan kemungkinan dari cabang-cabang pohon tersebut sampai tinggal satu cabang tunggal. Dimana setiap cabang tersebut ditandai dengan ?0? dan ?1?. Dari metode inilah dihasilkan kode tabel HUFFMAN untuk simbol-simbol yang dipakai dalam sebuah data stream.
Kode Huffman
Kode-kode yang dihasilkan bukan merupakan kode-kode yang adaptif tetapi menggunakan tabel kode-kode yang benar-benar sudah pasti. Jadi setiap data mempunyai simbol yang pasti dalam tabel HUFFMAN. Agar dapat menyimbolkan semua kode yang ada maka MPEG harus membuat sebuah table yang dilakukan dengan percobaan yang berulang-ulang dan mengambil simbol dengan kemungkinan paling besar. Jika sebuah kode terlalu panjang untuk sebuah simbol maka digunakan kode lain yang lebih pendek. Ketika kemungkinan dari simbol tidak sama dengan nilai yang diasumsikan, peningkatan jumlah bit untuk beberapa simbol harus lebih sedikit dari penurunan dari jumlah bit untuk kodeyang lain. Penyesuaian ini biasanya menurunkan efisiensi pengkodean namun mendapatkan hasil yang paling maksimal. (Mempertimbangkan panjang kode akan menambah beban kompresi jadi lebih baik menggunakan kode dengan panjang yang lebih pendek).
Pada pengkodean yang adaptif, pengkodean entrophy, tabel dimodifikasi supaya nilai-nilai dalam tabel tersebut lebih cocok dengan kemungkinan yang disimbolkan. Dengan pengkodean yang adaptif maka sistem akan semakin menjadi kompleks tetapi hanya dengan bagian yang tidak sesuai antara kemungkinan yang diasumsikan dengan kemungkinan sebenarnya merupakan keuntungan yang lebih penting.
MPEG mempunyai banyak koefisien yang bernilai 0 khususnya pada interval frekuansi tinggi. Kemungkinannya sampai di atas 0.5 sehingga pengkodean pada kondisi seperti ini tidak efisien sehingga nilai koefisien ?0? ini digabungkan dengan banyak cara untuk menciptakan suatu model dengan kemungkinan yang lebih rendah.
MPEG membagi gambar menjadi 3 kategori :
1. Intra-Code (I), yang dikodekan tanpa referensi dari gambar sesudahnya atau sebelumnya dalam sebuah aliran gambar.
2. Bidirectional-Code (B), yang dikodekan dari gambar I atau P, dari gambar sebelumnya atau prediksi dari gambar yang akan datang. Gambar B tidak digunakan untuk memprediksikan gambar yang lain.
3. Gambar yang lalu/previous (P).
Ketika gambar I dikodekan tanpa referensi dari gambar yang terdekat dari sebuah data stream, model kode harus memanfaatkannya hanya untuk mendecode gambar saja. Untuk gambar I, model kode yang digunakan sama dengan model kode yang digunakan pada JPEG. Gambar P dan gambar B dikodekan secara berbeda. Perbedaan yang terjadi antara gambar yang dikodekan dan referensi dari sebuah gambar. Hal ini dapat dicontohkan jika pada frame pertama dan frame kedua sama maka perbedaanya adalah nol sehingga dapat mengurangi data yang akan dikompresi nantinya.
Nilai kuantisasi DC dari blok sebelumnya (P) adalah merupakan prediksi untuk nilai DC pada satu blok tersebut. Pengkodean dari DC dikerjakan dengan pengkodean sebuah kategori ukuran dan penambahan bit yang memberitahu dengan tepat besar dan tandanya. Ukuran dan kategori menjelaskan jumlah penambahan bit yang diperlukan untuk memenuhi koefisien DC. Dengan kata lain, jika ukurannya adalah nol maka perbedaan DC nya adalah nol. Sehingga dari perbedaan tersebut dapat diketahui nilai yang sebenarnya dengan menambahkan/mengurangi ukuran kategorinya.
Dalam scanning secara zig-zag, banyak koefisien yang bernilai nol dalam suatu blok 8x8. Hal ini tidak mungkin untuk efisiensi kode blok tanpa menggabungkan koefisien nol ke dalam simbol komposit. Salah satu contoh kode komposit adalah kode EOB (End OF Block) dimana merupakan sebuah kode dari simbol koefisien nol dalam scanning zig-zag dengan sebuah kode tunggal. Semua blok yang tidak nol harus dikodekan dan untuk kode ini digunakan kode-kode tertentu pada tabel MPEG.
Sebuah decoder MPEG pada dasarnya terdiri dari 3 modul utama :
1. Decoder Controller
2. VLC Decoder, digunakan untuk mendecodekan data terkompres
3. Modul rekonstruksi.
Struktur MPEG Encoder
Struktur MPEG Decoder
Dapat dilihat bahwa proses pendekodean MPEG lebih rumit dari pada proses encoder. Hal ini disebabkan pada proses decoder diperlukan proses untuk mengetahui kode-kode dalam tabel MPEG yang terdapat pada gambar I maupaun P. Blok Motion estimator merupakan blok yang dipergunakan MPEG untuk memprediksikan gambar yang akan datang sehingga pengurangan dari data source dan data hasil prediksi akan menghasilkan data stream yang lebih padat.
Rabu, 14 Oktober 2009
tehnik kompresi MPEG-2 Video
Label:
JarKom Lanjut
Langganan:
Posting Komentar
(Atom)
Grab this Widget ~ Blogger Accessories Custumized by Yuniarto Rahardjo
0 komentar:
Posting Komentar