Proses Pembacaan File Video

BAB 4 IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi

Implementasimerupakanhasil dari perancangan sistem pada bab sebelumnya yang berisi tentang proses dan tampilan sistem mencakup keseluruhan bentuk tampilan pada sistem.

4.1.1 Proses Pembacaan File Video

Sebagai contoh dibawah ini adalah struktur file RIFF wav 52 48 46 46 24 08 00 00 57 41 56 45 66 6d 74 20 10 00 00 00 01 00 02 00 22 56 00 00 88 58 01 00 04 00 10 00 64 61 74 61 00 08 00 00 1e1734 00 20 1f 1e 4a 1d 3b 1f 10 f4 1e f324 e7 23 a6 3c f2 24 f2 11 c0 1a 0d 00 7f 11 00 22 07 3d 3d 0 3d 0 2 9a 2a 4f 3e 3d 00 10 10 10 03 3d 10 10 2 f 10 10 12 00 12 10 25 23 13 00 04 11 23 00 00 12 11 32 2a 2a 9f 25 10 -10 02 12 10 53 13 00 a6 11 12 23 00 0f 10 10 10 12 10 5d 23 13 70 11 26 23 00 01 13 9a 2a 2f 10 10 10 12 10 53 90 56 11 23 00 01 13 0e 22 529a 2a 10 3d 10 02 2f 10 10 10 12 -10 11 33 13 00 07 3d 10 02 3f 10 10 12 12 53 13 30 30 37 07 13 3d 10 02 f 0 10 10 12 -10 53 14 13 00 07 3d 10 02 f 0 10 00 12 26 25 Gambar 4.1Data StreamAudio Wav Dari file audio dengan format WAV di atas: a. Empat byte pertama selalu berisi 52 48 46 46 hexa yang jika di konvensi mempunyai arti R =52, I =48, F= 46, F = 46 sama dengan RIFF. b. Empat byte berikutnya berisi 24 08 00 00 menyatakan ukuran file audio yaitu 24=36, 08=8, 00=0, 00=0 yang sama dengan 36800, maka ukuran filenya adalah 36800 kb – I kb = 36799 kb. c. Empat byte berikutnya 57 41 56 45 menyatakan jenis file: 57=W, 41=A, 56=V, 45=E d. Empat byte berikutnya adalah 66 6d 74 20 menyatakan ID “fmt”, 66=f, 6d=m, 74=t dan 20=spasi kosong. Universitas Sumatera Utara e. Empat byte berikutnya adalah 10 00 00 00 yang menyatakan panjang informasi, 10 = 16, 00=0, 00=0, 00=0 semuanya bernilai 16. f. Empat byte berikutnya adalah 01 00 02 00 yang bernilai 1 dan 2 channel stereo. g. Empat byte berikutnya adalah 22 56 00 00 yang menyatakan sample rate dengan nilai 22=”, 56=V, 00=0, 00=0. h. Empat byte berikutnya adalah 88 58 01 00 yang menyatakan byte rate dengan nilai 22=”, 56=V, 00=0, 00=0. i. Dua byte berikutnya adalah BlockAlign yang bernilai 04 00 yang menyatakan yang menyatakan ukuran data untuk satu sample penuh dalam byte. Yang dimaksud dengan satu sample penuh adalah satu sample yang mewakili nilai dari sample pada semua channel pada suatu waktu. j. Dua byte berikutnya adalah nilai bit per sampel BitsPerSample yang bernilai 10 00 adalah 16 dan 00 = 16 bit per sampel untuk sampel right channel maupun untuk sampel left channel. k. Empat byte berikutnya adalah 64 61 74 61 yang menyatakan ID dengan nilai 64=d, 61=a, 74=t, 61=a dengan arti “data” yang menyatakan data sampel digital audio. l. Enam belas 16 byte berikutnya adalah sampel audio right channel sampel 1 sampai sampel ke 4 dengan nilai 1e1734 00 20 1f 1e 4a 1d 3b 1f 10 f4 1e f324. m. Enam belas 16 byte berikutnya adalah sampel audio left channel sampel 5 sampai sampel ke 8 dengan nilai f2 11 c0 1a 0d 00 7f 11 00 22 07 3d 3d 0 3d 0. n. Selanjutnyaadalah data sampel audio. Langkah-langkah watermarking dengan algoritma echo data hiding adalah sebagai berikut: 1. Input file video asli cover vidio dan key. 2. Pemisahan frame video dengan sampleaudio. 3. Pembacaan sample audio dari frame audio 4. Hitung nilai biner untuk setiap sampleaudio. 5. Konversikan label teks dan password ke nilai biner. 6. Buat echo dari sample audio. Universitas Sumatera Utara 7. Sisipkan nilai biner label ke dalam echo audio. 8. Simpan file video watermark. Sebagai contoh 16 byte dari sample audio diatas: 1e1734 00 20 1f 1e 4a 1d 3b 1f 10 f4 1e f324 disisipi dengan pesan HEY. Sample audio dikonversikan ke biner menjadi: 1e = 00011110 17 = 00010001 34 = 00110100 00 = 00000000 20 = 10000000 If = 00011111 Ie = 00011110 4a = 01001010 1d = 00011101 3b = 00111011 1f = 00011111 10 = 00010000 f4 = 11110100 1e = 00011110 f3 = 11110011 24 = 00100100 Biner pesan “HEY” adalah 01001000 01000101 01011001 Biner key “123” adalah 00000001 00000010 00000011 Jadi, biner penyisip adalah 00000001 00000010 00000011 00100011 01001000 01000101 01011001 Dengan biner 00100011 dalam ASCII adalah “” sebagai penanda batasan antara biner key dan biner pesan yang akan disisipkan. Pembagian data sampel menjadi 4 blok dimana masing-masing berisi 16 byte4 yaitu 4 data. Blok-1 1e = 00011110 17 = 00010001 Universitas Sumatera Utara 34 = 00110100 00 = 00000000 Blok-2 20 = 10000000 If = 00011111 Ie = 00011110 4a = 01001010 Blok-3 1d = 00011101 3b = 00111011 1f = 00011111 10 = 00010000 Blok-4 f4 = 11110100 1e = 00011110 f3 = 11110011 24 = 00100100 Pembuatan kernel 0 dan 1 dari data sampel adalah: Pada setiap blok ditambahkan kernel 0 dan 1 secara berselang-seling, dimana Blok-1 dan Blok-3 ditambah kernel 0 sedangkan Blok-2 dan Blok-4 ditambah kernel 1 sebagai berikut: Blok-1 1e = 00011110 17 = 00010001 34 = 00110100 00 = 00000000 = 00000000 Kernel 0 Blok-2 20 = 10000000 If = 00011111 Ie = 00011110 4a = 01001010 Universitas Sumatera Utara 1 = 00000001 Kernel 1 Blok-3 1d = 00011101 3b = 00111011 1f = 00011111 10 = 00010000 = 00000000 Kernel 0 Blok-4 f4 = 11110100 1e = 00011110 f3 = 11110011 24 = 00100100 1 = 00000001 Kernel 1 Selanjutnya sisipkan biner vektor penyisip 00000001 00000010 00000011 00100011 01001000 01000101 01011001 ke dalam setiap blok, dimana bit 0 ke dalam kernel 0 dan bit 1 ke dalam bit 1. Langkah-langkah ekstraksi adalah sebagai berikut: 1. Input file video watermark,key serta kode ekstraksi. 2. Pembacaan header file video. 3. Baca sample audio dari stream pada posisi kode ekstraksi. 4. Baca bit terakhir atau echo. 5. Hitung nilai biner untuk setiap echo pada sample audio. 6. Rekonstruksi biner setiap 8 bit ke ASCII menjadi label. 7. Tampilkan label. Selanjutnya pesan “HEY” dalam biner adalah: 01001000 01000101 01011001 H : 01001000 E : 01000101 Y : 01011001 A b c d e f g h Universitas Sumatera Utara 1 1 Gambar 4.2 Sinyal awal yang dipecah menjadi beberapa bagian kecil Pada Gambar 4.2 sinyal asli dibagi menjadi tujuh bagian yang diberi label a, b, c, d, e, f, dan h. Pada bagian a, c, d, dan f akan disisipkan bit 0. Untuk itu akan digunakan kernel 0 sebagai fungsi sistem pada setiap bagian tersebut. Demikian sebaliknya bit 1 akan disisipkan pada bagian b, e, g dan h maka akan digunakan kernel 1 sebagai fungsi sistem pada bagian tersebut. Untuk mencapai hasil yang tidak dapat didengar oleh pendengaran manusia, maka dapat dibuat sinyal echo 1 dengan melakukan pembuatan echo pada sinyal asli menggunakan kernel 1 dan membuat sinyal echo 0 dengan menggunakan kernel 0 sebagai fungsi sistem terhadap sinyal asli. Hasil dari sinyal sinyal tersebut dapat dilihat pada Gambar 4.3. Gambar 4.3 Pembuatan sinyal echo 1 dan sinyal echo 0 Untuk menggabungkan dua sinyal tersebut, maka dibuat dua sinyal mixer. Sinyal mixer terdiri dari nol dan satu tergantung dari bit yang ingin disembunyikan pada bagian dari sinyal asli. Universitas Sumatera Utara Gambar 4.4 Sinyal Mixer Sinyal mixer 0 kemudian dikalikan dengan sinyal echo 0 sedangkan sinyal mixer 1 dikalikan dengan sinyal echo 1, kemudian kedua hasil tersebut dijumlahkan. Sebagai catatan bahwa sinyal mixer 0 merupakan komplemen dari sinyal mixer 1 dan transisi antara masing masing sinyal adalah bertahap atau melandai. Jumlah antara dua sinyal mixer tersebut selalu 1. Ini akan memberikan transisi yang halus antara masing masing bagian yang dikodekan dengan bit yang berbeda, dan mencegah perubahan yang mencolok pada hasil gabungan sinyal. 4.1.2 Perhitungan Mean Square Error MSE, Peak Signal to Noise Ratio PSNR dan Recovery Rate RR MSE didalam statistik merupakan kuadrat rata-rata dari error yaitu perbedaan antara sinyal asli dengan sinyal estimasi. Sinyal estimasi merupakan sinyal output dari sistem. Semakin kecil nilai MSE maka sinyal asli dengan sinyal estimasi mempunyai kesamaan. MSE digunakan untuk mengukur rata-rata kesalahan yang berasal dari kuantitas yang akan diestimasi. MSE = ∑ 2 Dimana MSE = Mean Square Error N = jumlah data sampel S = sinyal baseline nilai data cover audio S e = sinyal estimasi nilai data watermark audio Jika diketahui jumlah sampel N = 10, maka perhitungan nilai sinyal Baseline dan Estimasi dapat ditunjukkan pada tabel 4.1. Universitas Sumatera Utara Tabel 4.1 Perhitungan Nilai Sinyal Baseline dan Estimasi S S e S-S e S-S e 2 S1 = 50 S1 e = 50 S-Se = 0 S2 = 40 S2 e = 55 S-Se = 15 225 S3 = 30 S3 e = 30 S-Se = 0 S4 = 0 S4 e = 15 S-Se = 15 225 S5 = 80 S5 e = 75 S-Se = 5 25 S6 = 110 S6 e = 100 S-Se = 10 100 S7 = 30 S7 e = 30 S-Se = 0 S8 = 20 S8 e = 20 S-Se = 0 S9 = 10 S9 e = 20 S-Se = 10 100 S10 = 10 S10 e = 10 S-Se = 0 ∑ S-S e 2 675 Jadi, nilai MSE = 110 x 675 = 67.5 Setelah nilai MSE diperoleh, maka selanjutnya dapat dilakukan perhitungan nilai PSNR dengan rumus PSNR = 20 x log 10 √ dengan N max = 110 PSNR = 20 x log √ PSNR = 20 x log PSNR = 20 x log13.39 PSNR = 20 x 1.12 PSNR = 22,53 Bit label watermarking “HEY” berjumlah = 24 bit dan bit label yang berhasil diekstraksi = 24 bit maka, perhitungan recovery rate dapat dihitung dengan rumus Recovery Rate RR= 2424 x 100 = 100

4.2 Tampilan Sistem