• Tidak ada hasil yang ditemukan

BAB II. Decoder H.264/AVC

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II. Decoder H.264/AVC"

Copied!
8
0
0

Teks penuh

(1)

BAB II

Decoder H.264/AVC

Pada bab ini akan dibahas tentang teori dasar dari sistem H.264, modul dan algoritma dari Inverse Block Transform, Deblocking Filter dan Motion Compensator.

II.1 Sistem H.264

H.264 adalah standard video coding yang dibangun oleh Vidio Coding Expert Group (VCGE) dan ISO/ IEC Moving Picture Expert Group (MPEG). Standard ini mempresentasikan codec (syntax) yang mendeskripsikan visual data ke dalam keadaan kompresi dan metode decoding yang merekonstruksi informasi visual. Standard ini digunakan dalam percakapan (video telephony) dan aplikasi bukan percakapan (penyimpanan broadcast atau streaming)

Pada standard MPEG-4 H.264/AVC, hal yang perlu diperhatikan ialah pengambilan gambar, warna, dan jenis slice. Pengambilan gambar terbagi atas spatial dan temporal yang merupakan representasi dari gambar yang bergerak. Warna gambar pada standar ini menggunakan tipe YCbCr yaitu luma komponen (terang gelap) dan perbedaan dari tiga warna (chroma) yang mempresentasikan intensitas warna dari setiap gambar. Format YCbCr yang digunakan adalah 4:2:0 yang mana berarti setiap Cb dan Cr memiliki resolusi yang bernilai setengah dari resolusi luma. Jenis slice dalam MPEG-4 H.264/AVC terdapat 5 slice yaitu I slice, P slice, B slice, SI dan SP slice. I slice atau intra slice mendiskripsikan gambar itu sendiri. P slice atau slice prediksi yaitu slice yang menggunakan satu atau beberapa slice yang telah didecode untuk dipakai dalam rekonstruksi gambar sebagai referensi. B slice atau slice bi-prediksi memiliki fungsi yang hampir sama dengan P slice, akan tetapi slice yang digunakan sebagai referensi gambar berasal dari gambar sebelum dan

sesudahnya. SI dan SP merupakan switching slice digunakan untuk transisi diantara

(2)

Gambar 2.1. Blok diagram decoder MPEG-4 h.264/AVC[1]

Decoder memiliki fungsi untuk merekonstruksi sebuah salinan atau perkiraan dari gambar asli yang telah dikompresi. Dalam blok diagram (gambar 2.1) menunjukkan bagian-bagian penyusun MPEG4/H.264 decoder, dimana komponen utamanya yaitu:

• Modul Inverse Block Transform (blok T-1).

• Modul Deblocking Filter (blok filter).

• Modul Motion Compensator (blok MC).

II.2 Modul Inverse Block Transform

 

Modul Inverse Block Transform berfungsi untuk melakukan proses

dekompresi terhadap data masukan yang diterima dari NAL (Network Abstraction

Layer) dan Entropy Decode. Proses dekompresi dilakukan karena data yang diterima

merupakan data dari encoder yang telah dikompresi dengan fungsi discrete inverse

transform dan quantization. Fungsi yang dijalankan oleh Inverse Block Transform digambarkan dalam fungsi matriks berikut:

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − − − − ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − − − − = 2 1 1 1 1 1 1 2 1 1 1 1 2 1 1 2 1 1 1 1 2 1 1 1 2 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 IQ IT X x di mana,

xIT = nilai hasil inv-block transform.

(3)

Dengan arsitektur:

Gambar2.2. Arsitektur Inverse Block Transform[2]

Desain Inverse Block Transform ini (Gambar 2.2) dirancang untuk menerima input 4 piksel per clock. Input yang diterima akan diproses menggunakan algoritma inverse transform sebanyak 2 kali, yaitu untuk arah vertikal dan arah horizontal.

Oleh karena itu, disain membutuhkan modul trans_reg untuk melakukan transpose

dari data vertikal menjadi data horizontal.

II.3 Modul Deblocking filter

 

Modul Deblocking Filter memiliki fungsi untuk mengurangi distorsi pada batas antar blok dalam suatu makroblok. Dengan menghilangkan efek distorsi ini, kualitas gambar yang diperoleh akan menjadi lebih tinggi.

