Sie sind auf Seite 1von 15

Proyecto 2 Comunicacin encubierta de audio

Proyecto N 2
Watermarking: Ocultamiento de una marca de agua en una seal de audio
Gmez Galeano, Pablo.
Universidad Militar Nueva Granada, Bogot, Colombia.

Watermarking: Ocultamiento de una marca de agua en una seal de audio.

Introduccin
Existen diversas tcnicas estenogrficas que nos permiten ocultar y manipular informacin para
que no pueda ser percibida por terceros. En este caso, en el siguiente informe se realiza un
estudio del proceso de Watermarking o Marca de Agua, con el fin de entender esta tcnica y
comprender sus caractersticas. Para este estudio se realiza la implementacin de un programa en
Matlab que permite ocultar una marca de agua binaria, dentro de una seal de audio. Al final del
estudio se analizan los resultados, y se comparan los valores obtenidos.

Objetivo

Realizar un programa en Matlab que permita implementar un mtodo para Watermarking.


En este caso el programa debe permitir ocultar y recuperar una marca de agua la cual es
una imagen binaria, en un archivo de audio. Al final el programa debe recuperar la marca
de agua, y compararla con la original para comprender de mejor manera el proceso de
watermarking.

Comprender y entender el proceso de Watermarking teniendo en cuenta el mtodo QIM


para ocultamiento y recuperacin de la marca de agua.

Watermarking: Ocultamiento de una marca de agua en una seal de audio.

Procedimiento
Para comenzar con el desarrollo del programa se deben tener en cuenta algunos conceptos
importantes:
- Watermarking: Es una tcnica esteganogrfica de ocultacin de informacin. Esta tiene como
objetivo proteger datos con derechos de autor, y otra informacin de terceros. Consiste en
insertar un mensaje oculto en el interior de una seal u objeto digital de tal manera que sea
imperceptible.
El programa que se disea al implementar el proceso de Watermarking, debe cumplir con las
siguientes condiciones:
Robustez: Esta es una de las caractersticas ms importantes en Watermarking. Se refiere
a la habilidad de la marca de agua para permanecer en el archivo de audio sin importar
que la calidad de la marca haya sido degradada, o que se haya aadido ruido u otro tipo
de ataque a la marca de agua.
Imperceptibilidad: Se refiere a que la marca de agua no debe ser percibida cuando este
agregada en la seal. En este caso la marca de agua se inserta en el archivo de audio,
entonces la imperceptibilidad garantiza que el archivo de audio marcado debe parecer
exactamente igual para el odo humano al ser escuchado que el archivo original.
Seguridad: En Watermarking la marca de agua debe ser personal y nicamente aadida
por el usuario propietario de los derechos. En este caso, se debe garantizar que la marca
de agua pueda ser modificable por terceros.
Recuperabilidad: Esta caracterstica permite que la marca de agua pueda ser recuperada,
y extrada del archivo de audio, sin que se hayan alterado sus valores o su composicin.

Watermarking: Ocultamiento de una marca de agua en una seal de audio.

Despus de tener claro los conceptos que se deben presentar en la marca de agua, se puede
comenzar con el desarrollo de la prctica. Sin embargo tambin hay que tener en cuenta la
tcnica de ocultamiento utilizada en el proceso de Watermarking. En este caso se utiliz la
tcnica QIM (Quantization Index Modulation) que se explicar a continuacin:
- QIM (Quantization Index Modulation): Es un mtodo que permite el ocultamiento de la
informacin binaria. Este mtodo utiliza una regla de cuantizacin cuyo objetivo es modificar
valores en la seal husped haciendo que su valor sea un mltiplo entero del paso de
cuantizacin utilizado.
Luego de conocer el mtodo de ocultamiento QIM, se procede con el desarrollo del programa. A
continuacin se enumerarn las variables utilizadas dentro del programa con su correspondiente
funcin:
Y Variable donde las muestras del archivo de audio original.
FS Frecuencia de muestreo del archivo de audio.
NBITS Nmero de bits del archivo de audio.
Imagen Matriz donde se almacena la imagen binaria, que luego se utiliz como marca.
Marcadeagua Variable donde se organizan los datos de la marca binaria para facilitar su
manipulacin.
s Variable donde se almacenan las muestras del archivo de audio multiplicadas por un factor
de 10^4.
m Variable que almacena la longitud de la variable s.
n Variable que almacena la longitud de la variable Marcadeagua.

