ELZA OKTAVIANA
1103080058
Pembimbing 1 : Dr. Adiwijaya Pembimbing 2 : Gia Septiana W. S.Si., M.Sc.
Skema Penyembunyian Teks Terkompresi Arithmetic Coding pada Citra Digital Manggunakan Kuantisasi
Berbasis Graf
TENTANG PENELITIAN
Menyembunyikan data rahasia berupa teks ke dalam citra digital, dengan menggunakan skema “kuantisasi berbasis graf”.
Skema Kuantisasi berbasis graf adalah skema yang menggunakan graf untuk merepresentasikan codebook yang merupakan centroid dari klusterisasi blok – blok citra digital, yaitu hasil kuantisasi dengan Vektor Quantization, sebagai vertex pada graf G.
TUJUAN
• Implementasi skema penyisipan teks terkompresi arithmetic coding pada citra digital menggunakan kuantisasi graf
• Mengetahui bagaimana hasil penyisipan teks terkompresi arithmetic coding menggunakan skema yang diajukan
• Mengetahui performansi dari implementasi skema ini dilihat dari kapasitas data yang bisa disisipkan, PSNR, dan waktu pemprosesan
Batasan Masalah
Citra yang digunakan adalah citra grayscale dengan ukuran 256 x 256 pixel.
MOTIVASI
• Dibutuhkannya sebuah skema yang dapat melindungi transmisi data digital ataupun multimedia dari serangan cyber.
• Dalam penelitiaannya Li, dkk berhasil mengatasi keterbatasan kapasitas data, namun tidak untuk performansi citra stego yang dihasilkan.
• Keberhasilan Yue, dkk dalam menjaga performansi citra stego dan kapasitas penyisipan yang besar dengan menyisipkan pada graf berwarna
• Sruti, dkk yang berhasil menggunakan arithmetic coding untuk mengurangi ruang penyimpanan atau memori yang digunakan untuk penyisipann dan kapasitas transmisi dari informasi
SKEMA UMUM PENYISIPAN
PEMBANGKITAN CODEBOOK
TEKS RAHASIA
CITRA-COVER
CODEBOOK (CB)
PEMBUATAN GRAF DAN KETETANGGAANNYA
GRAF (G)
PEWARNAAN GRAFDENGAN GA
GRAF BERWARNA G
REFINED GRAPH G
REFINE GRAF
KOMPRESI ARITHMETIC CODING
BIT BINARY
PENYISIPAN
CITRA TERSISIPI
START
STOP
KEYKode Kompresi
Refined Graph
Bit Sisa
Metode 1 : Genetic Algorithm
Metode 2 : Vector Quantization
Metode 1 : Arithmetic Coding
ARITHMETIC CODING
Teks Input: SAYA ELZAO
KARAKTER PROBABILITAS RANGE
^ (Spasi) 1/10 0,00 < R < 0,10
A 3/10 0,11 < R < 0,40
E 1/10 0,41 < R < 0,50
L 1/10 0,51 < R < 0,60
O 1/10 0,61 < R < 0,70
S 1/10 0,71 < R < 0,80
Y 1/10 0,81 < R < 0,90
Z 1/10 0,91 < R < 1,00
ARITHMETIC CODING
Teks Input: 1321
ARITHMETIC CODING
Teks Input: 1321
Kriteria Bts Bawah Bts Atas Kode
0 1
1 0 0,8
3 0,656 0,8 0
rescale 0,312 0,6 1
2 0,5424 0,54812 0
rescale 0,0848 0,09632 1
rescale 0,1696 0,19264 0
rescale 0,3392 0,38528 0
rescale 0,6784 0,77056 0
rescale 0,3568 0,54112 1
1 0,3568 0,50426 0
EOF 0
1
ARITHMETIC CODING
Pseudo Code
Low = 0.0; high = 1.0;
While not EOF do
range = high – low; read(c);
high = low + range x high_range(c);
low = low + range x low_range(c);
enddo
output(low)
VECTOR QUANTIZATION
CO
DEB
OO
K
BLO
K –
BLO
K C
ITR
A Iblok
1
2
3
4
5
.
.
.
4096
iCW
1
2
3
4
.
.
.
64
VQ
VECTOR QUANTIZATION
VQ
STARTTraining Vektor X
Bangkitkan Codebook awal Cbi, i=0 secara random, ukuran N
Current CodebookCB
Hitung ED Training Vektor X dengan CW pada Current CB
ED(X, CW)
Cluster-kan Xi ke CW yang terdekat. Dan hitung rataan setiap clusternya (centroid).
CW = Centroid
New CodebookCBi+1
i = i + 1
CBi+1 = CBi ?ENDTIDAKYA
TAHAPAN PEMBENTUKAN GRAF .......(1)
VQ Index Codebook
1 { 163 171 178 185 163 170 177 ... 184 184 }
2 { 170 142 109 95 175 151 115 ... 98 103 }
3 { 81 89 104 115 73 82 97 ... 114 103 }
4 { 90 95 110 123 88 100 115 ... 124 141 }
5 { 154 155 168 178 159 171 186 ... 195 205 }
6 { 137 143 150 154 142 150 156 ... 159 157 }
7 { 89 90 91 92 86 89 92 ... 92 93 }
8 { 172 172 173 172 172 173 172 ... 172 172 }
...
64 { 122 134 147 153 122 136 146 ... 153 151 }
1
2
6
46 55
11
20
49
358
10
37
36
18
22
55
33 51
50
64
CODEBOOK GRAF
BANGKITKAN VERTEX GRAF G
TAHAPAN PEMBENTUKAN GRAF ..........(2)
VQ
GRAF BERTETANGGA G
1
2
6
46 55
11
20
49
358
10
37
36
18
22
55
33 51
50
64
BANGUN KETETANGGAAN VERTEX GRAF G
ADJ_THRESH = 30
GENETIC ALGORITHM
VQ
GENETIC ALGORITHM
VQ
1
2
6
46 55
11
20
49
358
10
37
36
18
22
55
33 51
50
64
GRAF BERWARNA G
PEWARNAAN PADA GRAF G
COLOR_NUMBER = 30
Warna 0 Warna 1
Warna 2 Warna 3
Warna 4 Warna 5
Warna 6 Warna 7
REFINE GRAPH
VQ
REFINED GRAPH G
COLOR_NUMBER = 30
Warna 0 Warna 1
Warna 2 Warna 3
Warna 4 Warna 5
Warna 6 Warna 7
6
46 55
11
20
49
358
10
37
36
PENYISIPAN
VQ
STARTCITRACOVER
Bagi Citra menjadi blok – blok ukuran n x n
M Blok citra
M >= i?
Hitung ED Blok idengan CBD(Blokᵢ, CWⱼ)
Baca masing-masing blok secara zig-zag,
Blok i= {pixel di blok i}
YA
CWⱼ terdekat dengan Blokᵢ
Binary data text yang akan disisipkan
Baca next n bit Binary data text
Temukan vertex v , adj_v yg warnanya sama dg n bit data
Color_v = bit data
n Bit data
Vertex ditemukan?
Refine grafTemukan vertex v pada refine graf yang
berkorespondensi dengan CWⱼ
YA
V ditemukan?
YA
Outputkan index CWⱼ (vertex v)
TIDAK
Outputkan index v
YA
Kode Kompresi VQ
END TIDAK
TIDAK
HASIL PENGUJIAN PENYISIPAN
Citra Asli Citra Terkompresi VQ Codebook_size: 256 PSNR: 30,3511 db
Citra Tersisipi Data Codebook_size: 128
Adj_tresh: 50 Color_number: 8
Kapasitas:7788 bit PSNR: 27,3198 db
EKSTRAKSI
REFINED GRAPH
KEY
EKSTRAKSICITRA
TERSISIPI
DATA HIDING TERKOMPRESI
CITRA SETELAH EKSTRAKSI
DECODE DENGAN ARITHMETIC CODING
TEKS RAHASIA
TAHAPAN EKSTRAKSI
Kode Kompresi
Refined Graph
Bit Sisa
PENGUJIAN DAN ANALISIS (2) PARAMETER ADJ_THRESH
PENGUJIAN DAN ANALISIS (3) PARAMETER COLOR_NUMBER
PENGUJIAN DAN ANALISIS (4) PARAMETER TEKS TERKOMPRESI
PENGUJIAN DAN ANALISIS (4)
Teks Inputan Teks Sebelum Kompresi
(bit)
Teks Kompresi Arithmetic
Coding (bit) Ratio Kompresi (%)
Teks 1 12440 6725 45,94%
Teks 2 49042 15407 68,58%
Teks 3 33504 18189 45,71%
Teks 4 32848 17594 46,44%
Teks 5 72456 38910 46,30%
Ratio kompresi rata - rata 50,59%
Tabel 4.1 Ratio Kompresi Teks Aritmetic Coding
HASIL (1) WAKTU PEMPROSESAN
CB Size Adj Tresh Color
Waktu Pemrosesan (s)
Total Waktu
Proses (s)
Kapasitas
Penyisipan PNSR
Generate
Codebook
Generate Graph,
Coloring dan
Refine
Embed
Fitness = 0
64 30 8 102,0960 2,4020 10,5760 115,0740 4584
23,43
128 40 16 284,7450 2,0470 21,5570 308,3490 10268
17,03
256 50 32 533,7100 7,3330 39,9800 581,0230 13950
15,63
Fitness > 0
256 30 8 533,7100 426,2740 32,4530 992,4370 1158
29,82
256 40 8 533,7100 680,7710 32,6490 1247,1300 1560
28,58
256 50 8 533,7100 1157,5960 30,6330 1721,9390 0
30,33
KESIMPULAN
• Kapasitas yang dihasilkan dari pengujian relatif bagus dengan nilai parameter – parameter tertentu.
• Besarnya kapasitas penyisipan tidak menjamin nilai PNSR yang bagus untuk skema dengan parameter inputannya karna nilai PNSR berbanding terbalik dengan kapasitas penyisipan.
• Pemilihan skenario terbaik ditentukan berdasarkan orientasi hasil yang diinginkan. Pencapaian penelitian ini adalah codebook_size=256, adj_thresh=50, color_number=16, dengan nilai PNSR: 27,9697 dan Kapasitas bit yang bisa disisipkan adalah 2492 bit, dimana citra dapat disisipkan dengan kualitas yang dapat diterima atau nilai PSNR yang tidak terlalu kecil.
SARAN
• Mendapatkan hasil dimana akan didapatkan kapasitas maksimum dengan nilai PNSR yang cukup bagus.
• Dibutuhkan sebuah Metode Cluster yang tepat untuk menghasilkan centroid dari codebook.
• Diberikan batas jarak pencarian v’ (vertex yang bersesuaian dengan bit yang akan disisipkan), atau nilai bfs_thresh untuk tetap menjaga kualitas citra hasil penyisipan.
Terima Kasih