Satu siklus pemrosesan dalam suatu makroblok gambar dibutuhkan data dari satu makroblok yang akan diproses, ditambah dengan 4 blok sisi sebelah atas dan 4 blok sisi sebelah kiri yang berdekatan. Proses filtering ini dilakukan pada sisi vertical maupun horizontal dari suatu makroblok kecuali pada sisi batas slice. Setiap gambar video dikodekan ke dalam satu slice atau lebih, dengan urutan sebagai berikut:

(4)

• Filter 4 batas vertikal pada komponen luma (dengan urutan a, b, c, d pada gambar2.3).

• Filter 4 batas horizontal pada komponen luma (dengan urutan e, f, g, h pada

gambar2.3).

• Filter 2 batas vertikal pada komponen chroma (dengan urutan i, j pada gambar

2.3).

• Filter 2 batas horizontal pada komponen chroma (dengan urutan k,l pada

gambar2.3).

Gambar 2.3. Urutan proses filtering pada suatu makroblok[3]

Proses Debloking Filter dilakukan setiap baris baik secara vertical maupun secara horizontal dengan masukan 4 pixel data dari kedua blok yang berbatasan dengan sisi yang hendak difilter (gambar 2.4). Dalam pemrosesan data memiliki dua tahap yaitu penentuan Boundary Strength (BS) dan penentuan jenis filter yang diaplikasikan.

(5)

Nilai-nilai BS yang berkisar antara 0-4 ditentukan berdasarkan kondisi blok-blok sekitarnya (gambar 2.5). BS bernilai 4 jika input p dan/atau q adalah intra code dan merupakan sisi batas makroblok. BS bernilai 3 jika input p dan/atau q adalah intra code dan bukan merupakan sisi batas makroblok. BS Bernilai 2 jika input p dan/atau q bukan intra code dan memiliki nilai koefisien. BS bernilai 1 jika input p dan/atau 1 bukan intra code dan tidak mengandung nilai koefisien dan memiliki gambar referensi yang berbeda atau jumlah referensi gambar yang berbeda atau memiliki nilai-nilai motion vector yang berbeda oleh sebuah sampel luma atau lebih. Bs Bernilai 0 bila kondisi bs bernilai 1 hingga 4 tidak terpenuhi.

Gambar 2.5 Diagram Alir Penentuan Nilai Boundary Strength (bS).[3]  

Syarat proses filtering diaplikasikan pada suatu kelompok sampel adalah: 1. bS > 0.

2. |p0 – q0| < α dan |p1 – p0| < β dan |q1 – q0| < β.

α dan β merupakan nilai threshold yang didefinisikan di dalam standar

MPEG4/H.264, dimana nilainya ditentukan oleh parameter kuantisasi (QP), FilterOffsetA, dan FilterOffsetB.

(6)

II.4 Modul Motion Compensator

 

Modul motion compensator (MC) berfungsi untuk menghasilkan frame

prediction dari satu atau dua gambar referensi yang dipilih dari sekelompok gambar referensi. Modul ini berfungsi saat decoder berada pada inter mode.

MC dalam melakukan prediksi, membutuhkan informasi dari frame-frame.

Frame tersebut dapat berupa frame sebelum (forward prediction) atau sesudahnya

(Backward prediction) yang ditunjukan pada gambar 2.6. Kemudian frame-frame tersebut menentukan nilai-nilai prediksi yang akan digunakan sebagai nilai acuan frame yang akan diambil. Nilai-nilai prediksi tersebut diperoleh dari nilai-nilai vector yang diberikan.

Gambar 2.6. Proses perdiksi dari frame sebelumnya dan frame sesudahnya. [5]

Untuk melakukan perdiksi digunakan Quarter Pixel Interpolation, dimana untuk referensi nilai-nilai piksel suatu gambar dibutuhkan 2 nilai piksel dari nilai tetangga sebelumnya dan 3 nilai piksel tetangganya sesudahnya (gambar2.7), sehingga dari suatu makroblok 16 x 16 piksel dibutuhkan 21 x 21 piksel.

MC Memory Buffer Map

16 pix 16 pix 2 pix 2 pix 3 pix 3 pix 21 pix 21 pix

(7)

