Vol. 5, No.1, 10-19,  Juli  2008
* Reversible Low Contrast Mapping dan Penggunaannya dalam Reversible Watermarking
Hendra †

## Abstrak
Tantangan utama dalam reversible watermarking bukan hanya bagaimana mendapatkan kembali watermark yang  telah  disisipkan  tetapi  juga  bagaimana  mengembalikan  media  yang  telah disisipi watermark ke  keadaan  semula.  Disamping  itu  proses  tersebut  harus  dapat  dilakukan tanpa  informasi  tambahan  dari  luar  media  itu  sendiri.  Salah  satu  pendekatan  yang  dapat digunakan  dalam reversible  watermarking adalah  transformasi integer .  Transformasi integer bertujuan  untuk  memetakkan  data  dalam  domain  bilangan  bulat  ke  kodomain  bilangan  bulat juga. Reversible  Low  Contrast  Mapping (RLCM)  adalah  fungsi  tranformasi integer yang didefinisikan  sebagai  pasangan  fungsi
      2 3 ' y x x dan       2 3 ' x y y dengan  pasangan inversnya      
4 ' ' 3 y x x dan       4 ' ' 3 x y y .  Penggunaan  RLCM  sebagai  metode  dalam
reversible  watermarking  dilakukan  dengan  memanfaatkan  sifat  istimewa  dari  pasangan  fungsi tranformasi  tersebut  yang  kemudian  dijabarkan  sebagai  algoritma  yang  memenuhi  seluruh ketentuan dalam reversible watermarking .
Kata Kunci : reversible  watermarking,  transformasi  integer,  reversible  low  contrast mapping.

## 1. Pendahuluan
Perkembangan komputer digital dan perangkat-perangkat lainnya yang serba digital, telah membuat data digital banyak digunakan. Ada beberapa faktor yang membuat data digital (seperti audio, citra, video, dan text) banyak digunakan, antara lain:
 Mudah diduplikasi dan hasilnya sama dengan aslinya,
 Murah untuk penduplikasian dan penyimpanan,
 Mudah disimpan untuk kemudian diolah atau diproses lebih lanjut,
 Serta mudah didistribusikan, baik dengan media disk maupun melalui jaringan seperti Internet. Dengan  adanya  Internet  sebagai  sistem  jaringan  terluas  didunia  yang  dapat menghubungkan  hampir  seluruh  komputer-komputer  dunia,  membuat  semua  komputer  di  dunia ini semakin mudah untuk bertukar data. Kemudahan ini menimbulkan permasalah baru dalam hal ijin penggunaan, ijin meng- copy atau modifikasi  suatu produk digital.
† Jurusan Matematika FMIPA Universitas Hasanuddin Makassar Email: hendra@unhas.ac.id

## Hendra
Solusi  yang  telah  banyak  digunakan  untuk  masalah  ini  adalah digital  watermarking , teknik ini menyisipkan informasi untuk kebutuhan proteksi dalam suatu produk. Informasi yang disisipkan  dapat  berupa  text,  citra  ,  suara,  video  dan  lain-lain. Digital  watermarking diartikan sebagai  suatu  teknik  dimana  seseorang  dapat  menambahkan  informasi  hak  cipta  atau  pesan verifikasi lain dalam suara digital, video atau signal citra dan dokumen.
Metode watermarking pada dasarnya mengubah sejumlah bit pada data media asli dengan informasi yang akan disembunyikan. Akan tetapi pada faktanya, beberapa aplikasi mengharuskan akurasi  data  yang  tinggi  sehingga  tidak  dapat  mentoleransi  distorsi  dari  proses watermarking tersebut.  Contohnya  adalah  penggunaan watermarking pada  data  medik  seperti  citra X-ray dan penggunaan  pada  citra  satelit  untuk  kepentingan  militer,  dimana  degradasi  pada  citra  tersebut akan mempengaruhi.
Teknik watermarking yang digunakan untuk menangani kasus tersebut adalah reversible watermarking , dimana teknik ini mengharuskan proses penyisipan yang dapat dibalik, yaitu suatu kemampuan  dimana  media  asli  dapat  diperoleh  kembali  setelah watermark dikeluarkan  dari media  yang  ter- watermark .  Menurut  Feng  dkk  (2006),  Proses  pengekstraksian  watermark  dan proses recovery harus  memiliki  sifat blind dimana  proses  tersebut  harus  dapat  dilakukan  tanpa informasi tambahan dari luar media itu sendiri.
Sejumlah peneliti telah mengembangkan metode dalam reversible watermarking dengan menggunakan pendekatan yang berbeda-beda, diantaranya adalah Celik dkk (2002) menggunakan metode  kompresi  data  yang  diberi  nama  kompresi  CALLIC,  Vleeschouwer  dkk  (2001)  dan  Ni dkk  (2003)  menggunakan  sifat  statistik  pada  blok-blok  citra,  Tien  (2002)  menggunakan tranformasi wavelet integer , Alattar (2003) mengembangkan metode Tien dengan menggunakan difference  extension ,  Coltuc  dan  Chassery  (2007)  menggunakan  tranformasi integer yang  diberi nama Reversible  Contrast  Mapping (RCM)  dan  Hendra  (2008)  yang  juga  menggunakan transformasi  integer  dengan  fungsi  transformasi  yang  berbeda  yang  kemudian  diberi  nama Reversible Low Contrast Mapping (RLCM). .

