Kata kunci : frame, huffman, kompresi, mpeg4, video.

dokumen-dokumen yang mirip
REAL-TIME RENDERING DAN KOMPRESI VIDEO PARALEL MENGGUNAKAN ALGORITMA HUFFMAN

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. dalam storage lebih sedikit. Dalam hal ini dirasakan sangat penting. untuk mengurangi penggunaan memori.

BAB 2 TINJAUAN PUSTAKA

Implementasi Metode Run Length Encoding (RLE) untuk Kompresi Citra

BAB 2 LANDASAN TEORI

1. PENDAHULUAN 1.1. Latar Belakang Masalah

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 TINJAUAN PUSTAKA

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

PENERAPAN METODE HUFFMAN DALAM PEMAMPATAN CITRA DIGITAL

BAB II TINJAUAN PUSTAKA

TUGAS AKHIR IMPLEMENTASI ALGORITMA METODE HUFFMAN PADA KOMPRESI CITRA

PROTOTIPE KOMPRESI LOSSLESS AUDIO CODEC MENGGUNAKAN ENTROPY ENCODING

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

1. Pendahuluan. 1.1 Latar Belakang Masalah

Teknik Kompresi Citra Menggunakan Metode Huffman

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

Implementasi Metode HUFFMAN Sebagai Teknik Kompresi Citra

KOMPRESI CITRA MENGGUNAKAN INDEPENDENT COMPONENT ANALYSIS ABSTRAK

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I. PENDAHULUAN Latar Belakang Masalah

BAB 2 TINJAUAN PUSTAKA

BAB II TEORI DASAR PENGOLAHAN CITRA DIGITAL. foto, bersifat analog berupa sinyal sinyal video seperti gambar pada monitor

BAB 1 PENDAHULUAN. 1.1.Latar Belakang

PENYEMBUNYIAN DATA RAHASIA DALAM GAMBAR MENGGUNAKAN PENDEKATAN PREDICTIVE CODING. Disusun Oleh : Nama : Dedy Santosa Nrp :

ABSTRAK. Universitas Kristen Maranatha

DETEKSI KEBAKARAN BERBASIS WEBCAM SECARA REALTIME DENGAN PENGOLAHAN CITRA DIGITAL

PERBANDINGAN METODE HUFFMAN DAN FRAKTAL DALAM KOMPRESI CITRA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PENGANTAR KOMPRESI DATA

BAB II TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 2 LANDASAN TEORI

TEKNIK KOMPRESI LOSSLESS TEXT

artifak / gambar dua dimensi yang memiliki kemiripan tampilan dengan sebuah subjek. - wikipedia

BAB 4 IMPLEMENTASI DAN EVALUASI

KOMPRESI CITRA. lain. Proses mengubah citra ke bentuk digital bisa dilakukan dengan beberapa perangkat,

MKB3383 -TEKNIK PENGOLAHAN CITRA. Kompresi Citra. Muhammad Zidny Naf an, M.Kom. Genap, 2016/2017

BAB 2 TINJAUAN TEORETIS

Image Compression. Kompresi untuk apa?

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA ARIHTMETIC CODING DAN SHANNON-FANO PADA KOMPRESI CITRA BMP

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB 3 METODOLOGI PENELITIAN. kepustakaan dan studi laboratorium, di mana penulis mempelajari teori-teori teknik

Pemampatan Citra. Esther Wibowo Erick Kurniawan

