Audio Watermarking dg Metode Phase Coding

Audio watermarking, bagian dari digital watermarking, adalah suatu proses penyisipan pesan yang berisikan informasi dari data audio seperti nama pencipta, tanpa mempengaruhi kualitas audio.Phase Coding merupakan salah satu metode yang dikenalkan oleh Bender et al.

Ide dasar metode Phase Coding adalah menyembunyikan data dengan cara menukarkan fase asli segmen inisial dari sinyal suara dengan fase absolut dari sinyal watermark dengan tetap menjaga fase relatif antara segmen sinyal menggunakan beda fase segmen dari sinyal asli.

Langkah yang dilakukan dalam proses penyisipan watermark adalah:

  1. Bagi urutan suara menjadi N segmen.
  2. Hitung FFT pada masing-masing segmen.
  3. Hitung nilai fase dan amplitudo untuk tiap-tiap segmen.
  4. Hitung beda fase antara fase segmen yang berdekatan.
  5. Fase absolut dari sinyal data watermark ditambahkan ke dalam beda fase yang dihasilkan. Sinyal watermark disajikan sebagai pi/2 atau -pi/2 yang merepresentasikan bit 1 atau 0.
  6. Subsitusikan fase segmen awal dengan fase sinyal watermark.
  7. Buat matriks fase untuk N>0 dengan menggunakan beda fase.
  8. Gabungkan segmen-segmen yang telah dimodifikasi fasenya tersebut menjadi satu.
  9. Hitung kembali nilai fase yang baru dan nilai amplitudo yang sudah dihitung sebelumnya untuk melakukan inverse FFT terhadap masing-masing segmen untuk mengembalikan sinyal ke domain waktu.

Langkah-langkah yang dilakukan dalam proses pengekstraksian watermark adalah:

  1. Ambil bagian pertama dari sinyal suara asli dan yang sudah diberi watermark. Perhitungan hanya dilakukan terhadap n elemen pertama sinyal karena data watermark disisipkan hanya di segmen awal sinyal suara asli.
  2. Lakukan FFT terhadap n-1 pada masing-masing sinyal tersebut, lalu hitung beda fase yang berdekatan.
  3. Bandingkan masing-masing beda fase yang didapat kemudian konversi untuk nilai beda fase yang berbeda. Konversi perbedaan nilai beda fase tersebut dengan p/2 menjadi bit 1 dan -p/2 menjadi bit 0.

Maksud saia share ini bukan untuk berbagi pengetahuan tapi lebih cenderung untuk bertanya apakah ada yang sudah berhasil melakukan proses pengekstraksiannya dg menggunakan Matlab??
Langkah pengekstraksian sudah saia implementasikan dalam code Matlab tapi entah dimana letak kesalahannya, ekstraksinya belum berhasil sampai sekarang. Menyedihkan.. 😩
Bagi yang bersedia membantu dan share pengetahuan kalian tentang ini mohon hubungi saia via ayi_dianitasari@yahoo.com 😉

Best Regards,
[aiwulfric]