## 2. Reversible Low Contrast Mapping (RLCM)
RLCM adalah pasangan fungsi transformasi integer yang didefinisikan sebagai
      2 3 ' y x x dan       2 3 ' x y y (1)
Dengan invers fungsi transformasinya adalah :
      4 ' ' 3 y x x dan       4 ' ' 3 x y y (2)
Persamaan  (1)  memiliki  sifat  khusus  yaitu  nilai x’ dan y’ keduanya  selalu  ganjil  atau keduanya  selalu  genap.  Sifat  ini  dapat  digunakan  untuk  menyisipkan  watermark  dengan mengganti salah satu LSB dari nilai x’ atau y’ sedangkan LSB yang lainnya digunakan sebagai bit kontrol dalam proses pengekstraksian dan recovery .
Untuk  membuktikan  kebenaran  sifat  tersebut  dan  menunjukkan  bahwa  persamaan  (2) merupakan  invers dari  persamaan  (1)  perlu  dilakukan  pembuktian  kasus-perkasus  terhadap  sifat fungsi yang dinyatakan sebagai berikut :

## Hendra
1. Untuk  setiap x , y  Z,  jika       2 3 ' y x x dan       2 3 ' x y y ,  maka x’ dan y’ keduanya genap atau keduanya ganjil.
2. Untuk  setiap x , y  Z,  Jika       2 3 ' y x x dan       2 3
' x y y adalah  fungsi  transformasi,
maka invers dari fungsi tersebut adalah       4 ' ' 3 y x x dan       4 ' ' 3 x y y .
Untuk membuktikan sifat pertama terlebih dahulu harus ditunjukkan bahwa untuk setiap x, y  Z, jika x’ = 3 x – y dan y’ = 3 y – x , maka x’ dan y’ keduanya genap atau keduanya ganjil. Pernyataan ini harus dibuktikan kasus per kasus sebagai berikut :
Kasus 1 : Jika x genap dan y genap.
Misal x = 2 n dan y = 2 m , maka x’ = 3(2 n ) – 2 m = 2(3 n – m )  jadi x’ adalah genap. y’ = 3(2 m ) – 2 n = 2(3 m – n ) jadi y’ adalah genap.
Kasus 2 : Jika x ganjil dan y ganjil.
Misal x = 2 n – 1 dan y = 2 m – 1 , maka x’ = 3(2 n – 1) – (2 m – 1)  = 2(3 n – m – 1)  jadi x’ adalah genap. y’ = 3(2 m – 1) – (2 n – 1) = 2(3 m – n – 1) jadi y’ adalah genap.
Kasus 3 : Jika x ganjil dan y genap atau sebaliknya.
Misalkan x = 2 n - 1 dan y = 2 m , maka x’ = 3(2 n -1) – 2 m =  2(3 n – m ) – 3, jadi x’ adalah ganjil. y’ = 3(2 m ) – (2 n – 1)  =  2(3 m – n ) + 1, jadi y’ adalah ganjil.
Selanjutnya, dengan menggunakan hasil tersebut dibuktikan sifat pertama secara kasus-perkasus sebagai berikut :
Kasus 1 : Jika x genap dan y genap.
Misal x = 2 r dan y = 2 s , maka
            2 ) 3 ( 2 2 2 ) 2 ( 3 ' s r s r
x = 3 r – s .
            2 ) 3 ( 2 2 2 ) 2 ( 3 ' r s r s
y = 3 s – r .
Berdasarkan hasil sebelumnya maka x’ dan y’ keduanya genap atau keduanya ganjil.
Kasus 2 : Jika x ganjil dan y ganjil.
Misal x = 2 r – 1 dan y = 2 s – 1, maka
               2 ) 1 3 ( 2 2 ) 1 2 ( ) 1 2 ( 3 ' s r s r x = (3 r – s ) – 1.
               2 ) 1 3 ( 2 2 ) 1 2 ( ) 1 2 ( 3 ' r s r s y = (3 s – r ) – 1.

## Hendra
Berdasarkan hasil sebelumnya maka x’ dan y’ keduanya genap atau keduanya ganjil.
Kasus 3 : Jika x genap dan y ganjil atau sebaliknya.
Misal x = 2 r dan y = 2 s – 1, maka
                     2 1 ) 3 ( 2 1 ) 3 ( 2 2 ) 1 2 ( ) 2 ( 3 ' s r s r s r x = (3 r – s ) + 1.
                      2 1 ) 1 3 ( 2 3 ) 3 ( 2
2 ) 2 ( ) 1 2 ( 3 ' r s r s r s y
= (3 s – r ) – 1.
Berdasarkan hasil sebelumnya maka x’ dan y’ keduanya genap atau keduanya ganjil.
Sifat kedua juga harus dibuktikan kasus perkasus. Dari pasangan fungsi
4 ' ' 3 y x x   dan
4 ' ' 3 x y y   dapat  dengan  mudah  ditunjukkan  bahwa  invers  pasangan  fungsi  tersebut  adalah
2 3 ' y x x   dan 2 3 ' x y y   .
Selanjutnya untuk kasus :
Kasus 1 : Untuk x, y keduanya genap atau keduanya ganjil.
Berdasarkan bukti sifat pertama, diperoleh bahwa x’ dan y’ keduanya bilangan bulat dan tidak  perlu  proses ceiling .  Jadi  invers  berdasarkan  bukti  diatas  akan  berlaku  secara langsung.
Kasus 2 : Untuk x, y dimana salah satunya adalah genap dan yang lainnya ganjil.
Misalkan x = 2 r dan y = 2 s – 1 maka berdasarkan bukti dari sifat pertama, diperoleh x’ = 3 r – s + 1 dan y’ = 3 s – r – 1. Dengan mensubsitusi persamaan tersebut ke persamaan (2)
diperoleh r r x 2 2 1 2        dan 1 2 2 1 1 2          s s y .

## 3. Reversible Watermarking
Metode reversible  watermarking dengan  menggunakan  sifat  istimewa  pasangan  fungsi RLCM  membagi  piksel-piksel  dalam  citra  kedalam  pasangan-pasangan  yang  selanjutnya  diolah oleh  suatu  algoritma.  Metode  ini  menggunakan Least  Significant  Bits (LSB)  dari  nilai intensitas/warna piksel sebagai tempat untuk menyisipkan bit-bit watermark.
Dalam  metode  ini  pasangan  piksel  dibagi  atas  tiga  wilayah,  yaitu embeddable , changeable dan non-embedable seperti yang ditunjukkan pada  Gambar 1. Pasangan piksel yang berada  pada  wilayah embeddable adalah  pasangan  piksel  yang  dapat  disisipkan  bit watermark , sedangkan  pasangan  piksel  yang  berada  pada  wilayah changeable adalah  pasangan  piksel  yang tidak  dapat  disisipkan  bit watermark dan  salah  satu  LSB-nya  harus  disimpan  untuk  proses recovery . Pasangan piksel yang berada pada wilayah non-embedable adalah pasangan piksel yang tidak dapat disisipi watermark dan salah satu LSB-nya tidak disimpan untuk proses recovery .
In te n s it a s p iks e l y Intensitas piksel x Wilayah embeddable Wilayah non-embeddable
Wilayah changeable
Gambar 1 . Hubungan nilai intensitas pasangan piksel pada metode watermarking menggunakan RLCM.

## 3.1. Algoritma Penyisipan
Algoritma  yang  digunakan  untuk  menyisipkan watermark kedalam  citra  host  secara lengkap diuraikan sebagai berikut.
Input : Citra host dan watermark .
Output : Citra ter- watermark .
1) Partisi seluruh citra kedalam pasangan-pasangan piksel.
2) Untuk seluruh nilai intensitas pasangan piksel ( x , y ) : a. Definisikan y max yaitu nilai y setelah LSB-nya diganti dengan 0 atau 1 sehingga selisih x dan y max adalah selisih terbesar.
b. Jika ( x , y max )  D :
i. Transformasi x dan y menjadi x’ dan y’ dengan  menggunakan  fungsi transformasi.
ii. Definisikan  nilai y’ max yaitu  nilai y’ setelah  LSB-nya  diganti  dengan  0  atau  1 sehingga selisih x’ dan y’ max adalah selisih terbesar. ii. Jika ( x’ , y’ max )  D , Ganti nilai pasangan ( x , y ) dengan  ( x’ , y’ ) selanjutnya LSB dari y’ dapat digunakan untuk menyisipkan bit watermark . iii. Jika ( x’ , y’ max )  D , Ganti nilai pasangan ( x , y ) dengan   ( x’ , y’ ) tetapi LSB dari y’ tidak dapat digunakan untuk menyisipkan bit watermark . c. Jika ( x , y max )  D :
i. Simpan LSB dari y untuk proses recovery .
ii. LSB nilai y = not LSB nilai x .
3) Ganti  LSB  nilai  intensitas  piksel  yang  telah  ditandai  dari  langkah  2.b.iii,  dengan  data gabungan dari watermark dan bit yang disimpan dari langkah 2c.
Penggunaan  nilai y max dalam  pemeriksaan  syarat  piksel  dilakukan  untuk  menghidari kesalahan dalam mengenali wilayah keberadaan pasangan piksel pada proses pendekstraksian dan recovery nilai ini dihitung dengan menggunakan algoritma berikut.
Input : pasangan nilai intensitas piksel x dan y .
Output : nilai y max .
1) Jika x > y maka :
Jika LSB dari y adalah 1 maka definisikan y max dengan mengganti LSB nilai y dengan 0. Jika tidak, y max = y .
2) Jika x < y maka :
Jika LSB dari y adalah 0 maka definisikan y max dengan mengganti LSB nilai y dengan 1. Jika tidak, y max = y .
3) Jika x = y maka :
Jika LSB nilai y adalah 0 maka definisikan y max dengan mengganti LSB nilai y dengan 1. Jika tidak, definisikan y max dengan mengganti LSB nilai y dengan 0.
Pernyataan pasangan piksel ( x, y )  D terpenuhi jika memenuhi sifat berikut :
L y x        2 3 0 dan L x y        2 3 0
dimana L adalah nilai maksimum komponen warna dalam citra. Untuk citra gray level 8 bit maka nilai L adalah 255.

