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 UNIVERSITAS INDONESIA Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
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 UNIVERSITAS INDONESIA Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
II. Tinjauan Teoritis Video Digital
2.1
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 UNIVERSITAS INDONESIA Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
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 UNIVERSITAS INDONESIA Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
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 UNIVERSITAS INDONESIA Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
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 UNIVERSITAS INDONESIA Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
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 UNIVERSITAS INDONESIA Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
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 100 50 150 200 0
Frekuensi kemunculan 8 4 2 1 1
Probabilitas
Kode Huffman
8/16 = 0.5 4/16 = 0.25 2/16 = 0.125 1/16 = 0.0625 1/16 = 0.0625
0 10 110 1110 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 UNIVERSITAS INDONESIA Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
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
: 8-bit (256 warna).
Total jumlah bit pada vektor input
: 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 UNIVERSITAS INDONESIA Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
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 UNIVERSITAS INDONESIA Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
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 MPEG4 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 UNIVERSITAS INDONESIA Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
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 UNIVERSITAS INDONESIA Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
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 UNIVERSITAS INDONESIA Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
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 UNIVERSITAS INDONESIA Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
3.4.3 Proses Pemodelan dan Probabilitas
Gambar 3.5 Proses Pemodelan dan Probabilitas 3.4.4
Proses Huffman Encoding
Gambar 3.4 Diagram Alir Huffman Encoding dan Rasio Kompresi 3.4.5
Proses Dekompresi
Gambar 3.5 Diagram Alir proses Dekompresi Huffman
15 UNIVERSITAS INDONESIA Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
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
4.2
No. Frame
Jumlah bit asli
Jumlah bit terkompresi
1 2 3 4 5 6 7 8 9 10 Total
3538944 3538944 3538944 3538944 3538944 3538944 3538944 3538944 3538944 3538944 35389440
2983998 2985321 2989531 2995190 3001037 3006199 3010157 3013204 3015830 3016798 30017265
Kompresi Perangkat I Perangkat II Menit Detik Menit Detik 1 49 1 7 1 57 1 14 2 3 1 21 2 8 1 25 2 11 1 29 2 31 1 41 2 42 1 48 2 46 1 52 2 53 1 54 2 55 1 57 23 55 15 48
Dekompresi Perangkat I Perangkat II Menit Detik Menit Detik 12 24 11 53 12 35 11 59 12 41 12 3 12 45 12 6 12 49 12 9 12 52 12 13 12 55 12 17 12 58 12 23 13 2 12 26 13 4 12 31 128 50 122 1
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 2 3 4 5 6 7 8 9 10 Total
3538944 3538944 3538944 3538944 3538944 3538944 3538944 3538944 3538944 3538944 35389440
2983998 2985321 2989531 2995190 3001037 3006199 3010157 3013204 3015830 3016798 30017265
0,843188816 0,843562656 0,844752276 0,846351341 0,848003529 0,849462156 0,850580569 0,85144156 0,852183589 0,852457117 0,848198361
84,31888 84,35627 84,47523 84,63513 84,80035 84,94622 85,05806 85,14416 85,21836 85,24571 84,81984
16 UNIVERSITAS INDONESIA Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
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 UNIVERSITAS INDONESIA Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
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 3rd Edition. John Wiley & Sons.
[3]
Shi, Yun Q., & Sun, Huifang (1999). Image and Video Compression for Multimedia Engineering 2nd 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 2nd 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 UNIVERSITAS INDONESIA Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013