PEMAMPATAN CITRA (IMA

KOMPRESI DATA DAN TEKS. By : Nurul Adhayanti

Kinerja Dan Performa Algoritma Kompressi Lossless Terhadap Objek Citra Digital

KOMPRESI CITRA. Pertemuan 12 Mata Pengolahan Citra

BAB II Tinjauan Pustaka

Pemampatan Citra Pemampatan Citra versus Pengkodean Citra

BAB I PENDAHULUAN. ukuran yang besar. Lebih-lebih jika file yang kita punya merupakan file image

BAB II DASAR TEORI. 2.1 Pendahuluan

BAB 2 Tinjauan Teoritis

BAB 2 LANDASAN TEORI

PERANCANGAN APLIKASI KOMPRESI CITRA DENGAN METODE RUN LENGTH ENCODING UNTUK KEAMANAN FILE CITRA MENGGUNAKAN CAESAR CHIPER

DAFTAR ISI. DAFTAR ISI... vii. DAFTAR GAMBAR... x. DAFTAR TABEL... xii I. PENDAHULUAN Latar Belakang Rumusan Masalah...

BAB I PENDAHULUAN. Kemajuan teknologi informasi saat ini berdampak pada perkembangan ilmu

IMPLEMENTASI ALGORITMA SHANNON-FANO PADA KOMPRESI AUDIO SKRIPSI MUTIARA NOVELIA RAJAGUKGUK

BAB I PENDAHULUAN. Dalam dunia modern sekarang ini kebanyakan aktivitas manusia selalu

III. METODE PENELITIAN. menggunakan matlab. Kemudian metode trial dan error, selalu mencoba dan

KINERJA DAN PERFORMA ALGORITMA KOMPRESSI LOSSLESS TERHADAP OBJEK CITRA DIGITAL

ANALISIS KOMPRESI DATA TEKNIK LOSSLESS COMPRESSION

CEG4B3. Randy E. Saputra, ST. MT.

Contoh kebutuhan data selama 1 detik pada layar resolusi 640 x 480 : 640 x 480 = 4800 karakter 8 x 8

Perbandingan Algoritma Kompresi Terhadap Objek Citra Menggunakan JAVA

MULTIMEDIA system. Roni Andarsyah, ST., M.Kom Lecture Series

TUGAS AKHIR IMPLEMENTASI TEKNIK KOMPRESI VIDEO DENGAN ALGORITMA DISCRETE COSINE TRANSFORM PADA PERANGKAT BERGERAK

Penerapan Kohonen Self Organized Map Dalam Kuantisasi Vektor Pada Kompresi Citra Bitmap 24 Bit

ANALISA KINERJA CODEBOOK PADA KOMPRESI CITRA MEDIS DENGAN MEMPERHATIKAN REGION OF INTEREST

RENCANA PROGRAM KEGIATAN PEMBELAJARAN SEMESTER (RPKPS) TEKNIK KOMPRESI. Disusun Oleh: Anastasya Latubessy, S.Kom, M.Cs

IMPLEMENTASI ALGORITMA HUFFMAN UNTUK KOMPRESI DAN DEKOMPRESI GAMBAR DIGITAL

BAB 1 PENDAHULUAN Latar Belakang

BAB III METODOLOGI PENELITIAN. Penelitian ini dilakukan di Jurusan Ilmu Komputer Fakultas Matematika dan

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA SHANNON- FANO UNTUK KOMPRESI FILE TEXT

KOMPRESI CITRA BERWARNA MENGGUNAKAN METODE POHON BINER HUFFMAN. Sarifuddin Madenda, Hayet L. dan I. Bayu *

BAB 1 PENDAHULUAN 1-1

NASKAH PUBLIKASI KOMPRESI CITRA DENGAN METODE ARITHMETIC CODING DALAM KAWASAN ENTROPY CODING

Penerapan Pengkodean Huffman dalam Pemampatan Data

KOMPRESI STRING MENGGUNAKAN ALGORITMA LZW DAN HUFFMAN

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

Kompresi. Definisi Kompresi

BAB III METODOLOGI PENELITIAN. 1. Spesifikasi laptop yang digunakan dalam penelitian ini adalah sebagai. Processor AMD Turion 64 X2 Dual Core 1,66 Ghz

Oleh : Page 1

BAB 2 TINJAUAN PUSTAKA

PEMAMPATAN DATA DIGITAL MENGGUNAKAN METODA RUN-LENGTH

ANALISA DAN PERBANDINGAN ALGORITMA RUN LENGTH ENCODING DAN ALGORITMA LZW ( LEMPEL ZIV WECH ) DALAM PEMAMPATAN TEKS

ANALISIS METODE MASKING-FILTERING DALAM PENYISIPAN DATA TEKS

PERANCANGAN PERANGKAT LUNAK KRIPTOGRAFI VISUAL TANPA EKSPANSI PIKSEL DAN ALGORITMA RLE

IMPLEMENTASI ALGORITMA RUN LENGTH ENCODING UNTUK PERANCANGANAPLIKASI KOMPRESI DAN DEKOMPRESI FILE CITRA

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA ARITHMETIC CODING DAN SHANNON-FANO PADA KOMPRESI CITRA BMP SKRIPSI SYAHFITRI KARTIKA LIDYA

Penerapan Algoritma Huffman dalam Kompresi Gambar Digital

KOMPRESI CITRA MENGGUNAKAN COMPRESSED SENSING BERBASIS BLOK

... BAB 2 LANDASAN TEORI. 2.1 Citra

Transkripsi:

Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4 R Alifiansyah Ilham K, Arman D Diponegoro. Program Studi Teknik Elektro, Fakultas Teknik Universitas Indonesia. Abstrak Tugas Akhir ini membahas tentang penggunaan metode Huffman Code dengan jumlah data yang besar, yaitu pada sebuah Frame Video MPEG-4 dengan menggunakan nilai intensitas warna pada setiap pixel sebagai data dan letak pixel sebagai dimensi matriks. Proses yang melibatkan berjuta bit tersebut terlalu rumit untuk diselesaikan secara manual, sehingga membutuhkan bantuan software komputer Matlab. Pemrograman Matlab dilengkapi dengan tools yang memberikan kemudahan dalam penyelesaian komputasi tersebut. Data yang diamati adalah kecepatan proses kompresi-dekompresi, rasio antara jumlah bit sebelum dan sesudah kompresi, dan ketepatan antara data hasil dekompresi dengan data aslinya. Kecepatan proses kompresi dan dekompresi menunjukkan waktu yang dibutuhkan untuk mengganti setiap simbol dalam data dengan kode Huffman-nya. Kecepatan tersebut berbeda-beda tergantung pada spesifikasi alat yang digunakan. Rasio merupakan perbandingan antara data terkompresi dengan data aslinya. Ketepatan data menunjukkan perbandingan antara nilai-nilai pada data yang dikompresi dengan data aslinya. Hasil menunjukkan bahwa kecepatan proses kompresi untuk 1 frame membutuhkan waktu sekitar 2 menit dan proses dekompresi membutuhkan waktu sekitar 12 menit. Rasio kompresi yang dihasilkan berkisar antara 84-85 % dari ukuran yang sebenarnya. This final project examine the utilization of Huffman Code method with huge number of data, and that is an MPEG-4 video frame using the value of color intensity on each pixel as data and pixel s position as matrix dimension. The Process which involves millions of bits is too complicated to be done manually, so a help from computer software, Matlab is required. Matlab programming is equipped with tools which gives ease on handling the complex computation. The Data which observed are the compressing-decompressing speeds, ratio between the number of bits before and after the compression, and the accuracy between the decompressed data and the original data. Processing speed in compressing and decompressing shows the time needed to replace each symbol in data with its Huffman code. The speed varies depends on the specification of the device used for the process. Ratio is the comparison between compressed data with its original data. The accuracy of data shows the comparison between values in the decompressed data and the original data. The results shows the time required for compression process takes about 2 minutes and the decompression process takes about 12 minutes. The result of Compression Ratio is around 84-85% from its original size. Kata kunci : frame, huffman, kompresi, mpeg4, video. 1

I. Pendahuluan 1.1 Latar Belakang Kompresi video dengan MPEG-4 menghasilkan video terkompresi dengan ukuran yang telah diperkecil dengan mengurangi sebagian detail dari video. Penambahan kompresi Lossy lainnya pada video MPEG-4 tersebut akan semakin mengurangi kualitas dari video yang dihasilkan. Kompresi Huffman merupakan kompresi Lossless yang dapat memberikan kompresi pada setiap 1 frame video tersebut tanpa mengurangi kualitas dari video tersebut. Manfaat yang diperoleh dari kompresi video digital dengan Huffman Code ini adalah video yang telah terkompresi dapat lebih diperkecil tanpa mengurangi atau menghilangkan nilai informasi yang ada di dalamnya. 1.2 Tujuan Melakukan proses kompresi pada tiap 1 frame Video MPEG-4 dengan bantuan program komputer Matlab 7.14 (R2012a) dan mengamati Rasio kompresi pada tiap 1 frame dari video MPEG-4, kecepatan proses kompresi-dekompresi, dan ketepatan antara data sebelum dan sesudah kompresi. 1.3 Batasan Masalah 1. Penggunaan tools yang sudah tersedia pada Matlab R2012a untuk pengolahan video MPEG-4 (VideoReader dan VideoWriter) tanpa suara (Audio) dan untuk pengkodean Huffman (huffmandict, huffmanenco, dan huffmandeco) tanpa membuat fungsi dengan source code baru selain tools yang sudah tersedia pada Matlab. 2. Perbandingan jumlah bit sebelum dan sesudah kompresi Huffman (Rasio Kompresi) dalam bentuk matriks & vektor Matlab yang diperoleh dari 1 frame video MPEG-4. 3. Mengukur kecepatan proses kompresi-dekompresi dan ketepatan antara data asli dengan data dari hasil dekompresi. 2

II. Tinjauan Teoritis 2.1 Video Digital Video digital dan gambar digital memiliki satuan elemen terkecil yang disebut pixel [1]. Ukuran pixel dibuat sangat kecil dan tiap 1 pixel hanya memiliki 1 properti yaitu intensitas warna. Intensitas kedalaman warna dalam sebuah gambar atau video ditentukan oleh bitmap [1], yaitu matriks data yang mendeskripsikan karakteristik dari semua pixel yang menyusun sebuah gambar. 2.1.1 Properti Video Digital Pixel per frame. Pixel per frame merupakan banyaknya pixel dalam 1 frame [1]. Yang terdiri atas lebar (width) dan tinggi (height) atau W dan H dengan satuan pixel. Sehingga total jumlah pixel yang dibutuhkan untuk menyusun suatu frame video tersebut adalah : Pixel per frame = W x H. Bit per frame. Bit per frame merupakan total jumlah bit dalam 1 frame [1]. Total jumlah bit ini tergantung pada kedalaman warna (color depth) yang digunakan. Untuk gambar hitam-putih (grayscale) dapat direpresentasikan dengan 8-bit warna, sedangkan untuk gambar berwarna dibutuhkan (8x3=24) bit warna. Total jumlah bit dalam frame ini ditentukan dengan persamaan : Bit per frame = W x H x bit color depth. Frame Rate Frame rate merupakan intensitas banyaknya frame yang ditampilkan tiap detik [1]. Secara umum untuk sebuah video digital digunakan 30 frame per detik. Namun intensitas ini juga dapat dikurangi tergantung pada kebutuhan. Satuan dari frame rate adalah frame per second (fps). Bitrate Bitrate merupakan total jumlah bit dari semua frame yang ditampilkan tiap detik [1] dalam satuan bit per second (bps). Total jumlah bit dalam 1 detik dapat ditentukan dengan persamaan : Bitrate = Bit per frame x Frame Rate. 3

Durasi Durasi merupakan waktu yang dibutuhkan untuk memutar video dari awal sampai akhir. Satuannya detik. Video Size Video Size merupakan total ukuran sebuah video [1] atau besarnya ukuran file sebuah video dengan satuan byte (jumlah bit dibagi 8). Ukuran file Video (Video Size) dapat ditentukan dengan persamaan : Video Size = Bitrate x Durasi. 2.1.2 Kedalaman Warna Intensitas kedalaman warna (Color Depth) memperlihatkan seberapa besar detail warna yang bisa ditampilkan oleh setiap pixel. Intensitas dari warna direpresentasikan oleh bit-bit. Semakin banyak jumlah bit yang dipergunakan maka semakin bervariasi intensitas warna yang bisa digunakan. Terdapat 3 macam intensitas warna sesuai jumlah bit pada masing-masing pixel : 2-bit (Monokrom) Kedalaman warna monokrom merupakan konsep yang paling sederhana untuk merepresentasikan sebuah gambar dimana setiap pixel hanya mempunyai 2 kemungkinan nilai, yaitu hanya 0 dan 1. 4-bit (16 Colors) Kedalaman warna 4-bit merupakan pengembangan lebih lanjut dari monokrom. Jumlah warna yang direpresentasikan dalam 4-bit menjadikan tiap pixel memiliki 16 variasi intensitas campuran warna hitam dan putih pada tiap pixel. 8-bit (256 Colors) Pada kedalaman warna 8-bit, tiap pixel memiliki 256 variasi dari intensitas warna karena setiap intensitas warna dikodekan dalam 8-bit yang dimulai dari 0000 0000 sampai 1111 1111. 2.1.3 Model Warna RGB Model warna RGB membagi tiap-tiap pixel ke dalam 3 lapisan warna primer, yaitu merah-hijau-biru. Kombinasi dari ketiga warna ini akan menghasilkan warna-warna yang 4

dibutuhkan untuk menampilkan suatu gambar. Sehingga tiap pixel tersusun atas 3 lapisan warna untuk merepresentasikan warna tertentu pada pixel tersebut. Gambar 2.1 Susunan komposisi 3 warna pada RGB Hubungan antara model warna RGB dengan kedalaman warna (Color Depth) adalah jumlah variasi intensitas pada tiap lapisan warna yang bisa digunakan oleh pixel. Pada gambar hitam-putih dengan derajat keabuan (grayscale) variasi intensitas derajat keabuan (campuran hitam-putih) bergantung pada kedalaman bit (4-bit / 8-bit). 2.2 Kompresi Data Kompresi data merupakan proses untuk mengkodekan informasi dalam bentuk jumlah bit yang lebih rendah daripada representasi data yang tidak terkodekan menggunakan suatu sistem encoding untuk mencapai bitrate tertentu. Tujuan dari kompresi data adalah untuk merepresentasikan nilai informasi dalam data digital dengan jumlah bit yang sesedikit mungkin, tetapi tetap mempertahankan nilai informasi di dalamnya. Tiap metode kompresi memiliki algoritma yang berbeda-beda. Terdapat kriteria dalam algoritma dan aplikasi kompresi data : Kualitas data hasil encoding Kualitas berhubungan dengan ukuran dari data yang telah terkompresi, semakin kecil semakin baik. Namun hal terpenting adalah data tidak rusak dan nilai informasi di dalamnya tetap terjaga walaupun ada yang dikurangi. Parameter ini biasanya digunakan untuk kompresi dengan metode lossy. Kecepatan encoding-decoding Kecepatan berhubungan dengan waktu yang dibutuhkan untuk mengkodekan informasi (encoding) dan mengembalikan informasi ke bentuk awalnya (decoding). 5

Rasio dan efisiensi Rasio berhubungan dengan perbandingan antara data terkompresi dengan data asli dan seberapa efisien penggunaan metode pengkodean tersebut. Ketepatan data hasil decoding Ketepatan berhubungan dengan ketepatan hasil dekompresi dengan data aslinya. Parameter ini umumnya digunakan untuk metode kompresi lossless, dimana data hasil dekompresi tetap sama dengan data sebelum dikompresi. Berdasarkan teknik pengkodean/ pengubahan simbol yang digunakan, metode kompresi dapat dibagi ke dalam tiga kategori : Metode Symbolwise Metode ini menggunakan peluang probabilitas kemunculan suatu karakter (simbol) dari suatu data kemudian memberikan kode untuk tiap-tiap karakter sesuai dengan probabilitas kemunculannya. Simbol yang lebih sering muncul memiliki panjang kode yang lebih singkat. Algoritma Huffman menggunakan metode ini. Metode Dictionary Metode ini mengambil karakter (simbol) dari suatu data untuk dikodekan kemudian hasil pengkodean tersebut dimasukkan ke dalam suatu kamus (Dictionary) yang berisikan daftar kode untuk masing-masing karakter. Selanjutnya tiap-tiap karakter dikodekan sesuai dengan kode yang ada pada kamus (Dictionary) tersebut sesuai indeks lokasinya. Pada pemrograman dengan tools Matlab, pengkodean Huffman juga memanfaatkan metode Dictionary ini. Metode Predictive Metode ini menggunakan model finite-context atau finite-state untuk memprediksi distribusi probabilitas dari simbol-simbol selanjutnya. Berdasarkan metode algoritma yang digunakan, kompresi diklasifikasikan menjadi dua jenis, yaitu: Kompresi Lossy Kompresi jenis ini menghasilkan data yang sudah terkompresi dan tidak dapat dikembalikan lagi menjadi tepat sama dengan data aslinya. Oleh karena itu kompresi 6

lossy bersifat irreversible, hanya bersifat satu arah dan tidak dapat dikembalikan menjadi tepat sama seperti semula. Kompresi Lossless Kompresi jenis ini menghasilkan data yang sudah terkompresi dan dapat dikembalikan ke dalam bentuk semula yang tepat sama dengan data aslinya. Oleh karena itu kompresi jenis ini disebut reversible, dua arah (encoding-decoding). 2.2.1 Metode Kompresi Huffman Code Metode kompresi dengan Huffman Coding menggunakan probabilitas kemunculan suatu karakter (simbol) untuk mengkodekan tiap karakter. Setiap kode huffman memiliki panjang kode (Codeword) yang bervariasi, atau dengan kata lain simbol-simbol (karakter) yang menjadi bagian dari informasi dalam data direpresentasikan (ditampilkan) dalam bentuk barisan bit dengan panjang yang berbeda-beda. Gambar 2.2 Blok Diagram Proses Huffman Coding. 2.2.2 Kompresi Huffman pada Matriks Frame Video Setiap pixel pada frame video menyimpan informasi tentang warna (kedalaman dan model warnanya). Bila posisi dari pixel (berupa koordinat) dan nilai intensitas warna dari tiap pixel dikumpulkan, maka akan diperoleh sebuah matriks yang berisi informasi posisi pixel dan intensitas warna pada pixel tersebut. 50 100 100 50 100 50 100 0 50 100 150 100 200 100 100 50 Gambar 2.3 Matriks gambar grayscale berukuran 4 x 4 pixel 7

Data input yang berupa matriks tersebut diubah terlebih dahulu ke dalam bentuk vektor (matriks 1 baris) kemudian disusun daftar probabilitasnya dan diurutkan dari probabilitas tertinggi ke terendah. Bentuk matriks yang sudah diubah ke dalam bentuk vektor adalah : [50 100 100 50 100 50 100 0 50 100 150 100 200 100 100 50]. Proses pengkodean huffman untuk menentukan label kode huffman dari masingmasing simbol dapat dilakukan setelah diperoleh tabel 2.1. Susunan lengkap pengkodean huffman untuk tiap-tiap simbol dapat dilihat pada gambar 2.4. Simbol S1 S2 S3 S4 100 0,5 0 0,5 0 0,5 0 0,5 0 50 0,25 10 0,25 10 0,25 10 0,5 1 150 0,125 110 0,125 110 0,25 11 200 0,0625 1110 0,125 111 0 0,0625 1111 Gambar 2.4 Proses huffman encoding pada setiap simbol Tabel 2.2 Huffman Dictionary dari hasil Encoding data pada matriks Simbol Frekuensi kemunculan Probabilitas Kode Huffman 100 8 8/16 = 0.5 0 50 4 4/16 = 0.25 10 150 2 2/16 = 0.125 110 200 1 1/16 = 0.0625 1110 0 1 1/16 = 0.0625 1111 Vektor dari matriks data input kemudian disusun kembali menggunakan kode huffman untuk setiap karakter. Data yang sudah diganti dengan kode huffman kemudian dihitung jumlah bitnya dan dibandingkan dengan jumlah bit pada data input. Rasio didapatkan dengan menggunakan persamaan : Rasio = Jumlah bit terkompresi / Jumlah bit asli. 8

Data input : [50 100 100 50 100 50 100 0 50 100 150 100 200 100 100 50]. Total jumlah elemen dalam vektor input : 16. Kedalaman warna Total jumlah bit pada vektor input : 8-bit (256 warna). : 16 x 8 = 128-bit. Data output : [10 0 0 10 0 10 0 1111 10 0 110 0 1110 0 0 10]. Total jumlah bit pada vektor output : 29-bit. Rasio : 29/128 = 0,2265625. Persentase Rasio : 0,2265625 * 100% = 22,65%. Dekompresi output : [10 0 0 10 0 10 0 1111 10 0 110 0 1110 0 0 10]. Dekompresi menggunakan tabel 2.5 hasilnya sama dengan input : [50 100 100 50 100 50 100 0 50 100 150 100 200 100 100 50]. 2.3 Video MPEG-4 Format video MPEG-4 merupakan pengembangan lebih lanjut dari MPEG1 & MPEG2. Format video MPEG dikembangkan oleh ISO/IEC JTC1/SC 29/WG 11 untuk meliputi video bergerak dan coding audio [8]. Format MPEG-4 diperkenalkan pada November 1998 dan diambil sebagai standar Internasional pada Januari 1999. 2.3.1 Objek Audiovisual (AVO) pada MPEG-4 Potongan audiovisual pada MPEG-4 tersusun atas objek Audiovisual yang diatur secara hierarki [8]. Jenis AVO yang lebih primitif dapat ditemukan pada hierarki yang paling bawah. Contohnya seperti berikut : Gambar latar 2-Dimensi. Gambar orang yang sedang berbicara (tanpa latar). Suara (Audio) yang berhubungan dengan orang tersebut. 9

2.3.2 Pengkodean pada Objek Visual Pengkodean suatu konten multimedia harus dilakukan secara efisien. Tingkat Gain yang paling tinggi bisa didapatkan dari kompresi video. Pengkodean video merupakan aspek penting dari standar MPEG-4. Ekstensi (extention) fundamental pada video coding yang dimiliki MPEG-4 ada 3 macam : a. Pengkodean terpisah, Object-Based Scene Layering dan pendekodean. b. Pengkodean dengan Shape Adaptive DCT. c. Object-Based toolbox untuk prediksi gerakan. 2.3.3 Aliran Data pada MPEG-4 Format MPEG-4 memiliki aliran data sebagaimana halnya dengan MPEG-1 dan MPEG-2. Karena MPEG-4 memisahkan konten ke dalam banyak objek, properti aliran data mempengaruhi multiplexing, demultiplexing, dan sinkronisasi dari banyak aliran data (streams). Aliran data dalam sistem MPEG-4 terbagi menjadi beberapa bagian : a. Access Unit Layer. b. FlexMux Layer. c. TransMux Layer. Gambar 2.5 Model Lapisan Sistem MPEG-4. 10

III. Perancangan Program 3.1 Pemrograman Matlab Penggunaan bantuan software Matlab menjadi penting karena dalam prakteknya, proses huffman encoding pada sebuah frame video MPEG-4 memiliki kompleksitas (tingkat kerumitan) yang tinggi dan terlalu rumit untuk dilakukan perhitungan secara manual. 1. Ukuran frame dari video mempengaruhi jumlah pixel yang dibutuhkan untuk menampilkan frame tersebut. 2. Kedalaman warna juga mempengaruhi tingkat kerumitan pada proses pengkodean huffman. Tingkat kedalaman warna 8-bit memiliki 256 variasi intensitas warna dan intensitas warna merupakan simbol (karakter) yang akan dikodekan. 3. Model warna juga mempengaruhi tingkat kerumitan pada proses Huffman encoding. Model warna RGB menggunakan 3 matriks yang mewakili setiap elemen warna (Merah, Hijau, Biru). 3.2 Deskripsi Program Nama Program. Program ini bernama Kompresi bit dengan Huffman Code pada frame Video MPEG- 4 menggunakan pemrograman Matlab. Fungsi Program. Program ini berfungsi untuk membuat pengkodean Huffman dari setiap simbol pada sebuah matriks frame video MPEG-4 dengan software. Tujuan Program. Program ini bertujuan membandingkan antara Huffman Dictionary yang dihasilkan dengan simbol yang sudah diganti dengan kode Huffman nya. Selain itu digunakan juga untuk mengukur kecepatan proses pengkodean pada spesifikasi komputer yang berbeda, rasio hasil kompresi, dan ketepatan antara data input dengan data output yang sudah didekompresi. Konsep Program. Program ini tidak memperlihatkan rangkaian proses keseluruhan dari video sumber sampai menjadi video di sisi penerima melainkan memperlihatkan proses tersebut dalam bentuk pengolahan 1 frame video. Program ini dibuat dengan mengambil 11

pertimbangan bila 1 frame video bisa diterima dan direkonstruksi menjadi gambar yang tepat sama di sisi penerima, maka setiap frame yang berikutnya cukup mengikuti rangkaian proses yang sama. Metode untuk mengirim dan menerima rangkaian kode Huffman tidak dibahas lebih lanjut. Diagram Kerja Program Gambar 3.1 Diagram Kerja Program (Kompresi) 12

Gambar 3.2 Diagram Kerja Program (Dekompresi). 3.3 Spesifikasi Perangkat Pengujian software ini menggunakan dua perangkat yaitu sebuah laptop dan sebuah PC dengan spesifikasi yang berbeda. Perangkat I Sebuah laptop dengan spesifikasi : CPU : Intel Core i3 2310M @ 2.1 GHz. Memory : 2GB DDR3. Harddisk : 2.5 Hard Drive 640GB. Perangkat II Sebuah PC dengan spesifikasi : CPU : AMD Phenom II X4 @ 3.0 GHz. Memory : 4 GB DDR2. Harddisk : 2.5 Solid State Disk 128GB. 13

3.4 Perancangan Script dan Diagram Alir 3.4.1 Pembuatan Video MPEG-4 dengan Pemotongan Frame Gambar 3.3 Diagram Alir Pembuatan Video MPEG-4 dengan Pemotongan Frame 3.4.2 Pengambilan Frame video MPEG-4 dan Pembuatan Matriks Frame Gambar 3.4 Diagram Alir Pengambilan Frame video MPEG-4 dan Pembuatan Matriks Frame 14

3.4.3 Proses Pemodelan dan Probabilitas 3.4.4 Proses Huffman Encoding Gambar 3.5 Proses Pemodelan dan Probabilitas 3.4.5 Proses Dekompresi Gambar 3.4 Diagram Alir Huffman Encoding dan Rasio Kompresi Gambar 3.5 Diagram Alir proses Dekompresi Huffman 15

IV. Pengujian dan Analisa Hasil 4.1 Kecepatan Proses Kecepatan proses diukur dalam waktu sejak dimulainya proses sampai proses tersebut selesai. Jumlah bit hasil kompresi yang berbeda-beda menentukan lamanya waktu proses yang dibutuhkan. Hasil percobaan untuk 10 frame ditunjukkan pada tabel 4.1 Tabel 4.1 Hasil Percobaan Kecepatan Proses No. Frame Jumlah bit asli Jumlah bit terkompresi Kompresi Dekompresi Perangkat I Perangkat II Perangkat I Perangkat II Menit Detik Menit Detik Menit Detik Menit Detik 1 3538944 2983998 1 49 1 7 12 24 11 53 2 3538944 2985321 1 57 1 14 12 35 11 59 3 3538944 2989531 2 3 1 21 12 41 12 3 4 3538944 2995190 2 8 1 25 12 45 12 6 5 3538944 3001037 2 11 1 29 12 49 12 9 6 3538944 3006199 2 31 1 41 12 52 12 13 7 3538944 3010157 2 42 1 48 12 55 12 17 8 3538944 3013204 2 46 1 52 12 58 12 23 9 3538944 3015830 2 53 1 54 13 2 12 26 10 3538944 3016798 2 55 1 57 13 4 12 31 Total 35389440 30017265 23 55 15 48 128 50 122 1 4.2 Rasio dan Persentase Rasio Rasio dari setiap frame berbeda-beda tergantung pada banyaknya jumlah bit pada setiap data yang terkompresi. Tabel 4.2 memperlihatkan hasil rasio dari setiap frame dan total rasio selama 1 detik (10 frame). Tabel 4.2 Tabel Rasio Kompresi No. Frame Jumlah bit asli Jumlah bit terkompresi Rasio %Rasio 1 3538944 2983998 0,843188816 84,31888 2 3538944 2985321 0,843562656 84,35627 3 3538944 2989531 0,844752276 84,47523 4 3538944 2995190 0,846351341 84,63513 5 3538944 3001037 0,848003529 84,80035 6 3538944 3006199 0,849462156 84,94622 7 3538944 3010157 0,850580569 85,05806 8 3538944 3013204 0,85144156 85,14416 9 3538944 3015830 0,852183589 85,21836 10 3538944 3016798 0,852457117 85,24571 Total 35389440 30017265 0,848198361 84,81984 16

4.3 Ketepatan (Accuracy) Dekompresi Ketepatan hasil dekompresi diperiksa menggunakan metode isequal dimana tools Matlab tersebut akan memberikan nilai 1 bila hasil perbandingan kedua matriks tepat sama elemen-elemennya dan memberikan nilai 0 bila ditemukan perbedaan antara kedua matriks tersebut. Hasil pengamatan ketepatan kedua matriks diperlihatkan tabel 4.3. Tabel 4.3 Tabel Pengamatan Ketepatan Dekompresi No. Frame Matriks Asli (a) Matriks Dekompresi (A) isequal 1 288 x 512 x 3 288 x 512 x 3 1 2 288 x 512 x 3 288 x 512 x 3 1 3 288 x 512 x 3 288 x 512 x 3 1 4 288 x 512 x 3 288 x 512 x 3 1 5 288 x 512 x 3 288 x 512 x 3 1 6 288 x 512 x 3 288 x 512 x 3 1 7 288 x 512 x 3 288 x 512 x 3 1 8 288 x 512 x 3 288 x 512 x 3 1 9 288 x 512 x 3 288 x 512 x 3 1 10 288 x 512 x 3 288 x 512 x 3 1 V. Kesimpulan Kesimpulan yang diperoleh dari hasil percobaan dengan program dan analisa hasil yang didapatkan : 1. Kompresi yang dihasilkan dengan metode Huffman memiliki rasio sekitar 84% - 85% dari total jumlah bit yang dimiliki sebuah frame video RGB24. 2. Proses kompresi dan dekompresi membutuhkan waktu yang cukup lama. Sekitar 1-2 Menit pada kompresi dan sekitar 12 menit pada dekompresi tiap frame. Sehingga metode kompresi Huffman tidak cocok untuk komunikasi video secara Realtime. 3. Ketepatan data yang sudah didekompresi dengan metode Huffman adalah tepat sama dengan data aslinya. 17

VI. Saran Untuk Mempercepat proses kompresi dan dekompresi dan mengaplikasikan program Matlab ini ke dalam bentuk alat, program Matlab ini dapat diubah ke dalam bentuk bahasa C++ dan dapat diimplementasikan ke dalam Mikroprosesor. KEPUSTAKAAN [1] Binanto, Iwan (2008). Multimedia Digital Dasar Teori + Pengembangannya. ANDI. [2] Chapman, Nigel (2007). Digital Multimedia 3 rd Edition. John Wiley & Sons. [3] Shi, Yun Q., & Sun, Huifang (1999). Image and Video Compression for Multimedia Engineering 2 nd Edition. CRC Press. [4] Sharma, Mamta (2010). Compression using Huffman Coding. International Journal of Computer Science and Network Security, VOL.10 No.5. [5] Keerthana K (2008). Multimedia Databases. CST. [6] Nelson, Mark., & Gailly, Jean-Loup (2010). The Data Compression Book 2 nd Edition. College of Applied Studies University of Bahrain. [7] Solari, Stephen (1997). Digital Video and Audio Compression. McGraw-Hill. [8] Nahrstedt, Klara (2002). Media Coding and Content Processing. IMSC Press. 18