## 3.2. Algoritma Pengekstraksian dan Recovery .
Untuk  mengekstrak watermark yang  disisipkan  dan  me- recover citra  ter- watermark diperlukan proses kebalikan dari algoritma penyisipan. Berdasarkan syarat yang diberikan maka pendeteksian dapat dilakukan dengan memeriksa status pasangan piksel pada citra ter- watermark yaitu  ( x’ , y’ )  serta  memeriksa  kesamaan  LSB  kedua  pasangan  piksel  tersebut.  Pemeriksaan kondisi ini dilakukan sebagai berikut :
1. Jika ( x’ , y’ max )  D maka LSB dari y’ adalah bit watermark . 2. Jika  ( x’ , y’ max )  D dan  LSB  dari x’ =  LSB  dari y’ maka  piksel y’ bukan  merupakan  bit watermark dan LSB dari y’ tidak perlu disimpan.
3. Jika ( x’ , y’ max )  D dan LSB dari x’ ≠ LSB dari y’ maka posisi piksel y’ harus diberi tanda untuk proses recovery .
Proses recovery dilakukan  dengan  mengganti  LSB  piksel y’ pada  alamat  yang  telah ditandai dengan sejumlah bit- watermark yang diperoleh sebelumnya. watermark yang disisipkan diperoleh dari bit-bit watermark yang terdeteksi setelah bit-bit untuk proses recovery dikeluarkan. Secara  lengkap  metode  untuk  mengekstrak  watermark  dan  me- recover citra  ter- watermark disusun dalam algoritma berikut.

