Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4

18
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

Transcript of Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4

Page 1: 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

Page 2: Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4

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

Page 3: Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4

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

Page 4: Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4

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

Page 5: Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4

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

Page 6: Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4

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

Page 7: Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4

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

Page 8: Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4

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

Page 9: Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4

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

Page 10: Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4

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

Page 11: Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4

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

Page 12: Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4

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

Page 13: Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4

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

Page 14: Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4

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

Page 15: Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4

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

Page 16: Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4

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

Page 17: Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4

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

Page 18: Kompresi Bit dengan Huffman Code pada Frame Video MPEG-4

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