Watermarking: Ocultamiento de una marca de agua en una seal de audio.

p Variable que define la distancia para incrustar cada uno de los bits de la marca en el archivo
de audio.
Delta Variable donde se define el paso de cuantizacin utilizado para el mtodo QIM.
s1 Variable donde se almacenan los datos de la seal de audio con la marca de agua
incrustada.
s2 Variable donde se almacena el resultado obtenido mediante el mtodo QIM para recuperar
la marca de agua incrustada.
w Vector donde se almacenan los unos y ceros que se obtienen del proceso de recuperacin de
la marca.
recuperacin Matriz que contiene la imagen recuperada del archivo de audio marcado.
C Matriz que almacena los coeficientes de correlacin entre el archivo de audio original y el
archivo de audio marcado.
spcc Variable que almacena el valor del coeficiente de correlacin de pearson al cuadrado.
ruido Vector donde se almacenan los coeficientes de ruido.
senalruido Vector que contiene los coeficientes de la seal de audio marcada incluyendo la
adicin de ruido.
h Vector utilizado para almacenar los unos y ceros que se obtienen del proceso de
recuperacin de la marca cuando se realizan las pruebas con ruido auditivo.
recuperuido Matriz que contiene la imagen recuperada del archivo de audio marcado despus
de hacer las pruebas con ruido auditivo.

Luego de tener claro cada una de las variables utilizadas se procede a hacer una pequea
explicacin del cdigo utilizado:

Watermarking: Ocultamiento de una marca de agua en una seal de audio.

1. En primer lugar se toma un archivo de audio cualquiera, en este caso, se utiliz el mismo
audio trabajado en clase. Se toma este archivo, y posteriormente tambin debe elegirse
una marca de agua que debe ser una imagen binaria, es decir, cuyo formato sea blanco y
negro en la cual su informacin contenga solo unos y ceros. Tambin cuyo tamao no sea
muy grande para facilitar su incrustacin en la seal de audio. Se utilizaron dos diferentes
marcas de agua para comparar mejor los resultados, en la figura 1 se observan las marcas
de agua utilizadas.

Fig 1. Imgenes binarias de las marcas de agua utilizadas.

2. Luego de tener las imgenes, el programa almacena el archivo de audio original en la


variable Y con una frecuencia de muestreo de 16000 y 16 bits. Adems de esto, los datos
de la imagen binaria que se va a utilizar como marca se guardan en la matriz imagen.
Posteriormente estos valores se almacenan en el vector marcadeagua para facilitar su
posterior manipulacin utilizando el comando reshape que se encarga de colocar todos
los valores de la imagen binaria en una sola columna.
3. Despus de esto en el vector s se almacenan los coeficientes del archivo de audio que
son multiplicados por un factor de 10^4. Esto con el fin de que sea posible aplicar el
procedimiento de incrustacin de bits que se utiliza en el mtodo de QIM. Se determina
la distancia mxima entre las muestras que se van a modificar para incrustar los bits de la

Watermarking: Ocultamiento de una marca de agua en una seal de audio.

marca, dividiendo el nmero total de muestras del archivo de audio original entre el total
de datos de la marca, esto se almacena en la variable p. Por ltimo se establece el valor
del paso de cuantizacin, o delta, que en este caso se tom como 400, aunque es un valor
aleatorio que puede ser cualquiera. En la figura 2 se puede apreciar el esquema que
muestra la asignacin correspondiente utilizada en el mtodo QIM teniendo en cuenta el
paso de cuantizacin elegido.

Fig 2. Esquema del proceso QIM para un paso de cuantizacin utilizado de 400.

4. Se utiliza un ciclo for que recorre el vector marcadeagua de donde se extraen los
valores binarios que se incrustan en el audio y por medio del condicional if se modifican
los valores de los datos husped aplicando las formulas establecidas en el mtodo de
cuantizacin QIM cuando se incrusta un 1 o un 0. Los coeficientes resultantes se
almacenan en el vector s1 el cual almacenar el archivo de audio marcado. Como los
coeficientes del audio se aumentaron en el proceso anterior en un factor de 10^4, es
necesario realizar el proceso inverso para no alterar la seal resultante utilizando el factor
10^-4.
5. El mtodo de QIM establece una condicin para la extraccin de los datos binarios
incrustados en el audio. Es decir que para cumplir con este requerimiento se utiliz
nuevamente un ciclo for, esta vez con el fin de recorrer las muestras del vector que
contiene el audio marcado, es decir el vector s1 y un condicional if para extraer segn

