Adaptasi Algoritma CALIC DASAR TEORI 2.1.

Techné Jurnal Ilmiah Elektronika Vol. 7 no. 1 April 2008 Hal 15 – 33 16 kompresi Least Significant Bits sehingga diperoleh Least Significant Bits seperti semula dan bisa dihasilkan data yang sama dengan data asli.

II. DASAR TEORI 2.1.

Generalized-LSB G-LSB Seperti yang sudah disebutkan di atas, watermarking akan dilakukan pada bagian Least Significant Bits. Akan tetapi dalam hal ini, proses embedding dan ekstraksi watermarking tidak sama dengan teknik watermarking modifikasi LSB yang biasa. Pengembangannya disebut dengan teknik G-LSB dan dapat dijelaskan dengan persamaan – persamaan sebagai berikut. S w = Q L s w 2.1 w = S w − Q L S w = S w − Q L S 2.2 dengan - S w adalah piksel yang sudah berisi data watermark; - Q L S adalah hasil kuantisasi terhadap piksel asli S berdasarkan persamaan; Q L S = L S L 2.3 - W adalah data watermark dengan w ∈ {0, 1, ..., L – 1}; dan - L adalah aras kuantisasi.

2.2. Adaptasi Algoritma CALIC

Seperti yang sudah disebutkan pada latar belakang masalah di Bab I, untuk melakukan lossless watermarking harus ada informasi citra asli yang dikompresi yaitu bagian yang disebut sebagai residu r pada Subbab 3.1 dan diikutsertakan sebagai watermark sehingga nantinya bisa didapat kembali citra asli dengan cara mengekstrak watermark dan melakukan proses dekompresi data r. Hal ini berarti efektifitas proses kompresi akan mempengaruhi tempat yang tersisa dari citra untuk bisa diberi data h karena sebagian besar akan digunakan untuk menampung data r terkompresi. Masalah yang kemudian muncul adalah melakukan kompresi secara langsung pada residu untuk menghasilkan tempat bagi data watermark. Hal ini menyebabkan tidak akan dihasilkannya kompresi yang optimal karena untuk aras kuantisasi yang rendah, residu tidak memiliki pola tertentu dan cenderung sama rata peluang kemunculannya REVERSIBLE DATA HIDING Iwan Setyawan, Anton Dharmalim 17 sehingga seperti derau. Untuk itu akan dilakukan kompresi dengan terlebih dahulu mengadaptasi algoritma CALIC [3]. Adaptasi dilakukan dengan tetap mengacu pada tahapan – tahapan pada algoritma CALIC. Prediksi yang dilakukan pada algoritma ini bertujuan untuk mengurangi redundancy spasial pada citra. Prediksi dilakukan dengan menggunakan piksel – piksel di sekeliling piksel yang akan diolah seperti yang ditunjukkan oleh gambar di bawah ini Gambar 2.1. Eight-connected Neighborhood. dengan O origin merupakan piksel yang sedang diolah dan simbol yang lain diambil dari simbol arah mata angin dengan N berarti north, NE berarti north east, dan sebagainya. Residu yang akan diolah baik pada bagian penyandian maupun pengawasandian, diolah dengan pola raster scan dengan tujuan piksel – piksel pada posisi W, NW, N, dan NE sudah diawasandikan sehingga bisa dilakukan prediksi terhadap O untuk masing – masing piksel. Prediksi yang dilakukan termasuk prediksi linear terhadap 4 piksel tetangga di sekitar piksel yang akan diolah dengan persamaan : S O = 1 4 ∑ k { W , N , E , S } f S k 2.4 dengan f S k = { S k , Q L L 2 , if k {W , NW , N , NE} otherwise 2.5 Selanjutnya dilakukan pengelompokan terhadap 2 peubah yaitu context d dan context t yang diperoleh dari persamaan – persamaan di bawah ini : Δ = ∑ k { W , NW , N , NE , E , SE , S , SW } 1 8 f S k − S O 2.6 d = Q Δ 2.7 NW N NE W O E SW S SE Techné Jurnal Ilmiah Elektronika Vol. 7 no. 1 April 2008 Hal 15 – 33 18 t k = { 1, 0, if f S k S O otherwise , k {W , N , E , S } 2.8 t = t W t N t E t S 2.9 dengan t didapat dengan menggabungkan masing – masing t k bit dan d adalah suatu fungsi scalar nonuniform quantizer dengan nilai ambang {1,2,3,4,6,10,15} dengan nilai – nilainya ditentukan berdasarkan percobaan – percobaan yang sudah dilakukan [1]. Context d disini mencerminkan local activity yang merupakan rerata nilai mutlak galat dari Persamaan 2.6, sedangkan context t mencerminkan tekstur dalam kaitannya antara nilai piksel di sekitarnya dengan nilai hasil prediksi. Setelah context d, t diketahui, langkah selanjutnya adalah melakukan prediksi lagi untuk tiap piksel. Hal ini harus dilakukan karena galat prediksi S O − S O menghasilkan rerata yang tidak nol sehingga harus dilakukan prediksi lagi dengan umpan balik untuk tiap piksel per nilai context – nya [1] ˙ S O = round S O ε d , t 2.10 dengan ε d , t adalah rata – rata galat prediksi ε = S O − ˙ S O untuk semua piksel per context d, t. Prediksi baru ini sudah bersifat context-based, adaptif, dan non linear [1]. Setelah mendapat prediksi yang baru, nilai Q L yang sudah diketahui sebelumnya digunakan sebagai informasi tambahan untuk mengelompokkan residu. Hal di atas dapat dijelaskan sebagai berikut. Distribusi peluang dari galat prediksi ε = S O − ˙ S O untuk tiap – tiap context d pε|d memiliki bentuk yang hampir serupa dengan bentuk distribusi Laplace dengan rata – rata nol dan variance yang kecil yang ditentukan oleh d seperti yang ditunjukkan oleh Gambar 2.2.a. Sehingga peluang distribusi piksel p s = ˙s ε d , ˙s diperoleh dengan menggeser pε|d sejauh ˙s . REVERSIBLE DATA HIDING Iwan Setyawan, Anton Dharmalim 19 Gambar 2.2. Grafik Distribusi Peluang. a pε|d, b p s = ˙s ε d , ˙s , c p r d , ˙s , Q L s . Dari persamaan G-LSB 2.1 akan didapat daerah yang ditunjukkan oleh garis putus – putus di Gambar 2.2 b dengan nilai Q L S akan membatasi jangkauan nilai S [Q L S, Q L S+L. Daerah ini jika dinormalisasi akan didapat grafik PMF Probability Mass Function seperti yang ditunjukkan oleh Gambar 2.2 c yang menunjukkan residu r yang sudah dikelompokkan. Pengelompokan ini dilakukan berdasarkan sifat distribusi Laplace yang grafiknya turun secara eksponensial setelah mencapai nilai tengahnya yang dalam kasus ini adalah ˙s . Dengan melihat hubungan antara nilai ˙s dan nilai Q L Gambar 2.2 b, maka jika Q L S ≥ ˙ S nilai puncaknya adalah di nilai r = 0, jika Q L S L− 1≤ ˙ S maka nilai puncaknya adalah di nilai r = L – 1, dan jika Q L S ≤ ˙ S ≤ Q L S L− 1 maka nilai puncaknya adalah di nilai r = ˙S − Q L ˙ S . Techné Jurnal Ilmiah Elektronika Vol. 7 no. 1 April 2008 Hal 15 – 33 20 Gambar 2.3. Grafik PMF p r d , ˙s , Q L s . Residu ini seharusnya sudah bisa dikompresi karena perbedaan nilai entropy-nya sudah lebih tajam. Akan tetapi karena banyaknya kelompok yang dihasilkan maka bisa jadi tidak efektif sehingga perlu dikenalkan context ketiga yang diberi nama context m. Context ini didasari sifat statistik yang ditunjukkan oleh gambar di atas. Dari penelitian yang sudah dilakukan [1], diketahui bahwa distribusi residu dengan nilai puncak di r dan distribusi residu dengan nilai puncak di L – 1 – r saling berkebalikan. Jadi jika residu ini disusun ulang dengan r new = L – 1 – r old , maka kompresi yang dilakukan bisa lebih efektif lagi. Disinilah context m berperan untuk membedakan antara kedua data residu tadi tanpa perlu disertakan dalam proses kompresinya karena pada proses ekstraksi bisa dilakukan penghitungan untuk mendapatkan context m yang sama. Setiap residu yang nilainya saling berkebalikan diberi nilai ± m dan pada akhirnya residu ini akan dikompresi dengan penyandian arithmetic berdasarkan kelompok context d, m-nya.

2.3. Arithmetic Coding