Algoritma Kompresi JPEG PENDAHULUAN

ini digunakan tools JPEGsnoop_v1_6_0 sebagai deteksi awal adanya manipulasi gambar.

2.4. Algoritma Kompresi JPEG

Kompresi di dalam gambar digital adalah suatu teknik yang meminimalisasi ukuran file sehingga mengurangi pemakaian memori dan bandwidth data stream dengan rasio kompresi tertentu. Ada dua jenis kompresi yang sering digunakan, yaitu kompresi Lossy dan Lossless. Lossy : gambar dikodekan dengan membuang secara selektif informasi yang dapat meningkatkan rasio kompresi tetapi dengan meminimalkan efek distorsi pada pandangan ketika melihat citra rekonstruksi sebagai piksel aslinya. Umum digunakan untuk kompres data multimedia gambar dan video yang berkaitan dengan data streaming pada komunikasi jaringan [17]. Lossless : gambar dikodekan untuk menjamin pemulihan yang persis sama dari setiap piksel aslinya meskipun rasio kompresi lebih kecil. Umumnya digunakan untuk data teks atau dalam kasus dimana penyimpangan data asli bisa merugikan [17]. JPEG umumnya menggunakan kompresi Lossy, kecuali JPEG 2000 yang mendukung kompresi Lossy dan Lossless. Standar kompresi yang ditetapkan ISO International Standards Organization dan IEC International Electro-technical Commission gambar JPEG menggunakan skema DCT Discrete Cosine Transform. Domain DCT digunakan untuk mengkonversi sinyal kenilai-nilai koefisien dengan Universitas Sumatera Utara kemampuan untuk melakukan operasi pemotongan truncating dan pembulatan rounding sehingga memungkinkan kompresi sinyal berlangsung. Kompresi JPEG beroperasi pada setiap komponen saluran warna secara terpisah sehingga hanya akan berurusan dengan 8-bit piksel. Ini memungkinkan berguna untuk memvisualisasikan gambar grayscale seperti foto hitam putih dimana setiap pixel dapat disimpan sebagai 8-bit nilai grayscale bukan jumlah merah, hijau dan biru. Proses kompresi JPEG dimulai dengan mengubah ruang warna RGB ditransformasi menjadi YCbCr dengan Persamaan 2.2, lalu masing-masing saluran Y, Cb, dan Cr dibagi menjadi blok-blok ukuran 8x8 piksel jika tidak mewakili integer jumlah blok maka kompresor mengisi area sisa blok dengan angka dummy [6]. Sebelum dilakukan transform DCT setiap piksel di subtract dalam range [- 128,127] agar pergeseran nilai piksel grayscale berpusat ke nol jadi nilai piksel origin dikurangi dengan 128 Gambar 2.2b, nilai piksel inilah yang dihitung untuk mendapatkan koefisien DCT Gambar 2.2c berdasarkan rumus berikut: JPEG umumnya menggunakan kompresi Lossy, kecuali JPEG 2000 yang mendukung kompresi Lossy dan Lossless ∑∑ = =             +             + = 7 7 , , 2 1 8 cos 2 1 8 cos x y y x v u v y u x g v u G π π α α …………...... 2.3        = = lainnya n untuk n , 8 2 , 8 1 α ..........................................................2.4 Universitas Sumatera Utara dimana: G u,v u adalah frekuensi bidang horizontal, untuk 0 ≤ u ≤ 8. adalah koefisien DCT pada kordinat u,v. v adalah frekuensi bidang vertikal, untuk 0 ≤ u ≤ 8. g x,y adalah nilai piksel pada koordinat x,y x u                           100 108 92 75 77 74 77 66 101 90 94 88 94 87 67 69 98 76 84 96 85 81 68 77 89 83 80 71 70 72 71 74 89 74 79 72 79 89 91 91 71 73 78 82 98 99 102 92 69 76 87 92 90 101 107 88 72 98 106 93 78 85 90 92                           − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − 28 20 36 53 51 54 51 62 27 38 34 40 34 41 61 59 30 52 44 32 43 47 60 51 39 45 48 57 58 56 57 54 39 54 49 56 49 39 37 37 57 55 50 46 30 29 26 36 59 52 41 36 38 27 21 40 56 30 22 35 50 43 38 36 y                           − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − 3 2 8 4 1 2 5 5 2 3 1 4 5 1 1 2 8 4 5 2 1 10 1 3 5 13 12 24 18 13 8 8 2 10 15 5 20 4 2 7 4 16 13 9 18 20 1 4 6 14 14 8 53 15 3 6 3 7 3 2 8 677 v a b c Gambar 2.2. Proses mendapatkan nilai koefisien DCT untuk salah satu blok piksel a. Nilai piksel origin, b nilai dikurangi 128, c nilai koefisien DCT Dari Gambar 2.2c nilai yang terletak pada posisi G0,0 atau pada pojok kiri atas dinamai koefisien DC sisanya dinamai koefisien AC. Kecenderungan DCT adalah mengumpulkan sebagian besar sinyal signifikan disalah satu sudut dan dilanjutkan dengan proses kuantisasi yang juga menonjolkan efek ini sekaligus mengurangi ukuran keseluruhan koefisien DCT sehingga sinyal mudah dikompres secara efisien pada langkah pengkodean. Universitas Sumatera Utara Matriks yang berisi 64 koefisien DCT lalu dikuantisasi dengan Persamaan 2.5 sehingga didapat nilai koefisien DCT sesudah kuantisasi Gambar 2.3 dimana koefisien sebelum kuantisasi dibagi dengan sebuah matriks standar kuantisasi untuk JPEG dengan faktor quality yang ditentukan Gambar 2.3b dengan hasil bilangan integer sebagai nilai koefisien DCT terkuantisasi. } 7 , 6 , 5 , 4 , 3 , 2 , 1 , { , ∈         = j i Q G round D ij ij ij ………….....……2.5 dimana: D ij G adalah koefisien DCT sesudah kuantisasi. ij Q adalah koefisien DCT sebelum kuantisasi. ij adalah matriks tabel kuantisasi standar JPEG.                           − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − − 3 2 8 4 1 2 5 5 2 3 1 4 5 1 1 2 8 4 5 2 1 10 1 3 5 13 12 24 18 13 8 8 2 10 15 5 20 4 2 7 4 16 13 9 18 20 1 4 6 14 14 8 53 15 3 6 3 7 3 2 8 677                           99 103 100 112 98 95 92 72 101 120 121 103 87 78 64 49 92 113 104 81 64 55 35 24 77 103 109 68 56 37 22 18 62 80 87 51 29 22 17 14 56 69 57 40 24 16 13 14 55 60 58 26 19 14 12 12 61 51 40 24 16 10 11 16                           − − − − − − − − 1 1 1 1 1 1 1 1 1 1 1 1 4 1 1 42 a b c Gambar 2.3. Nilai hasil proses kuantisasi a nilai koefisien sebelum kuantisasi, b Tabel Q JPEG luminance,Q=50, c nilai koefisien DCT setelah kuantisasi. Universitas Sumatera Utara Tabel kuantisasi adalah standar dalam proses kuantisasi kompresi DCT, nilai faktor kuantisasi berkisar antara 0 -100 pada Gambar 2.3b adalah tabel kuantisasi Luminance untuk Q = 50, untuk faktor kuantisasi berbeda nilai tabel kuantisasi tidak sama, bila S adalah skala faktor kuantisasi maka nilai setiap elemen tabel kuantisasi pada skala tersebut dapat dihitung dengan Persamaan 2.6. Untuk mengembalikan kembali menjadi visual gambar dekompresi dilakukan proses yang yang mirip dengan proses kompresi hanya dalam urutan terbalik. [ ] [ ]       + = 100 50 i T S i T b s …………………................................... 2.6 Dimana: T s T [i] = nilai elemen tabel kuantisasi baru b S = skala faktor kuantisasi. [i] = nilai elemen tabel kuantisasi standar Q=50 S dihitung berdasarkan Q baru yang ditentukan berdasarkan Persamaan 2.7.     − = 50 , 2 200 50 , 5000 Q jika Q Q jika Q S ……………................................... 2.7 Setelah koefisien terkuantisasi D ij didapat kemudian disusun dalam urutan zig-zag dikodekan menggunakan algoritma Huffman, hasil pengkodean inilah yang menjadi bit stream yang membentuk file JPEG kompressi [18][19]. Universitas Sumatera Utara Untuk mengembalikan kembali menjadi visual gambar dekompresi dilakukan proses yang yang mirip dengan proses kompresi hanya dalam urutan terbalik. Walapun nilai piksel yang dihasilkan dekompresi tidak seperti nilai piksel gambar aslinya tetapi secara sensasi mata tidak terdapat perbedaan yang mencolok.

2.5. Algoritma Pemalsuan Gambar