BAB II
LANDASAN TEORI
2.1
Kompresi Data
Sistem
komunikasi dirancang untuk mentransmisikan informasi yang dibangkitkan oleh
sumber ke beberapa tujuan. Sumber Informasi mempunyai beberapa bentuk yang
berbeda. Sebagai contoh, dalam radio
broadcasting, sumber biasanya sebuah sumber audio (suara atau musik). Dalam
TV broadcasting, sumber informasi
biasanya sebuah sumber video yang keluarannya berupa image bergerak. Output
dari sumber-sumber ini adalah sinyal analog dan sumbernya disebut sumber
analog.
Kontras
dengan Komputer dan tempat penyimpanan data (storage), seperti disk magnetic
atau optical, menghasilkan output berupa sinyal diskrit (biasanya karakter
binary atau ASCII) dan tentu sanya sumbernya disebut sumber diskrit. Baik
sumber analog maupun diskrit, sebuah komunikasi digital dirancang untuk
mentransmisikan informasi dalam bentuk digital.
Sehingga
konsekuensinya keluaran dari sumber harus diubah dahulu menjadi bentuk keluaran
sumber digital yang biasanya dilakukan pada source encoder, yang keluarannya
dapat diasumsikan sebuah digit biner sekuensial.
Pada
akhir 40-an dimana dimulainya tahun Teori Informasi, ide pengembangan metode
coding yang efisien baru dimulai dan dikembangkan. Dimulainya penjelajahan Ide
dari entropy, information content dan redundansi. Salah satu ide yang popular
adalah apabila probabilitas dari simbol dalam suatu
pesan
diketahui, maka terdapat cara untuk mengkodekan simbol, sehingga pesan memakan
tempat yang lebih kecil.
2.1.1
Teknik Kompresi
Data
Teknik kompresi data dapat digolongkan menjadi dua kelompok
utama yaitu : Lossy dan Lossless. Teknik kompresi secara lossy
dimaksudkan dengan teknik kompresi data dengan menghilangkan ketelitian data
utama guna mendapatkan data sekecil mungkin (kompresi data sebesar mungkin).
Teknik kompresi data secara lossless yaitu teknik kompresi data dengan
mengurangkan jumlah data yang terjadi duplikasi (memiliki simbol yang sama)
sebelum terjadi kompresi.
a.
Lossy
Compression
Teknik
kompresi dengan menghilangkan ketelitian dari data utama (Lossy Compression)
membuktikan lebih efekftif diaplikasikan untuk kompresi data gambar dan data
suara. Teknik ini efektif karena data yang berupa gambar dan suara relatif
besar ukurannya bila disimpan dalam komputer, dan data yang telah dikompresi
akan tetap memiliki kemiripan walau sebagian isi dari data yang telah
dihilangkan.
b.
Lossless
Compression
Merupakan
teknik kompresi untuk menghasilkan duplikasi dari inputan data dengan panjang
bit yang lebih pendek. Tipe pemampatan ini digunakan untuk penyimpanan record
pada database spreadsheet atau file pengolahan data.
2.1.2
Encoding dan Decoding
Encoding merupakan teknik untuk mendapatkan kode-kode tertentu (encoder),
dari kode-kode tersebut dapat diaplikasikan untuk pemampatan data dan keamanan
data. Dari data-data yang telah dikodekan tersebut, format-format isi dari data
tersebut berbentuk kode-kode yang tidak
bisa kita baca. Agar kode-kode tersebut bisa kita baca maka kita kodekan ulang
data tersebut, hal ini dikenal dengan decoding
(decoder).
Secara umum pemampatan data merupakan merubah suatu
simbol-simbol menjadi suatu kode-kode. Pemampatan dikatakan efektif jika ukuran
perolehan kode-kode tersebut sangat kecil dibandingkan dengan ukuran kode
simbol aslinya. Dari suatu kode-kode atau simbol-simbol dasar suatu model akan
dinyatakan dalam kode khusus.
2.2
Codec
Kata
codec berarti compressor/decompressor,
suatu hal rutin software yang
mengompresi video mentah untuk disimpan, dan kemudian mengdekompresnya untuk
ditampilkan pada PC. Sebelum melihat
bagaimana video codec bekerja, kita perlu memperjelas suatu miskonsepsi. Anda
mungkin mendengar bahwa AVI adalah sebuah format. Secara teknis, AVI merupakan suatu wadah atau
pembungkus, sama seperti QuickTime-nya Apple.
Suatu wadah bisa dianggap penyalur, AVI merupakan cara untuk mentranspor
aliran video dan audio di dalam file. Satu file AVI dapat berbeda satu dengan
yang lain, meskipun mereka berisi video dan audio yang sama pada resolusi yang
sama. Penyebabnya adalah sederhana, video yang disimpan di dalam file AVI dapat
dikompres dengan codec berbeda, sesuatu yang tidak dapat Anda ungkapkan hanya
dengan memutar file tersebut. Audio
codec dapat lossy atau lossless, tetapi video codec pada
umumnya lossy. Video yang dikompres dengan lossy codec tidak sama dengan rekaman
aslinya, karena ada informasi yang diabaikan pada waktu kompresi untuk
mengurangi ukuran file. Jumlah data yang terdapat pada file video resolusi
tinggi sangat banyak sehingga tidaklah praktis untuk menggunakan kompresi
lossless.
2.3
Frame dan Field
Secara luas, video codec dapat dibagi ke dalam dua jenis: frame-based dan field-bassed
atau temporal codec. Frame-based codec seperti Cinepak, atau
Motion-JPEG bekerja dengan melihat dan mengompres setiap frame video secara terpisah. Dengan 29,97/30 frame per detik dalam
NTSC video, frame-based codec
mempunyai dua kerugian: mereka dapat menjadi lambat dan ukuran file dapat cukup
besar.
Video tentunya, video merupakan
urutan gambar diam yang dijalankan pada kecepatan konstan sehingga tercipta
suatu ilusi gerakan. Dengan pikiran tersebut, tidaklah sulit untuk melihat
bahwa setiap frame atau gambar akan
tampak sama dengan sebelum dan sesudahnya, dengan sedikit perbedaan di mana
objek telah berpindah. Mengapa mengompres setiap frame secara individu, padahal
sebagian besar dari mereka pada dasarnya sama.
Di sinilah field atau temporal codec
mengambil peranan. Temporal codec
melihat bagaimana aliran video berubah seiring waktu. Pada waktu temporal codec mengompres suatu aliran,
ia menyimpan frame pertama. Frame
selanjutnya dibandingkan dengan frame
tersebut, dan perubahan apa pun di antara keduanya di pisahkan. Selanjutnya, codec hanya mengompres perubahan antara frame pertama dan frame
berikutnya. Karena frame pertama ini
penting dan menyimpan informasi yang dibutuhkan untuk mendekompres frame berikutnya, ia dikenal sebagai keyframe. Pada waktu codec menemukan perbedaan yang besar
seperti ketika film berpindah ke adegan yang berbeda, ia mengambil dan
mengompres keyframe lain.
Seperti yang dapat diperkirakan, temporal codec paling efisien pada waktu menangani rekaman yang
tidak berubah banyak. Temporal codec
misalnya adalah adalah WMV (Windows Media
Video).
2.4
Playback
Pada waktu memutar file video yang
disimpan dalam format misalnya file WMV, Windows secara otomatis mengetahuinya
dan segera menangani file tersebut. Format
seperti AVI jauh lebih kompleks, karena video dan audio stream dapat menggunakan
banyak codec kompresi. Pertama, Windows
memeriksa sebagian AVI header yang berisi kode FourCC (Four Caracter Code) kode empat digit yang digunakan untuk
mengidentifikasi kode yang digunakan dalam stream.
Windows kemudian membandingkan kode tersebut dengan video
codec yang ada pada PC dan memilih playback
codec yang sesuai.
Setelah video dan audio codec
ditentukan, Windows kemudian memberikan stream tersebut ke codec untuk
didekompresi. Codec kemudian
memberikan dekompresi ke program player yang digunakan, Windows Media Player
atau aplikasi pihak ketiga seperti WinAmp. Dengan model modular seperti ini,
codec dapat digunakan untuk aplikasi manapun untuk memutar file video tanpa
perlu programer menuliskan rutin dekompresi mereka setiap waktu.
2.5 Struktur pengkodean WMV
Format
warna internal untuk WMV adalah 8 bit.
codecnya menggunakan sebuah blok-based
kompensasi gerak (motion compesation)
dan transformasi spasial dimana, pada level tinggi, adalah sama dengan standar
kompresi video sejak MPEG-1 dan H.261 yang dikenal secara luas, standar-standar
ini seperti juga WMV melakukan blok per blok (block-by-block) kompensasi gerak dari frame yang direkontruksi sebelumnya
dengan menggunakan suatu kuantisasi (quantization)
dua dimensi yang disebut vektor gerak (motion
vektor) untuk menandakan perpindahan/pergerakan spasial. Prediksi dari blok yang digunakan saat ini (current block) dilakukan dengan melihat
pada sebuah blok yang berukuran sama pada frame yang direkontruksi sebelumnya
yang dipindahkan (berpindah) dari posisi asli oleh motion vektor. Secara bertahap, perbedaan
pergerakan/perpindahan frame, atau residual
error, dihitung sebagai perbedaan (perubahan) antara blok sebenarnya dan
prediksi kompensasi geraknya (motion compensation). Error
residual ini ditransformasikan lalu dikuantisasi dan dikodekan secara entropy.
Pada decoder, koefisien transformasi yang terkuantisasi didekodekan
secara entropy, dekuantisasi dan di
invers transformasi untuk menghasilkan suatu rata-rata dari kompensasi gerak (motion compesation) untuk membangkitkan
rekontruksi deskripsi/penjelasan level tinggi dari dari codec ditujukan pada gambar 2.1.
WMV mempunyai intra (I) frame, predicted
(P) frame dan bidirectional (B)
frame. Intra frame adalah frame yang dikodekan secara independen (bebas)
dan tidak memiliki ketergantungan pada frame lain. Predicted
frame adalah frame-frame yang tergantung pada satu frame sebelumnya. Decoding
sebuah frame predicted dapat muncul
hanya setelah semua frame referensi sebelum frame saat ini (current frame) yang dimulai dari frame I
yang paling baru. B frame (bidirectional frame) adalah frame yang
dikirimkan bertahap ke referensinya dimana berarti bahwa B frame dikirimkan
tanpa diminta untuk memastikan bahwa referensinya tersedia saat tiba waktunya
untuk decoding. B frame dalam WMV tidak digunakan sebagai
suatu referensi untuk frame-frame berikutnya (subsequent) ini menempatkan B frame diluar perulangan loop decoding,
memperbolehkan untuk mengambil jalan pintas selama decoding B frame tanpa penyimpangan atau penggambaran artifact dalam waktu lama.
2.6 Bagian-bagian dari pengkodean WMV (Windows Media Video)
- Discrete Cosine Transform (DCT)
- Kuantisasi (Quantization) dan Dekuantisasi (Dequantisasi)
- Entropy Coding
- Inverse Discrete Cosine Transform (IDCT)
- Kompensasi Gerak (Motion Compensation)
- Estimasi Gerak (Motion Estimation)
- Frame Referensi (Reference Frame)
Discrete Cosine Transform (DCT)
WMV menggunakan
8x8, 8x4 horisontal, 4x8 vertikal, atau 4x4 block
transform, seperti ditunjukkan pada gambar 2.2. Ini disediakan oleh WMV untuk digunakan pada
ukuran transform dan pembentukan yang
cocok untuk data dasar. Konfigurasi transform
yang spesifik harus menggunakan sinyal sebagai bagian dari bitstream. Pemberian sinyal ini dilakukan dalam suatu cara yang
efisien, seperti yang diuraikan di bawah.
Pemberian
tipe sinyal transformasi pada WMV adalah pada frame, makroblok atau level blok. Jika sinyal dikirim di level frame, semua
blok di dalam frame menggunakan jenis transformasi yang sama. Begitu juga jika sinyal dikirim di level makroblok,
semua blok di dalam suatu makroblok (terdiri dari enam 8x8 block, empat luminance block
dan dua crominance block) dengan
menggunakan tipe transformasi yang sama.
sinyal level blok adalah dikhususkan untuk blok yang sekarang. Makroblok dan sinyal level blok dapat
digabungkan ke seberang makroblok dalam satu frame. Ini mempertimbangkan
spesifikasi level baik dan buruk pada tipe tansformasi, dimana ini bermanfaat
ketika data tidak diperlukan.
Sinyal
level frame membantu di dalam situasi low-rate
di mana tipe transform coding yang
mungkin melebihi, jika tipe transformasi dikirim di makroblok atau level blok. Ketika makroblok atau sinyal level blok
digunakan, ada suatu kemungkinan penyimpanan beberapa dalam bit statis atau
dengan perkiraan area yang sempurna. Intra
frame dan intra blok/makroblok dalam predicted frame menggunakan 8x8
transformasi.
Prinsip dasar yang dilakukan dengan DCT adalah
mentransformasikan data dari domain ruang ke domain frekuensi. Transformasi kedomain frekuensi ini sangat
menguntungkan untuk kompresi data, karena pada domain frekuensi inilah
diperoleh sifat-sifat yang mendukung serangkaian proses selanjutnya
Gambar
2.2 Ukuran transformasi pada WMV
Kuantisasi (Quantization) dan
Dekuantisasi (Dequantization)
Proses kuantisasi dilakukan dengan
mengurangi hasil keluaran dari proses DCT dengan nilai-nilai yang terdapat
dalam matrik kuantisasi. Proses
kuantisasi merupakan proses untuk mengurangi jumlah bit yang diperlukan untuk
menyimpan suatu nilai dengan memperkecilnya.
Kuantisasi dilakukan dengan membagi keluaran proses DCT dengan suatu
nilai yang ditetapkan dalam matrik kuantisasi.
Hasil proses
dekuantisasi cenderung mengalami distorsi dibanding nilai aslinya. Hal ini dikarenakan pada proses kuantisasi
inilah terjadi error paling besar, yang disebabkan proses pembulatan. Jelas, proses lossy semacam ini berpengaruh pada kualitas gambar hasil
rekontruksi.
Kuantisasi (Quantization) adalah dimana keluaran proses DCT masuk ke proses kuantisasi
dengan cara megurangi jumlah bit yang diperlukan dengan menggunakan
fungsi-fungsi weighting (pembobotan)
yang dioptimalkan sehingga mendekati system visual manusia. Kuantisasi dimaksudkan untuk menyederhanakan
bobot angka-angka.
Dekuantisasi (Dequantization) adalah proses untuk mengembalikan data frame hasil proses DCT kebentuk semula
agar dapat digunakan menjadi frame
reference bagi kompresi interframe.
Entropy Coding
Entropy
coding
adalah proses mengkonversikan sebuah rangkaian simbol yang mewakili unsur-unsur
rangkaian video ke dalam suatu bitstream yang dikompresi untuk disimpan atau
transmisikan. Masukan simbol meliputi
koefisien transformasi kuantisasi, vektor gerak (suatu penggantian vektor X dan
Y untuk setiap blok kompensasi gerak dengan bilangan bulat atau resolusi
sub-pixel).
Invers Discrete Cosine Transform (IDCT)
Proses ini sama seperti dequantization, untuk mengembalikan data frame hasil proses DCT ke bentuk semula agar dapat digunakan
menjadi frame reference bagi proses
kompresi Interframe.
Kompensasi Gerak (Motion Compensation)
kompensasi gerak menjadi proses pembangkit sebuah
prediksi pada sebuah frame video dengan memindahkan frame referensi. secara
umum, prediksi dibentuk pada suatu blok (blok 8x8) atau macroblok (blok 16x16)
data. Penggantian biasanya dilakukan
secara konstan dan garis lurus di atas keseluruhan blok yang sedang diprediksi. Seperti pergantian digambarkan oleh vektor gerak (motion vektor) dengan dua komponen sesuai
dengan pergeseran sepanjang arah X dan Y.
komponen vektor gerak pada umumnya adalah dengan pergantian-pergantian pixel, biasanya dilakukan pada
ketelitian pada sub-pixel. Pergantian sub-pixel dilakukan dengan menyaring frame referensi dengan penyaringan
interpolasi yang tepat atau cocok.
WMV mengkombinasikan mode vektor
gerak yang diperoleh dari tiga kriteria yaitu resolusi vektor gerak, ukuran
area yang diprediksi dan tipe penyaringan.
Frame yang dibagi menjadi beberapa bagian blok-blok, kompensasi gerak
melakukan pencocokan blok pada frame saat ini (current frame) dengan blok-blok pada frame sebelumnya hingga
ditemukan blok-blok yang paling mirip yang disebut vektor gerak (motion vektor).
Estimasi Gerak (Motion Estimation)
Untuk B frame, dilakukan proses
kompresi Interframe, yaitu proses motion estimation atau estimasi gerak, karena hanya bagian kecil saja dari
frame yang berubah bila dibandingkan
dengan frame sebelum atau sesudahnya. Proses ini mengestimasi gerakan blok–blok
antar frame, tiap blok dibandingkan
dengan blok–blok berukuran sama, pada frame
sebelumnya dengan melakukan pencocokan blok (block matching). Proses ini dilakukan sampai semua frame habis.
Frame
Referensi (Reference Frame)
Frame referensi adalah tempat penyimpanan hasil dequantization dan IDCT dari proses
sebelumnya (sebelum data dikodekan). ini
menjadi frame reference bagi proses interframe.
Tidak ada komentar:
Posting Komentar