I
NSTITUTOP
OLITECNICON
ACIONALE
SCUELAS
UPERIORDEI
NGENIERÍAM
ECANICA YE
LÉCTRICAU
NIDADC
ULHUACANS
ECCIÓN DEE
STUDIOS DEP
OSGRADO EI
NVESTIGACIÓNM
ARCADO DEA
GUA PARAA
UDIOD
IGITAL ENL
ÓGICAP
ROGRAMABLEQUE PARA OBTENER EL GRADO DE MAESTRO EN CIENCIAS DE LA INGENIERÍA EN MICROELECTRONICA
P
RESENTA:
I NG. C
ARLOSA
NTONIOG
ENAROO
LIVASA
SESORES:
D
R. G
ONZALOD
UCHENS
ÁNCHEZD
RA. M
ARIKON
AKANOM
IYATAKEMéxico, D.F., Diciembre 2009
Quiero expresar mi profundo agradecimiento a mis asesores, la Dra. Mariko Nakano Miyatake y el Dr. Gonzalo Duchén Sánchez por su paciencia, apoyo y dedicación durante el desarrollo de este trabajo y en especial por su orientación y su enseñanza, he aprendido tanto de ustedes que estoy seguro me será de gran utilidad en mi vida profesional y personal.
Al Dr. Héctor Pérez Meana por la oportunidad de formar parte de este programa de maestría.
De igual manera expreso mi sincera gratitud con a mi maestro el Dr. Juan Manuel López Carreto de la UNAM FES Aragón por su apoyo, amistad y orientación ya que sin él nada de esto habría sido posible.
A todos mis profesores investigadores por su valiosa cátedra.
Con gran respeto al Instituto Politécnico Nacional y la ESIME por contribuir a mi formación profesional a lo largo de los estudios que aquí he realizado.
Al CONACyT por su apoyo económico para permitirme avocarme a este trabajo y finalizarlo exitosamente.
De igual manera al Programa Institucional de Formación de Investigadores del IPN por la experiencia y los apoyos recibidos.
A mis papás, Carlos y María, a mis hermanos Paco y Alejandro y a mi novia Sandra Urbano por su apoyo incondicional y su comprensión en todo momento.
A Dios por esta vida tan maravillosa.
Carlos Antonio Genaro Olivas
1 | P á g i n a Debido a los cambios en la información de analógica a digital, el desarrollo de la tecnología digital nos permite copiar un CD de audio sin la mínima pérdida de información y el avance de Internet nos permite a realizar una difusión masiva de este tipo de información. Esto se ha provocado que de manera intencional o no intencional, se violen los derechos de autor, causando un daño económico a las compañías disqueras. Por lo que diversas instituciones han buscado dar una posible solución para evitar este problema.
Recientemente, como una posible solución a este problema se considera los esquemas de marca de agua. Existen varios algoritmos de marca de agua para audio con ciertas ventajas y desventajas respecto a otros. Sin embargo hay muy pocos trabajos de implementación de los algoritmos de marca de agua en DSP o sistema de lógica programable (FPGA). Por lo que en este trabajo se realiza inicialmente la revisión de diversos algoritmos existentes de marcas de agua para audio, desde el punto de vista imperceptibilidad y robustez de marca de agua, además la factibilidad para implementar en FPAG se toma en cuenta para la selección de un algoritmo.
El algoritmo seleccionado es de Patchwork modificado (MPA), en el cual la inserción y detección de la marca de agua está basada en cambios ligeros de características estadísticas de la señal de audio. Los parámetros, tales como rango de sub-bandas, longitud de segmentación de señales, energía de marca de agua, etc. usados en el MPA son analizados detalladamente.
En la implementación del algoritmo MPA, el algoritmo se segmenta varios módulos de procesos y cada módulo se evaluó y analizó independientemente su correcto funcionamiento. El sistema puede detectar señales al vuelo así como grabar al vuelo aunque no en tiempo real. Además, la señal de marca de agua es imperceptible y robusta contra ataques de procesamiento de señales comunes.
2 | P á g i n a According as change of data type from analog to digital, digital technology allows us to create exact copy of audio data, and Internet allows us a massive distribution of these digital data.
However the growth of digital technology causes the serious copyright violation problem, and as consequence, music companies have suffered economical damages. Therefore several institutions have found some solutions to avoid this problem.
Recently, the digital watermarking is considered as a possible solution of copyright violation problem and then several watermarking algorithms have been developed. Some of them have advantage over others for audio data. However there are few works that show implementation of the algorithms to DSP or FPGA. Therefore, in this work, firstly some audio watermarking algorithms are reviewed from the watermark imperceptibility and robustness points of view; also feasibility of the FPAG implementation is taken account for the selection.
The selected algorithm is a Modified Patch work Algorithm (MPA), in which watermark embedding and detection is based on statistic characteristics of audio data. The parameters, such as subband range, data segment length, embedding energy, etc., used in MPA are analyzed in detail in this work.
In the implementation a FPAG, the MPA is segmented by several processing modules, and each module is evaluated and analyzed independently to get a correct performance. The resulting system can detect a watermark on the fly and watermark a signal on the fly too, but not on real time. Also watermark signal is imperceptible by human ear and the algorithm is robust to several common signal processing attacks.
3 | P á g i n a
Resumen ... 1
Abstract ... 2
Índice ... 3
Índice de Figuras ... 6
Índice de tablas ... 7
Capítulo 1 Introducción ... 8
1.1 Motivación ... 8
1.2 Objetivos ... 10
1.2.1 Objetivo General ... 10
1.2.2 Objetivos particulares ... 10
1.3 Justificación ... 10
1.4 Conclusiones... 11
1.5 Organización de la tesis ... 12
Capítulo 2 Marco teórico de Marca de Agua ... 13
2.1 Marca de Agua Digital ... 13
2.2 Tipos de marca de agua... 13
2.2.1 Patrón imperceptible ... 13
2.2.2 Patrón perceptible... 13
2.3 Requerimientos ... 14
2.4 Algoritmos de Marca de agua ... 16
2.4.1 Detección a ciegas ... 16
2.4.2 Detección con material original ... 18
2.4.3 Algoritmo genérico de inserción de marca de agua ... 18
2.4.4 Algoritmo genérico de detección de marca de agua ... 19
4 | P á g i n a
Capítulo 3 Antecedentes ... 21
3.1 Algoritmo de Bit Menos Significativo ... 21
3.2 Algoritmo basado en Ocultación en Eco ... 23
3.2.1 Codificación ... 23
3.2.2 Decodificación ... 24
3.3 Método de espectro esparcido ... 26
3.3.1 Algoritmos importantes basados en espectro esparcido... 28
3.4 Algoritmo QIM ... 31
3.5 Conclusiones... 34
Capítulo 4 Algoritmos de Patchwork y su análisis ... 36
4.1 Algoritmo de Bender ... 36
4.2 Algoritmo de Arnold ... 37
4.3 Algoritmo de Yeo (MPA) ... 38
4.3.1 Algoritmo de inserción ... 38
4.3.2 Detección de la marca de agua ... 40
4.4 Implementación de la DCT ... 42
4.4.1 Algoritmo convencional ... 42
4.4.2 Algoritmo de Narasimha-Peterson ... 43
4.4.3 Algoritmo de Wang-Jullien ... 44
4.4.4 Comparación de los tres métodos ... 45
4.4.5 Implementación del algoritmo de Wang-Jullien ... 47
4.5 Análisis de Inaudibilidad y robustez de la marca de agua ... 47
4.5.1 Carga útil e Inaudibilidad ... 48
4.5.2 Robustez de la marca de agua ... 50
4.5.3 Comparación con otros algoritmos ... 50
5 | P á g i n a
4.5.5 Cálculo de umbral óptimo con ataque de eco ... 53
4.5.6 Conclusiones... 55
Capítulo 5 Implementación en FPGA ... 57
5.1 VHDL ... 57
5.1.1 Ensamble de modelos lógicos complejos ... 57
5.1.2 Simulación ... 57
5.1.3 Revisión General de VHDL ... 58
5.2 Característica básica de XSG ... 58
5.3 Módulos de MPA ... 58
5.3.1 Módulo de generación de números aleatorios ... 59
5.3.2 Módulo de DCT ... 61
5.3.3 Módulo de iDCT ... 67
5.3.4 Módulo de cálculo de media ... 68
5.3.5 Módulo de sumatoria de diferencias cuadráticas ... 68
5.3.6 Módulo de cálculo de la Desviación Estándar ... 68
5.3.7 Módulo de inserción ... 69
5.3.8 Modulo de detección ... 70
5.4 Funcionamiento global del sistema ... 72
5.5 Conclusiones... 73
Capítulo 6 Conclusiones y Trabajo futuro ... 74
6 | P á g i n a
FIGURA 1.1GANANCIAS DE LA INDUSTRIA MUSICAL EN MILLONES DE PESOS ... 9
FIGURA 2.1MARCA DE AGUA VISIBLE EN UNA IMAGEN ... 14
FIGURA 2.2ALGORITMO GENÉRICO DE MARCADO ... 19
FIGURA 2.3ALGORITMO GENÉRICO DE EXTRACCIÓN DE MARCA DE AGUA ... 19
FIGURA 3.1NÚCLEOS DE ECO ... 23
FIGURA 3.2PROCESO DE CODIFICACIÓN ... 24
FIGURA 3.3PROCESO DE DECODIFICACIÓN ... 25
FIGURA 3.4MODELO GENERAL PARA ESQUEMA DE MARCA DE AGUA BASADO EN ESPECTRO ESPARCIDO.[3.18] ... 27
FIGURA 3.5CÁLCULO DE CEPSTRUM ... 30
FIGURA 3.6RESPUESTA DE DETECTOR DE MARCA DE AGUA.(A) RESPUESTA DE UNA MARCA DE AGUA (B) RESPUESTA DE MÚLTIPLE MARCAS DE AGUA. ... 30
FIGURA 3.7MODELO BÁSICO DE MARCADO DE AGUA QIM ... 31
FIGURA 3.8FUNCIONES DE CUANTIFICACIÓN CON INTERSECCIÓN DE RANGOS. ... 31
FIGURA 3.9QIM PARA INSERTAR INFORMACIÓN BINARIA ... 32
FIGURA 3.10EJEMPLO DE CUANTIFICACIÓN EN DOS DIMENSIONES. ... 33
FIGURA 4.1COMPARACIÓN DE LA DISTRIBUCIÓN MARCADA Y NO MARCADA CON RESPECTO A LA DIFERENCIA DE MEDIAS. ... 37
FIGURA 4.2COMPARACIÓN DE LAS DISTRIBUCIONES MARCADA Y NO MARCADA ... 40
FIGURA 4.3DIAGRAMA DEL MPA PARA INSERCIÓN. ... 40
FIGURA 4.4DIAGRAMA DEL MPA PARA DETECCIÓN ... 41
FIGURA 4.5FILTRO DIGITAL PARA OBTENER DCT POR ALGORITMO DE WANG-JULLIEN ... 44
FIGURA 4.6FILTRO DIGITAL PARA OBTENER IDCT POR ALGORITMO DE WANG-JULLIEN ... 44
FIGURA 4.7COMPARATIVA ENTRE DCT E INVERSA DE NARASIMHA ... 45
FIGURA 4.8CARGA ÚTIL CONTRA MBSD USANDO DCT... 49
FIGURA 4.9CORRELACIÓN CRUZADA PARA 1000 LLAVES CUANDO N=3087 Y LA LLAVE CORRECTA ES LA 200. ... 52
FIGURA 4.10CORRELACIÓN CRUZADA PARA 3000 LLAVES LA LLAVE CORRECTA ES LA 600. ... 53
FIGURA 4.11PDFS DE CORRELACIÓN CRUZADA ... 54
FIGURA 5.1CONEXIÓN DE LOS MÓDULOS PARA LA INSERCIÓN DE LA MARCA DE AGUA... 59
FIGURA 5.2CONEXIÓN DE LOS MÓDULOS PARA LA DETECCIÓN DE LA MARCA DE AGUA ... 59
FIGURA 5.3UNIDAD GENERADORA DE NÚMEROS ALEATORIOS EN EL RANGO [K1,K2] ... 60
FIGURA 5.4SIMULACIÓN DE LA GENERACIÓN DE NÚMEROS ALEATORIOS A)SIN MUESTREAR B)MUESTREADA ... 60
FIGURA 5.5USO DEL BITBASHER PARA POTENCIAR EL VALOR -1 CON OPERACIONES MATEMÁTICAS ... 62
FIGURA 5.6USO DEL BITBASHER PARA POTENCIAR EL VALOR -1 CON LÓGICA DE DECISIÓN ... 62
FIGURA 5.7FILTRO DCT EN XSG ... 63
7 | P á g i n a
FIGURA 5.10FILTRO IDCT EN XSG ... 66
FIGURA 5.11SALIDA DEL FILTRO IDCT ... 67
FIGURA 5.12CÁLCULO DE LA MEDIA ... 68
FIGURA 5.13IMPLEMENTACIÓN DE LA SUMATORIA ... 68
FIGURA 5.14CÁLCULO DE LA DESVIACIÓN ESTÁNDAR EN XSG. ... 69
FIGURA 5.15SALIDA DE LA INSERCIÓN ... 70
FIGURA 5.16MÓDULO DE DETECCIÓN ... 71
Índice de tablas
TABLA 3-1UN EJEMPLO DE INSERCIÓN DE MARCA DE AGUA USANDO MÉTODO DE CODIFICACIÓN LSB... 22TABLA 3-2LISTA DE ALGUNOS ATAQUES NO SOPORTADOS POR EL MÉTODO DE OCULTACIÓN EN ECO ... 26
TABLA 4-1COMPARATIVA DE ALGORITMOS DE DCT ... 46
TABLA 4-2CARACTERÍSTICAS DE PISTAS MUSICALES SELECCIONADAS ... 48
TABLA 4-3BER Y MBSD OBTENIDOS CUANDO SE ATACA CON STIRMARK EN DIFERENTES BLOQUES ... 51
TABLA 5-1RECURSOS DE HARDWARE OCUPADOS POR LOS MÓDULOS EN FPGAVIRTEX5 XC5VFX30T ... 72
Con la micro-miniaturización de las tecnologías computacionales y el constante desarrollo de innovaciones en la comunicación, así como con el rápido desarrollo de la Internet, actualmente los contenidos artísticos multimedios (imágenes, audio, video) están disponibles para cualquier persona en el planeta que cuente con una computadora, pues la forma en que nos comunicamos en la actualidad ya no es solo para estar en contacto con otra persona o para enviar mensajes muy concretos, ahora se comparte todo tipo de contenidos como puede ser desde un documento simple hasta toda una recopilación de video o una filmografía completa. Es en esta situación en la que las grandes ventajas de la tecnología digital sobre las analógicas se convierten en una desventaja y un problema desde el punto de vista de la comercialización y la protección a los derechos de autor, debido a que cualquier persona puede realizar copias ilimitadas de cualquier archivo creado o recibido sin tener ningún tipo de pérdida en la calidad original y que se ve reflejado en grandes pérdidas financieras para los autores materiales e intelectuales de las obras.
Para proteger los materiales digitales existen desarrollos tecnológicos basados en criptografía, métodos por los cuales el acceso al contenido de la información está dado por la posesión o conocimiento de una llave secreta correcta. Sin embargo, una vez que el contenido es desencriptado ya sea por conocimiento de la llave o por obtención de la llave por fuerza bruta, es posible copiar, distribuir y modificar o alterar el contenido sin ningún tipo de restricción, lo que se llama ‘El agujero analógico’[1] . Con el fin de combatir las deficiencias de los sistemas tradicionales de protección de datos mediante la criptografía se ha propuesto en el campo de la protección de la propiedad intelectual el uso de un método llamado “Marca de agua”.
1.1 Motivación
En todo el mundo, pero especialmente en México la piratería está presente causando grandes costos a las empresas discográficas, filmográficas, editoriales y de software; estos costos varían en cada país e incluso de una ciudad a otra según la solidez de las leyes antipiratería, el tipo de industria y las características sociodemográficas de las personas.
Actualmente México se encuentra en el 4 lugar en piratería, superado solamente por Rusia, China e Italia en cuanto a pérdidas, de acuerdo al reporte especial 301 de la Alianza Internacional para la Propiedad Intelectual (IIPA, por sus siglas en inglés), en el periodo comprendido entre los años 2000 y 2007 las industrias de música, software de entretenimiento, software comercial, películas y
9 | P á g i n a libros se ha perdido anualmente casi mil millones de dólares en promedio por la piratería, incrementándose a mil doscientos millones en 2007 [2] .
Figura 1.1 Ganancias de la industria musical en millones de pesos
Los problemas que ha acarreado el constante crecimiento de la piratería se ve reflejado en el daño causado a estudios de grabación, autores, artistas gráficos, arreglistas, impresores y músicos en general. Tan solo en nuestro país en el periodo comprendido entre los años 2000 y 2007 la industria musical perdió más de la mitad de sus ganancias como se describe en la Figura 1.1. Se ha debilitado además la inversión tanto nacional como extranjera en la música; es decir, la inversión en música nacional y la exportación e importación de música. El impacto de la piratería en México no es solo en lo económico, sino en lo cultural [3] : después de los grandes artistas de la llamada
‘Época de Oro’, como fueron Pedro Infante, Jorge Negrete, Javier Solís, Agustín Lara y José Alfredo Jiménez, hubo una segunda generación de artistas en los que figuran Armando Manzanero, Juan Gabriel, Luis Miguel, José José, etc… que promovieron la música y cultura mexicana a través de los años en toda América Latina y el Mundo. México se convirtió en trampolín de los artistas que querían tener éxito en el mercado musical global de habla hispana, por ejemplo: Roberto Carlos, Julio y Enrique Iglesias, Sandro, Ricardo Arjona, etc…
10 | P á g i n a México se había convertido líder en diversidad cultural, exportación y ganancias económicas; sin embargo, la industria musical mexicana está muriendo y las implicaciones culturales son profundas, cada vez se produce menos música original en México, cada vez un mayor número de autores, compositores y artistas están dejando el país para encontrar oportunidades económicas y artísticas en los Estados Unidos, donde las leyes de protección de derechos de autores son más fuertes. No ha habido, después de los artistas mencionados, una nueva generación de artistas y genios musicales, porque la fragilidad de las oportunidades de inversión y ganancia orillan a la industria musical a apostar por lo seguro y comercial, considerándose un riesgo invertir en música original.
Actualmente los únicos lineamientos que se están tomando para combatir la piratería son las campañas de concientización sobre los daños de la piratería a la sociedad mexicana.
Una forma de combatir la piratería es creando infraestructura necesaria para que sea viable proteger los materiales multimedia por medio de las Marcas de Agua, la necesidad de investigación en técnicas antipiratería son la principal motivación de este trabajo que busca aportar ideas y conocimientos al campo de protección de derechos de autor.
1.2 Objetivos
1.2.1 Objetivo General
Desarrollar un sistema de detección de marca de agua en audio con el algoritmo de patchwork modificado (MPA) de Yeo usando lógica programable en FPGA.
1.2.2 Objetivos particulares
Establecer, mediante el estudio del MPA, las propiedades específicas para que pueda ser implementado en FPGA.
Evaluar las características de robustez, carga útil, imperceptibilidad, entre otras, del MPA.
1.3 Justificación
Existen varias razones por las cuales implementar un algoritmo de marca de agua en FPGA, entre ellas se destacan:
11 | P á g i n a
No hay muchas implementaciones de algoritmos de marca de agua en FPGA, normalmente estas aplicaciones se llevan a cabo en DSP [31] , es un campo en el que poco se ha investigado y desarrollado este tipo de aplicaciones.
La arquitectura FPGA hace posible la creación de un sistema de inserción y detección de marca de agua para una aplicación que requiera transmisión multicanal de datos por su capacidad de procesamiento en paralelo, característica con la que no cuenta la arquitectura DSP.
Un FPGA puede contener un algoritmo de inserción y detección de marca de agua como parte de un sistema superior según requiera la aplicación; es decir, la capacidad del FPGA y sus recursos disponibles pueden ser compartidos para más de una aplicación y también para que un sistema de control independiente se encargue del manejo del algoritmo de marca de agua, el sistema de marca de agua sería un subsistema de una aplicación mayor que puede comprender la interfaz o la lógica de control de entradas y salidas, otros algoritmos, manejo de memorias, etc…
El trabajo a desarrollar se llevará a cabo en un FPGA Xilinx, Xilinx es la compañía que desarrolló la tecnología FPGA en primer lugar y actualmente son líderes en ventas y producción de estos dispositivos [4] . Se ha escogido el MPA basado en DCT porque es un buen ejemplo para implementar en FPGA, al momento de iniciar el trabajo no hay forma de implementar la DCT de una dimensión en un FPGA por lo que se deberá desarrollar el debido algoritmo que calcule esta transformada. Seleccionamos el MPA porque parece factible y perfectible para un FPGA siempre y cuando se calculen las características apropiadas para poder llevarlo a cabo. Se deberá determinar si los tiempos de procesamiento y si la capacidad de memoria de un FPGA es suficiente para manejar el cómputo de la detección de esta marca de agua.
La innovación en este trabajo será la de crear las herramientas necesarias para computar la marca en un FPGA además del análisis a fondo de la robustez y vulnerabilidad de este algoritmo que tampoco ha sido ampliamente analizado a la fecha.
1.4 Conclusiones
Los alcances de los daños causados por la piratería van más allá de las grandes pérdidas de la Industria musical mundial y los empleos que genera o deja de ofrecer esa industria, ahora el impacto es también cultural. Las marcas de agua ofrecen una vía para dar solución a esta
12 | P á g i n a problemática y es importante mantener su desarrollo e investigación, un campo que se ha explotado poco es el de la lógica programable, hablando específicamente, los FPGA, por lo que este trabajo se orienta a implementar un sistema de marca de agua en esta tecnología.
El desarrollo de este trabajo puede dar como frutos la publicación de artículos orientados al diseño digital en FPGA y al campo de investigación de marcas de agua e incluso la obtención de prototipos de desarrollo, así como la implementación de tecnologías reprogramables en un área en la que hasta ahora no han sido aprovechadas.
1.5 Organización de la tesis
Esta tesis está conformada por 6 capítulos en los cuales se plantea la problemática de la piratería musical y su impacto en la industria mexicana, como se trató en el Capítulo 1; además, se plantean las técnicas de marcado de agua como una posible solución a este problema. En el Capítulo 2 se plantea y analiza en teoría la marca de agua, su funcionamiento teórico y los tipos de marcas de agua, posteriormente en el Capítulo 3 se exponen algunos algoritmos de marcado de agua para entonces abarcar a profundidad el Algoritmo Modificado de Patchwork (MPA) basado en Transformada Coseno Discreta (DCT), se hace un análisis de Carga útil, Inaudibilidad, Robustez y Seguridad del algoritmo, así como una revisión concluyente de la mejor opción para realizar la DCT en lo que finalmente será la implementación en FPGA. Dicha implementación se plantea, realiza y analiza en el capítulo 5 que concierne totalmente a la implementación del MPA en FPGA usando una herramienta de diseño llamada Xilinx System Generator (XSG) en la cual se pueden crear diseños sobre Simulink de Matlab para ser exportados como proyectos VHDL que sean plasmados en FPGA. En el Capítulo 6 se hacen conclusiones finales y se describe el trabajo a futuro.
13 | P á g i n a
Capítulo 2 Marco teórico de Marca de Agua
2.1 Marca de Agua Digital
La Marca de Agua (WM por sus siglas en inglés) es el proceso mediante el cual se agrega información perceptible o imperceptible en un medio sin alterarlo de tal forma que resulte difícil de borrar sin alterar el propio medio. Un sistema completo de marcado de agua involucra un proceso de marcado y uno de detección que generalmente están basados en una o más llaves secretas como en los sistemas criptográficos tradicionales. La mayoría de las técnicas de WM son equiparables a los sistemas criptográficos simétricos [5] en el sentido de que en estos se ocupa una sola llave sobre la cual se fundamente la seguridad del sistema.
La principal ventaja del uso de marcas de agua consiste en que la marca se convierte en un elemento inseparable del contenido digital y además, dependiendo de la aplicación, puede ser transparente e imperceptible para la percepción humana.
2.2 Tipos de marca de agua
2.2.1 Patrón imperceptible
La marca de agua se añade de manera imperceptible de tal forma que no afecte y devalúe el material intelectual original, la inserción de la marca de agua se hace en dominio transformado, distinto del temporal/espacial, esto es: Transformada Coseno Discreta (DCT), Transformada Discreta de Fourier (DFT), entre otras. La marca de agua es esparcida en este dominio transformado o bien en el dominio temporal. La información insertada es un patrón pseudo- aleatorio, una secuencia que depende de una llave para ser obtenida. Los esquemas de detección están basados en el cálculo de la correlación dado que si la llave es conocida, la secuencia pseudo- aleatoria puede ser reconstruida y comparada con la que se encuentra presente en el contenido digital, la correlación será óptima si, y solo sí, se conoce la llave que generó la secuencia, de lo contrario no existirá correlación alguna y la marca de agua no podrá ser detectada.
2.2.2 Patrón perceptible
Otro tipo de marcas de agua son perceptibles, se usan para proteger contenidos enterando al auditorio de que el contenido digital (o no digital) se encuentra protegido, ejemplos de esto son las radiodifusiones en las que constantemente, durante la difusión de un concierto, entrevista u
14 | P á g i n a otro tipo de exclusiva se inserta constantemente un audio identificando la estación que uno se encuentra escuchando. De igual manera en contenidos como video o imágenes se puede insertar la marca de agua de manera visible. Como puede verse en la Figura 2.1, ha sido añadido a la imagen el texto “© Carlos Genaro” como marca de agua .
Figura 2.1 Marca de Agua visible en una imagen
2.3 Requerimientos
Hay un conjunto importante de requerimientos que una marca de agua debe cumplir, de ellos depende que la Marca de agua sea difícil de notar, que resista a distorsiones comunes, ataques maliciosos, que lleve varios bits de información, que pueda coexistir con otra marca de agua y que requiera de pocos recursos de cómputo para la inserción y detección. La importancia de estos es relativa a la aplicación[6] [7] :
Imperceptibilidad. La marca de agua debe ser imperceptible al auditorio humano, debe ser insertada de tal forma que no afecte la calidad original del material, una marca de agua ideal se tiene cuando la señal marcada y la no marcada no guardan diferencias perceptibles.
Robustez. Las señales de audio, video e imágenes están expuestas a muchas modificaciones y distorsiones, la marca de agua debe ser capaz de resistir tales modificaciones ya sean intencionales o no, como por ejemplo: Compresión, conversión Analógica/Digital (A/D), Digital/Analógica (D/A), filtrado, adición de ruido, translación, escalamiento, etc… En las modificaciones intencionales están los ataques por diversas
15 | P á g i n a técnicas a la marca de agua en los que también debe ser capaz de resistir total o parcialmente los ataques para poder evaluar su robustez. La robustez de una marca de agua debe ser tal que ésta no pueda ser removida sin degradar lo suficiente la señal como para que resulte inutilizable.
Fragilidad. En algunas aplicaciones se requiere lo opuesto a la robustez, que la marca de agua pueda ser destruida, como se mencionaba en las aplicaciones, un ejemplo es que mediante el conocimiento y detección de la marca de agua destruida se puede saber el tipo de ataque al que fue expuesta y la técnica que se usó para destruirla. La fragilidad de la marca de agua debe ser graduable para permitir ciertos ataques y resistir otros.
Resistencia a modificaciones. La técnica de marca de agua debe impedir que al intentar ser destruida la marca de agua resulte modificada en otra marca de agua o que su información cambie.
Costo computacional. La técnica de marca de agua debe ofrecer un costo computacional adecuado al sistema en el que se aplicará, en la mayoría de las aplicaciones se requiere que la marca de agua pueda ser insertada en tiempo real; en el caso de que se comercialice un sistema detector de marca de agua o se comercialice insertado en otro sistema ya existente, se requiere que el costo computacional sea muy bajo para que no consuma los recursos del sistema comercial, aún cuando el sistema de marcado puede tener costos altos en términos de procesamiento computacional.
Estándares. Algunas aplicaciones requieren de una técnica de marcado y detección estandarizado, como es el caso de los DVD, por ejemplo. Para que la marca de agua sea detectada, los diferentes productores de materiales DVD deben usar la misma marca que además, debe ser compatible con los detectores insertados en los reproductores de DVD de todos los fabricantes.
Carga útil. La carga útil de la marca de agua es la cantidad de información que contiene.
Como en cualquier método y medio de almacenamiento, se expresa como un número de bits. El número de bits que se pueden detectar a la vez determina la carga útil, cuando se presentan varias marcas de agua en una señal se habla de diferentes cargas útiles.
Seguridad. La seguridad de la marca de agua en muchas aplicaciones depende de una llave secreta. Se supone que el método para extraer la marca de agua, así como la llave son conocidos por terceros, por lo que la seguridad radica en la llave; aún cuando los
16 | P á g i n a consumidores no autorizados conocen los métodos y técnicas exactas de marcado de agua no pueden detectarla ni removerla a causa de la falta de la llave secreta.
Baja probabilidad de error. Es importante distinguir entre las señales que contienen una marca de agua y las que no, la probabilidad de fallar al hacer dicha distinción debe ser muy baja. En el campo de marcas de agua existen dos errores clásicos que deben ser considerados al determinar la aplicación:
Falso positivo. Es cuando el sistema detector asume que una marca de agua está presente en casos en los que no ha sido insertada.
Falso negativo. Es cuando el sistema detector no detecta una marca que sí existe en la señal.
Dependencia de la señal original. En aplicaciones de protección de derechos de autor puede requerirse contar con la señal original sin marcar para poder extraer la marca de agua, por lo tanto, en protección contra copias la marca no podrá ser detectada por terceras partes puesto que no contarán con el material original, lo que hará la extracción más difícil.
2.4 Algoritmos de Marca de agua
Los algoritmos de marca de agua pueden detectar la marca de agua basándose en la señal original o sin necesidad de la señal original, lo que se conoce como detección a ciegas.
2.4.1 Detección a ciegas
Los algoritmos de marca de agua a ciegas detectan y extraen marcas de agua sin contar con el material original sin marcar, los tipos y subtipos de marcas de agua con detección a ciegas son[8] :
Cuantización. Un esquema de cuantización escalar cuantifica una muestra con valor x y le asigna un nuevo valor dependiendo del valor cuantizado y del bit de la marca de agua que se quiera marcar.
Espectro disperso. Es un método basado en el cálculo de la correlación en el que se inserta una secuencia pseudo-aleatoria a la señal y se detecta la marca de agua calculando la correlación entre el la secuencia de ruido pseudo-aleatorio y la señal marcada. Es el esquema más popular y ha sido bastante estudiado. Frecuentemente se usan transformadas como DCT, DFT y DWT por lo que la secuencia se puede esparcir en dominio temporal o en dominios transformados.
17 | P á g i n a Métodos de 2 bloques. El esquema de marca de agua a ciegas puede ser realizado mediante la comparación de dos bloques de muestras, si guardan ciertas diferencias se puede concluir que existe una marca de agua presente, normalmente se compara la diferencia de medias entre dos bloques; otro ejemplo es comparar la potencia de dos bloques diferentes.
Algoritmo de Patchwork. El algoritmo de Patchwork desarrollado en este trabajo figura en esta categoría, pues inserta una estadística especial en la señal, modificando sus características en dominio transformado. El principio básico de funcionamiento es que se calculan las medias de dos patchs, y dependiendo del valor de la marca de agua se les suma o resta un cierto valor, el proceso de detección calcula la diferencia y determina si existe la marca de agua y qué valor tiene. Esto será explicado por extenso en el capítulo 4.
Modificación de amplitud. Éste método inserta la marca de agua mediante el cambio en la potencia de dos o más bloques. Si se cambia la energía en dos bloques se puede determinar la diferencia que existe entre ellos y por tanto la presencia de la marca de agua. Algunos de los problemas que puede tener este esquema es que se puede afectar, por ejemplo, una pista musical en bloques específicos en los que la marca de agua puede dar al auditorio efectos de matices piano/pianissimo o forte/fortissimo así como afectar matices Crescendo o Decrescendo en donde el compositor no los especificó. Para solucionar esto es que se pueden ocupar más de 3 bloques.
Métodos de réplica. Ocupan la señal original para ser usada como marca de agua ya sea en dominio temporal o transformado. El detector solo tiene que encargarse de hacer el mismo proceso de réplica y calcular la correlación para detectar la marca de agua. La principal ventaja de este método es que es altamente robusto ante ataques de sincronización.
Echo Hiding. Inserta datos en una señal original introduciendo un Eco en el dominio temporal. Los mensajes binarios son insertados agregando eco con uno o dos delays. La extracción del mensaje insertado precisa de la detección del delay. Es relativamente fácil detectar el Eco para alguien sin conocimiento previo de la marca de agua y atacar la señal para destruirlo o afectarlo, por lo que pueden usarse métodos de esparcimiento del eco o modulación de la autocorrelación.
Modulación de Réplica. Es un proceso muy similar al Echo Hiding con la salvedad de que actúa en dominio transformado, se le llama también “Eco en dominio de frecuencia” y
18 | P á g i n a puede estar dado por la colocación de frecuencias bajas tomadas de la original aplicadas a la misma.
Métodos de automarcado. Los métodos de automarcado insertan la marca de agua dejando marcas evidentes en la señal. El método Clumsy añade un pico en el dominio de frecuencia, lo que lo hace susceptible a ataques.
Modificación de escala temporal. Se basa en la modificación de la escala temporal de la señal entre dos extremos de intervalos, de manera similar al método de Patchwork.
Sincronización . La detección tiene como principio la alineación del bloque marcado con el detector, si se pierde la sincronización se tiene una falsa detección, las modificaciones en escala temporal o de frecuencia causan pérdidas de sincronización. Los algoritmos de sincronización tienen que ser muy refinados ya que cualquier cambio en la señal original o la adición de señales basura pueden afectar la detección de la marca de agua.
2.4.2 Detección con material original
Los algoritmos de detección con materiales originales son teóricamente interesantes, pero en la práctica no son muy útiles porque requieren doble capacidad de almacenamiento y ancho de banda para la detección. Son útiles en verificación de derechos de autor en una disputa.
Tomando en cuenta los requerimientos indispensables y tipo de marca de agua para cada aplicación, se han desarrollados varios algoritmos de inserción y detección de marca de agua, sin embargo, existe un esquema genérico que se usan como parte principal de mayoría de los algoritmos reportados.
2.4.3 Algoritmo genérico de inserción de marca de agua
En la Figura 2.2 se muestra un diagrama general de un sistema de marcado de agua [9] , se denota con líneas punteada la llave K que pueden o no existir dependiendo de la técnica utilizada en particular. En el caso de la llave secreta K, si la técnica está basada en una llave de este tipo se entiende que la disponibilidad determinará quién o quiénes tendrán acceso a la marca de agua para leerla o para detectarla. La señal original O es marcada con la señal W dependiendo o no de la llave secreta y produciendo la señal marcada WM.
Matemáticamente hablando se puede representar este proceso con la ecuación:
𝑊𝑀 = 𝑂 + 𝑓(𝑂, 𝑊) (1)
19 | P á g i n a
Figura 2.2 Algoritmo genérico de marcado
2.4.4 Algoritmo genérico de detección de marca de agua
La marca de agua puede ser recuperada de muchas formas, puede ser que se recupere distorsionada o no, por lo que es comparada con la marca de agua original o con una marca esperada. Muchos de los métodos están basados en correlación. La ecuación 2 es usada como una medida de la similitud de la marca de agua recuperada y la original. En la mayoría de los casos la marca recuperada W’ no será idéntica a la original.
𝑠𝑖𝑚 𝑊, 𝑊′ = 𝑊∗𝑊´′
𝑊′∗𝑊′ (2)
La señal marcada WM es extraída a ciegas o no (La señal original O es opcional) y depende o no de la llave secreta, la señal W’ recuperada se compara con W que es la original y se obtiene un valor V de confiabilidad o similitud.
Figura 2.3 Algoritmo genérico de extracción de marca de agua
Extracción de la
Marca de Agua W’
O WM
Comparar marcas de agua
W
V Inserción de la Marca
de Agua
W
O WM
20 | P á g i n a
2.5 Aplicaciones de marcado de agua
Algunas de las aplicaciones de las marcas de agua son las siguientes[10] :
Protección de derechos de autor. Una forma de proteger la propiedad intelectual, el poseedor o creador de un trabajo artístico puede insertar una marca de agua que represente la información de los derechos de autor, mediante la extracción de la marca de agua puede probarse la posesión de los derechos sobre el material en cuestión.
Control de copias. Existe la posibilidad de valerse de la técnica de fingerprint, mediante la cual el propietario de la obra puede insertar información en las diferentes copias del trabajo que son entregadas a distintos consumidores, mediante la extracción de la marca de agua en posibles copias ilegales se obtiene la fingerprint que identifica al consumidor que ha violado la licencia que se le otorgó por haber distribuido copias a terceros.
Protección contra copias. Mediante la detección de la marca de agua es posible desarrollar dispositivos de grabación con fines de protección contra copias. La presencia de la marca de agua en un material digital significaría la prohibición de copias, por lo que si el dispositivo de grabación la detecta entonces no procede con el proceso de copiado.
Autenticación de datos. Mediante la inserción de marcas de agua susceptibles a ataques es posible conocer, mediante la extracción de la marca si es que un material ha sido atacado, si se ha borrado la marca y cuáles son los posibles ataques que propiciaron la pérdida total o parcial de la marca de agua.
Transmisión secreta de información. Esta es la aplicación principal de la Esteganografía, conjunto de técnicas mediante las cuales se puede incrustar información secreta en un medio sin levantar sospecha en terceros, dicha información sería la marca de agua.
21 | P á g i n a
Capítulo 3 Antecedentes
Los algoritmos de marcas de agua fueron desarrollados inicialmente para imágenes y posteriormente para video digital, los desarrollos de algoritmos de marca de agua para audio empezaron un poco después. Hasta la fecha, diversos métodos de inserción e extracción de marca de agua sobre la señal de audio se han reportado en la literatura. Gran mayoría de los algoritmos han aprovechado el sistema auditiva humano (HAS) para insertar la marca de agua dentro de la señal de audio en una forma que resulta transparente al oído humano.
El objetivo principal para diseñar un algoritmo de inserción de marca de agua es satisfacer los requerimientos de transparencia auditiva de la marca de agua y simultáneamente maximizar la potencia de la marca de agua para proporcionar la robustez de la misma. Para lograr este objetivo, el algoritmo contiene un proceso de análisis psicoacústico, el cual proporciona enmascaramiento de frecuencia y enmascaramiento temporal, etc. Una vez que la señal de la marca de agua es insertada dentro de la señal de audio, la marca de agua debe resistir a diversas distorsiones, tales como compresión, filtrado, codificación, etc. Finalmente en el proceso de detección de marca de agua, la presencia de la señal de marca de agua debe ser detectada usando correlación cruzada o medición de similitud.
En este capítulo, se lleva a cabo una revisión sobre los principales algoritmos de marcas de agua para audio, con el objetivo de analizar ventajas y desventajas de cada uno de ellos. Los resultados de análisis sirven para el desarrollo del algoritmo eficiente para poder implementar en FPGA, el cual es objetivo de esta tesis.
3.1 Algoritmo de Bit Menos Significativo
Uno de los más antiguos métodos para ocultamiento de información y marca de agua en audio es codificación de bit menos significativo (LSB)[11] . El método se opera en el dominio temporal y es el más sencillo en el campo de marca de agua para audio. Para insertar la señal de marca de agua, los bits menos significativos de la señal de audio se reemplazan con la secuencia de bits de marca de agua. En este método generalmente no se usa algún modelo psicoacústico para introducir algún factor a la distorsión ocasionada por el cambio de LSB. Aunque algunos trabajos tal como [12] introducen un factor relacionado al sistema auditivo humano al método de LSB para mejorar robustez e imperceptibilidad de marca de agua.
22 | P á g i n a Generalmente la señal de audio capturada por el convertidor de Analógico-Digital (A/D) tiene los valores reales con un rango de [-1,1] con cuantificación de 16bits, 32 bits o 64 bits. Antes de la inserción de marca de agua, la señal de audio se debe convertir en un rango entero de
2
N_bits1, 2
N_bits1
, donde N_bits es el numero de bits de cuantificación (16 bits, 32 bits o 64bits). Sobre la señal convertida se lleva a cabo la modificación de bits menos significativos, dependiendo de la secuencia de marca de agua. Un ejemplo de la inserción se muestra en la Tabla 3-1. Después de la inserción, los datos de la señal marcada se convierten en el rango [-1,1]. Las conversiones del rango se pueden realizar en (3.1) y (3.2), respectivamente.1
2
_
X N bits
Y (3.1)
1
2
_ Y
N bitsX
(3.2)Donde X es la señal de audio capturado con el rango de [-1,1] y Y es la señal de audio convertida en el rango de
2
N_bits1, 2
N_bits1
, respectivamente.Marca de agua 1 0 1 0 1 0 1
Señal de audio 196 58 -36 -101 -85 13 42
Señal de audio marcada 197 58 -37 -100 -85 12 43
Tabla 3-1 Un ejemplo de inserción de marca de agua usando método de codificación LSB
Una de las ventajas de este método es la sencillez de inserción y extracción de la marca de agua, ya que en el proceso de extracción, la secuencia de LSB extraída del audio marcado es la secuencia de marca de agua. En este caso no se requiere realizar operación matemática alguna. Además generalmente este método ofrece una alta imperceptibilidad (no audibilidad) de marca de agua, teniendo un SNR más de 50dB, respecto a la señal original. Otra ventaja es que el número de bits que se puede ocultar es considerablemente grande, comparando con otros métodos. Esta ventaja de alta capacidad de ocultamiento es útil para algunas aplicaciones, tales como esteganografía [13] ,[14] Sin embargo este método tiene una fatal desventaja, la cual es que la señal de marca de agua insertada no es robusta a ninguna distorsión sufrida por la señal de audio. Considerando que generalmente la señal de audio se comprime por su almacenamiento y transmisión, este método
23 | P á g i n a no se da en la práctica, porque la marca de agua insertada se destruye completamente después de realizar compresión y otras distorsiones, tales como filtraje y adición de ruido.
3.2 Algoritmo basado en Ocultación en Eco
El método de Ocultación en eco inserta una marca de agua en una señal de audio agregando eco a la misma. Los datos son ocultados variando los parámetros del eco: Amplitud y Offset (o desplazamiento). El offset entre la señal original y el eco puede ser disminuido con el fin de combinar ambas señales siendo el offset lo suficientemente pequeño para que el oído humano no pueda percibirlo sino solamente como una resonancia. [45]
En el proceso de codificación se usan dos tiempos de desplazamiento, uno para presentar un “1 binario” (offset) y otro que representa un “0 binario” (offset + delta).
3.2.1 Codificación
El proceso de codificación se basa en dos núcleos (o kernels) según los cuales se inserta un eco en la señal dependiendo de la amplitud indicada por los núcleos así como por el desplazamiento y
, que pueden ser observados en la Figura 3.1, para ser codificada con varios bits la señal es dividida en partes. Cada una de las partes puede ser codificada con el bit deseado si se considera cada parte como una señal independiente. La señal codificada es una combinación de todas las partes de la señal.
(a) Núcleo “1” (b) Núcleo “0”
Figura 3.1 Núcleos de eco
En la Figura 3.2 se observan dos señales generadas con los dos distintos núcleos antes mencionados, estos son aplicados a una señal que a su vez fue dividida en partes para a la que le fue añadida el eco según alguno de los dos núcleos.
24 | P á g i n a
a) Señal Original.
b) La señal original dividida en segmentos para codificar la información.
c) Señal generada utilizando el núcleo de la Figura 3.1 (a).
d) Señal generada utilizando el núcleo de la Figura 3.1 (b).
Figura 3.2 Proceso de codificación
La señal resultante es una combinación de ambos esquemas obtenidos dependiendo del código en ceros y unos requerido para mezclar las señales. Cabe mencionar que se pueden insertar múltiples ecos a una señal siguiendo una secuencia de pseudo-ruido.
3.2.2 Decodificación
La extracción de la señal depende del cálculo de los tiempos de desplazamiento entre ecos. Para esto se examina la magnitud de autocorrelación de Cepstrum de la señal codificada.
2
1 ln F(x)
F complejo
(3.3)
Para decodificar la señal se toma un conjunto de muestras de la señal, que es una serie de impulsos que están separados por cierto intervalo de tiempo y que tienen una disminución de la amplitud exponencial. El siguiente paso es calcular el cepstrum de la versión con eco según la ecuación 3.3. El resultado de obtener el cepstrum hace que el espacio entre la señal con eco sea más claro.
25 | P á g i n a Desafortunadamente, el resultado del cepstrum también duplica el eco cada () segundos.
Además, la magnitud de los impulsos que representan los ecos son relativamente pequeños a la señal original. Por cual son difíciles de detectar. La solución a este problema es calcular la autocorrelación del cepstrum.
Solo el primer pulso se amplifica perceptiblemente mientras que este es reforzado por los impulsos subsecuentes.
W(n) Señal Marcada
Analisis de Cepstrum
𝑠 (𝑛) Componente de s(n)
𝑒 (𝑛) 1 Componente de e1(n)
𝑒 (𝑛) 2 Componente de e2(n)
𝑒 (𝑛) 3 Componente de e3(n)
Dominio del Cepstrum
Figura 3.3 Proceso de decodificación
… …
26 | P á g i n a La principal ventaja de este método es su baja complejidad computacional, ya que la señal de audio no tiene que transformar en otro dominio, además de esta ventaja, la distorsión causada por la inserción de la marca de agua es generalmente imperceptible. Sin embargo, este método tiene una gran desventaja, la cual es la robustez de la marca de agua. La marca de agua insertada por este método no es robusta a varios ataques comunes, tales como compresión, adición de ruido aditivo, etc. La tabla 3.2 muestra una lista de algunos ataques que destruyen la marca insertada por este algoritmo. Los ataques probados son proporcionados por la colección AudioStirmark [40] [41] .
Tabla 3-2 Lista de algunos ataques no soportados por el método de ocultación en eco
3.3 Método de espectro esparcido
Una considerable cantidad de algoritmos de marcas de agua para audio digital han empleado la técnica de espectro esparcido (Spread Spectrum SS). [14] ,[16] [20] La secuencia de espectro esparcido se puede insertar en el dominio temporal [14] ,[21] , y también se puede insertar en el dominio de frecuencia, tales como dominio FFT [22] [23] , DWT [24] [25] cepstral [26] [27] y dominio de compresión [28] [29] . Si la señal de marca de agua se puede esparcir a lo largo de la señal, la distorsión que ocasiona por la inserción de la marca de agua se puede reducir debajo de un límite que se puede percibir por el oído humano. La modificación de cada uno de los coeficientes puede ser suficientemente pequeña, sin embargo en el proceso de detección, las cantidades pequeñas se suman por el cálculo de correlación cruzada y se puede detectar la señal de marca de agua sin ambigüedad.
Ruido blanco 40dB-900dB Cruce a cero Extensión de cero Inverso
Compresión MP3 Re-muestreo Normalización
Filtro pasa baja y alta RC
27 | P á g i n a
Figura 3.4 Modelo general para esquema de marca de agua basado en espectro esparcido. [3.18]
Un esquema genérico de método de espectro esparcido se puede describir como indica la Figura 3.4. En la figura, la señal X es la señal de audio original en algún dominio de transformada o temporal, K es una llave secreta, con la cual el generador de la secuencia pseudo-aleatoria (PRN) genera una secuencia esparcida Rn con media 0, varianza
Rn. La secuencia pseudo-aleatoria con un factor de ganancia g, se inserta dentro de la señal X en forma aditiva o multiplicativa, dependiendo del algoritmo particular. Así una señal con marca de agua Xw es generada. La señal de audio marcada se transmite a través del canal de comunicación, donde se introduce ruido o recibe algún tipo de ataques, aquí la señal r se representa este proceso de distorsión. Finalmente en receptor recibe una señal marcada y distorsionada Y, se calcula correlación cruzado con la señal Rn generado por misma llave K para determinar la presencia de la marca de agua.El proceso de inserción se puede expresar como gRn
X
Xw (3.4)
La distorsión causada por el proceso de inserción se puede representar como
Rn Rn
gRn
D (3.5)
Donde denota norma x x,x y
1
0
,
N
i i iy x y
x
El canal de comunicación se puede modelar como ruido aditivo,
r Xw
Y
(3.6)28 | P á g i n a La extracción de marca de agua se lleva a cabo con un cálculo correlación cruzada, la cual está dado por
2 2
2 2 2
2
, ,
, ,
, ,
Rn Rn
Rn Rn
Rn
Rn r Rn X Rn
g Rn r X gRn Rn
r Xw Rn
Rn Rn Y
2 2
, ,
Rn Rn
Rn r Rn g X
(3.7)Para simplificar asunto sin perder generalidad, la señal de audio X y señal de ruido r se puede considerar que se obedecen a una distribución normal.
) , 0 (
x2i N
x
, ri N( 0 ,
r2)
(3.8)La estadística del valor de correlación se calcula como:
) , ( 2
N m (3.9)
Donde m E
g y 22 2 2
Rn r X
N
3.3.1 Algoritmos importantes basados en espectro esparcido
Debido a buen funcionamiento del algoritmo de Espectro Esparcido (SS), hasta la fecha se han desarrollado un número considerablemente grande de los algoritmos basados en SS. En esta sección se describen algunos algoritmos relevantes que utilizan método de espectro esparcido.
(1) Algoritmo temporal propuesto por Bassia et al.
Bassia et al. propusieron un algoritmo de marca de agua basado en el método de espectro esparcido para audio digital[14] . En primer lugar, la señal de audio se segmenta en varios bloques y la misma secuencia de marca de agua se inserta repetidamente a todos los bloques.
En esta forma, la marca de agua se puede extraer después que la señal de audio fue recortada.
La secuencia de la marca de agua original es una secuencia binaria bipolar generada aleatoriamente por una llave secreta. Sin embargo, antes de insertar a la señal de audio, esta secuencia es modulada por la señal de audio para generar una secuencia dependiente de la
29 | P á g i n a señal de audio y después se aplica un filtro pasa baja para suavizarla. Finalmente la secuencia de marca de agua modulada y suavizada se inserta dentro de la señal de audio usando la fórmula aditiva. La detección de la secuencia de marca de agua se llevo a cabo por cálculo de correlación cruzada.
Los autores demuestran la robustez de la marca de agua contra diversos ataques, tales como compresión MPEG, filtraje y re-muestreo, sin embargo la robustez contra contaminación de diferentes tipos de ruido, eco, adición de zumbido, etc. que proporciona la evaluación
“AudioStirmark” no están reportada. Debido a una inserción temporal, adición de ruido y zumbido se podría destruir la secuencia de marca de agua por completo.
(2) Algoritmo en el dominio de MCLT propuesto por Kirovski et al. [17]
El algoritmo propuesto por Kirovski et al. se realiza inserción y detección de marca de agua usando el método de espectro esparcido (SS) en el dominio de “Modulated Complex Lapped Transform (MCLT)”, el cual es una transformada parecida a banco de filtro de DFT [17] . Debido a un sobre-muestreo, se puede reconstruir la señal de audio en una manera perfecta.
La señal de audio se segmentan en varios bloques y MCLT se aplica cada uno de los bloques. La secuencia de marca de agua se inserta en la magnitud de la MCLT y la transformada inversa de MCLT se aplica a la magnitud marcada junto con la fase para construir la señal de audio marcada. El esquema muestra robustez contra varios ataques, aunque el esquema es vulnerable contra ataque de cambio de amplitud. En [44] , los autores propusieron una mejora de este esquema usando algoritmo de QIM y modulación racional.
(3) Algoritmo en dominio de cepstrum propuesto por Lee y Ho [26]
En [26] , autores propusieron un algoritmo espectro esparcido (SS) en el dominio cepstrum. El cepstrum de la señal de audio se obtiene en (3.10).
ln ( ( ))
)
( n IDFT DFT x n
c
x
(3.10)Donde x(n) es la señal de audio, cx(n) es la n-ésimo coeficiente de cepstrum y ln denota logaritmo natural.
El cálculo de cepstrum se muestra la Figura 3.5.
30 | P á g i n a
Figura 3.5 Cálculo de Cepstrum
La principal ventaja de los coeficientes de cepstrum es su ortogonalidad, la cual es aprovechada para insertar múltiples marcas de agua sin que intervengan mutuamente, como se muestra en la Figura 3.6. La inserción de la marca de agua se realiza en forma aditiva como se muestra en la ecuación (3.11) y la energía de marca de agua α es adaptable a la relación señal a enmascaramiento cepstral.
) ( ) ( )
(
n c n wncy x
(3.11)El esquema es robusto contra casi todos los ataques que proporciona AudioStirmark, Sin embargo este método requiere la señal de audio original en el proceso de detección de la marca de agua [32] .
(a) (b)
Figura 3.6 Respuesta de detector de marca de agua. (a) respuesta de una marca de agua (b) respuesta de múltiple marcas de agua.
En el método de espectro esparcido, la señal de marca de agua es generalmente robusta a varios tipos de ataques. Sin embargo, la cantidad de información que se puede ocultar es limitada por el requerimiento de imperceptibilidad. En el algoritmo de SS, se requiere un ajuste adecuado entre energía de inserción de marca de agua g, robustez e imperceptibilidad para obtener un buen funcionamiento global.
0 5 10 15 20 25 30 35 40 45 50
0 0.5 1 1.5 2 2.5 3
0 5 10 15 20 25 30 35 40 45 50
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
31 | P á g i n a
3.4 Algoritmo QIM
El concepto de QIM (Quantization Index Modulation) [18] se desarrolla en base al esquema de marcado de la Figura 3.7, en el cual m es la marca de agua, x es la señal original y s(x,m) es la función para incrustar la marca de agua, la cual depende de m. La señal marcada s debido a ataques puede sufrir algunas alteraciones, por lo tanto, en el decodificador se espera una señal muy idéntica a s pero no la misma, denotada como y. Al final se obtiene la marca de agua recuperada m’ a partir de y.
Figura 3.7 Modelo básico de marcado de agua QIM
La señal original x, es marcada con la función s(x,m) para obtener la señal marcada s. Suponiendo que la función s(x,m) es un conjunto de funciones x que dependen de m, es decir, que se tienen tantas funciones como valores de m. A este conjunto de funciones se le denota como s(x;m) para hacer hincapié en que s es un conjunto de funciones x indexadas por m, el cual debe cumplir con la ecuación 3.12 para que la distorsión en la señal original sea razonable.
𝑠 𝑥; 𝑚 ≈ 𝑥, ∀ 𝑚 (3.12)
Figura 3.8 Funciones de cuantificación con intersección de rangos.
El punto S0 Figura 3.8 representa el rango de las dos funciones continuas cualesquiera s(x;1) y s(x:2). Aunque no hubiera perturbaciones o ataques en el canal, cuando se obtiene y= S0 el