BAB 2 STANDARD H.264/MPEG-4 DAN ALGORITMA CABAC

dokumen-dokumen yang mirip
BAB 3 ANALISIS DAN PERANCANGAN

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 3 PERANCANGAN AWAL INVERSE-CABAC Proses Inisialisasi untuk Variabel Context

BAB II. Decoder H.264/AVC

BAB 4 PERANCANGAN ARSITEKTUR INVERSE-CABAC

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

PERANCANGAN DEBLOCKING FILTER UNTUK APLIKASI KOMPRESI VIDEO MENGGUNAKAN STANDAR MPEG4/H.264

PEMAMPATAN TATA TEKS BERBAHASA INDONESIA DENGAN METODE HUFFMAN MENGGUNAKAN PANJANG SIMBOL BERVARIASI

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

TUGAS AKHIR ANALISIS PERBANDINGAN PERFORMANSI HIGH 4:4:4 INTRA PROFILE DENGAN MAIN PROFILE PADA STANDARDISASI H.264 UNTUK APLIKASI VIDEO

BAB III METODE KOMPRESI HUFFMAN DAN DYNAMIC MARKOV COMPRESSION. Kompresi ialah proses pengubahan sekumpulan data menjadi suatu bentuk kode

BAB II DASAR TEORI. 2.1 Pendahuluan

SOLUSI QUIZ#2. Soal: Untuk nomor 1-3, diketahui pesan string jaya berjaya

Standard Kompresi Citra: JPEG

BAB 2 LANDASAN TEORI

DIGITAL IMAGE CODING. Go green Aldi Burhan H Chandra Mula Fitradi Mardiyah

Penggunaan Kode Huffman dan Kode Aritmatik pada Entropy Coding

Perbandingan PSNR, Bitrate, dan MOS pada Pengkodean H.264 Menggunakan Metode Prediksi Temporal

TTG3B3 - Sistem Komunikasi 2 Convolutional Coding

PERTEMUAN MINGGU KE-3 REPRESENTASI DATA

ANALISIS PERFORMANSI VIDEO CONFERENCE MENGGUNAKAN CODEC H264 BASELINE DAN H264-HIGH PROFILE DENGAN ENKRIPSI TERINTEGRASI TESIS

TEKNIK PENGOLAHAN CITRA. Kuliah 13 Kompresi Citra. Indah Susilawati, S.T., M.Eng.

BAB 3 ALGORITMA DAN MODEL 2K FFT-IFFT CORE

BAB 2 TINJAUAN PUSTAKA

