Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4
Transcript of Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4
1 UNIVERSITAS INDONESIA
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.
Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
2 UNIVERSITAS INDONESIA
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.
Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
3 UNIVERSITAS INDONESIA
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.
Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
4 UNIVERSITAS INDONESIA
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
Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
5 UNIVERSITAS INDONESIA
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).
Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
6 UNIVERSITAS INDONESIA
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
Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
7 UNIVERSITAS INDONESIA
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
Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
8 UNIVERSITAS INDONESIA
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 masing-
masing simbol dapat dilakukan setelah diperoleh tabel 2.1. Susunan lengkap pengkodean
huffman untuk tiap-tiap simbol dapat dilihat pada gambar 2.4.
50
150
200
0
0,25
0,125
0,0625
0,0625
0,25
0,125
0,125
0,25
0,25
100 0,5 0,5 0,5 0,5
0,5
0
110
11
0
110
111
10
0
110
1110
10
0
1111
Simbol S1 S2 S3 S4
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 .
Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
9 UNIVERSITAS INDONESIA
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.
Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
10 UNIVERSITAS INDONESIA
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.
Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
11 UNIVERSITAS INDONESIA
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
Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
12 UNIVERSITAS INDONESIA
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)
Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
13 UNIVERSITAS INDONESIA
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.
Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
14 UNIVERSITAS INDONESIA
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
Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
15 UNIVERSITAS INDONESIA
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
Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
16 UNIVERSITAS INDONESIA
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
Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
17 UNIVERSITAS INDONESIA
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.
Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013
18 UNIVERSITAS INDONESIA
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.
Kompresi bit ..., R. Alifiansyah Ilham K., FT UI, 2013