Watermarking: Ocultamiento de una marca de agua en una seal de audio.

las ecuaciones predeterminadas los unos y ceros de los datos de la marca. Los datos
recuperados se almacenan en el vector w y posteriormente se organizan en la matriz
recuperacion para que tomen la dimensin de la imagen original.
6. Al final tambin se realiza una prueba adicional de ataque para determinar la robustez de
la marca de agua. En este caso lo que se hace es adicionar ruido en la seal del audio con
la marca de agua. Para esto se utiliza el comando randn adicionando esta seal de ruido
en el audio marcado, y posteriormente se utiliza un ciclo for igual que el anterior con el
fin de extraer la marca de agua y verificar si pudo resistir el ataque. Al final estos datos se
almacenan en la variable recuperuido y se utiliza el comando imwrite para almacenar
los datos de la recuperados en una imagen binaria, y al final poder comparar las marcas
de agua originales con las marcas de agua recuperadas.

El cdigo obtenido en Matlab es el siguiente:


[Y,FS,NBITS]=wavread(message.wav');
imagen=imread('img.bmp');
marcadeagua=reshape(imagen,[],1);
s=(Y*(10^4));
m=length(s);
n=length(marcadeagua);
p=floor(m/n);
delta=200;
cont=1;
for j=1:n;
if marcadeagua(j)==0;
s(cont,1)=delta*floor(s(cont)/delta);

Watermarking: Ocultamiento de una marca de agua en una seal de audio.

else
s(cont,1)=(delta*floor(s(cont)/delta))+(delta/2);
end
cont=cont+p;
end
s1=s*(10^-4);
wavwrite(s1,FS,'watermarked');
cont=1;
for j=1:n;
s2=abs(s(cont))-(delta*floor(s(cont)/delta));
if s2>(delta/4) && s2<=((3*delta)/4);
w(j,1)=1;
else
w(j,1)=0;
end
cont=cont+p;
end
recuperacion=reshape(w,73,85);
C=corrcoef(Y,s1);
spcc=C(1,2)^2;
ruido=randn(32000,1)*(10^-5);
senalruido=s1+r;
senalruido=senalruido*(10^4);
cont=1;
for j=1:n;
s2=abs(senalruido(cont))-(delta*floor(senalruido(cont)/delta));
if s2>(delta/4) && s2<=((3*delta)/4);
h(j,1)=1;

Watermarking: Ocultamiento de una marca de agua en una seal de audio.

10

else

h(j,1)=0;
end
cont=cont+p;
end
recuperuido=reshape(h,73,85);
imwrite(recuperuido,'final.bmp');

Anlisis de resultados
Al analizar los resultados obtenidos se pudo verificar que la marca de agua logr resistir al
ataque de adicin de ruido y tambin se pudo extraer satisfactoriamente del archivo de audio.
Al comparar la seal de audio original, con la seal de audio marcada se pudo verificar la
imperceptibilidad de la marca de agua ya que no se logra percibir que este dentro del audio.

0.6

0.6

0.4

0.4

0.2

0.2

-0.2

-0.2

-0.4

-0.4

-0.6

-0.6

-0.8

0.5

1.5

2.5

3.5
4

x 10

-0.8

0.5

1.5

2.5

3.5
4

x 10

Fig 3. Comparacin del audio original (Izquierda) con el audio marcado (Derecha).

Entonces se puede afirmar mediante la figura 3 que la marca de agua lograr ser imperceptible.
Incluso al reproducir el audio marcado se verific que no se puede distinguir ningn tipo de
diferencia al escuchar cualquiera de los dos audios.

Watermarking: Ocultamiento de una marca de agua en una seal de audio.

11

Adems se hicieron ms pruebas, se observ que el coeficiente de correlacin de Pearson al


cuadrado tuvo un valor muy cercano a 1.

Este valor muy cercano a 1 indica que la seal marcada guarda mucha relacin con la seal de
audio original. Es decir son similares en un 99%, lo cual hace que la imperceptibilidad de la
marca de agua sea an mayor. Sin embargo, se pudo identificar que al aumentar el valor del paso
de cuantizacin, el coeficiente de Pearson se hace ms pequeo, y en este caso por esa razn se
trabaj con un paso con un valor de 400 que no afect la calidad de la seal.
Posteriormente se hicieron las pruebas con las dos marcas de agua utilizadas, y sus
correspondientes resultados fueron los siguientes:

Fig 4. Comparacin entre las marcas de agua originales y recuperadas.

Al observar los resultados obtenidos con las marcas de agua se puede afirmar que han podido ser
recuperadas satisfactoriamente, garantizando la alta robustez debido a que se puede observar que
fueron obtenidas del archivo de audio casi sin alteraciones. Solamente se presentan en las
imgenes algunas alteraciones producto del ruido introducido en la seal de audio, pero como se
ve, las marcas de agua recuperadas fueron obtenidas sin inconvenientes.

Watermarking: Ocultamiento de una marca de agua en una seal de audio.

12

Finalmente se puede decir que el desarrollo del proyecto ha sido exitoso ya que los resultados
fueron satisfactorios y se logr recuperar la marca de agua, an en condiciones de ataques
realizados como ruido inducido, se pudo corroborar la alta robustez de la marca de agua y su
imperceptibilidad dentro del archivo de audio.

Watermarking: Ocultamiento de una marca de agua en una seal de audio.

13

Conclusiones
-

Se logr comprender y entender todo el proceso de Watermarking al incrustar una marca


de agua en un archivo de audio y poder recuperarla de manera satisfactoria.

Se pudieron verificar todas las caractersticas del mtodo de ocultamiento QIM


(Quantization Index Modulation) y se logr aplicar esta tcnica en el proceso de
Watermarking para as obtener mejores resultados en el ocultamiento y la recuperacin
de la marca de agua.

Se pudo comprobar que la robustez es una de las caractersticas ms importantes en el


Watermarking, y se logr aplicarla exitosamente ya que la marca de agua incrustada pudo
resistir ataques de ruido inducido, y tambin logr ser extrada del archivo de audio
satisfactoriamente.

La seal de audio original y la seal de audio marcada tienen un coeficiente de


correlacin de Pearson al cuadrado muy cercano a 1. Esto quiere decir que las dos seales
son muy similares. Lo cual aumenta la imperceptibilidad de la marca de agua en la seal
de audio ya que al escuchar las dos seales, la marca de agua era imperceptible para el
odo humano.

Se pudo identificar que al aumentar el valor del paso de cuantizacin, el coeficiente de


Pearson se hace ms pequeo, por lo tanto la imperceptibilidad es menor. En este caso,
por esa razn se trabaj con un paso de cuantizacin no tan alto con un valor de 400 que
no afect la calidad de la seal.

Se entendi que matlab ofrece diferentes herramientas de trabajo, siendo posible realizar
el proceso de Watermarking ocultando la marca de agua y recuperndola sin dificultades.

Watermarking: Ocultamiento de una marca de agua en una seal de audio.

14

References
Ballesteros, Dora Maria. QIM (Quantization QIM (Quantization Index Modulation Index
Modulation). Comunicacin encubierta de audio e imgenes. 2015. Aula virtual UMNG.
Katzenbeisser, S., & Petitcolas, F. (2000). Information hiding techniques for steganography and
digital watermarking. Artech house.
Cox, I. J., Miller, M. L., Bloom, J. A., & Honsinger, C. (2002). Digital watermarking (Vol. 53).
San Francisco: Morgan Kaufmann.

Watermarking: Ocultamiento de una marca de agua en una seal de audio.

ANEXOS. Diagrama de bloques del Proyecto

INICIO

Seal de audio Y

Marca de agua M

QIM (Quantization
Indez Modulation)

DELTA
400

Extraccin de la
marca S2
SPCC 1

Seal de audio
Marcada S1

Adicin seal
ruido
S1 + Ruido

Extraccin de la
marca

QIM (Quantization
Indez Modulation)

Marca de agua
recuperada M

FIN

15