## Hendra
Input : Citra yang dicuriga mengandung watermark ( Suspected image ). Output : watermark dan citra host .
1) Partisi seluruh citra kedalam pasangan-pasangan piksel.
2) Untuk seluruh nilai intensitas pasangan piksel ( x’ , y’ ) :
a. Definisikan y’ max yaitu  nilai y’ setelah  LSB  nya  diganti  dengan  0  atau  1  sehingga selisih x’ dan y’ max adalah selisih terbesar.
b. Jika ( x’ , y’ max )  D , ekstrak LSB dari y’ dan simpan sebagai barisan watermark yang terdeteksi. Ganti LSB dari y’ sehingga LSB dari y’ = LSB dari x’ . Transformasi balik nilai x’ dan y’ dengan menggunakan fungsi invers..
c. Jika ( x’ , y’ max )  D : i. Jika  LSB  dari x’ =  LSB  dari y’ ,  transformasi  balik x’ dan y’ dengan menggunakan fungsi invers. ii. Jika LSB dari x’  LSB dari y’ , ganti LSB dari y dengan bit watermark yang terdeteksi dari langkah 2b.

## 3.3. Kapasitas Penyembunyian Data
Berdasarkan  algoritma  penyisipan watermark maka  dalam  metode  watermarking  ini kapasitas penyembunyian data dihitung dengan rumus :
P H P T B 2 2    bpp.
dimana P adalah  jumlah  pasangan  piksel, T adalah  jumlah  pasangan  piksel  yang  dapat  disisipi watermark dan H adalah jumlah pasangan piksel yang tidak dapat disisipi watermark .

