yaitu gambar dengan derajat keabuan yang mempunyai intensitas warna 0 sampai 255, dimana 0 adalah untuk
merepresentasikan warna hitam dan 255 adalah warna untuk merepresentasikan warna putih. Karena mata
manusia lebih sensitif pada warna luminance Y dari pada warna chrominance Cb,Cr, sehingga informasi
warna chrominance tidak diikut sertakan pada proses kompresi dan hanya warna Y yang diproses sebagai
masukan gambar untuk proses selanjutnya. Warna YCbCr diperoleh dengan mentrransformasikan RGB
dengan rumus:
Y = 0,299 R + 0,587 G + 0,114 B Cb = - 0,1687 R - 0,3312 G + 0,5 B
Cr = 0,5 R – 0,4183 G – 0,0816 B Untuk membentuk kembali warna RGB dari
warna YCbCr dapat menggunakan rumus : R = Y+ 1,4022 Cr
G = Y – 0,3456 Cb –0,7145 Cr B = Y + 1,7710 Cb
2.3. DCT dan Inverse DCT
Dibawah ini merupakan fungsi matematis yang digunakan untuk melakukan perhitungan pada proses
DCT : DCTi,j=
4 1
Ci.Cj
7
x
7
y
pikselx,y. Cos
16
1 2
i x
. Cos
16
1 2
j y
Cx =
2 1
untuk x = 0, Cx = 1 untuk x 0 Fx,y = Data domain ruang
Fi,j = Data domain frekuensi Kebalikan dari proses DCT yaitu inverse DCT,
inverse DCT menggunakan rumus : pikselx,y=
4 1
7
i
7
j
Ci.Cj.DCTi,j. Cos
16
1 2
i x
. Cos
16
1 2
j y
Cx =
2 1
untuk x = 0, Cx = 1 untuk x 0
2.4. Kuantisasi dan Dekuantisasi
Proses kuantisasi merupakan proses untuk mengurangi jumlah bit yang diperlukan untuk
menyimpan suatu data gambar. Karena mata manusia lebih peka terhadap frekuensi rendah dari pada
frekuensi tinggi dan karena frekuensi tinggi tidak merubah data gambar secara signifikan, maka pada
proses kuantisasi frekuensi tinggi ini dipotong dengan cara, matriks koefesien hasil DCT dibagi dengan
matriks quantum. Matriks quantum ini ditentukan oleh faktor kualitas yang dipilih antara 1 sampai 100 yang
nantinya dipakai untuk menentukan kualitas dari suatu gambar JPEG.
Matriks quantum yang digunakan pada proses kuantisasi diperoleh dengan menggunakan rumus:
Quantum i,j = 1+ faktor kualitas 1 + i + j Setelah menentukan matrik quantum dengan
faktor kualitas yang sudah dipilih selanjutnya proses kuantisasi dihitung dengan menggunakan rumus :
kuantisasi i,j =
quantum matrik
DCT matrik
_ _
dibulatkan ke integer terdekat
Untuk proses sebaliknya yaitu dekuantisasi dapat dihitung dengan menggunakan rumus:
Dekuantisasi i,j = matriks quantum i,j hasil un_zig_zag i,j
2.5. Zig – Zag Scanning
Zig-zag scanning yaitu proses yang merubah matriks 8 x 8 hasil proses kuantisasi kedalam vektor 1 x
2
8
, dengan pembacaan secara zig-zag scanning. Pada proses zig-zag scanning ini nilai nol pada frekuensi
tinggi cenderung terbaca secara berurutan.
Gambar 2.3. Path zig-zag scanning
Contoh hasil proses zig-zag scanning yang merubah matrks 8 x 8 hasil proses kuantisasi ke dalam
vector 1 x 64. -68 4-18 2 -2 -1 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2.6. RLC RLC Run-Length Code yaitu proses
serangkaian simbol yang berurutan dikodekan menjadi suatu kode yang terdiri dari simbol tersebut dan jumlah
pengulangannya. RLC efektif karena hasil keluaran matriks setelah proses kuantisasi pada frekuensi tinggi
cenderung nol 0 dan berurutan, Karena hampir setengahnya lebih adalah nol, maka nilai 0 inilah yang
disimbolkan menjadi 0 dan jumlah pengulangannya.
Untuk proses dekompresi, dilakukan proses sebaliknya yaitu hasil pengkodean RLC discan dan
diuraikan kembali, kemudian kode hasil penguraian dibaca sebagai blok. Berikut ini adalah contoh
perubahan proses setelah proses zig-zag scanning ke dalam proses RLC.
-68 4 -18 2 -2 -1 0 3 -1 0 54
2.7 Huffman Kode
Untuk membuat pegkodean dengan metode Huffman langkah-langkahnya dapat dijelaskan sebagai
berikut : 1.
Menentukan jenis karakter dan frekuensinya 2.
Membuat pohon biner berdasarkan frekuensi setiap jenis karakter.
3. Dari pohon biner dibuat kode binernya dengan
cara jika ke kri diset “ 0 “ dan ke kanan diset “ 1 “.
Contoh Huffman kode : AAAAAAAAAABBBBBBBBCCCCCCDDDDDEE
2
Table 2.1. Contoh karakter dan frekuensinya Karakter
Frekuensi
A 10
B 8
C 6
D 5
E 2
Porses 1: 2
5 6
8 10
2 5
7 6
8 10
Proses 2 :
2 5
7 6
8 10
2 5
7 6
8 10
13
Proses 3 :
2 5
7 6
8 10
13
2 5
7 6
8 10
13 18
Proses 4 :
2 5
7 6
8 10
13 18
2 5
7 6
8 10
13 18
31
Proses 5 :
2 5
7 6
8 10
13 18
31
1 1
1 1
Table 2.2. Contoh karakter dan kodenya Karakter
Kode
A 11
B 10
C 00
D 011
E 010
2.8. Hasil Pengujian