Nilai quarter piksel (gambar 2.8) didapatkan dengan melakukan perhitungan Half Piksel Interpolation dan dilanjutkan dengan perhitungan quarter piksel. Half piksel adalah nilai tengah dari dua piksel. Quarter piksel adalah nilai tengah dari dua half piksel. Perhitungan untuk mendapatkan half piksel adalah sebagai berikut:

b’ = (E – 5 * F + 20 * G + 20 * H – 5 * I + J) (1a) b = Clip1( ( b’ + 16 ) >> 5 ) (1b) h’ = (A – 5 * C + 20 * G + 20 * M – 5 * R + T) (2a) h = Clip1 ((h’ + 16) >> 5) (2b) j’ = cc’ – 5 * dd’ + 20 * h’ + 20 * m’ – 5 * ee’ + ff’ (3a) atau j’ = aa’ – 5 * bb’ + 20 * b’ + 20 * s’ – 5 * gg’ + hh’ (3b) j = Clip1( ( j’ + 512 ) >> 1) (3c)

Perhitungan untuk mendapatkan Quarter piksel:

a = ( G + b + 1 ) >> 1 (4a) c = ( H + b + 1 ) >> 1 (4b) d = ( G + h + 1 ) >> 1 (4c) n = ( M + h + 1 ) >> 1 (4d) f = ( b + j + 1 ) >> 1 (4e) i = ( h + j + 1 ) >> 1 (4f) k = ( j + m + 1 ) >> 1 (4g) q = ( j + s + 1 ) >> 1 (4h) e = ( b + h + 1 ) >> 1 (4i) g = ( b + m + 1 ) >> 1 (4j) p = ( h + s + 1 ) >> 1 (4k) r = ( m + s + 1 ) >> 1 (4l)

(8)

bb a c E F G I J h d n H m A C B D R T S U M s N K L P Q f e g j i k q p r aa b cc dd ee ff hh gg

Gambar 2. 8.Half piksel dan quarter piksel[7]

Perhitungan pada chroma dilakukan dengan cara merata-ratakan hasil penjumlahan keempat sudutnya. Nilai tiap sudut didapatkan dari perkalian nilai piksel dengan koefisien jarak pada sumbu x dan y (gambar 2.9)

A B

C D

8-x x

8-y

y

Gambar 2.9 Perhitungan koefisien pada MC chroma

Gambar

Gambar 2.1. Blok diagram decoder MPEG-4 h.264/AVC[1]
Gambar 2.4. Baris-baris data pada sisi vertical dan horizontal yang hendak difilter.[3]
Gambar 2.5 Diagram Alir Penentuan Nilai Boundary Strength (bS).[3]
Gambar 2.7. Memory map untuk melakukan quarter piksel interpolation[6].
+2

Referensi

Dokumen terkait

Berdasarkan penelitian yang telah dilakukan maka dapat disimpulkan bahwa berdasarkan hasil analisis cleavage site asam amino protein F, sampel dari Surabaya merupakan virus ND

Prosedur penelitian secara umum merujuk Nurwantoro et al., (2012 a ) yaitu preparasi larutan jus serai dibuat dengan cara perbandingan 1:2 (berat serai : volume.. aquades), serai

Dengan bersandar kepada adanya sebagian bukti, di antaranya makam-makam tua terkait para dai Muslim India di wilayah Melayu seperti makam Malik Ibrahim, (Deliar Noer, 1966) yakni

Dalam penelitian ini dilalukan analisis apa saja yang menjadi kendala dilapangan yang dilihat berdasarkan faktor internal (kekuatan dan kelemahan) dan faktor

Penelitian bertujuan menganalisis pengaruh langsung dan tidak langsung antara latar belakang pendidikan, pengetahuan etnozoologi, status ekonomi keluarga, dan sikap

“Dalam hal atas suatu bidang tanah sudah diterbitkan sertipikat secara sah atas nama orang atau badan hukum yang memperoleh tanah tersebut dengan itikad baik dan

Selanjutnya bagian yang kedua adalah persepsi responden dimana didalamnya terdapat 5 dimensi dan terdiri dari beberapa atribut untuk mengetahui pendapat tentang seberapa

Adapun tujuan penelitian ini adalah untuk mengetahui ada atau tidaknya efek hepatoprotektif ekstrak etanol buah dewandaru ( Eugenia uniflora L.) pada tikus putih yang diinduksi