Click here to load reader
Upload
mulkan-syarif
View
128
Download
3
Embed Size (px)
DESCRIPTION
watermarking phase coding
Citation preview
[email protected]|image processing|artificial intelegent|decision support system|
more informationhttp://softscients.blogspot.com
Watermarking in MP3 Files Bases on Phase Coding
Tanda air di file mp3 dengan Phase Coding
Sebaiknya anda terlebih dahulu memahami phase coding dan signal processing sebelum membaca tulisan ini
Oleh : [email protected]
http://softscients.blogspot.com
Baru-baru ini penulis membuat ‘aplikasi’ watermarking. Walau rada anehjuga diluar topik dari image processing, artificial intelegent, decision suportsystem, ini malah signal processing. Demi untuk memenuhi tugas diatas,penulis harus belajar mengenal teknik pemroses sinyal, Fast fouriertransform, format mp3, pencuplikan .
Ternyata format mp3 untuk melakukan proses CODEC (encoding-decoding)saja susah untuk mencari library yang siap pakai, mulai dari C# denganAforget.net, kemudian Java dengan java Sound API, dan terakhir denganMatlab dengan melibatkan 3 library yaitu
1. LAME.exe untuk write2. mp3info .exe untuk membaca format mp3 seperti frekuensinya dan
panjangnya3. mpg123.exe untuk membaca
3 perkakas tersebut hanya untuk melakukan proses CODEX mp3 saja
0 1 2 3 4 5 6 7 8 9 10
x 105
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1hasil akhir
black adalah file mp3 DIBACA
red adalah hasil DITULIS dan DIBACA lagi
[email protected]|image processing|artificial intelegent|decision support system|
more informationhttp://softscients.blogspot.com
Nah yang terakhir adalah menerjemahkan algoritma dari berbagai paper-journalmengenai phase coding kedalam kode <penulis menggunakan matlab>. Berikutadalah kode yang ‘terlihat sederhana sekali’ yaitu terdiri dari
EN
CO
DIN
GMembaca file mp3 Input text ASCII untuk diubah
ke binerBiner dikonversikan kedalampi yaituJika 1 maka (pi/2)Jika 0 maka (-pi/2)
Menghitung FFTMenentukan Amplitudodan Fase
Masukan kedalamperhitungan untuk mencarinilai Fase*
Modifikasi Fase menjadi Fase*Menghitung nilai IFFT dari Amplitudo dan Fase*
Menulis file mp3
DE
CO
DIN
G
Membaca file mp3Menghitung FFTMenentukan Amplitudo dan Fase
Konversikan Fase kedalam bilangan biner
Maaf sekali kalau kurang jelas, karena menggambarkan alur langkah saja.Jika anda tertarik bisa silahkan kirim email untuk detail lebih lanjut.Penulis sudah ‘memperkirakan’ bahwa secara teori phase coding memangbisa, dan sudah penulis buktikan! Bagaimana dengan file mp3?? Silahkanlanjut kehalaman bawah!
[email protected]|image processing|artificial intelegent|decision support system|
more informationhttp://softscients.blogspot.com
Percobaan dengan data BULK dan file mp3
Penulis telah menulis code seperti langkah diatas dengan menggunakan data BULK (bukan data signal dari membaca file .mp3) dandengan file .mp3. berikut adalah script yang ditulis menggunakan Matlab <lumayan dikit tapi didalamnya banyak juga>
d=tan(1:3000); %data berupa fungsi tanPesan='mulkan bejo pamungkas' %pesan text
PesanBiner=str2bin(Pesan); %pesan menjadi binerPesanPhi=bin2pi(PesanBiner); %mengubah biner menjadi pi[d2]=Encoding(d,PesanPhi); %melakukan proses encoding
Hidden=Decoding(d2,length(Pesan)*8); %melakukan proses decodingteks=bin2str(Hidden) %extract databerikut adalah uji coba untuk berbagai kondisi
no Data BULK Pesan Extract Hasil1 d=tan(1:3000); 'mulkan bejo
pamungkas'mulkan bejo pamungkas Sip
2 d=cos(1:3000); 'mulkan bejopamungkas'
muLkAn bejo pAmunGiaq Lumayan hancur
3 d=sin(1:3000); 'mulkan bejopamungkas'
mulKaN bejo paMuNgkas Lumayan
4 d=tan(1:3000); ini adalah pesan ini adalah pesan Sip banget5 d=cos(1:3000); ini adalah pesan inI AdAlah pesaN Lumayan6 d=sin(1:3000); ini adalah pesan ili aDalah pesAn Lumayan hancur
Data Mp3 dan WAV7 [dmp3,sr] =mp3read('lagu5Library.mp3'); mulkan MulkAn Lumayan
8 mulkan bejo pamungkas MulkAn bEjO pamungkAs lumayan9 [dmp3,sr] =mp3read('lagu5Library.mp3'); mulkan àÊÂà Nggak jelas
10 mulkan bejo pamungkas ÀJÂààÂàà`°Àä dhèë Hadewdh hancur11 [dmp3,sr] = wavread('FATIHAH.WAV'); mulkan bejo pamungkas m+ahbejm phu@ k@s Kalau ini parah banget
[email protected]|image processing|artificial intelegent|decision support system|
more informationhttp://softscients.blogspot.com
Jadi fungsi tan adalah “sempurna” untuk melakukan CODEC diatas, kenapapenulis menggunakan fungsi sin dan cos karena kedua fungsi tersebutmempresentasikan signal nyata karena signal biasa direpresentasikan denganfungsi sin dan cos
Uji coba pada file mp3 dibagi menjadi 2 yaitu
1. Hasil signal encoding langsung dilakukan decoding yaitu hasil pada no 7dan 8
2. Hasil signal encoding ditulis ke file.mp3 dan dibaca kemudian dilakukanproses decoding yaitu hasil pada no 9 dan 10
3. Langkah seperti no 1 hanya saja format yang digunakan adalah wav
Kemudian penulis uji coba untuk mengetahui seberapa jauh perbedaan antaradata file.mp3 yang
1. dibaca2. ditulis kembali dan dibaca lagi
Berikut adalah nilai Standar deviasi dari delta nya yaitu 0.0218. Nilai STD begitusangat besar sekali mengingat signal mempunyai rentang antara -1 sampai 1<idealnya 0.0001 untuk nilai STD>
Kesimpulan
Kendala library?? <ya begitulah> atau harus mengubah data kedalamtransformasi lain?? <silahkan dipikir-pikir>
0 1 2 3 4 5 6 7 8 9 10
x 105
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1hasil akhir
black adalah file mp3 DIBACA
red adalah hasil DITULIS dan DIBACA lagi
[email protected]|image processing|artificial intelegent|decision support system|
more informationhttp://softscients.blogspot.com
diskusi – panduan - source code - tutorial
Gabung aja disini