## 3.4. Hasil Pengujian
Metode watermarking ini  telah  diuji  dengan  menggunakan  citra  host  berupa  citra graylevel dengan ukuran 512x512 seperti yang ditunjukkan pada Gambar 2.
Citra Lena Citra Boat. Citra Mandrill Citra X-ray Citra Peta Gambar 2. Citra Host.
Dari  hasil  pengujian  diperoleh  bahwa  untuk  sekali  proses  penyisipan  diperoleh  kapasitas penyembunyian data dan nilai peak signal to noise ratio (PSNR) seperti yang ditunjukkan pada Tabel 1 berikut.
Tabel 1. Kapasitas penyembunyian data dan nilai PSNR citra uji.
Hendra Citra Kapasitas penyebunyian data (bpp) PSNR (dB) Lena 0.498 35.99 Boot 0.494 33.50 Mendrill 0.45 25.45 X-ray 0.492 42.23 Peta 0.215 25.11
Dari  Tabel  1  terlihat  bahwa  nilai  PSNR  citra  X-ray  lebih  besar  dibandingkan  citra  lain  karena citra X-ray memiliki detail citra yang lebih halus dibandingkan citra-citra yang lain. Hasil ini juga menunjukkan  bahwa  detail  citra  juga  mempengaruhi  kapasitas  penyembunyian  data.  Kapasitas penyembunyian data pada citra lena, citra boot dan citra X-ray hampir mencapai nilai maksimum yaitu mendekati nilai 0.5 bit per piksel (bpp).
Sebagian  besar  metode  dalam reversible  watermarking mampu  melakukan  proses  penyisipan berulang sehingga dapat menampung data yang lebih besar. Dengan melakukan proses penyisipan berulang  diperoleh  hasil  seperti  yang  ditunjukkan  pada  Tabel  2  dimana  untuk  masing-masing level penyisipan  pada  citra  lena  diperoleh  kapasitas  penyembunyian  data  yang  meningkat  akan tetapi nilai PSNR citra semakin rendah.
Tabel 2. Perbandingan nilai PSNR dan kapasitas penyembunyian data citra lena
pada beberapa level penyisipan. Level PSNR (dB) Kapasitas penyembunyian data (bpp) 1 35.992 0.498 2 27.159 0.980 3 21.737 1.407 4 17.801 1.708 5 14.913 1.801
Nilai  PSNR  berhubungan  dengan  kualitas  citra  yang  telah  disisipi  watermark,  semakin  rendah nilai  PSNR  maka  kualitas  citra  akan  semakin  buruk  sehingga  citra  tersebut  dapat  dicurigai mengandung watermark seperti yang ditunjukkan pada Gambar 3.
(a) (b)
Gambar 3. Perbandingan kualitas citra lena ter-watermark terhadap nilai PSNR yang berbeda.
(a) citra lena dengan nilai PSNR 35.99dB     (b) citra lena dengan nilai PSNR 14.91dB.

