Anda di halaman 1dari 47

• Analisis statistik dari sinyal video menunjukkan bahwa ada

hubungan yang kuat diantara frame gambar yang


berturut-turut dan element yang terdapat dalam gambar
itu sendiri.
• Teknik pengkodeannya biasanya disebut dengan
Intraframe coding dan dasar dari JPEG coding.
• Apabila temporal correlation dimanfaatkan dengan baik,
hal ini disebut dengan Interframe coding.
• Interframe predictive coding inilah prinsip pengkodean
yang utama.
• Terdapat 3 prinsip yang mendasari pengurangan
redundansi :
• Pengurangan Redundansi Spasial : untuk mengurangi redundansi
spasial diantara pixel-pixel dalam sebuah gambar, yaitu dengan
1 penggunaan beberapa data kompresor, seperti transform coding.

• Pengurangan Redundansi Temporal : untuk menghilangkan


persamaan antara gambar-gambar yang berturut-turut, yaitu
2 dengan mengkodekan perbedaannya.

• Entropy Coding : untuk mengurangi redundansi antara data yang


dikompres, menggungakan teknik pengkodean variable length.
3
• Saat ini metode sederhana untuk pengurangan
redundansi adalah memprediksi nilai dari pixels-pixel
berdasarkan pengkodean sebelumnya dan
mengkodekan prediction error.
• Metode ini disebut dengan Differential Pulse Code
Modulation (DPCM).
• Transform coding utamanya digunakan untuk
menghilangkan redundasi spasial pada gambar
(images) dengan memetakan pixel-pixel kedalam
daerah transform terlebih dahulu untuk pengurangan
data.
• Vektor dasar dari Discrete Cosine Transfor (DCT)
adalah pemilihan umum untuk transformasi matriks.
• Untuk menghitung koefisien transform, setiap one-
dimesional forward atau inverse transformation
membutuhkan delapan perkalian dan tujuh
penambahan.
• Proses tersebut diulang untuk 64 koefisien dalam arah
vertical maupun horizontal.
• DCT adalah tipe dari Transformasi Fourier, dengan
keuntungan semua koefisien adalah riil.
• 64 blok pixel ditransformasikan kedalam 64 koefisien.
• Energi pada pixel-pixel dan daerah transform adalah
sama, karena itu tidak ada kompresi yang dicapai.
• Transformasi disebabkan oleh bagian yang signifikan
dari energi pada gambar untuk dipusatkan di
komponen frekuensi bawah, dengan sebagian besar
dari koefisien mempunyai energi yang kecil.
• Kelas dari Quantiser digunakan pada semua standart
pengkodean video berdasarkan Uniform Threshold
Quantiser (UTQ).
• Mempunyai Step Size yang sama, dengan
Reconstruction Value berada di tengah-tengah dari
step size.
• Dua kunci parameter dari UTQ adalah niilai threshold,
th, dan step size, q.
• Catatan bahwa meskipun Koefisien transform AC
mempunyai karakteristik non-uniform, hal ini dapat
lebih baik dikuantisasi dengan non-uniform quantiser
step size.
• Kata kuncinya dari UTQ adalah step size dapat
dengan mudah diadaptasi untuk memfasilitasi kontrol
rate.
• Dengan menggunakan perbedaan diantara gambar
yang berturut-turut, temporal redundansi dikurangi.
• Hal ini disebut dengan Interframe coding.
• Dengan menggunakan perbedaan antara gambar berturut-
turut, redundansi temporal berkurang. Ini disebut coding IFS.
Untuk bagian statis dari urutan gambar, perbedaan temporal
akan mendekati nol, dan karenanya tidak dikodekan.
• Bagian-bagian yang berubah antara frame, baik karena
variasi pencahayaan atau gerak benda, mengakibatkan
kesalahan gambar yang signifikan, yang perlu dikodekan.
Perubahan gambar karena gerakan dapat dikurangi secara
signifikan jika gerakan objek dapat diperkirakan, dan
perbedaan diambil pada gerak kompensasi gambar.
• Untuk melaksanakan kompensasi gerak, gerak benda bergerak
harus diperkirakan terlebih dahulu. Ini disebut estimasi gerak.
• Teknik estimasi gerakan yang umum digunakan dalam semua
codec video standar algoritma block matching (BMA).
Kemudian, untuk perpindahan gerak maksimum w piksel per
frame, blok saat piksel dicocokkan blok yang sesuai pada
koordinat yang sama tetapi dalam frame sebelumnya, dalam
jendela persegi lebar N + 2 w (Gambar 3.7).
• Keselarasan terbaik berdasarkan kriteria yang cocok
menghasilkan perpindahan.
• Fungsi pencocokan jenis MSE dan MAE didefinisikan
sebagai, untuk MSE:
• Prinsip dasar dari metode ini adalah bahwa jumlah poin
pencarian dapat dikurangi, secara selektif memeriksa hanya
sejumlah kecil titik-titik tertentu, dengan asumsi bahwa ukuran
distorsi monoton menurun ke arah yang terbaik titik cocok. Jain
dan Jain adalah yang pertama untuk menggunakan metode
logaritmik (TDL) pencarian dua dimensi untuk melacak arah dari
mean-squared mengukur distorsi kesalahan minimum.
• Metode lain cepat BMA adalah algoritma pencarian silang
(CSA). Dalam metode ini, ide dasarnya adalah masih pencarian
langkah logaritmik, yang juga telah dimanfaatkan dalam
[4,6,8], tapi dengan beberapa perbedaan, yang menyebabkan
titik pencarian komputasi yang lebih sedikit. Perbedaan utama
adalah bahwa pada setiap iterasi ada empat lokasi pencarian
yang merupakan titik akhir dari salib (×) bukan (+). Juga, pada
tahap akhir, poin pencarian dapat berupa titik akhir (x) atau
(+) silang. Untuk perpindahan gerak maksimum w piksel /
bingkai, jumlah perhitungan menjadi 5 + 4 log 2 w.
• Puri et al telah memperkenalkan algoritma pencarian
orthogonal (OSA) di mana, dengan ukuran langkah logaritmik,
pada setiap iterasi empat lokasi baru yang dicari. Ini adalah
metode tercepat dari semua MBA cepat dikenal. Dalam
metode ini, di setiap langkah, dua posisi yang dicari
bergantian di arah vertikal dan horizontal. Jumlah titik uji
adalah 1 + 4 log 2 w.
• Tabel 3.2 menunjukkan kompleksitas komputasi dari berbagai
metode pencarian cepat, untuk berbagai kecepatan gerak 4-
16 piksel / bingkai. Efisiensi gerak kompensasi dari algoritma
ini untuk kecepatan gerak w = 8 pixel / frame untuk gambar
urutan dua tes ditabulasikan pada Tabel 3.3.
• Asumsi variasi monoton intensitas citra digunakan dalam cepat BMAs sering
menyebabkan estimasi palsu, terutama untuk pemindahan gambar yang lebih besar.
Metode ini bekerja dengan baik untuk benda bergerak lambat, seperti yang ada di
video conferencing. Namun, untuk kecepatan gerak yang lebih tinggi, karena sifat
selektif intrinsik dari metode ini, mereka sering berkumpul untuk minimum lokal
distorsi.
• Salah satu metode mengurangi masalah ini adalah untuk subsampel gambar untuk
ukuran yang lebih kecil, sehingga kecepatan gerak dikurangi dengan rasio sampling.
Proses ini dilakukan pada gambar piramida bertingkat, yang dikenal sebagai
algoritma hirarkis block matching (HBMA). Dalam teknik ini, piramida dari frame
gambar yang direkonstruksi oleh berturut-turut penyaringan dua dimensi dan
subsampling dari frame gambar saat ini dan masa lalu. Gambar 3.9 menunjukkan
piramida tiga tingkat, di mana untuk kesederhanaan setiap tingkat tingkat atas
piramida diambil sebagai rata-rata empat piksel yang berdekatan dari satu tingkat
di bawah. Efektif ini merupakan bentuk low pass filtering.
• Block matching konvensional, baik pencarian penuh
atau metode cepat, pertama kali diterapkan pada
tingkat tertinggi piramida (level 2 pada Gambar 3.9).
Vektor gerak ini kemudian dua kali lipat, dan
perbaikan lebih lanjut dalam satu pencarian pixel
dilakukan di tingkat berikut. Proses ini diulang ke level
terendah. Oleh karena itu, dengan n-tingkat piramida
kecepatan gerak maksimum w pada tingkat tertinggi
dikurangi menjadi w / 2 pangkat n -1.
• Untuk lebih lanjut pengurangan bit rate, koefisien transformasi
dan koordinat vektor gerak yang panjang variabel kode (VLC).
Di VLC, kata kode pendek ditugaskan untuk nilai-nilai sangat
mungkin dan kata-kata kode panjang untuk yang kurang
kemungkinan. Panjang kode harus bervariasi terbalik dengan
probabilitas kemunculan berbagai simbol di VLC. Bit rate yang
dibutuhkan untuk kode simbol-simbol ini merupakan kebalikan
dari logaritma dari probabilitas, p, di pangkalan 2 (bit), yaitu
log 2 p. Oleh karena itu, entropi simbol yang merupakan bit
rata-rata minimum yang diperlukan untuk kode simbol dapat
dihitung sebagai:
• Huffman coding adalah yang paling umum dikenal metode
pengkodean panjang variabel berdasarkan statistik
probabilitas. Huffman coding memberikan kode output ke setiap
simbol dengan kode keluaran yang sesingkat 1 bit, atau jauh
lebih panjang dari simbol input, tergantung pada probabilitas
mereka. Jumlah optimal dari bit yang akan digunakan untuk
masing-masing simbol - log 2 p, di mana p adalah probabilitas
simbol tertentu.
• Namun, karena kata-kata kode ditugaskan harus terdiri dari
jumlah integral bit, ini membuat Huffman coding suboptimum.
• Untuk menghasilkan kode Huffman untuk simbol
dengan probabilitas yang dikenal kejadian, langkah-
langkah berikut dilakukan:
• peringkat semua simbol dalam urutan probabilitas mereka
terjadinya
• berturut-turut menggabungkan setiap dua simbol dengan
probabilitas paling untuk membentuk simbol komposit baru,
dan kembali peringkat menyuruh mereka; ini akan
menghasilkan pohon, di mana setiap node adalah
probabilitas semua node di bawahnya
• melacak jalan untuk setiap daun, mencatat arah di setiap
node.
• Gambar 3.10 menunjukkan contoh Huffman coding tujuh simbol,
AG. Probabilitas mereka dalam urutan yang ditunjukkan pada
kolom ketiga. Dalam kolom berikutnya dua probabilitas terkecil
ditambahkan dan probabilitas gabungan termasuk dalam orde
baru. Prosedur terus kolom terakhir, di mana probabilitas
tunggal 1 tercapai. Mulai dari kolom terakhir, untuk setiap
cabang probabilitas 0 ditugaskan di bagian atas dan 1 di
bagian bawah, yang ditunjukkan pada angka tebal pada
Gambar tersebut. Codeword sesuai (ditunjukkan dalam kolom
pertama) yang dibacakan dengan mengikuti urutan dari kanan
ke kiri. Meskipun dengan panjang kata yang tetap setiap
sampel diwakili oleh tiga bit, mereka diwakili di VLC dari dua
hingga empat bit.
• Huffman coding dapat optimal jika probabilitas simbol kekuatan integer,
yang biasanya tidak terjadi. Coding aritmatika adalah teknik kompresi data
yang mengkodekan data dengan menciptakan string kode, yang merupakan
nilai pecahan pada garis bilangan antara 0 dan 1.
• Hal ini mendorong pemisahan yang jelas antara model untuk
merepresentasikan data dan pengkodean informasi sehubungan dengan
model tersebut. Keuntungan lain dari aritmatika coding adalah bahwa ia
membagi-bagikan dengan pembatasan bahwa setiap simbol harus
diterjemahkan ke dalam jumlah integral bit, sehingga coding lebih efisien. Itu
benar-benar mencapai entropi teoritis terikat untuk kompresi efisiensi untuk
sumber manapun. Dengan kata lain, coding aritmatika adalah cara praktis
menerapkan pengkodean entropi.
• Ada dua jenis pemodelan yang digunakan dalam pengkodean aritmatika:
model tetap dan model adaptif
• Dalam model tetap, baik encoder dan decoder tahu probabilitas ditugaskan
untuk setiap simbol. Probabilitas ini dapat ditentukan dengan mengukur
frekuensi dalam sampel yang representatif harus dikodekan dan frekuensi
simbol tetap tetap. Model tetap adalah efektif bila karakteristik sumber
data yang dekat dengan model dan memiliki sedikit fluktuasi.
• Dalam model adaptif, probabilitas ditugaskan dapat berubah karena
setiap simbol dikodekan, berdasarkan frekuensi simbol lihat sejauh ini.
Setiap simbol diperlakukan sebagai unit individu dan karenanya tidak perlu
untuk sampel yang representatif dari teks. Awalnya, semua jumlah mungkin
sama, tetapi mereka memperbarui, karena setiap simbol terlihat, untuk
mendekati frekuensi observasi. Update model distribusi yang melekat
sehingga prediksi simbol berikutnya harus mendekati distribusi nyata berarti,
membuat jalan dari simbol ke akar lebih pendek.
Pada bagian sebelumnya kita melihat bahwa,
karena jumlah simbol dalam pesan meningkat,
berbagai pesan menjadi lebih kecil. Jika kita
terus coding simbol lainnya maka rentang akhir
bahkan dapat menjadi lebih kecil dari ketepatan
komputer untuk menentukan kisaran tersebut.
Untuk mengatasi masalah ini kita dapat bekerja
dengan aritmatika biner coding.
Terdapat kasus-kasus di mana lebih rendah dan nilai-nilai atas
memiliki bit yang paling signifikan yang sama, mengirim bit
saluran yang turun dan menghitung interval baru sebagai berikut:
• mengirim 0 dapat disamakan dengan penghapusan paruh
kedua skala dan menjaga semester pertama saja; skala baru
diperluas dengan faktor 2 untuk mendapatkan perwakilannya
di seluruh skala [0,MAX_VAL) lagi.