BAB III LANDASAN TEORI. Kompresi data merupakan proses mengkonversi input data stream (aliran

ARITHMETIC CODING. Arithmetic Coding

DECODER. Pokok Bahasan : 1. Pendahuluan 2. Dasar-dasar rangkaian Decoder. 3. Mendesain rangkaian Decoder

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

PENGANTAR KOMPRESI DATA

Image Compression. Kompresi untuk apa?

PERANCANGAN APLIKASI PENGACAKAN CITRA MENGGUNAKAN M-SEQUENCE BERDASARKAN PARAMETER

1. PENDAHULUAN 1.1. Latar Belakang Masalah

Rangkaian Kombinasional

Image Compression. Tujuan Kompresi Image. Teknik kompresi yang diharapkan. Image Compression. Kompresi untuk apa?

SISTEM BILANGAN, OPERASI ARITMATIKA DAN PENGKODEAN

BAB III ANALISIS DAN PERANCANGAN

8.0 Penyandian Sumber dan Penyandian Kanal

N, 1 q N-1. A mn cos 2M , 2N. cos. 0 p M-1, 0 q N-1 Dengan: 1 M, p=0 2 M, 1 p M-1. 1 N, q=0 2. α p =

Penggunaan Pohon Huffman Sebagai Sarana Kompresi Lossless Data

BAB 2 LANDASAN TEORI

Image Compression. Tujuan Kompresi Image. Teknik kompresi yang diharapkan. Image Compression. Kompresi untuk apa?

BAB 2 TINJAUAN PUSTAKA

Kode Sumber dan Kode Kanal

SISTEM ANALISA PERBANDINGAN UKURAN HASIL KOMPRESI WINZIP DENGAN 7-ZIP MENGGUNAKAN METODE TEMPLATE MATCHING

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PENGENALAN BINARY INDEXED TREE DAN APLIKASINYA

SISTEM PENGKODEAN. IR. SIHAR PARLINGGOMAN PANJAITAN, MT Fakultas Teknik Jurusan Teknik Elektro Universitas Sumatera Utara

DCH1B3 Konfigurasi Perangkat Keras Komputer

Kompresi Video Menggunakan Discrete Cosine Transform

BAB V b SISTEM PENGOLAHAN DATA KOMPUTER (Representasi Data) "Pengantar Teknologi Informasi" 1

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

ANALISIS UNJUK KERJA CODED OFDM MENGGUNAKAN KODE CONVOLUTIONAL PADA KANAL AWGN DAN RAYLEIGH FADING

APLIKASI KOMPRESI CITRA BERBASIS ROUGH FUZZY SET

Studi Kompresi Data dengan Metode Arithmetic Coding

PEDOMAN PENGGUNAAN SIMULATOR PENYANDIAN DAN PENGAWASANDIAN SISTEM KOMUNIKASI BERBASIS PERANGKAT LUNAK VISUAL C#

BAB III PERANCANGAN MODEL KANAL DAN SIMULASI POWER CONTROL DENGAN MENGGUNAKAN DIVERSITAS ANTENA

KOMPETENSI DASAR : MATERI POKOK : Sistem Bilangan URAIAN MATERI 1. Representasi Data

II Bab II Dasar Teori

Algoritma Huffman dan Kompresi Data

MATERI 2 SISTEM BILANGAN DAN REPRESENTASI DATA

Kompresi Citra dan Video. Muhtadin, ST. MT.

Pertemuan 3 Perbaikan Citra pada Domain Spasial (1) Anny Yuniarti, S.Kom, M.Comp.Sc

BAB 1 PENDAHULUAN 1-1

ANALISIS KOMPRESI DATA TEKNIK LOSSLESS COMPRESSION

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

Fakultas Teknologi Industri Universitas Gunadarma 2013

1. Pendahuluan. 1.1 Latar Belakang Masalah

BAB II SISTEM BILANGAN DAN KODE BILANGAN


PROTOTIPE KOMPRESI LOSSLESS AUDIO CODEC MENGGUNAKAN ENTROPY ENCODING

Kata kunci: pohon biner, metode Huffman, metode Kanonik Huffman, encoding, decoding.

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

Pokok Pokok Bahasan :

PERCOBAAN I. ENCODER DAN DECODER PCM (Pulse Code Modulation)

Kode Huffman. Arya Tri Prabawa Program Studi Teknik Informatika ITB, Bandung 40116,

Lesson 8. Run Length Encoding (RLE) dan BW Transform

Representasi Data. M. Subchan M

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

PENGUJIAN SINYAL AUDIO MULTICHANNEL DENGAN METODE SUBJECTIVE TEST BERDASARKAN REC. ITU-R BS

KOMPRESI DAN TEKS. By Aullya Rachmawati,

Penyandian (Encoding) dan Penguraian Sandi (Decoding) Menggunakan Huffman Coding

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Kompresi Data dengan Algoritma Huffman dan Perbandingannya dengan Algoritma LZW dan DMC

DAFTAR ISI. HALAMAN JUDUL i. LEMBAR PENGESAHAN TUGAS AKHIR... ii. LEMBAR PENGESAHAN PENGUJI SIDANG. iii. LEMBAR PERNYATAAN KEASLIAN..

BAB IV ANALISA HASIL SIMULASI

BAB 2 TINJAUAN PUSTAKA

PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SHANNON-FANO PADA PROSES KOMPRESI BERBAGAI TIPE FILE. Irwan Munandar

PERANCANGAN ALGORITMA KRIPTOGRAFI KUNCI SIMETRI DENGAN MENGGUNAKAN JARINGAN SARAF TIRUAN

PENGKODEAN ARITMETIKA UNTUK KOMPRESI DATA TEKS (Arithmetic Coding for Text Compression)

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

KOMPRESI AUDIO DAN VIDEO

Transkripsi:

BAB 2 STANDARD H.264/MPEG-4 DAN ALGORITMA CABAC Pada bab ini akan dibahas tentang standard H.264/MPEG-4 secara singkat. Selain itu, bab ini akan membahas pula tentang pemakaian algoritma CABAC pada standard H.264/MPEG-4 serta cara kerja/tahapan pada algoritma CABAC tersebut. 2.1 Standard H.264/MPEG-4 Standard H.264/MPEG-4 merupakan standard kompresi video yang dikeluarkan oleh ITU-T (bagian standardisasi di International Telecommunication Union), bekerja sama dengan MPEG (Moving Picture Expert Group). Sama seperti standard coding sebelumnya, H.264 tidak mendefinisikan CODEC (pasangan encoder/decoder) tapi hanya mendefinisikan sintaks dari sebuah data video yang telah terkode dan cara men-decode data video tersebut [1]. Bagian-bagian fungsional dari encoder dan decoder H.264 dapat dilihat pada gambar 1.1 dan gambar 1.2. Kecuali bagian deblocking filter, hampir semua bagian fungsional (prediksi, transformasi, kuantisasi, pengkode entropi) telah ada di standar sebelumnya (MPEG-1, MPEG-2, MPEG-4, H.261, H.263). Akan tetapi, pada H.264 detil fungsi tiap blok mengalami perubahan penting. Salah satu perubahan pada H.264 adalah penggunaan algoritma CABAC pada bagian pengkode entropinya. Ada tiga profile pada standard H.264/MPEG-4, yaitu Baseline Profile, Main Profile, dan Extended Profile. Masing-masing profil menyediakan kumpulan fungsi-fungsi coding dan menjelaskan hal yang dibutuhkan encoder atau decoder agar bisa bekerja sesuai dengan masing-masing profil. Baseline Profile mendukung pengkodean intra dan inter ( menggunakan slice I dan slice P) dan pengkode entropinya menggunakan Context-Based Adaptive Variable Length Coding (CAVLC). Profil utama (Main Profile) mencakup dukungan untuk video 8

interlaced, pengkodean inter menggunakan slice B, pengkodean intra menggunakan prediksi berbobot, sedangkan pengkode entropinya menggunakan Context-based Adaptive Binary Arithmatic Coding (CABAC). Profil yang terakhir, yaitu Extended Profile, tidak mendukung video interlaced ataupun CABAC, tapi menambahkan mode untuk memungkinkan perpindahan secara efisien antara aliran-data terkode (potongan-si dan SP) dan meningkatkan kerentanan terhadap kesalahan. Dengan demikian dapat diketahui bahwa diperkenalkannya algoritma CABAC pada standard H.264 tidak serta merta menggantikan metoda VLC yang lebih dahulu populer pada standard-standard sebelumnya (MPEG-2, H.263, dan MPEG-4). Gambar 2.1 memperlihatkan hubungan di antara ketiga profil tersebut beserta hal-hal berkaitan dengan coding yang didukung oleh standard H.264. Gambar 2.1 Profil-profil pada Standard H.264 [1] 9

2.2 Tahapan Proses pada CABAC CABAC merupakan sebuah pengkode entropi yang melakukan pengkodean aritmatika biner secara adaptif, berdasarkan context dari data yang dikodekan. CABAC merupakan algoritma yang secara dinamis, dapat memprediksi tingkat kemungkinan pemunculan simbol (symbol probability), pada sistem pengkodean aritmatik biner. Sehingga kemungkinan pemunculan simbol pada pengkodean aritmatik dapat terus ter-update untuk simbol-simbol baru, yang akhirnya dapat menghasilkan kompresi yang lebih baik. Gambar 2.2 Diagram Blok CABAC Decoder Secara umum decoder CABAC bekerja dalam tiga tahap, yaitu : 1. Context modeling 2. Binary Arithmetic Decoding 3. Inverse Binerisasi Karena pada tugas akhir ini dirancang sistem decoder CABAC, maka bagianbagian diatas akan dijelaskan dari sisi sistem decodingnya. 2.2.1 Context Modeling CABAC memiliki kompresi yang baik, karena adanya perkiraan probabilitas yang tepat. Pada CABAC, perkiraan probabilitas ini diwakili oleh context model. 10

Masng-masing context model terdiri dari dua nilai, yaitu 6-bit state sebagai index probabilitas dan satu bit yang merepresentasikan MPS (Most Probable Symbol). Pada tahap modeling, model probabilitas dipilih untuk masing-masing simbol yang dikodekan. Standard menjelaskan proses pemilihan context model yang sesuai untuk tiap tahap proses decoding. Proses pemilihan context model tidak dijelaskan lebih lanjut karena modul Inverse CABAC pada tugas akhir ini menerima input berupa alamat context model yang harus dipilih untuk setiap proses decoding. 2.2.1.1 Proses Inisialisasi Context Model Nilai awal context model dapat dihitung dengan menggunakan persamaan pada gambar berikut: Gambar 2.3 Prosedur untuk Inisialisasi Context Model [3] Dari persamaan di atas dilihat bahwa untuk membentuk nilai awal context model diperlukan nilai parameter kuantisasi (SliceQP), dan parameter µ γ dan v γ. Kedua parameter µ γ dan v γ ini telah dicantumkan pada standar. 2.2.1.2 Perkiraan Probabilitas Ide dasar dari skema binary arithmatic coding yang bebas dari proses perkalian untuk H.264, didasarkan pada asumsi bahwa perkiraan kemungkinan dari tiap context model dapat direpresentasikan dengan beberapa nilai pada batas tertentu. 11

Untuk CABAC, 64 nilai representasi probabilitas, atau yang biasa disebut dengan indeks model ini diturunkan untuk LPS dari persamaan : p σ = α. p σ-1, untuk 1 σ 63 0,01875 = 0,5 1 / 63 α dan p 0 = 0,5 Jumlah nilai representasi yang berjumlah 64 ini merupakan kompromi antara adaptasi yang cepat (α 0, dan jumlahnya sedikit) dan kebutuhan akan banyaknya tabel yang cukup agar lebih akurat (α 1, dan jumlahnya banyak). Perancangan ini membuat tiap context model di CABAC dapat ditentukan oleh dua parameter : nilai kemungkinan LPS sekarang, yang diturunkan dari indeks state σ antara 0-63 dan nilai MPS ω yang dapat berupa 0 atau 1. Gambar 2.4 memperlihatkan nilai probabilitas LPS p antara 0 dan 0,5 (pada sumbu y) yang berpasangan dengan nilai state index σ antara 0 63 (pada sumbu x). Gambar 2.4 Nilai Probabilitas LPS dan Aturan Transisi [3] Pada gambar 2.4 dijelaskan bahwa ketika terjadi perubahan di MPS, indeks state sebelumnya akan ditambahkan 1, kecuali sudah di 62 dimana probabilitas LPS 12

sudah minimum atau sebaliknya MPS sudah maksimum. Bila indeks di 62, maka indeks akan tetap sampai ada perubahan LPS yang kemudian akan mengurangi indeks dengan suatu aturan tertentu seperti yang diilustrasikan oleh garis putusputus di gambat 2.8. Pada kenyataannya, indeks nomor 63 digunakan oleh aritmatik decoding yang tidak adaptif. Sehingga hanya 63 model yang dapat digunakan. 2.2.2 Binary Arithmatic Decoding Untuk men-decode sebuah bin, binary arithmetic decoder membutuhkan nilai range, offset, dan context model yang bersangkutan. Nilai offset ini merupakan kriteria untuk menentukan nilai bin yang di-decode, dan diinisialisasi dengan mengambil 9 bit pertama dari bit stream yang telah di-encode. Gambar 2.7 dibawah menggambarkan pemroses binary arithmatic decoder untuk satu bin. CABAC decoding engine akan selalu melakukan update terhadap dua register 9- bit : range dan offset selama proses decoding berlangsung. Register range memantau lebar dari interval saat ini sedangkan register offset memantau aliran bit masukan. Ketika melakukan decoding sebuah bin, range dibagi menjadi dua daerah: rlps untuk rentang perkiraan LPS dan rmps untuk rentang perkiraan MPS. Ketika proses pengkodean berlangsung, nilai rlps dibaca dari sebuah tabel 2- dimensi 256-byte, dialamatkan oleh 2-bit nilai range dan 6-bit nilai state. Subinterval tempat suatu bit input terjadi (ditandai dengan offset), menentukan bin itu MPS atau LPS. 13

Gambar 2.5 Proses Decoding [4] Pada gambar 2.5, gambar kiri menunjukkan kasus ketika masukan data jatuh di MPS, dimana nilai offset kurang dari rmps. Gambar kanan menunjukkan kasus dimana data jatuh di LPS, dimana offset lebih besar (atau sama dengan) nilai rmps. Maka nilai baru dari range dan offset adalah : Jika MPS: range_baru = rmps; offset_baru = offset Selain itu: range_baru = rlps; offset_baru = offset rmps Untuk menjaga ketelitian selama proses decoding berlangsung, range_baru dan offset_baru harus selalu di-renormalisasi untuk memastikan MSB dari range selalu 1. misalnya: range_new : 9 b001010110, offset_baru : 9 b000110010, selama proses renormalisasi, range_baru di geser kiri dua bit sehingga MSB-nya 1 dan dua bit terakhir ditambahkan 2 b00. nilai offset_baru secara bersamaan juga di geser kiri dua bit dan dua bit akhir ditambahkan data masukan. Dengan cara ini, offset menerima bit dari masukan untuk menjaga jejak posisi bit masukan pada interval saat ini. Pada proses ini, probabilitas LPS (plps)diperkirakan oleh context model yang bersangkutan. Untuk mode bypass, plps dibuat tetap 0,5 dan tidak dibutuhkan context model. Pada kasus ini, offset akan selalu diperbandingkan dengan nilai range/2 untuk menentukan apakan bin itu MPS atau LPS. Pada mode ini, untuk menjaga 14

ketelitian integer, nilai offset di geser kiri satu bit dan menerima satu bit (di LSB) dari data masukan. Kemudian nilai offset baru dibandingkan dengan nilai range untuk menentukan bin itu 1 atau 0. 2.2.3 Inverse Binerisasi Ada 5 jenis binerisasi yang digunakan pada CABAC, yaitu: 1. Unary Binarization (U) 2. Truncated Unary Binarization (TU) 3. Concatenated Unary/k-th Order Exp-Golomb Binarization (UEGk) 4. Fixed-length Binarization (FL) 5. Specified Tugas akhir ini tidak menjelaskan mengenai proses inverse binerisasi karena bagian ini berada di luar batasan tugas akhir. 15