## 4. Kesimpulan dan Saran
Penelitian  ini  menunjukkan  bahwa  metode reversible  watermarking dengan menggunakan RLCM memiliki kapasitas penyembunyian data yang sangat besar sekalipun tanpa menggunakan  proses  kompresi  data  seperti  pada  metode-metode  revesible watermarking yang lain.  Kompleksitas  algoritma  metode  ini  sudah  cukup  rendah.  Walaupun  demikian kompleksitasnya  masih  dapat  dibuat  lebih  kecil  dengan  mengimplementasikan Look-Up  Table (LUT) pada algoritma tersebut.
Pada  metode  ini  citra  dibagi  dalam  pasangan-pasangan  piksel,  perlu  penelitian  lebih lanjut  untuk  membagi  citra  kedalam  tiga  atau  lebih  piksel  sehingga  diperoleh  kapasitas penyembunyian data yang lebih besar

## Daftar Pustaka
1. Alattar.  A.M.,  2003,  Reversible  watermarking  using  difference  extension  of  triplets, in Proceddings of the IEEE International Conference on Image Processing , Vol. 1, pp : 501- 504, Catalonia, Spain.
2. Celik.  M.U.,  Sharma.  G.,  Tekalp.  A.M.,  and  Saber.  E.,  2002,  Reversible  data  hiding, in Proceddings of the International Conference of Image Processing , pp : 157-160, NY, USA.
3. Coltuc.  D.  dan  Chassery.  J-M.,  2007,  Very  Fast  Watermarking  by  Reversible  Contrast Mapping, IEEE Signal Processing Letters , Vol. 14, No. 4.
4. Feng.  J-B,  Lin.  I-C,  Tsai.  C-S  dan  Chu  Y-P,  2006,  Reversible  Watermarking  :  Current Status and key issue, International Journal of Network Security , Vol.2, No.3, pp : 161-171.

## Hendra
5. Hendra, 2008, Reversible Watermarking menggunakan Transformasi Integer, Tesis S2 Ilmu Komuter , UGM , Yogyakarta.
6. Ni.  Z.,  Shi.  Y.Q.,  Ansari.  N.,  Su.  W.,  Sun.  Q.  dan  Lin.  X.,  2003,  Robust  Lossless  Image Data Hiding, in ISCAS Proceddings of the 2003 International Symposium on  Circuits and Systems , Vol. 2, pp : II-912-II-915, Thailand.
7. Tian.  J.,  2002,  Wavelet-based  reversible  watermarking  for  authentication, in  Proceddings of  SPIE sec. and Watermarking of Multimedia Cont. IV , Vol. 4675.
8. Vleeschouwer.  C.D.,  Delaigle.  J.E.,  dan  Macq.  B.,  2001,  Circular  interpretation  of histogram  for  reversible  watermarking, in  Procedding  of  the  IEEE  47h  Workshop  on Multimedia Signal Processing , pp : 345-350, France.