Gambar 3.12: Kedua bawah dan atas nilai-nilai di babak pertama


• mengirimkan 1 dapat disamakan dengan pergeseran paruh kedua dari
skala setengah pertama; yang mengurangi setengah dari nilai skala dan
mengalikan hasilnya dengan faktor 2 untuk mendapatkan perwakilannya
di seluruh skala lagi.

Gambar 3.13: Kedua bawah dan atas nilai-nilai di babak kedua

Jika interval selalu tetap baik setengah dari skala setelah sedikit telah
dikirim, operasi diulang sebanyak yang diperlukan untuk mendapatkan
selang menduduki kedua bagian skala. Prosedur lengkap disebut pengujian
lingkaran interval.
Alur pengujian lingkaran interval ditunjukkan pada Gambar 3.15 dan contoh rinci coding
pesan diberikan pada coding dibawah. Untuk setiap simbol harus dikodekan kami
memohon diagram alir Gambar 3.15, kecuali simbol adalah akhir dari simbol berkas,
dimana program berhenti. Setelah masing-masing pengujian lingkaran, model dapat
diperbarui (frekuensi diubah jika opsi adaptif telah dipilih).

Gambar 3.15: Diagram Alir Aritmatika Biner Coding


contoh sederhana yang diberikan di bawah ini. Untuk
menyederhanakan operasi lebih lanjut, kami menggunakan model
tetap dengan empat simbol a, b, c dan d, di mana probabilitas
mereka tetap dan probabilitas kumulatif diberikan dalam Tabel
3.7, dan urutan pesan peristiwa yang akan dikodekan bbacd.
• Probabilitas ditugaskan untuk perubahan simbol karena setiap simbol
dikodekan [18]. Untuk biner (bilangan bulat) coding, ini dicapai dengan
menetapkan frekuensi 1 setiap simbol pada awal coding (inisialisasi). ).
Sebagai simbol dikodekan, frekuensi simbol yang bertambah satu. Oleh
karena itu frekuensi simbol yang disesuaikan dengan jumlah mereka
penampilan sejauh ini. Decoder mengikuti prosedur yang sama.
• Pada setiap tahap coding, tes dilakukan untuk melihat apakah frekuensi
kumulatif (jumlah frekuensi dari semua simbol) melebihi MAX_VAL. Jika hal
ini terjadi, semua frekuensi yang dibelah dua (minimal 1), dan encoding
terus. Untuk adaptasi yang lebih baik, frekuensi simbol dapat dijalankan
untuk distribusi yang telah ditetapkan yang sesuai dengan statistik
keseluruhan simbol yang lebih baik.
Gambar 3.19 menunjukkan interframe encoder generik yang
digunakan dalam semua codec video standar, seperti H.261,
H.263, MPEG-1, MPEG-2 dan MPEG-4 [20,16,21,22,17].

