Huffman Coding Context Adaptive Binary Arithmetic Coding CABAC

19 diterapkan pada keluaran proses DCT. Kuantisasi dilakukan dengan membagi keluaran proses DCT dengan suatu nilai yang ditetapkan dalam matriks kuantisasi atau disebut quantum. Kuantisasi uniform secara umum dapat dirumuskan dengan [7]: Z = round 2.8 dimana: Z= Nilai terkuantisasi Y= Nilai DCT Q= table kuantisasi

2.7 Entropy Coder

Entropy encoder mengkonversi serangkaian simbol yang mewakili unsur urutan video menjadi bitstream terkompresi yang cocok untuk transmisi atau penyimpanan. Beberapa teknik entropy coder antara lain Huffman coding dan context adaptive binary arithmetic coding:

2.7.1 Huffman Coding

Kode Huffman pada dasarnya merupakan kode prefiks prefix code. Kode prefiks adalah himpunan yang berisi sekumpulan kode biner, dimana pada kode prefik ini tidak ada kode biner yang menjadi awal bagi kode biner yang lain. Kode prefiks biasanya direpresentasikan sebagai pohon biner yang diberikan nilai atau label. Untuk cabang kiri pada pohon biner diberi label 0, sedangkan pada cabang kanan pada pohon biner diberi label 1. Universitas Sumatera Utara 20 Rangkaian bit yang terbentuk pada setiap lintasan dari akar ke daun merupakan kode prefiks untuk karakter yang berpadanan. Pohon biner ini biasa disebut pohon Huffman. Langkah-langkah pembentukan pohon Huffman adalah sebagai berikut [11] : 1. Baca semua karakter di dalam teks untuk menghitung frekuensi kemunculan setiap karakter. Setiap karakter penyusun teks dinyatakan sebagai pohon bersimpul tunggal. Setiap simpul di-assign dengan frekuensi kemunculan karakter tersebut. 2. Terapkan strategi algoritma greedy sebagai berikut : Gabungkan dua buah pohon yang mempunyai frekuensi terkecil pada sebuah akar. Setelah digabungkan akar tersebut akan mempunyai frekuensi yang merupakan jumlah dari frekuensi dua buah pohon-pohon penyusunnya. 3. Ulangi langkah 2 sampai hanya tersisa satu buah pohon Huffman. Agar pemilihan dua pohon yang akan digabungkan berlangsung cepat, maka semua yang ada selalu terurut menaik berdasarkan frekuensi.

2.7.2 Context Adaptive Binary Arithmetic Coding CABAC

CODEC H.261 dan CODEC H.263 menggunakan Huffman Coding untuk pembentukan bitstream. Sedangkan context-based adaptive binary aritmethic coding CABAC digunakan pada CODEC H.265 dan CODEC H.264. CABAC adalah suatu bentuk coding untuk membentuk bit-bit tertentu untuk selanjutnya di salurkan ke jaringan berdasarkan prinsip aritmethic coding. Untuk lebih jelasnya, prinsip kerja CABAC ditunjukkan pada Gambar 2.15. Universitas Sumatera Utara 21 Gambar 2.15 Blok Diagram CABAC [1] CABAC terdiri atas 3 bagian coding yaitu binarization, context modeling, binary aritmethic [1]. 1. Binarization Pengurangan alphabet dilakukan oleh binarization untuk tiap non binary element menghasilkan suatu intemediate unik codeword biner untuk unsur sintaksis yang ditentukan yang disebut bin string. 2. Context modeling digunakan untuk membersihkan interface antara modeling dan model. Setiap distribusi model akan diberi simbol yang kemudian didalam langkah coding selanjutnya, memandu coding engine to generate suatu urutan bit sebagai code pada simbol menurut distribusi model. 3. Binary Arimethic Coding adalah berdasarkan pada prinsip pengulangan interval [lower, upper yang melibatkan operasi perkalian dasar dan juga berdasar pada arithmethic coding. Universitas Sumatera Utara 22

2.8 Bitrate Video