Gambar 3.19 A generic interframe video predictive coder


• Interframe loop
• Dalam coding prediksi interframe, perbedaan antara piksel
dalam frame dan nilai-nilai prediksi mereka dari frame
sebelumnya dikodekan dan ditransmisikan. Pada penerima,
setelah decoding sinyal kesalahan masing-masing pixel, itu
akan ditambahkan ke nilai prediksi yang sama untuk
merekonstruksi gambar.
• Motion estimator
• Menetapkan vektor gerakan untuk setiap pixel sangat mahal.
Sebaliknya, sekelompok piksel yang gerak kompensasi,
sehingga overhead vektor gerak per pixel bisa sangat kecil.
• Inter/intra switch
• Setiap MB adalah salah satu interframe atau intraframe kode,
yang disebut inter / MB intra. Keputusan pada jenis MB
tergantung pada teknik coding.
• DCT
• Setiap MB dibagi menjadi 8 × 8 pencahayaan dan
chrominance pixel blok. Setiap blok kemudian diubah melalui
DCT. Ada empat blok pencahayaan di setiap MB, namun
jumlah blok chrominance tergantung pada resolusi warna
(format gambar).
• Quantiser
• Ada dua jenis quantiser. Salah satu dengan zona mati untuk
koefisien AC dan koefisien DC antar MB, yang lain tanpa zona
mati yang digunakan untuk koefisien DC MB intra. Kisaran
koefisien quantised dapat -2.047-2047. Dengan quantiser
zona mati, jika modulus (nilai absolut) dari koefisien kurang
dari ukuran quantiser langkah q sudah diatur ke nol, jika tidak
maka quantised menurut eqn 3.6, untuk menghasilkan indeks
quantiser.
• Variable length coding
• Indeks quantiser yang panjang variabel kode, sesuai
dengan jenis VLC digunakan. Vektor gerak, serta alamat
macroblocks kode, juga VLC kode.

• IQ and IDCT
• Untuk menghasilkan prediksi untuk IFS coding, koefisien DCT
quantised yang terbalik pertama quantised dan inverse
DCT kode. Ini ditambahkan ke nilai gambar mereka
sebelumnya (setelah bingkai penundaan oleh toko bingkai),
untuk menghasilkan replika gambar diterjemahkan.
Gambar tersebut kemudian digunakan sebagai prediksi
untuk pengkodean gambar berikutnya dalam urutan.
• Buffer
• Bit rate yang dihasilkan oleh coder IFS adalah
variabel. Hal ini karena kecepatan bit
terutama fungsi kegiatan gambar (gerakan
objek dan rincian mereka). Oleh karena itu,
untuk mengirimkan video dikodekan ke saluran
tingkat bunga tetap (misalnya 2 Mbit / s link),
bit rate harus diatur.
• Menyimpan data dikodekan dalam buffer
dan kemudian mengosongkan buffer pada
tingkat saluran melakukan hal ini.

Anda mungkin juga menyukai