ES2440970T3 - Decodificador de marca de agua y procedimiento para proporcionar datos de mensaje binario - Google Patents

Decodificador de marca de agua y procedimiento para proporcionar datos de mensaje binario Download PDF

Info

Publication number
ES2440970T3
ES2440970T3 ES11704464.4T ES11704464T ES2440970T3 ES 2440970 T3 ES2440970 T3 ES 2440970T3 ES 11704464 T ES11704464 T ES 11704464T ES 2440970 T3 ES2440970 T3 ES 2440970T3
Authority
ES
Spain
Prior art keywords
watermark
synchronization
signal
frequency
domain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES11704464.4T
Other languages
English (en)
Inventor
Stefan Wabnik
Joerg Pickel
Bert Greevenbosch
Bernhard Grill
Ernst Eberlein
Giovanni Del Galdo
Stefan Kraegeloh
Reinhard Zitzmann
Juliane Borsum
Marco Breiling
Tobias Bliem
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Application granted granted Critical
Publication of ES2440970T3 publication Critical patent/ES2440970T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/018Audio watermarking, i.e. embedding inaudible data in the audio signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Un descodificador (2400) de marca de agua (2442) para proporcionar datos de mensaje binario dependiendo de una señal de marca de agua (2402), que comprende: un proveedor de representación de dominio-frecuencia-tiempo (2410), configurado para proporcionar una representación de dominio-frecuencia (2412) de la señal de marca de agua (2402) para una pluralidad de bloques de tiempo; una unidad de memoria (2420) configurada para almacenar la representación de dominio-frecuencia (2412) de la señal de marca de agua (2402) para una pluralidad de bloques de tiempo; un determinador de sincronización (2430) configurado para identificar un bloque temporal de alineamiento (2432) con base en la representación de dominio-frecuencia (2412) de la señal con marca de agua (2402) de una pluralidad de bloques de tiempo; y un extractor de marca de agua (2440) configurado para proporcionar datos de mensaje binario (2442) con base en representaciones de dominio-frecuencia (2422) almacenadas de la señal con marca de agua (2402) de bloques de tiempo que preceden temporalmente al bloque temporal de alineamiento identificado (2432) considerando una distancia al bloque temporal de alineamiento identificado (2432).

Description

Decodificador de marca de agua y procedimiento para proporcionar datos de mensaje binario
Campo Técnico
[0001] Las realizaciones de acuerdo con la invención se relacionan con sistemas de marca de audio y más particularmente a un descodificador de marca de agua y un procedimiento para proporcionar datos de mensajes binarios.
Antecedentes de la Invención
[0002] En muchas aplicaciones técnicas, se desea incluir una información adicional en una señal que representa la información o datos útiles o "datos principales" como, por ejemplo, una señal de audio, una señal de vídeo, gráficos, una cantidad de medición y así sucesivamente. En muchos casos, se desea incluir la información adicional tal que la información adicional está enlazada a los datos principales (por ejemplo, datos de audio, datos de vídeo, datos de imágenes fijas, datos de medición, datos de texto, etc.) en una forma que no es perceptible por un usuario de los datos mencionados. También, en algunos casos es deseable incluir los datos adicionales tales que los datos adicionales no son fácilmente extraíbles de los datos principales (por ejemplo, datos de audio, datos de vídeo, datos de imágenes fijas, datos de medición, y así sucesivamente).
[0003] Esto es particularmente cierto en las aplicaciones en las que es deseable para implementar administración de derechos digitales. Sin embargo, a veces se desea simplemente añadir información lateral o secundaria sustancialmente imperceptible a los datos útiles. Por ejemplo, en algunos casos es deseable añadir información lateral a los datos de audio, de tal manera que la información lateral proporciona una información sobre la fuente de los datos de audio, el contenido de los datos de audio, los derechos relacionados con los datos de audio y así sucesivamente.
[0004] Para incrustar datos adicionales en datos útiles o "datos principales", un concepto llamado "marca de agua digital" puede ser utilizado. Conceptos de marcas de agua se han discutido en la literatura para muy diferentes tipos de datos útiles, como datos de audio, datos de imágenes fijas, datos de video, datos de texto y así sucesivamente.
[0005] A continuación, se darán algunas referencias en donde los conceptos de marcas de agua se discuten. Sin embargo, la atención del lector se dirige también al vasto campo de la literatura de libros de texto y publicaciones relacionadas con marcas de agua digitales para más detalles.
[0006] DE-196 40 814 C2 describe un procedimiento de codificación para la introducción de una señal no audible datos en una señal de audio y un procedimiento para decodificar una señal de datos, que está incluido en una señal de audio en una forma no audible. El procedimiento de codificación para la introducción de una señal no audible datos en una señal de audio comprende la conversión de la señal de audio en el dominio espectral. El procedimiento de codificación comprende también la determinación del umbral de enmascaramiento de la señal de audio y suministar una señal de seudo ruido. El procedimiento de codificación también comprende proporcionar la señal de datos y multiplicando la señal de seudo ruido con la señal de datos, a fin de obtener una señal de datos de dispersión en frecuencia. El procedimiento de codificación comprende también la ponderación de la señal de datos de propagación con el umbral de enmascaramiento y la superposición de la señal de audio y la señal de datos ponderada.
[0007] Además, el documento WO 93/07689 describe un procedimiento y aparato para la identificación automática de un programa emitido por una estación de radio o por un canal de televisión, o grabada en un medio, mediante la adición de un mensaje codificado inaudible para la señal de sonido del programa, el mensaje identifica el canal o de la estación de difusión, el programa y / o la fecha exacta. En una realización discutida en dicho documento, la señal de sonido se transmite a través de un convertidor analógico-digital a un procesador de datos que permita componentes de frecuencia que se separan, y permitiendo a la energía en algunos de los componentes de frecuencia que sea alterada de una manera predeterminada para formar un mensaje de identificación codificado. La salida del procesador de datos está conectada por un convertidor digital-analógico a una salida de audio para la radiodifusión o grabación de la señal de sonido. En otra realización discutida en dicho documento, un paso de banda analógico se emplea para separar una banda de frecuencias de la señal de sonido, de manera que la energía en la banda separada puede ser así alterada para codificar la señal de sonido.
[0008] La patente de los E.U.A. No. 5,450,490 describe un aparato y procedimientos para la inclusión de un código que tiene al menos un componente de frecuencia de código en una señal de audio. Las capacidades de los diversos componentes de frecuencia en la señal de audio para enmascarar el componente de frecuencia de código para la audición humana se evalúan y sobre la base de estas evaluaciones se asigna una amplitud de la componente de frecuencia de código. Procedimientos y aparatos para la detección de un código en una señal de audio codificada también se describen. Un componente de frecuencia de código en la señal de audio codificada se detecta sobre la base de una amplitud de código esperado o sobre una amplitud del ruido dentro de un rango de frecuencias de audio, incluyendo la frecuencia del componente de código.
[0009] WO 94/11989 describe un procedimiento y aparato para codificar/descodificar segmentos de difusión o grabados y supervisar la exposición del auditorio a los mismos. Se describen procedimientos y aparatos para codificar y descodificar información en difusiones o señales de segmento grabados. En una realización descrita en el documento, un sistema de supervisión de auditorio codifica información de identificación en la porción de señal de audio de una difusión o un segmento grabado utilizando codificación de espectro expandido. El dispositivo de supervisión recibe una versión reproducida acústicamente de la difusión o señal grabada mediante un micrófono, descodifica la información de identificación de la porción de señal de audio a pesar de interferencia ambiente significante y almacena esta información, proporcionando automáticamente un diario para el miembro del auditorio, que posteriormente se carga a una instalación centralizada. Un dispositivo de supervisión separado descodifica información adicional de la señal de difusión, que se acopla con la información diaria de auditorio en la instalación central. Este monitor puede enviar simultáneamente datos a la instalación centralizada utilizando una línea de teléfono de conexión por línea conmutada, y recibe datos de la instalación centralizada a través de una señal codificada utilizando una técnica de espectro expandido y modulada con una señal de difusión de una tercera parte.
[0010] WO 95/27349 describe aparatos y procedimientos que incluyen códigos en señales de audio y descodificación. Un aparato y procedimientos para incluir un código que tiene cuando menos un componente de frecuencia de código en una señal de audio, se describe. Las capacidades de los diversos componentes de frecuencia en la señal de audio para enmascarar el componente de frecuencia de código a la audición humana y basado en estas evaluaciones, una amplitud se asigna a los componentes de frecuencia de código. Procedimientos y aparatos para detectar un código en una señal de audio codificada también se describen. Un componente de frecuencia de código en la señal de audio codificada se detecta con base en una amplitud de código esperada o en una amplitud de interferencia dentro de un intervalo de componentes de frecuencia de audio incluyendo la frecuencia del componente de código.
[0011] TACHIBANA R Y OTROS: "An audio watermarking method using a two-dimensional pseudo-random array", SIGNAL PROCESSING, ELSEVIER SCIENCE PUBLISHERS B.V. AMSTERDAM, NL, vol. 82, no. 10, 1 Octubre 2002 (2002-10-01), páginas 1455-1469, XP004381236 describe un sistema de marca de audio propagado en espectro robusto.
[0012] Sin embargo, un problema de los sistemas de marca de agua conocidos es que la duración de una señal de audio, a menudo es muy corta. Por ejemplo, un usuario puede cambiar rápido entre estaciones de radio o la bocina que reproduce la señal de audio está lejos, de manera tal que la señal de audio es muy débil. Además, la señal de audio en general puede ser muy corta tal como por ejemplo en señales de audio empleadas para publicidad. En forma adicional, una señal de marca de agua usualmente solo tiene muy baja velocidad de bit. Por lo tanto, la cantidad de datos de marca de agua disponibles normalmente es muy baja.
[0013] En vista de esta situación, un objeto de la presente invención es crear un concepto mejorado para proporcionar datos de mensaje binario en dependencia de una señal de marca de agua que permite incrementar la cantidad de datos de mensaje binario obtenidos de la señal de marca de agua digital.
RESUMEN DE LA INVENCIÓN
[0014] El objeto se resuelve por un detector de marca o marca de agua de acuerdo con la reivindicación 1 o un procedimiento de acuerdo con la reivindicación 10.
[0015] Una realización de acuerdo con la invención proporciona un descodificador de marca de agua para proporcionar datos de mensaje binario en dependencia de marca de agua digital. El descodificador de marca de agua comprende un proveedor de representación de dominio-tiempo-frecuencia, una unidad de memoria, un determinador de sincronización y un extracto de marca de agua digital. El proveedor de representación de dominiofrecuencia-tiempo se configura para proporcionar una representación de dominio-frecuencia de la señal de marca de agua para una pluralidad de bloques de tiempo. La unidad de memoria se configure para almacenar la representación de dominio-frecuencia de la señal de marca de agua digital, para una pluralidad de bloques de tiempo. Además, el determinador de sincronización se configura para identificar un bloque temporal de alineamiento con base en la representación de dominio-frecuencia-tiempo de la señal de marca de agua de una pluralidad de bloques de tiempo. El extractor de marca de agua se configura para proporcionar datos de mensaje binario que se basan en representaciones de dominio-frecuencia-tiempo de la señal de marca de agua temporalmente precedentes al bloque temporal de alineamiento identificado considerando una distancia al bloque temporal de alineamiento identificado.
[0016] Es la idea clave de la presente invención almacenar la representación de dominio-frecuencia de la señal con marca de agua y utilizar una información de sincronización (el bloque temporal de alineamiento identificado) para recuperar los datos de mensaje binario también de los mensajes temporalmente precedentes. De esta manera, la cantidad de datos de mensaje binario obtenidos o información de marca de agua contenida por la señal de marca de agua puede ser incrementada de manera significativa, ya que también datos de bloques de tiempo recibidos antes de una sincronización están disponibles pueden explotarse al proporcionar datos de mensaje binario.
[0017] Por lo tanto, la posibilidad de obtener información de marca de agua completa contenida por una señal de audio puede incrementarse especialmente para un rápido cambio entre señales de audio diferentes.
[0018] Algunas realizaciones de acuerdo con la invención se refieren a un descodificador de marca de agua que comprende un descodificador de redundancia configurado para proporcionar datos de mensaje binario de un mensaje incompleto de una señal de marca de agua que temporalmente precede a un mensaje que contiene el bloque de alineamiento identificado utilizando datos redundantes del mensaje incompleto. De esta manera, puede ser posible recuperar también información de marca de agua de mensajes incompletos.
[0019] Adicionales realizaciones de acuerdo con la invención se refieren a un descodificador de marca de agua con un determinador de sincronización configurado para identificar el bloque temporal de alineamiento con base en una pluralidad de secuencias de sincronización predefinidas y con base en datos de mensaje binario de un mensaje de la señal de marca de agua digital. Esto puede realizarse, si una cantidad de bloques de tiempo contenidos por el mensaje de la señal de marca de agua son más grandes que una cantidad de diferentes secuencias de sincronización predefinidas, contenidas por la pluralidad de secuencias de sincronización predefinidas. Si un mensaje comprende más bloques de tiempo que una cantidad de secuencias de sincronización predefinidas disponibles, el determinador de sincronización puede identificar más de un bloque temporal de alineamiento dentro de un solo mensaje. Para decidir cuál de estos bloques de tiempo de alineamiento identificados es el correcto (por ejemplo indicando el inicio de un mensaje), los datos de mensaje binario del mensaje que contiene los bloques de tiempo de alineamiento identificado pueden ser analizados para obtener una sincronización correcta.
[0020] Algunas realizaciones adicionales de acuerdo con la invención se refieren a un descodificador de marca de agua con un extractor de marca de agua configurado para proporcionar adicionales datos de mensaje binario con base en representaciones de dominio-frecuencia de la señal de marca de agua de bloques de tiempo que siguen temporalmente al bloque temporal de alineamiento identificado, considerando una distancia al bloque temporal de alineamiento identificado. En otras palabras, puede ser suficiente identificar un bloque temporal de alineamiento un tiempo y utilizar la sincronización para mensajes temporalmente subsecuentes. La sincronización (que identifica un bloque temporal de alineamiento) puede ser repetida después de un tiempo predefinido.
[0021] Adicionales realizaciones de acuerdo con la invención se refieren a un descodificador de marca de agua que comprende un descodificador de redundancia y un extractor de marca de agua configurado para proporcionar datos de mensaje binario con base en representaciones de dominio-frecuencia de la señal de marca de agua de bloques de tiempo temporalmente, ya sea después de o precedentes al bloque temporal de alineamiento identificado, considerando una distancia al bloque temporal de alineamiento identificado y utilizando datos redundantes de un mensaje incompleto. De esta manera, puede ser posible recuperar también información de marca de agua de mensajes incompletos, en donde la información de marca de agua faltante ya es precedente o subsecuente al bloque de alineamiento identificado. Esto es útil si ocurre un cambio de una fuente de audio que contiene un marca de agua a otra fuente de audio que contiene un marca de agua ″a la mitad″ del mensaje de marca de agua digital. En ese caso, puede ser posible recuperar la información de marca de agua de ambas fuentes de audio en el tiempo de cambio, incluso si ambos mensajes son incompletos, es decir si el tiempo de transmisión para ambos mensajes de marca de agua se superpone.
[0022] Algunas realizaciones adicionales de acuerdo con la invención también crean un procedimiento para proporcionar datos de mensaje binario. El procedimiento se basa en los mismos hallazgos que el aparato discutido anteriormente.
BREVE DESCRIPCIÓN DE LAS FIGURAS
[0023] Realizaciones de acuerdo con la invención se describirán subsecuentemente tomando referencia a las figuras anexas, en donde:
La Figura 1 muestra un diagrama esquemático de bloques de un insertador de marca de agua de acuerdo con una realización de la invención;
La Figura 2 muestra un diagrama esquemático de bloques de un descodificador de marca de agua digital, de acuerdo con una realización de la invención;
La Figura 3 muestra un diagrama esquemático de bloques detallado de un generador de marca de agua de acuerdo con una realización de la invención;
La Figura 4 muestra un diagrama esquemático de bloques detallado de un modulador, para utilizar en una realización de la invención;
La Figura 5 muestra un diagrama esquemático de bloques detallado de un módulo de procesamiento psicoacústico
para utilizar en una realización de la invención; La Figura 6 muestra un diagrama esquemático de bloques de un procesador de modelo psicoacústico para utilizar en una realización de la invención;
La Figura 7 muestra una representación gráfica de un espectro de energía de una salida de señal de audio por el
bloque 801 sobre frecuencia; La Figura 8 muestra una representación gráfica de un espectro de energía de una salida de señal de audio por el bloque 802 sobre frecuencia;
La Figura 9 muestra un diagrama esquemático de bloques de un cálculo de amplitud;
La Figura 10a muestra un diagrama esquemático de bloques de un modulador;
La Figura 10b muestra una representación gráfica de la ubicación de coeficientes en la reivindicación de frecuencia
tiempo;
Las Figuras 11a y 11b muestran diagramas esquemáticos de bloques de alternativas de implementación del módulo de sincronización; La Figura 12a muestra una representación gráfica del problema de hallar el alineamiento temporal de una marca de
agua digital; La Figura 12b muestra una representación gráfica del problema de identificar el inicio de mensaje; La Figura 12c muestra una representación gráfica de un alineamiento temporal de secuencias de sincronización en
un modo de sincronización de mensaje completo;
La Figura 12d muestra una representación gráfica del alineamiento temporal de las secuencias de sincronización en
un modo de sincronización de mensaje parcial;
La Figura 12e muestra una representación gráfica de datos de alimentación del módulo de sincronización;
La Figura 12f muestra una representación gráfica de un concepto para identificar un bit de sincronización;
La Figura 12g muestra un diagrama esquemático de bloques de un correlacionador de firma de sincronización;
La Figura 13a muestra una representación gráfica de un ejemplo de concentrado temporal;
La Figura 13b muestra una representación gráfica de un ejemplo para una multiplicación a manera de elemento
entre bits y secuencias de concentrado;
La Figura 13c muestra una representación gráfica de una salida del correlacionador de firma de sincronización después de promedio temporal; La Figura 13d muestra una representación gráfica de la salida de un correlacionador de firma de sincronización
filtrado con sincronización con la función de autocorrelación de la firma de sincronización;
La Figura 14 muestra un diagrama esquemático de bloques de un extractor de marca de agua de acuerdo con una realización de la invención; La Figura 15 muestra una representación esquemática de una selección de una parte de la representación de
dominio-frecuencia-tiempo como un mensaje candidato; La Figura 16 muestra un diagrama esquemático de bloques de un módulo de análisis; La Figura 17a muestra una representación gráfica de una salida de un correlacionador de sincronización; La Figura 17b muestra una representación gráfica de mensajes descodificados; La Figura 17c muestra una representación gráfica de una posición de sincronización que se extrae de una señal de
marca de agua digital;
La Figura 18a muestra una representación gráfica de una carga útil, una carga útil con secuencia de terminación Viterbi, una carga útil codificada Viterbi y una versión codificada de repetición de la carga útil codificada Viterbi;
La Figura 18b muestra una representación gráfica de sub-portadoras utilizadas para incrustar una señal de marca de agua digital;
La Figura 19 muestra una representación gráfica de un mensaje no codificado, de un mensaje codificado, un mensaje de sincronización y una señal de marca de agua digital, en donde la secuencia de sincronización se aplica a los mensajes;
La Figura 20 muestra una representación esquemática de una primera etapa de un concepto así llamado
“sincronización ABC”;
La Figura 21 muestra una representación gráfica de una segunda etapa del concepto así llamado “sincronización ABC”;
La Figura 22 muestra una representación gráfica de una tercera etapa del concepto así llamado “sincronización ABC”;
La Figura 23 muestra una representación gráfica de un mensaje que comprende una carga útil y una porción CRC;
La Figura 24 muestra un diagrama de bloques de un decodificador de marca o marca de agua de acuerdo con una realización de la invención;
La Figura 25 muestra un diagrama de flujo de un procedimiento para proporcionar datos de mensaje binario, de acuerdo con una realización de la invención.
Descripción Detallada de las Realizaciones
1. Descodificador de marca de agua digital
[0024] La Figura 24 muestra un diagrama de bloques de un descodificador de marca de agua 2400 para proporcionar datos de mensaje binario 2442 en dependencia de una señal con marca de agua 2402 de acuerdo con una realización de la invención. El descodificador con marca de agua 2400 comprende un proveedor de representación de dominio-frecuencia-tiempo 2410, una unidad de memoria 2420, un determinador de sincronización 2430 y un extractor de marca de agua 2440. El proveedor de representación-tiempo-frecuencia 2410 se conecta al determinador de sincronización 2430 y la unidad de memoria 2420. Además, el determinador de sincronización 2430 así como la unidad de memoria 2420 se conectan al extractor de marca de agua 2440. El proveedor de representación de dominio-frecuencia-tiempo 2410 proporciona una representación de dominiofrecuencia 2412 de la señal con marca de agua 2402 para una pluralidad de bloques de tiempo. La unidad de memoria 2420 almacena la representación de dominio-frecuencia 2412 de la señal con marca de agua 2402 para una pluralidad de bloques de tiempo. Además, el determinador de sincronización 2430 identifica un bloque temporal de alineamiento 2432 con base en la representación de dominio-frecuencia 2412 de la señal con marca de agua 2402 de una pluralidad de bloques de tiempo. El extractor de marca de agua 2440 proporciona datos de mensaje binario 2442 con base en representaciones de dominio-frecuencia 2422 almacenados de una señal con marca de agua 2402 de bloques de tiempo que preceden temporalmente el bloque temporal de alineamiento identificado 2432 considerando una distancia al bloque temporal de alineamiento identificado 2432.
[0025] Por este enfoque de vista hacia atrás, también datos de mensaje binario de mensajes recibidos antes de una sincronización al identificar un bloque temporal de alineamiento 2432 está disponible, pueden explotarse. Por lo tanto, la cantidad de datos de mensaje binario obtenido contenidos por una señal con marca de agua recibida puede incrementarse de manera significativa.
[0026] En esta conexión, considerando una distancia al bloque temporal de alineamiento identificado 2432 significa por ejemplo, que una distancia de un bloque de tiempo, la representación de dominio-frecuencia almacenada asociada se utiliza para generar los datos de mensaje binario, al bloque temporal de alineamiento identificado 2432 se considera para la generación de los datos de mensaje binario 2442. La distancia por ejemplo puede ser una distancia temporal (por ejemplo el bloque de tiempo precedente se proporciona por el proveedor de representación de dominio-frecuencia-tiempo x segundos antes que el bloque temporal de alineamiento identificado se proporciona por el proveedor de representación de dominio-frecuencia-tiempo) o una cantidad de bloques de tiempo entre el bloque de tiempo precedente y el bloque temporal de alineamiento identificado 2432. Al considerar la distancia al bloque temporal de alineamiento identificado 2432, puede ser posible una asignación correcta de bloques de tiempo precedentes al bloque temporal de alineamiento 2432 a un mensaje, de manera tal que los datos de mensaje binarios de este mensaje precedente pueden recuperarse y proporcionarse por el extractor de marca de agua 2440. El bloque temporal de alineamiento 2432 puede ser por ejemplo, el primer bloque de tiempo de un mensaje, el último bloque de tiempo de un mensaje o un bloque de tiempo predefinido dentro de un mensaje permitiendo encontrar el inicio de un mensaje. Un mensaje puede ser un paquete de datos que contiene una pluralidad de bloques de tiempo que están juntos.
[0027] La representación de dominio-frecuencia de la señal de marca de agua para una pluralidad de bloques de tiempo también puede denominarse una representación de dominio-frecuencia-tiempo de la señal con marca de agua digital.
[0028] Opcionalmente, el descodificador con marca de agua 2440 puede comprender un descodificador de redundancia para proporcionar datos de mensaje binario 2442 de un mensaje incompleto de la señal con marca de agua que precede temporalmente un mensaje que contiene un bloque temporal de alineamiento identificado 2432 utilizando datos redundantes del mensaje incompleto. De esta manera, también pueden explotarse mensajes que son incompletos, por ejemplo debido a baja calidad de señal de la señal con marca de agua o la ocurrencia de un mensaje incompleto al inicio de la señal con marca de agua digital.
[0029] Además, el determinador de sincronización 2430 puede identificar el bloque temporal de alineamiento 2432 con base en una pluralidad de secuencias de sincronización predefinidas y con base en datos de mensaje binario de un mensaje de la señal con marca de agua digital. En este ejemplo, el número de bloques de tiempo contenidos por el mensaje de la señal con marca de agua es más grande que la cantidad de diferentes secuencias de sincronización predefinidas contenidas por la pluralidad de secuencias de sincronización predefinidas. De esta manera, también es posible un sincronización correcta si más de un bloque temporal de alineamiento se identifica dentro de un mensaje. En otras palabras, para la sincronización correcta (identificar el bloque de alineamiento de tiempo correcto), puede analizarse el contenido de un mensaje.
[0030] Una secuencia de sincronización puede comprender un bit de sincronización por cada coeficiente de banda de frecuencia de la representación de dominio-frecuencia de la señal con marca de agua digital. La representación de dominio-frecuencia 2432 puede comprender coeficientes de banda de frecuencia por cada banda de frecuencia del dominio de frecuencia.
[0031] Los datos de mensaje binarios suministrados 2442 pueden representar el contenido de un mensaje de la señal con marca de agua 2402 temporalmente precedente a un mensaje que contiene el bloque de alineamiento identificado 2432.
[0032] Opcionalmente, el extractor de marca de agua 2440 puede proporcionar adicionales datos de mensaje binario con base en representación de dominio-frecuencia 2412 de la señal con marca de agua 2402 de bloques de tiempo temporalmente subsecuentes al bloque temporal de alineamiento identificado 2432 considerando una distancia al bloque temporal de alineamiento identificado 2432. Esto puede denominarse un enfoque de vista preliminar y permite proporcionar adicionales datos de mensaje binario de mensajes que siguen al mensaje que contiene el bloque temporal de alineamiento identificado sin mayor sincronización. De esta manera, solo puede ser suficiente una sincronización. En forma alterna, un bloque temporal de alineamiento puede ser identificado periódicamente (por ejemplo por cada 4o, 8o o 16o mensaje).
[0033] Adicionales realizaciones de acuerdo con la invención se refieren a un descodificador de marca de agua que comprende un descodificador de redundancia y un extractor de marca de agua configurados para proporcionar datos de mensaje binario con base en representaciones de dominio-frecuencia de la señal con marca de agua de bloques de tiempo temporalmente ya sea siguientes o precedentes al bloque temporal de alineamiento identificado, considerando una distancia con bloque temporal de alineamiento identificado y utilizando datos redundantes de un mensaje incompleto. De esta manera, puede ser posible recuperar también información de marca de agua de mensajes incompletos, en donde la información de marca de agua faltante ya es precedente o siguiente al bloque temporal de alineamiento identificado. Esto es útil si ocurre un cambio de una fuente de audio que contiene un marca de agua a otra fuente de audio que contiene un marca de agua ″a la mitad″ del mensaje con marca de agua digital. En ese caso, puede ser posible recuperar la información de marca de agua de ambas fuentes de audio en el tiempo de cambio, incluso si ambos mensajes son incompletos, es decir si el tiempo de transmisión para ambos mensajes de marca de agua se superponen.
[0034] En otras palabras, las fuentes de audio con el marca de agua (mensajes) pueden cambiarse ″a la mitad″ (o
alguna parte dentro del mensaje) del marca de agua (mensaje). Debido al descodificador de redundancia y el mecanismo de vista hacia atrás, ambos mensajes de marca de agua pueden ser recuperados, aunque puedan estar traslapados.
[0035] La unidad de memoria 2420 puede liberar el paso de memoria que contiene una representación de dominiofrecuencia almacenada 2422 de la señal con marca de agua 2402 después de un tiempo de almacenamiento predefinido para borrar o sobrescribir. De esta manera, el espacio de memoria necesario puede mantenerse bajo, ya que las representaciones de dominio-frecuencia 2412 solo se almacenan por un corto tiempo y después el espacio de memoria puede ser reutilizado al seguir representaciones de dominio-frecuencia 2412 que se proporcionan por el proveedor de representación-frecuencia-tiempo 2410. Adicionalmente, o en forma alterna, la unidad de memoria 2420 puede liberar el espacio de memoria que contiene una representación de dominio-frecuencia almacenada 2422 de la señal con marca de agua 2402 después que datos de mensaje binarios 2442 se obtienen por el extractor de marca de agua 2440 de la representación de dominio de frecuencia almacenada 2422 de la señal con marca de agua 2402 para borrar o sobrescribir. De esta manera, también puede reducirse el espacio de memoria necesario.
2. Procedimiento para proporcionar datos de mensaje binario
[0036] La Figura 25 muestra un diagrama de flujo de un procedimiento 2500 para proporcionar datos de mensaje binario dependiendo de una señal con marca de agua de acuerdo con una realización de la invención. El procedimiento 2500 comprende proporcionar en 2510 una representación de dominio-frecuencia de la señal con marca de agua para una pluralidad de bloques de tiempo y almacenar en 2520 la representación de dominiofrecuencia de la señal con marca de agua para una pluralidad de bloques de tiempo. Además, el procedimiento 2500 comprende identificar en 2530 un bloque temporal de alineamiento con base en una representación de dominiofrecuencia de la señal con marca de agua de una pluralidad de bloques de tiempo y proporcionar en 2540 datos de mensaje binario con base en representaciones de dominio-frecuencia almacenadas de la señal con marca de agua de bloques de tiempo que preceden temporalmente al bloque temporal de alineamiento identificado considerando una distancia al bloque temporal de alineamiento identificado.
[0037] Opcionalmente, el procedimiento puede comprender adicionales etapas correspondientes a las características del aparato descrito anteriormente.
3. Descripción del Sistema
[0038] A continuación, se describirá un sistema para transmisión de marca de agua digital, que comprende un insertador de marca de agua y un descodificador de marca de agua digital. Naturalmente, el insertador de marca de agua y el descodificador de marca de agua pueden emplearse independientemente entre sí.
[0039] Para la descripción del sistema, un enfoque jerárquico del sistema aquí se elige. Primero, se distingue entre codificador y descodificador. Después, en las secciones 3.1 a 3.5 se describe en detalle cada bloque de procesamiento.
[0040] La estructura básica del sistema puede verse en las Figuras 1 y 2, que ilustran el lado codificador y descodificador, respectivamente. La Figura 1 muestra un diagrama esquemático de bloques de un insertador de marca de agua 100. En el lado codificador, la señal de marca de agua 101b se genera en el bloque de procesamiento 101 (también designado como generador de marca de agua digital) a partir de datos binarios 101a y en base a información 104, 105 intercambia con el módulo de procesamiento psicoacústico 102. La información que se proporciona del bloque 102 típicamente garantiza que la marca de agua sea inaudible. La marca de agua producida por el generador de marca de agua 101 después se agrega a la señal de audio 106. La señal de marca de agua 107 puede entonces ser transmitida, almacenada o procesada adicionalmente. En caso de un archivo de multimedia, por ejemplo un archivo de audio-video, se requiere agregar un retardo adecuado a la corriente de video para no perder la sincronía de audio-video. En caso de una señal de audio de múltiples canales, cada canal se procesa por separado como se explica en este documento. Los bloques de procesamiento 101 (generador de marca de agua digital) y 102 (módulo de procesamiento psicoacústico) se explican en detalle en las Secciones 3.1 y 3.2, respectivamente.
[0041] El lado descodificador se ilustra en la Figura 2, que muestra un diagrama esquemático de bloques de un detector de marca de agua 200. Una señal de audio con marca de agua 200a, por ejemplo registrada por un micrófono, se hace disponible al sistema 200. Un primer bloque 203, que también se designa como un módulo de análisis, desmodula y transforma los datos (por ejemplo, la señal de audio con marca de agua digital) en dominio de tiempo/frecuencia (de esta manera obteniendo una representación de dominio-frecuencia-tiempo 204 de la señal de audio con marca de agua 200a) la pasa al módulo de sincronización 201, que analiza la señal de alimentación 204 y transporta una sincronización temporal, es decir determina el alineamiento temporal de los datos codificados (por ejemplo de los datos de marca de agua codificados respecto a la representación de dominio-frecuencia-tiempo). Esta información (por ejemplo, la información de sincronización resultante 205) se da al extractor de marca de agua 202, que descodifica los datos (y consecuentemente proporciona los datos binarios 202a, que representan el contenido de datos de la señal de audio con marca de agua 200a).
3.1 El generador de marca de agua 101
[0042] El generador de marca de agua 101 se ilustra en detalla en la Figura 3. Datos binarios (expresados como ±1) para ocultar la señal de audio 106 se dan al generador de marca de agua 101. El bloque 301 organiza los datos 101a en un paquete de igual longitud Mp. Se agregan bits suplementarios (por ejemplo, añadidos) para propósitos de señalización a cada paquete. Sea Ms que denote su número. Su uso se explicará en detalle en la Sección 3.5. Hay que notar que a continuación cada paquete de bits de carga útil junto con los bits suplementarios de señalización se denota mensaje.
[0043] Cada mensaje 301a de longitud Nm = Ms + Mp, se transfiere al bloque de procesamiento 302, el codificador de canal, que es responsable por codificar los bits para protección contra errores. Una realización posible de este módulo consiste de un codificador convolucional junto con un intercalador. La proporción del codificador convolucional influencia enormemente el grado total de protección contra errores del sistema de marca de agua digital. El intercalador, por otra parte, lleva protección contra ráfagas de interferencia o ruido. El intervalo de operación del intercalador puede estar limitado a un mensaje, pero también puede extenderse a más mensajes. Sea Rc que denote la proporción de código, por ejemplo 1/4. El número de bits codificados por cada mensaje es Nm/Rc. El codificador de canal proporciona por ejemplo, un mensaje binario codificado 302a.
[0044] El siguiente bloque de procesamiento, 303 transporta una propagación o ensanchado en dominio de frecuencia. A fin de lograr suficiente proporción de señal a interferencia, la información (por ejemplo, la información del mensaje binario 302a) se propaga y transmite en Nf sub-bandas cuidadosamente seleccionadas. Su posición exacta en frecuencia se decide a priori y se conoce tanto para el codificador como el descodificador. Detalles en la selección de este parámetro de sistema importante se dan en la Sección 3.2.2. La propagación en frecuencia se determina por la secuencia de propagación Cf con tamaño Nf X1. La salida 303 del bloque 303 consiste de Nf Corrientes de bits, una por cada sub-banda. La corriente de bits i-ésima se obtiene al multiplicar el bit de alimentación con el componente i-ésimo de la secuencia de propagación Cf. La propagación más simple consiste de copiar la corriente de bits a cada corriente de salida, es decir uso de una secuencia de propagación de todos los unos.
[0045] El bloque 304, que también se designa como un insertador de esquema de sincronización, agrega una señal de sincronización a la corriente de bits. Una sincronización robusta es importante ya que el descodificador no sabe el alineamiento temporal ni de bits ni de la estructura de datos, es decir, cuando empieza cada mensaje. La señal de sincronización consiste de Ns secuencias de Nf bits cada una. Las secuencias son elementos de forma multiplicada y periódicamente a la corriente de bit (o Corrientes de bits 303a). Por ejemplo, sean a, b, y c, las Ns = 3 secuencias de sincronización (también designadas como secuencias de propagación de sincronización). El bloque 304 multiplica a al primer bit de propagación, b al segundo bit de propagación y c al tercer bit de propagación. Para los siguientes bits, el proceso se itera periódicamente, es decir a al cuarto bit, b para el quinto bit y así en adelante. De acuerdo con esto, se obtiene una información de sincronización-información combinada 304a. Las secuencias de sincronización (también designadas como secuencias de propagación de sincronización) se eligen cuidadosamente para reducir al mínimo el riesgo de una sincronización falsa. Se dan más detalles en la Sección 3.4. También, habrá de notarse que una secuencia a, b, c,... puede ser considerada como una secuencia de secuencias de propagación de sincronización.
[0046] El bloque 305 transporta una propagación en dominio de tiempo. Cada bit de propagación a la entrada, es decir un vector de longitud Nf, se repite en dominio de tiempo Nt tiempos. De manera similar a la propagación en frecuencia, definimos una secuencia de propagación ct con tamaño Ntx1. La repetición temporal i-ésima se multiplica con el componente i-ésimo de ct.
[0047] Las operaciones de los bloques 302 a 305 pueden ponerse en términos matemáticos como sigue. Sea m de tamaño 1 un mensaje codificador, salida de 302. La salida 303a (que puede considerarse como una representación de información de propagación R) del bloque 303 es
cf · m con tamaño Nf x Nm/Rc (1)
la salida 304a del bloque 304, que puede considerarse como una representación combinada de sincronizacióninformación C, es
S ° (cf · m) de tamaño Nf x Nm/Rc (2)
en donde ° denota el producto por elementos Schur - y
S = [ . . . a b c . . . a b . . . ] de tamaño Nf x Nm/Rc (3)
[0048] La salida 305a de 305 es
(S ° (cf · m)) o cTtde tamaño Nf x Nt · Nm/Rc (4)
en donde ° y T denotan el producto Kronecker y transposición, respectivamente. Hay que recordar por favor que los datos binarios se expresan como ±1.
[0049] El bloque 306 realiza una codificación diferencial de los bits. Esta etapa da al sistema robusteza adicional contra desplazamientos de fase debido a movimiento o discordancias de oscilador local. Más detalles en este asunto se dan en la Sección 3.3. Si b(i; j) es el bit para la banda de frecuencia i-ésima y el bloque de tiempo j-ésimo a la entrada del bloque 306, el bit de salida bdiff (i; j) es
bdiff(i, j) = bdiff i, j - 1) · b(i, j) . (5)
[0050] Al inicio de la corriente, esto es para j = 0, bdiff (i,j - 1) se ajusta a 1.
5 [0051] El bloque 307 transporta la modulación actual, es decir, la generación de la forma de onda de la señal de marca de agua dependiendo de la información binaria 306a dada en su alimentación. Un esquemático más detallado se da en la Figura 4. Nf alimentaciones paralelas, 401 a 40Nf contienen las corrientes de bit para las sub-bandas diferentes. Cada bit de cada corriente de sub-banda se procesa por un bloque de conformado de bit (411 a 41Nf). La salida de los bloques de conformado de bit son formas de onda en dominio de tiempo. La forma de onda generada
10 para el bloque de tiempo j-ésimo y la sub-banda i-ésima denotado por Si,j(t), en base al bit de alimentación bdiff (i, j)
en donde γ(i, j) es un factor de ponderación que se proporciona por la unidad de procesamiento psicoacústico 102, Tb es el intervalo de tiempo de bits, y gi(t) es la función de formación de bits para la sub-banda i-ésima. La función de 15 formación de bit se obtiene a partir de una función de banda base giT(t) modulada en frecuencia con un coseno
en donde fi es la frecuencia central de la sub-banda i-ésima y el superíndice T representa el transmisor. Las funciones de banda base pueden ser diferentes para cada sub-banda. Si se eligen idénticas, es posible una implementación más eficiente en el descodificador. Ver Sección 3.3 para más detalles.
20 [0052] Conformado de bit para cada bit se repite en un proceso iterativo controlado por el módulo de procesamiento psicoacústico (102). Son necesarias iteraciones para ajuste fino de los pesos γ(i, j) para asignar la mayor energía posible a la marca de agua mientras que se mantiene inaudible. Se dan más detalles en la Sección 3.2.
más grande que Tb, aunque la energía principal se concentra dentro del intervalo de bit. Un ejemplo puede verse en la Figura 12a, en donde el mismo bit que forma la función de banda base se traza para dos bits adyacentes. En la
30 figura tenemos Tb = 40 ms. La selección de Tb así como la forma de la función afecta considerablemente al sistema. De hecho, símbolos más largos proporcionan respuestas de frecuencia más estrechas. Esto es particularmente benéfico en ambientes reverberantes. De hecho, en estos escenarios, la señal de marca de agua llega al micrófono por varias rutas de propagación, cada una caracterizada por un tiempo de propagación diferente. El canal resultante exhibe fuerte selectividad de frecuencia. Interpretado en dominio de tiempo, símbolos más largos son benéficos
35 como ecos con un retraso comparable con la interferencia constructiva que rinde el intervalo de bit, lo que significa que aumentan la energía de señal recibida. No obstante, símbolos más largos pueden también acarrear algunas cuentas desventajas; más grandes superposiciones pueden llevar a interferencia inter símbolos (ISI) y con seguridad son más difíciles de ocultar en la señal de audio, de manera tal que el módulo de procesamiento psicoacústico permitirá menos energía que para símbolos más cortos.
40 [0055] La señal de marca de agua se obtiene al sumar todas las salidas de los filtros para conformado de bit
3.2 El Módulo de Procesamiento psicoacústico 102
[0056] Como se ilustra en la Figura 5, el módulo de procesamiento psicoacústico 102 consiste de 3 partes. La primera etapa es un módulo de análisis 501 que transforma la señal de audio en tiempo en un dominio de tiempo/frecuencia. Este módulo de análisis puede transportar análisis paralelos en diferentes resoluciones de tiempo/frecuencia. Después del módulo de análisis, los datos de tiempo/frecuencia se transfieren al modelo psicoacústico (PAM) 502, en donde umbrales de mascarado para la señal de marca de agua se calculan de acuerdo con consideraciones psicoacústicas (ver E. Zwicker H. Fastl, "Psychoacoustics Facts and models"). Los umbrales de enmascarado indican la cantidad de energía que puede ocultarse en la señal de audio para cada sub-banda y bloque de tiempo. El último bloque en el módulo de procesamiento psicoacústico 102 ilustra el módulo de cálculo de amplitud 503. Este módulo determina las ganancias de amplitud a utilizar en la generación de la señal de marca de agua digital, de manera tal que se satisfacen los umbrales de enmascarado, es decir la energía incrustada es menos
o igual a la energía definida por los umbrales de enmascarado.
3.2.1 El Análisis de Tiempo/Frecuencia 501
[0057] El bloque 501 transporta la transformación de tiempo/frecuencia de la señal de audio mediante una transformada traslapada. La mejor calidad de audio puede lograrse cuando se realizan múltiples resoluciones de tiempo/frecuencia. Una realización eficiente de una transformada traslapada es la transformada Fourier de corto tiempo (STFT = short time Fourier transform), que se basa en transformadas Fourier rápidas (FFT = fast Fourier transforms) de bloqueos de tiempo en ventanas. La longitud de la ventana determina la resolución de tiempo/frecuencia, de manera tal que más largas ventanas producen resoluciones de menor tiempo y superior frecuencia, mientras que más cortas ventanas vice versa. La forma de la ventana, por otra parte, entre otras cosas, determina la fuga de frecuencia.
[0058] Para el sistema propuesto, logramos una marca de agua inaudible al analizar los datos con dos resoluciones diferentes. Un primer banco de filtros se caracteriza por un tamaño de salto de Tb, es decir la longitud de bit. El tamaño de salto es el intervalo de tiempo entre dos bloques de tiempo adyacentes. La longitud de ventana es de aproximadamente Tb. Por favor note que la forma de la ventana no tiene que ser la misma que la empleada para el conformado de bit, y en general deberá modelar el sistema auditivo humano. Numerosas publicaciones estudian este problema.
[0059] El segundo banco de filtros aplica una ventana más corta. La superior resolución temporal lograda es particularmente importante cuando se incrusta una marca de agua en habla, ya que su estructura temporal, en general es más fina que Tb.
[0060] La velocidad de muestreado de la señal de audio de alimentación no es importante, siempre que sea suficientemente grande para describir la señal de marca de agua sin solapamiento. Por ejemplo, si el componente de más grande frecuencia contenido en la señal de marca de agua es 6 kHz, entonces la velocidad de muestreado de las señales de tiempo debe ser al menos 12 kHz.
3.2.2 El Modelo psicoacústico 502
[0061] El modelo psicoacústico 502 tiene la tarea de determinar los umbrales de enmascarado, es decir, la cantidad de energía que puede ocultarse en la señal de audio por cada sub-banda y bloque el tiempo manteniendo la señal de audio con marca de agua indistinguible de la original.
(min) y fi
[0062] La sub-banda i-ésima se define entre dos límites, es decir fi(max). Las sub-bandas se determinan al
(max) = fi
definir Nf frecuencias centrales fi y siendo fi-1(min) i para i = 2, 3, ... , Nf. Una selección apropiada para las frecuencias centrales se da por la escala Bark propuesta por Zwicker en 1961. Las sub-bandas se vuelven más grandes para superiores frecuencias centrales. Una implementación posible del sistema utiliza 9 sub-bandas en el intervalo de 1.5 a 6 kHz dispuestas en una forma apropiada.
[0063] Las siguientes etapas de procesamiento se llevan a cabo por separado por cada resolución de tiempo/frecuencia por cada sub-banda y cada bloque de tiempo. La etapa de procesamiento 801 lleva a cabo un alisado espectral. De hecho, elementos tonales, así como muescas en el espectro de energía requieren ser alisados. Esto puede llevarse a cabo de varias formas. Una medida de tonalidad puede ser calculada y después utilizada para dirigir un filtro de alisado adaptivo. En forma alterna, en una implementación más simple de este bloque, puede emplearse un filtro tipo mediana. El filtro de mediana considera un vector de valores y envía de salida su valor de mediana. En un filtro tipo mediana, el valor que corresponde a un cuantil diferente que 50% puede seleccionarse. El ancho de filtro se define en Hz y se aplica como un promedio en movimiento no lineal que empieza a las menores frecuencias y termina a la frecuencia más alta posible. La operación de 801 se ilustra en la Figura 7. La curva roja es la salida del alisado.
[0064] Una vez que se ha llevado a cabo el alisado, los umbrales se calculan por el bloque 802 considerando solo enmascarado de frecuencia. También, en este caso hay diferentes posibilidades. Una forma es utilizar el mínimo para cada sub-banda para calcular la energía de enmascarado Ei. Esta es la energía equivalente de la señal que efectivamente opera como un enmascarado. De este valor, nosotros podemos simplemente multiplicar un cierto factor de ajuste en escala para obtener la energía enmascarada Ji. Estos factores son diferentes para cada subbanda y resolución de tiempo/frecuencia y se obtienen por experimentos psicoacústicos empíricos. Estas etapas se ilustran en la Figura 8.
[0065] En el bloque 805, se considera enmascarado temporal. En este caso, diferentes bloques de tiempo para la misma sub-banda se analizan. Las energías enmascaradas Ji se modifican de acuerdo con un perfil de postenmascarado derivado en forma empírica. Consideremos dos bloques de tiempo adyacentes, es decir k-1 y k. Las energías de enmascarados correspondientes son Ji(k-l) y Jj(k). El perfil de post-enmascarado define que, por ejemplo la energía de enmascarado Ej puede enmascarar una energía Ji al tiempo k y α·Ji al tiempo k+1. En este caso, el bloque 805 compara Jj(k) (la energía enmascarada por el bloque de tiempo actual) y α·Ji(k+1) (la energía enmascarada por el bloque de tiempo previo) y selecciona el máximo. Perfiles de post-enmascarado están disponibles en la literatura y se han obtenido por experimentos psicoacústicos empíricos. Hay que notar que para una gran Tb, es decir > 20 ms, se aplica post-enmascarado solo a la resolución de tiempo/frecuencia con ventanas de tiempo más corto.
[0066] Resumiendo, a la salida del bloque 805 tenemos los umbrales de enmascarado por cada sub-banda y bloque de tiempo que se obtienen para dos diferentes resoluciones de tiempo/frecuencia. Los umbrales se han obtenido al considerar tanto fenómenos de enmascarados tiempo como frecuencia. En el bloque 806, los umbrales para las diferentes resoluciones de tiempo/frecuencia se fusionan. Por ejemplo, una implementación posible es que 806 considera todos los umbrales correspondientes a los intervalos de tiempos y frecuencia en donde se asigna un bit, y selecciona el mínimo.
3.2.3 El Bloque de Cálculo de Amplitud 503
[0067] Por favor haga referencia a la Figura 9. La alimentación de 503 son los umbrales 505 del modelo psicoacústico 502 en donde todos los cálculos motivados psicoacústicos se llevan a cabo. En la calculadora de amplitud 503, se realizan adicionales cálculos con los umbrales. Primero, un mapeo de amplitud 901 se lleva a cabo. Este bloque solamente convierte los umbrales de enmascarado (expresados normalmente como energía) en amplitudes que pueden emplearse para ajustar en escala la función de conformado de bit definida en la Sección 3.1. Posteriormente, el bloque de adaptación de amplitud 902 se ejecuta. Este bloque adapta en forma iterativa las
amplitudes γ(i, j) que se emplean para multiplicar las funciones de conformado de bit en el generador de marca de
agua 101, de manera tal que los umbrales de enmascarado sin duda se llenan. De hecho, como ya se discutió, la función de conformado de bit normalmente se extiende por un intervalo de tiempo mayor que Tb. Por lo tanto,
multiplicar la amplitud correcta γ(i, j) que cumple con el umbral de enmascarado en el punto i, j no necesariamente
cumple los requerimientos en el punto i, j-1. Esto es particularmente crucial en fuertes inicios, ya que se vuelve audible un pre-eco. Otra situación que requiere ser evitada es la superposición desafortunada en las colas de diferentes bits que pueden llevar a una marca de agua audible. Por lo tanto, el bloque 902 analiza la señal generada por el generador de marca de agua para verificar si los umbrales se han cumplido. De no ser así, modifica las
amplitudes γ(i, j) de conformidad.
[0068] Esto concluye el lado del codificador. Las siguientes secciones tratan con las etapas de procesamiento que se llevan a cabo en el receptor (también designado como decodificador de agua digital).
3.3 El Módulo de Análisis 203
[0069] El módulo de análisis 203 es la primera etapa (o bloque) del proceso de extracción de marca de agua digital.
Su propósito es transformar la señal de audio con marca de agua 200a de regreso a Nf corrientes de bit (también designada con 204), uno por cada sub-banda espectral i. Estas son adicionalmente procesados por el módulo de sincronización 201 y el extractor de marca de agua 202, como se discute en las Secciones 3.4 y 3.5,
respectivamente. Hay que notar que
son corrientes de bits suaves, es decir pueden tomar, por ejemplo cualquier valor real y sin haber tomado una decisión dura en el bit.
[0070] El módulo de análisis consiste de tres partes que se ilustran en la Figura 16: El banco de filtros de análisis 1600, el bloque de normalización de amplitud 1604 y la descodificación diferencial 1608.
3.3.1 Banco de filtros de análisis 1600
[0071] La señal de audio de marca de agua se transforma en el dominio de tiempo-frecuencia por el banco de filtros de análisis 1600 que se muestra en detalle en la Figura 10a. La alimentación del banco de filtros es la señal de audio con marca de agua recibida r(t). Su salida son los coeficientes complejos biAFB (j) para la ramificación i-ésima o subbanda en el instante de tiempo j. Estos valores contienen información respecto a la amplitud y la fase de la señal en la frecuencia central fi y el tiempo j·Tb.
[0072] El banco de filtros 1600 consiste de Nf ramificaciones, una por cada sub-banda espectral i. Cada ramificación se divide en una sub-ramificación superior para el componente en fase y una sub-ramificación inferior para el componente de cuadratura de la sub-banda i. Aunque la modulación en el generador de marca de agua y de esta manera la señal de audio de marca de agua son puramente evaluación real, el análisis de valor complejo de la señal en el receptor se requiere debido a que rotaciones de la constelación de modulación introducida por el canal y por desalineamientos de sincronización no se conoce en el receptor. A continuación consideramos la ramificación iésima del banco de filtros. Al combinar la sub-ramificación en fase y de cuadratura, podemos definir la señal de banda base de valor complejo biAFB(j) como
en donde * indica convolución y giR(t) es la respuesta de impulso del filtro de paso bajo de receptor de sub-banda i. Usualmente giR(t)i(t) es igual a la función de formación de bit de banda base giT(t) de la sub-banda i en el modulador 307 a fin de cumplir con la condición de filtro acoplado, pero igualmente son posibles otras respuestas de impulso.
[0073] A fin de obtener los coeficientes biAFB(j) con la velocidad de l=Tb, la salida continua biAFB(j) debe ser muestreada. Si la sincronización correcta de bits se conoce por el receptor, el muestreado con velocidad 1=Tb será suficiente. Sin embargo, ya que aún no se conoce la sincronización de bits, el muestreado se lleva a cabo con la velocidad de Nos/Tb en donde Nos es el factor de sobre-muestreado de banco de filtros de análisis. Al seleccionar Nos suficientemente grande (e.g. Nos = 4), podemos asegurar que al menos un ciclo de muestreado está suficientemente cerca a la sincronización de bits ideal. La decisión en la mejor capa de sobremuestreado se realiza durante el proceso de sincronización, de manera tal que todos los datos sobremuestreados se mantienen hasta entonces. Este proceso se describe en detalle en la Sección 3.4.
[0074] A la salida de la ramificación i-ésima tenemos los coeficientes biAFB(j,k) en donde j indica el número de bit o el instante de tiempo y k indica la posición de sobremuestreado dentro de este bit sencillo, en donde k = 1 ; 2; Nos.
[0075] La Figura 10b da una vista general ejemplar de la ubicación de los coeficientes en el plano de tiempofrecuencia. El factor de sobremuestreado es Nos = 2. La altura y el ancho de los rectángulos indica respectivamente el ancho de banda y el intervalo de tiempo de la parte de la señal que se representa por el coeficiente correspondiente biAFB(j,k).
[0076] Si las frecuencias de sub-banda fi se eligen como múltiplos de un cierto intervalo Δf, el banco de filtros de análisis puede implementarse eficientemente con la Transformada Fourier Rápida (FFT = Fast Fourier Transform).
3.3.2 Normalización de Amplitud 1604
[0077] Sin pérdida de generalidad y para simplificar la descripción, consideramos que se conoce la sincronización de bits y que Nos = 1 a continuación. Esto es, tenemos coeficientes complejos biAFB(j) a la alimentación del bloque de normalización 1604. Ya que no hay disponible información de estado de canal en el receptor (es decir, se desconoce el canal de propagación), se emplea un esquema de combinación de ganancia igual (EGC = equal gain combining). Debido al canal de dispersión de tiempo y frecuencia, la energía del bit enviado bi(j) no solo se encuentra alrededor de la frecuencia central fi y el instante de tiempo j, sino también a frecuencias e instantes de tiempo adyacentes. Por lo tanto, para una ponderación más precisa, se calculan adicionales coeficientes a las frecuencias fj ±n Δf y se utilizan para normalización del coeficiente biAFB(j). Si n = 1 tenemos, por ejemplo,
[0078] La normalización para n > 1 es una extensión directa de la fórmula anterior. De la misma manera también podemos elegir el normalizar los bits suaves al considerar más de un instante de tiempo. La normalización se lleva a cabo por cada sub-banda i y cada instante de tiempo j. La combinación actual de EGC se realiza en etapas
5 posteriores del proceso de extracción.
3.3.3 Descodificación diferencial 1608
[0079] En la alimentación del bloque de descodificación diferencial 1608 tenemos coeficientes complejos 10 normalizados en amplitud binorm(j) que contiene información respecto a la fase de los componentes de señal a la
15 [0080] Esto debe llevarse a cabo por separado por cada sub-banda debido a que el canal normalmente introduce diferentes rotaciones de fase en cada sub-banda.
3.4 El Módulo de Sincronización 201
20 [0081] La tarea del módulo de sincronización es encontrar el alineamiento temporal de la marca de agua digital. El problema de sincronizar el descodificador a los datos codificados es doble. En una primer etapa, el banco de filtros de análisis debe ser alineado con los datos codificados, es decir las funciones de conformado de bits giT(t) empleadas en la síntesis en el modulador deben alinearse con los filtros giR(t) empleados para el análisis. Este problema se ilustra en la Figura 12a, en donde los filtros de análisis son idénticos a los de síntesis. En la parte
25 superior, están visibles tres bits. Por simplicidad, las formas de onda para todos los tres bits no se han ajustado en escala. El desplazamiento temporal entre bits diferentes es Td. La parte inferior ilustra el aspecto de sincronización en el descodificador: el filtro puede ser aplicado en diferentes instantes en tiempo, sin embargo, solo la posición marcada en rojo (curva 1299a) es correcta y permite extraer el primer bit con la mejor proporción de señal a ruido (SNR = signal to noise ratio) y proporción de señal a interferencia (SIR = signal to interference ratio). De hecho, un
30 alineamiento incorrecto llevará a degradación tanto de SNR como SIR. Nos referimos a este primer aspecto de alineamiento como "sincronización de bit". Una vez que la sincronización de bit se ha logrado se pueden extraer en forma óptima bits. Sin embargo, para descodificar correctamente un mensaje, es necesario saber en qué bit empieza un nuevo mensaje. Este aspecto se ilustra en la Figura 12b y se refiere como sincronización de mensaje. En la corriente de bits descodificados solo la posición inicial marcada en rojo (posición 1299b) es correcta y permite
35 descodificar el mensaje k-ésimo.
[0082] Primero atendemos solamente el mensaje de sincronización. La firma de sincronización, como se explica en la Sección 3.1, está compuesta de Ns secuencias en un orden predeterminado que se incrustan en forma continua y periódica en la marca de agua digital. El módulo de sincronización es capaz de recuperar el alineamiento temporal
40 de las secuencias de sincronización. Dependiendo del tamaño Ns podemos distinguir entre dos modos de operación, que se ilustran en las Figuras 12c y 12d, respectivamente.
[0083] En el modo de sincronización de mensaje completo (Figura 12c) tenemos Ns = Nm/Rc. Por simplicidad en la figura consideramos Ns = Nm/Rc = 6 y sin propagación de tiempo, es decir, Nt = 1. La firma de sincronización 45 empleada, para propósitos de ilustración, se muestra por debajo de los mensajes. En realidad, se modulan
dependiendo de los bits de código y secuencias de propagación de frecuencia, como se explica en la Sección 3.1. En este modo, la periodicidad de la firma de sincronización es idéntica a la de los mensajes. El módulo de sincronización por lo tanto puede identificar el inicio de cada mensaje al encontrar el alineamiento temporal de la firma de sincronización. Nos referimos a las posiciones temporales en las cuales una nueva firma de sincronización empieza como aciertos de sincronización. Los aciertos de sincronización después se pasan al extractor de marca de agua 202.
[0084] El segundo modo posible, el modo de sincronización de mensaje parcial (Figura 12d), se ilustra en la Figura 12d. En este caso tenemos Ns <Nm = Rc. En la figura hemos tomado Ns = 3, de manera tal que las tres secuencias de sincronización se repiten dos veces por cada mensaje. Por favor note que la periodicidad de los mensajes no tiene que ser multiplicada por la periodicidad de la firma de sincronización. En este modo de operación, no todos los aciertos de sincronización corresponden al inicio de un mensaje. El módulo de sincronización no tiene medios para distinguir entre aciertos y esta tarea se da al extractor de marca de agua 202.
[0085] Los bloques de procesamiento del módulo de sincronización se ilustran en las Figuras 11a y 11b. El módulo de sincronización lleva a cabo la sincronización de bits y la sincronización de mensaje (ya sea completa o parcial) de inmediato al analizar la salida del correlacionador de firma de sincronización 1201. Los datos en el dominio de tiempo/frecuencia 204 se proporcionan por el módulo de análisis. Ya que la sincronización de bits aún no está disponible, el bloque 203 sobre muestrea los datos con el factor Nos, como se describe en la Sección 3.3. Una ilustración de los datos de alimentación se da en la Figura 12e. Para este ejemplo hemos tomado Nos = 4, Nt = 2, y Ns = 3. En otras palabras, la firma de sincronización consiste de 3 secuencias (denotadas con a, b, y c). La propagación de tiempo, en este caso con secuencia de propagación ct = [1 1] T, simplemente repite cada bits dos veces en el dominio de tiempo. Los aciertos de sincronización exactos se denotan con flechas y corresponden al inicio de cada firma de sincronización. El periodo de la firma de sincronización es Nt · Nos · Ns = NSb1, que es 2 · 4 · 3 = 24, por ejemplo. Debido a la periodicidad de la firma de sincronización, el correlacionador de firma de sincronización (1201) divide arbitrariamente el eje de tiempo en bloques, denominados bloques de búsqueda, con tamaño Nsbl, cuyo subíndice representa la longitud de bloque de búsqueda. Cada bloque de búsqueda debe contener (o típicamente contiene) un acierto de sincronización como se ilustra en la Figura 12f. Cada uno de los Nsbl, bits es un acierto de sincronización candidato. La tarea de bloque 1201's es calcular una medida de probabilidad para cada bit candidato de cada bloque. Está información se pasa entonces al bloque 1204 que calcula los aciertos de sincronización.
3.4.1 El correlacionador de firma de sincronización 1201
[0086] Por cada uno de las posiciones de sincronización candidato Nsbl el correlacionador de firma de sincronización calcula una medida de probabilidad, esta última es más grande y más probable es que el alineamiento temporal (tanto de bits como parcial o sincronización de mensaje completa) sea encontrado. Las etapas de procesamiento se ilustran en la Figura 12g.
[0087] De acuerdo con esto, puede obtenerse una secuencia 1201a de valores de probabilidad, asociados con diferentes selecciones de posición.
[0088] El bloque 1301 lleva a cabo la concentración temporal, es decir multiplica cada Nt bits con la secuencia de propagación temporal ct y después los suma. Esto se lleva a cabo por cada uno de las sub-bandas de frecuencia Nf. La Figura 13a muestra un ejemplo. Tomamos los mismos parámetros que se describió en la sección previa, es decir Nos = 4, Nt = 2, y Ns = 3. La posición de sincronización candidato está marcada. De ese bit, con Nos desactivado, Nt · Ns se toman con bloque 1301 y concentran en tiempo con secuencias Ct, de manera tal que quedan los Ns bits.
[0089] En el bloque 1302 los bits son multiplicados por elementos con las secuencias de propagación Ns (ver Figura 13b).
[0090] En el bloque 1303 la concentración de frecuencia se lleva a cabo, es decir, cada bit se multiplica con la secuencia de propagación Cf y después suma sobre la frecuencia.
[0091] En este punto, si la posición de sincronización fue la correcta, tendríamos Ns bits descodificados. Ya que los bits no se conocen al receptor, el bloque 1304 calcula la medida de probabilidad al tomar los valores absolutos de los valores Ns y suma.
[0092] La salida del bloque 1304 en principio es un correlacionador no coherente que busca la firma de sincronización. De hecho, cuando se elige una Ns pequeña, es decir el modo de sincronización de mensaje parcial, es posible utilizar secuencias de sincronización (por ejemplo a, b, c) que son mutuamente ortogonales. Al hacerlo, cuando el correlacionador no se alinea correctamente con la firma, su salida será muy pequeña, idealmente cero. Cuando se utiliza el modo de sincronización de mensaje completo, se recomienda utilizar las más posibles secuencias de sincronización ortogonal, y después crear una firma para elegir cuidadosamente el orden en el que se emplean. En este caso, la misma teoría puede aplicarse cuando se buscan secuencias de propagación con buenas funciones de auto correlación. Cuando el correlacionador solo se desalinea ligeramente, entonces la salida del correlacionador no será cero incluso en el caso ideal, pero de cualquier forma será más pequeña en comparación con el alineamiento perfecto, ya que los filtros de análisis no pueden capturar en forma óptima la energía de señal.
3.4.2 Cálculo de aciertos de sincronización 1204
[0093] Este bloque analiza la salida del correlacionador de firma de sincronización para decidir dónde están las posiciones de sincronización. Ya que el sistema es substancialmente robusto contra desalineamientos de hasta Tb/4 y la Tb normalmente se toma de alrededor 40 ms, es posible integrar la salida de 1201 con el tiempo para lograr una sincronización más estable. Una implementación posible de esto se da por un filtro IIR aplicado sobre el tiempo con una respuesta de impulso con degradación exponencial. En forma alterna, un filtro promedio con movimiento FIR tradicional puede ser aplicado. Una vez que se ha llevado a cabo el promediado, una segunda correlación sobre diferente Nt·Ns se lleva a cabo ("selección de posición diferente"). De hecho, deseamos explotar la información que la función de auto correlación de la función de sincronización se conoce. Esto corresponde a un estimador de Máxima Probabilidad. La idea se muestra en la Figura 13c. La curva muestra la salida del bloque 1201 después de integración temporal. Una posibilidad para determinar el acierto de sincronización simplemente se ha encontrado el máximo de esta función. En la Figura 13d vemos la misma función (en negro) filtrada con la función de auto correlación de la firma de sincronización. La función resultante se traza en rojo. En este caso el máximo es más pronunciado y nos da la posición del acierto de sincronización. Los dos procedimientos son substancialmente similares para alto SNR pero el segundo procedimiento se realiza y desempeña mucho mejor don menores regímenes de SNR. Una vez que los aciertos de sincronización se han encontrado, se pasan al extractor de marca de agua 202 que descodifica los datos.
[0094] En algunas realizaciones, a fin de obtener una señal de sincronización robusta, se realiza sincronización en el modo de sincronización de mensaje parcial con cortas firmas de sincronización. Por esta razón, deben realizarse muchas descodificaciones, incrementando el riesgo de detecciones de mensaje falso positivo. Para evitar esto, en algunas realizaciones pueden insertarse secuencias de señalización en los mensajes con una menor velocidad de bits como consecuencia.
[0095] Este enfoque es una solución al problema que surge de una firma de sincronización más corta que el mensaje, que ya se atendió en la descripción anterior de la sincronización mejorada. En este caso, el descodificador no sabe cuándo empieza un nuevo mensaje e intenta descodificar a varios puntos de sincronización. Para distinguir entre mensajes legítimos y falsos positivos, en algunas realizaciones se emplea una palabra de señalización (es decir la carga útil se sacrifica para incrustar una secuencia de control conocida). En algunas realizaciones, se emplea una verificación de plausibilidad (en forma alterna o adicional) para distinguir entre mensajes legítimos y falsos positivos.
3.5 El extractor de marca de agua 202
[0096] Las partes que constituyen el extractor de marca de agua 202 se ilustran en la Figura 14. Este tiene dos entradas, es decir 204 y 205 de los bloques 203 y 201, respectivamente. El módulo de sincronización 201 (ver Sección 3.4) proporciona sellos fechadores de sincronización, es decir, las posiciones en dominio de tiempo en las cuales empieza un mensaje candidato. Más detalles de este asunto se dan en la Sección 3.4. El bloque de banco de filtros para análisis 203, por otra parte, proporciona los datos en el dominio de tiempo/frecuencia listos para ser descodificados.
[0097] La primera etapa de procesamiento, el bloque de selección de datos 1501, selecciona de la alimentación 204 la parte identificada como mensaje candidato a descodificar. La Figura 15 muestra este procedimiento en forma gráfica. La alimentación 204 consiste de Nf corrientes de valores reales. Ya que el alineamiento de tiempo no se conoce al descodificador a priori, el bloque de análisis 203 lleva a cabo un análisis de frecuencia con una velocidad superior a 1/Tb Hz (sobre muestreado). En la Figura 15 debemos usar un factor de sobre muestreado de 4, es decir, 4 vectores con tamaño Nf x 1 se envían de salida cada Tb segundos. Cuando el bloque de sincronización 201 identifica un mensaje candidato, envía un marca fechador 205 indicando el punto de inicio de un mensaje candidato. El bloque de selección 1501 elige la información requerida para la descodificación, es decir una matriz con tamaño Nf xNm/Rc. Está matriz 1501a se da al bloque 1502 para mayor procesamiento.
[0098] Los bloques 1502, 1503, y 1504 llevan a cabo las mismas operaciones de los bloques 1301, 1302, y 1303 explicadas en la Sección 3.4.
[0099] Una realización alterna de la invención consiste en evitar los cálculos realizados en 1502-1504 al permitir que el módulo de sincronización suministre también los datos a descodificar. Conceptualmente es un detalle. Desde el punto de vista de implementación, es solo cuestión de cómo se realizan los amortiguadores. Sin embargo, el volver a hacer los cálculos nos permite tener más pequeños amortiguadores.
[0100] El descodificador de canal 1505 lleva a cabo la operación inversa del bloque 302. Si el codificador de canal, en una realización posible de este módulo, consiste de un codificador convolucional junto con un intercalador, entonces el descodificador de canal realizará el desintercalado y la descodificación convolucional, por ejemplo, con el algoritmo de Viterbi bien conocido. A la salida de este bloque tenemos Nm bits, es decir, un mensaje candidato.
[0101] El bloque 1506, el bloque de señalización y plausibilidad, decide si el mensaje de candidato de entrada es realmente o no un mensaje. Para ello son posibles varias estrategias.
[0102] La idea básica es utilizar una palabra de señalización (como una secuencia CRC) para distinguir entre mensajes verdaderos y falsos. Esto sin embargo reduce el número de bits disponibles como carga útil. En forma alterna, podemos utilizar verificaciones de plausibilidad. Si los mensajes por ejemplo contienen un marca fechador, mensajes consecutivos deben tener sellos fechadores consecutivos. Si un mensaje descodificado posee un marca fechador que no es del orden correcto, podemos descartarlo.
[0103] Cuando se ha detectado correctamente un mensaje, el sistema puede elegir aplicar los mecanismos de vista preliminar y/o vista hacia atrás. Consideramos que tanto sincronización de mensaje como de bit se ha logrado. Considerando que el usuario no está saltando (zapeo), el sistema “ve hacia atrás” en tiempo e intenta descodificar los mensajes pasados (si no están ya descodificado) utilizando el mismo punto de sincronización (enfoque de vista hacia atrás). Esto es particularmente útil cuando se inicia el sistema. Aún más, en malas condiciones, puede ocupar dos mensajes para lograr sincronización. En este caso, el primer mensaje no tiene posibilidad. Con la opción de vista hacia atrás, podemos guardar “buenos” mensajes que no se han recibido sólo debido a sincronización hacia atrás. La vista preliminar es la misma pero trabaja hacia el futuro. Si tenemos un mensaje ahora sabemos dónde deberá estar el siguiente mensaje, y podemos intentar descodificarlo de cualquier forma.
3.6. Detalles de Sincronización
[0104] Para la codificación de una carga útil, por ejemplo un algoritmo Viterbi puede emplearse. La Figura 18a muestra una representación gráfica de una carga útil 1810, una secuencia de terminación Viterbi 1820, una carga útil codificada Viterbi 1830 y una versión de código de repetición 1840 de una carga útil codificada Viterbi. Por ejemplo, la longitud de carga útil puede ser de 34 bits y la secuencia de terminación Viterbi puede comprender 6 bits. Si, por ejemplo una velocidad de código Viterbi de 1/7 puede emplearse, la carga útil codificada Viterbi puede comprender (34+6)* 7=280 bits. Además, al utilizar una codificación de repetición de 1/2, la versión codificada de repetición 1840 de la carga útil codificada Viterbi 1830 puede comprender 280*2=560 bits. En este ejemplo, considere un intervalo de tiempo de bit de 42.66 ms, la longitud de mensaje será de 23.9 s. La señal puede incrustarse por ejemplo con 9 sub-portadoras (por ejemplo colocadas de acuerdo con las bandas críticas) de 1.5 a 6 kHz como se indica por el espectro de frecuencia mostrado en la Figura 18b. En forma alterna, también otro número de sub-portadoras (por ejemplo 4, 6, 12, 15 o un número entre 2 y 20) dentro de un intervalo de frecuencia entre 0 y 20 kHz puede ser utilizado.
[0105] La Figura 19 muestra una ilustración esquemática del concepto básico 1900 para la sincronización, también denominada sinc ABC. Muestra una ilustración esquemática de un mensaje no codificado 1910, un mensaje codificado 1920 y una secuencia de sincronización (secuencia sinc) 1930 así como la aplicación de la sinc a varios mensajes 1920 uno después de otro.
[0106] La secuencia de sincronización o secuencia de sinc mencionada en conexión con la explicación de este concepto de sincronización (mostrado en las Figuras 19 - 23) puede ser igual a la firma de sincronización anteriormente mencionada.
[0107] Además, la Figura 20 muestra una ilustración esquemática de la sincronización que se encuentra al correlacionar con la secuencia sinc. Si la secuencia de sincronización 1930 es más corta que el mensaje, puede encontrarse más de un punto de sincronización 1940 (o bloque temporal de alineamiento) dentro de un solo mensaje. En el ejemplo mostrado en la Figura 20, 4 puntos de sincronización se encuentran dentro de cada mensaje. Por lo tanto, por cada sincronización encontrada, un descodificador Viterbi (una secuencia de descodificación Viterbi) puede iniciarse. De esta manera, por cada punto de sincronización 1940 un mensaje 2110 puede obtenerse, como se indica en la Figura 21.
[0108] Con base en estos mensajes, los mensajes verdaderos 2210 pueden ser identificados mediante una secuencia CRC (secuencia de verificación de redundancia cíclica) y/o una verificación de plausibilidad, como se muestra en la Figura 22.
[0109] La detección CRC (detección de verificación de redundancia cíclica) puede emplear una secuencia conocida para identificar mensajes verdaderos de positivos falsos. La Figura 23 muestra un ejemplo para una secuencia CRC agregada al final de una carga útil.
[0110] La probabilidad de falso positivo (un mensaje generado con base en un punto de sincronización erróneo) puede depender de la longitud de la secuencia CRC y el número de descodificadores Viterbi (número de puntos de sincronización dentro de un solo mensaje) iniciado. Para incrementar la longitud de la carga útil sin incrementar la probabilidad de falso positivo, puede explotarse una plausibilidad (prueba de plausibilidad) o la longitud de la secuencia de sincronización (firma de sincronización) puede incrementarse.
4. Conceptos y Ventajas
[0111] A continuación, se describirán algunos aspectos del sistema anteriormente discutido, que se consideran innovadores. También, la relación de esos aspectos a las tecnologías del estado-de-la técnica se discutirá.
4.1. Sincronización continua
[0112] Algunas realizaciones permiten una sincronización continua. La señal de sincronización, que denotamos una firma de sincronización, se incrusta en forma continua y paralela a los datos por multiplicación con secuencias (también designado como secuencias de propagación de sincronización) conocidas tanto para el lado de transmisión como de recepción.
[0113] Algunos sistemas convencionales utilizan símbolos especiales (diferentes a los utilizados para los datos), mientras que algunas realizaciones de acuerdo con la invención no utilizan estos símbolos especiales. Otros procedimientos clásicos consisten de incrustar una secuencia conocida de bits (preámbulo) multiplexados en tiempo con los datos, o incrustar una señal multiplexada en frecuencia con los datos.
[0114] Sin embargo, se ha encontrado que utilizar sub-bandas dedicadas para sincronización es indeseable, ya que el canal puede tener muescas en esas frecuencias haciendo no confiable la sincronización. En comparación con los otros procedimientos, en donde un preámbulo o un símbolo especial es multiplexado en tiempo con los datos, el procedimiento aquí descrito es más ventajoso como el procedimiento aquí descrito permite dar seguimiento a cambios en la sincronización (debido por ejemplo a movimiento) continuamente.
[0115] Además, la energía de la señal de marca de agua está sin cambio (por ejemplo por la introducción multiplicativa del marca de agua en la representación de información de propagación) y la sincronización puede diseñarse independiente del modelo psicoacústico y velocidad de datos. La longitud en tiempo de la firma de sincronización, que determina la robustez de la sincronización, puede diseñarse a voluntad completamente independiente de la velocidad de datos.
[0116] Otro procedimiento clásico consiste en incrustar un código de secuencia de sincronización multiplexado con los datos. Cuando se compara con este procedimiento clásico, la ventaja del procedimiento aquí descrito es que la energía de los datos no representa un factor de interferencia en el cálculo de la correlación, proporcionando más robustez. Además, cuando se utiliza multiplexado de código, el número de secuencias ortogonales disponibles para la sincronización se reduce ya que algunos son necesarios para los datos.
[0117] Para resumir, el enfoque de sincronización continua aquí descrito proporciona una gran cantidad de ventajas frente a los conceptos convencionales.
[0118] Sin embargo, en algunas realizaciones de acuerdo con la invención, puede aplicar un concepto de sincronización diferente.
4.2. Propagación 2D
[0119] Algunas realizaciones del sistema propuesto llevan a cabo propagación tanto en dominio de tiempo como frecuencia, es decir una propagación bidimensional (brevemente designada como propagación 2D). Se ha encontrado que esto es ventajoso respecto a sistemas ID ya que la proporción de bits erróneos puede ser además reducida al agregar redundancia por ejemplo en dominio de tiempo.
[0120] Sin embargo, en algunas realizaciones de acuerdo con la invención, puede aplicarse un concepto de propagación diferente.
4.3. Codificación Diferencial y descodificación Diferencial
[0121] En algunas realizaciones de acuerdo con la invención, una robustez incrementada contra movimiento y desigualdad o incompatibilidad de frecuencia de los osciladores locales (cuando se comparan con sistemas convencionales) se logra por la modulación diferencial. Se ha encontrado que de hecho, el efecto Doppler (movimiento) y desigualdades de frecuencia llevan a una rotación de la constelación BPSK (en otras palabras, una rotación en el plano complejo de los bits). En algunas realizaciones, los efectos nocivos de esta rotación de la constelación BPSK (o cualquier otra constelación de modulación apropiada) se evitan al utilizar una codificación diferencial o descodificación diferencial.
[0122] Sin embargo, en algunas realizaciones de acuerdo con la invención, puede aplicar un concepto de codificación o concepto de descodificación diferente. También, en algunos casos, la codificación diferencial puede ser omitida.
4.4. Conformado de bits
[0123] En algunas realizaciones de acuerdo con la invención, el conformado de bits logra una mejora significante del desempeño del sistema, debido a que la confiabilidad de la detección puede incrementarse utilizando un filtro adaptado al conformado de bits.
[0124] De acuerdo con algunas realizaciones, el uso del conformado de bits respecto a aplicación de marca de agua acarrea mejorada confiabilidad del proceso de aplicación de marca de agua digital. Se ha encontrado que pueden obtenerse resultados particularmente buenos si la función de conformado de bits es más larga que el intervalo de bits.
[0125] Sin embargo, en algunas realizaciones de acuerdo con la invención, puede aplicar un concepto de conformado de bit diferente. También, en algunos casos, puede omitirse el conformado de bits.
4.5. Interactivo entre Modelo psicoacústico (PAM) y síntesis de Banco de Filtros (FB)
[0126] En algunas realizaciones, el modelo psicoacústico interactúa con el modulador para realizar ajuste fino de las amplitudes que multiplican los bits. [0127] Sin embargo, en algunas otras realizaciones, esta interacción puede ser omitida.
4.6. Características de vista preliminar y vista hacia atrás
[0128] En algunas realizaciones, se aplican enfoques de “vista hacia atrás” y “vista preliminar”.
[0129] A continuación, estos conceptos se resumirán brevemente. Cuando un mensaje se descodifica correctamente, se considera que se ha logrado la sincronización. Considerando que el usuario no está saltando (zapeo), en algunas realizaciones, se realiza una vista hacia atrás en tiempo y se intenta descodificar los mensajes pasados (si no están ya descodificados) utilizando el mismo punto de sincronización (enfoque de vista hacia atrás). Esto es particularmente útil cuando se inicia el sistema.
[0130] En malas condiciones, puede ocupar 2 mensajes para lograr la sincronización. En este caso, el primer mensaje no tiene posibilidad en sistemas convencionales. Con la opción de vista hacia atrás, que se emplea en
algunas realizaciones de la invención, es posible guardar (o descodificar) mensajes “buenos” que no se han recibido
sólo debido a sincronización hacia atrás.
[0131] La vista preliminar es lo mismo pero funciona hacia el futuro. Si tendré un mensaje ahora, sé dónde estará mi siguiente mensaje, y puedo intentar descodificarlo de cualquier forma. De acuerdo con esto, pueden descodificarse mensajes de superposición.
[0132] Sin embargo, en algunas realizaciones de acuerdo con la invención, la característica de vista preliminar y/o la característica de vista hacia atrás pueden ser omitidas.
4.7. Incrementada robustez de sincronización
[0133] En algunas realizaciones, para obtener una señal de sincronización robusta, se realiza sincronización en modo de sincronización de mensaje parcial con cortas firmas de sincronización. Por esta razón, muchas descodificaciones deben realizarse, incrementando el riesgo de detecciones de mensaje de falso positivo. Para evitar esto, en algunas realizaciones, secuencias de señalización pueden insertarse en los mensajes con una menor velocidad de bits como consecuencia.
[0134] Sin embargo, en algunas realizaciones de acuerdo con la invención, puede aplicarse un concepto diferente para mejorar la robustez de sincronización. También, en algunos casos, el uso de cualesquiera conceptos para incrementar la robustez de sincronización puede ser omitido.
4.8. Otras mejoras
[0135] A continuación, se presentarán y discutirán algunas otras mejoras en general del sistema anteriormente descrito respecto a la técnica previa:
1.
Menor complejidad computacional
2.
Mejor calidad de audio debido a mejor modelo psicoacústico
3.
Más robustez en ambientes reverberantes debido a las señales multiportadoras de banda estrecha
4.
Una estimación SNR se evita en algunas realizaciones. Esto permite mejor robustez, especialmente en bajos regímenes SNR.
[0136] Algunas realizaciones de acuerdo con la invención son mejores que los sistemas convencionales, que utilizan anchos de banda muy estrechos por ejemplo de 8 Hz por las siguientes razones:
1.
Anchos de banda de 8 Hz (o un ancho de banda muy estrecho similar) requieren símbolos de muy largo tiempo debido a que el modelo psicoacústico permite muy poca energía para hacerlo inaudible;
2.
8 Hz (o anchos de banda muy estrechos similares) hacen sensible contra espectros Doppler variante en tiempo. De acuerdo con esto, este sistema de banda estrecha típicamente no es suficientemente bueno, si se implementa por ejemplo en un reloj.
[0137] Algunas realizaciones de acuerdo con la invención son mejores que otras tecnologías por las siguientes razones:
1.
Técnicas que alimentan un eco fallan completamente en habitaciones reverberantes. En contraste, en algunas realizaciones de la invención, se evita la introducción de un eco.
2.
Técnicas que utilizan sólo propagación de tiempo tienen una más larga duración de mensaje en comparación con realizaciones del sistema anteriormente descrito en donde se emplea una propagación bidimensional, por ejemplo tanto en tiempo como en frecuencia.
[0138] Algunas realizaciones de acuerdo con la invención son mejores que el sistema descrito en DE 196 40 814, debido a que una o más de las siguientes desventajas del sistema de acuerdo con el documento se superan:
• la complejidad en el descodificador de acuerdo con DE 196 40 814 es muy alta, se utiliza un filtro de longitud 2N
con N = 128.
el sistema de acuerdo con DE 196 40 814 comprende una prolongada duración de mensaje
en el sistema de acuerdo con DE 196 40 814, la propagación sólo en el dominio del tiempo con ganancia de
propagación relativamente alta (por ejemplo 128)
• en el sistema de acuerdo con DE 196 40 814 la señal se genera en el dominio de tiempo, transforma al dominio espectral, pondera, se transforma de regreso a dominio en tiempo y superpone en audio, lo que hace al sistema muy complejo.
5. Aplicaciones
[0141] La invención comprende un procedimiento para modificar una señal de audio para ocultar datos digitales y un descodificador correspondiente capaz de recuperar esta información mientras que la calidad percibida de la señal de audio modificada permanece indistinguible a la original.
[0140] Ejemplos de aplicaciones posibles de la invención se dan a continuación:
1.
Supervisión de difusión: una información que contiene marca de agua por ejemplo en la estación y tiempo se oculta en la señal de audio de programas de radio o televisión. Descodificadores, incorporados en pequeños dispositivos que transportan los sujetos de prueba, son capaces de recuperar el marca de agua digital, y de esta manera recolectar información valiosa para agencias publicitarias, es decir quiénes ven que programa y cuándo.
2.
Auditoría: un marca de agua puede ocultarse por ejemplo en anuncios. Al supervisar automáticamente las transmisiones de una cierta estación es entonces posible saber cuándo exactamente se difundió el anuncio. De manera similar, es posible recuperar información estadística respecto a los calendarios de programación de diferentes radios, por ejemplo qué tan a menudo se presenta una pieza de música, etc.
3.
Incrustación de metadatos: el procedimiento propuesto puede emplearse para ocultar información digital respecto al programa o pieza de música, por ejemplo nombre y autor de la pieza o duración del programa, etc.
6. Alternativas de Implementación
[0141] Aunque algunos aspectos se han descrito en el contexto de un aparato, es claro que estos aspectos también representan una descripción del procedimiento correspondiente, en donde un bloque o dispositivo corresponde a una etapa de procedimiento o una característica de una etapa de procedimiento. En forma análoga, aspectos descritos en el contexto de una etapa de procedimiento también representan una descripción de un bloque o ítem o característica correspondiente de un aparato correspondiente. Algunas o todas las etapas de procedimiento pueden ser ejecutadas por (o utilizando) un aparato de equipo físico, por ejemplo un microprocesador, una computadora programable o un circuito electrónico). En algunas realizaciones, algunas o más de las etapas de procedimiento más importantes pueden ser ejecutadas por este aparato.
[0142] La señal de marca de agua codificada de la invención, o una señal de audio en la cual se incrusta la señal de marca de agua digital, puede almacenarse en un medio de almacenamiento digital o puede transmitirse en un medio de transmisión tal como un medio de transmisión inalámbrica o un medio de transmisión cableada tal como Internet.
[0143] Dependiendo de ciertos requerimientos de implementación, ejemplos de la invención pueden implementarse en equipo fí5sico o en soporte lógico. La implementación puede realizarse utilizando un medio de almacenamiento digital, por ejemplo un disco flexible, un DVD, un disco Blue-Ray, un CD, un ROM, un PROM, un EPROM, un EEPROM o una memoria FLASH, que tiene señales de control legibles electrónicamente ahí almacenadas, que cooperan (o son capaces de cooperar) con un sistema de computadora programable tal que se realice el procedimiento respectivo. Por lo tanto, el medio de almacenamiento digital puede ser legible por computadora.
[0144] Algunos ejemplos de acuerdo con la invención comprenden un portador de datos que tiene señales de control electrónicamente legibles, que son capaces de cooperar con un sistema de computadora programable, tal que se realice uno de los procedimientos aquí descritos.
[0145] En general, algunos ejemplos de la presente invención pueden ser implementados como un producto de programa de computadora con un código de programa, el código de programa es operativo para realizar uno de los procedimientos cuando el producto de programa de computadora se ejecuta en una computadora. El código del programa puede por ejemplo ser almacenado en un portador transportador legible por máquina.
[0146] Otras ejemplos comprenden el programa de computadora para realizar uno de los procedimientos aquí descritos, almacenado en un portador legible por máquina.
[0147] En otras palabras, un ejemplo del procedimiento de la invención por lo tanto es un programa de computadora que tiene un código de programa para realizar uno de los procedimientos aquí descritos cuando el programa de computadora se ejecuta en una computadora.
[0148] Un ejemplo adicional de los procedimientos de la invención por lo tanto es un portador de datos (o un medio de almacenamiento digital, o un medio legible por computadora) que comprende, ahí grabado, el programa de computadora para realizar uno de los procedimientos aquí descritos.
[0149] Un ejemplo adicional del procedimiento de la invención es por lo tanto una corriente de datos o una secuencia de señales que representan el programa de computadora para realizar uno de los procedimientos aquí descritos. La corriente de datos o la secuencia de señales puede ser por ejemplo configurada para ser transferida mediante una conexión de comunicación de datos, por ejemplo por Internet.
[0150] Un ejemplo adicional comprende medios de procesamiento, por ejemplo una computadora o un dispositivo lógico programable, configurado para o adaptado para realizar o ejecutar uno de los procedimientos aquí descritos.
[0151] Un ejemplo adicional comprende una computadora que tiene instalado ahí el programa de computadora para realizar uno de los procedimientos aquí descritos.
[0152] En algunos ejemplos, un dispositivo lógico programable (por ejemplo matriz de puerta de campo programable in situ (field programmable gate array)) puede emplearse para realizar algunas o todas las funcionalidades de los procedimientos aquí descritos. En algunas realizaciones, una matriz de puerta de campo programable (field programmable gate array) puede cooperar con un microprocesador a fin de realizar uno de los procedimientos aquí descritos. En general, los procedimientos de preferencia se realizan por cualquier aparato de equipo físico.
[0153] Los ejemplos anteriormente descritos son solamente ilustrativas para los principios de la presente invención. Se entiende que modificaciones y variaciones de los arreglos y detalles aquí descritos, serán aparentes a otros con destreza en la especialidad. Es la intención por lo tanto, que esté limitada por el alcance de las reivindicaciones pendientes y no por detalles específicos mostrados a manera de descripción y explicación de las presentes realizaciones.

Claims (12)

  1. REIVINDICACIONES
    1.
    Un descodificador (2400) de marca de agua (2442) para proporcionar datos de mensaje binario dependiendo de una señal de marca de agua (2402), que comprende:
    un proveedor de representación de dominio-frecuencia-tiempo (2410), configurado para proporcionar una representación de dominio-frecuencia (2412) de la señal de marca de agua (2402) para una pluralidad de bloques de tiempo; una unidad de memoria (2420) configurada para almacenar la representación de dominio-frecuencia (2412) de la señal de marca de agua (2402) para una pluralidad de bloques de tiempo; un determinador de sincronización (2430) configurado para identificar un bloque temporal de alineamiento (2432) con base en la representación de dominio-frecuencia (2412) de la señal con marca de agua (2402) de una pluralidad de bloques de tiempo; y un extractor de marca de agua (2440) configurado para proporcionar datos de mensaje binario (2442) con base en representaciones de dominio-frecuencia (2422) almacenadas de la señal con marca de agua (2402) de bloques de tiempo que preceden temporalmente al bloque temporal de alineamiento identificado (2432) considerando una distancia al bloque temporal de alineamiento identificado (2432).
  2. 2.
    Descodificador de marca de agua de conformidad con la reivindicación 1, que comprende un descodificador de redundancia configurado para proporcionar datos de mensaje binario (2442) de un mensaje incompleto de la señal con marca de agua (2402) que temporalmente precede a un mensaje que contiene el bloque temporal de alineamiento identificado (2432) utilizando datos redundantes del mensaje incompleto.
  3. 3.
    Descodificador de marca de agua de conformidad con la reivindicación 1 ó 2, en el que el determinador de sincronización (2430) se configura para identificar el bloque temporal de alineamiento (2432) con base en una pluralidad de secuencias de sincronización predefinidas y con base en datos de mensaje binario de un mensaje de una señal con marca de agua (2402), en donde una cantidad de bloques de tiempo contenidos por el mensaje de la señal de marca de agua (2402) es más grande que una cantidad de diferentes secuencias de sincronización predefinidas contendidas por la pluralidad de secuencias de sincronización predefinidas.
  4. 4.
    Descodificador de marca de agua de conformidad con la reivindicación 3, en el que una secuencia de sincronización comprende un bit de sincronización por cada coeficiente de banda de frecuencia de la representación de dominio-frecuencia (2412) de la señal de marca de agua (2402).
  5. 5.
    Descodificador de marca de agua de conformidad con una de las reivindicaciones 1 a 4, en el que los datos de mensaje binarios (2442) proporcionados representan un contenido de mensaje de la señal con marca de agua (2402) que precede temporalmente a un mensaje que contiene el bloque temporal de alineamiento (2432).
  6. 6.
    Descodificador de marca de agua de conformidad con una de las reivindicaciones 1 a 5, en el que el extractor de marca de agua (2440) se configura para proporcionar adicionales datos de mensaje binario con base en representaciones de dominio-frecuencia (2412) de la señal con marca de agua (2402) de bloques de tiempo que siguen temporalmente al bloque temporal de alineamiento identificado (2432) considerando una distancia al bloque temporal de alineamiento identificado (2432).
  7. 7.
    Descodificador de marca de agua de conformidad con una de las reivindicaciones 1 a 6, en el que la unidad de memoria (2420) se configura para liberar espacio de memoria que contiene una representación de dominio de frecuencia almacenado de la señal de marca de agua (2402), después de un tiempo de almacenamiento predefinido para borrar o sobrescribir.
  8. 8.
    Descodificador de marca de agua de conformidad con una de las reivindicaciones 1 a 7, en el que la unidad de memoria (2420) se configura para liberar espacio de memoria que contiene una representación de dominio de frecuencia almacenada de la señal de marca de agua (2402) después que los datos de mensaje binario se obtienen por el extractor de marca de agua (2440) a partir de la representación de dominio-frecuencia almacenada de la señal de marca de agua (2402) para borrar o sobrescribir.
  9. 9.
    Descodificador de marca de agua de conformidad con una de las reivindicaciones 1 a 8, en el que el extractor de marca de agua (2440) está configurado para proporcionar datos de mensaje binario (2442) con base en representaciones de dominio-frecuencia almacenadas (2422) de la señal con marca de agua (2402) de bloques de tiempo que preceden temporalmente al bloque temporal de alineamiento identificado (2432) considerando una distancia al bloque temporal de alineamiento identificado (2432), para explotar datos de mensaje binario de mensajes recibidos antes de una sincronización al identificar un bloque temporal de alineamiento (2432) que está disponible.
  10. 10.
    Procedimiento (2500) para proporcionar datos de mensaje binario en dependencia de una señal con marca de agua, que comprende:
    proporcionar (2510) una representación de dominio-frecuencia de la señal con marca de agua para una pluralidad de bloques de tiempo; almacenar (2520) la representación de dominio-frecuencia de la señal con marca de agua para una pluralidad de bloques de tiempo;
    5 identificar (2530) un bloque temporal de alineamiento con base en la representación de dominio-frecuencia de la señal con marca de agua y una pluralidad de bloques de tiempo; y proporcionar (2540) datos de mensaje binario con base en representaciones de dominio-frecuencia almacenados de la señal con marca de agua de bloques de tiempo que preceden temporalmente al bloque temporal de alineamiento identificado considerando una distancia al bloque temporal de alineamiento identificado.
  11. 11. Procedimiento según la reivindicación 10, en el que los datos de mensaje binario se proporcionan con base en representaciones de dominio-frecuencia almacenadas de la señal de marca de agua de bloques de tiempo que preceden temporalmente al bloque temporal de alineamiento identificado considerando una distancia al bloque temporal de alineamiento identificado, para explotar datos de mensaje binario de mensajes recibidos antes de una
    15 sincronización al identificar que estaba disponible un bloque temporal de alineamiento (2432).
  12. 12. Un programa de computadora para realizar el procedimiento de conformidad con la reivindicación 10 o la 11 cuando el programa de computadora se ejecuta en una computadora.
ES11704464.4T 2010-02-26 2011-02-22 Decodificador de marca de agua y procedimiento para proporcionar datos de mensaje binario Active ES2440970T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10154951A EP2362383A1 (en) 2010-02-26 2010-02-26 Watermark decoder and method for providing binary message data
EP10154951 2010-02-26
PCT/EP2011/052627 WO2011104246A1 (en) 2010-02-26 2011-02-22 Watermark decoder and method for providing binary message data

Publications (1)

Publication Number Publication Date
ES2440970T3 true ES2440970T3 (es) 2014-01-31

Family

ID=42315855

Family Applications (1)

Application Number Title Priority Date Filing Date
ES11704464.4T Active ES2440970T3 (es) 2010-02-26 2011-02-22 Decodificador de marca de agua y procedimiento para proporcionar datos de mensaje binario

Country Status (17)

Country Link
US (1) US9299356B2 (es)
EP (2) EP2362383A1 (es)
JP (1) JP5665886B2 (es)
KR (1) KR101411657B1 (es)
CN (1) CN102959621B (es)
AU (1) AU2011219842B2 (es)
BR (1) BR112012021542B8 (es)
CA (1) CA2790969C (es)
ES (1) ES2440970T3 (es)
HK (1) HK1177651A1 (es)
MX (1) MX2012009856A (es)
MY (1) MY152218A (es)
PL (1) PL2524373T3 (es)
RU (1) RU2586845C2 (es)
SG (1) SG183465A1 (es)
WO (1) WO2011104246A1 (es)
ZA (1) ZA201207152B (es)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2565667A1 (en) 2011-08-31 2013-03-06 Friedrich-Alexander-Universität Erlangen-Nürnberg Direction of arrival estimation using watermarked audio signals and microphone arrays
JP6574551B2 (ja) 2014-03-31 2019-09-11 培雄 唐沢 音響を用いた任意信号の伝達方法
CN106409301A (zh) * 2015-07-27 2017-02-15 北京音图数码科技有限公司 数字音频信号处理的方法
KR102637177B1 (ko) * 2018-05-23 2024-02-14 세종대학교산학협력단 워터마크 기반의 이미지 무결성 검증 방법 및 장치
US11397241B2 (en) * 2019-10-21 2022-07-26 Hossein Ghaffari Nik Radio frequency life detection radar system
RU2767962C2 (ru) 2020-04-13 2022-03-22 Общество С Ограниченной Ответственностью «Яндекс» Способ и система для распознавания воспроизведенного речевого фрагмента
US11915711B2 (en) * 2021-07-20 2024-02-27 Direct Cursus Technology L.L.C Method and system for augmenting audio signals

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02206233A (ja) * 1989-02-03 1990-08-16 Fujitsu Ltd 移動端末データモニタ方式
FR2681997A1 (fr) 1991-09-30 1993-04-02 Arbitron Cy Procede et dispositif d'identification automatique d'un programme comportant un signal sonore.
US7316025B1 (en) 1992-11-16 2008-01-01 Arbitron Inc. Method and apparatus for encoding/decoding broadcast or recorded segments and monitoring audience exposure thereto
KR100392475B1 (ko) 1992-11-16 2003-11-28 아비트론 인코포레이티드 방송또는기록된세그먼트를엔코딩/디코딩하고그러한세그먼트에대한시청자노출을모니터링하기위한방법과장치
PL177808B1 (pl) 1994-03-31 2000-01-31 Arbitron Co Sposób i urządzenie do kodowania sygnału dźwiękowego
US5450490A (en) 1994-03-31 1995-09-12 The Arbitron Company Apparatus and methods for including codes in audio signals and decoding
EP0875107B1 (de) 1996-03-07 1999-09-01 Fraunhofer-Gesellschaft Zur Förderung Der Angewandten Forschung E.V. Codierverfahren zur einbringung eines nicht hörbaren datensignals in ein audiosignal, decodierverfahren, codierer und decodierer
DE19640825C2 (de) 1996-03-07 1998-07-23 Fraunhofer Ges Forschung Codierer zur Einbringung eines nicht hörbaren Datensignals in ein Audiosignal und Decodierer zum decodieren eines nicht hörbar in einem Audiosignal enthaltenen Datensignals
AU2003207883A1 (en) 2002-03-28 2003-10-13 Koninklijke Philips Electronics N.V. Window shaping functions for watermarking of multimedia signals
JP4070742B2 (ja) * 2003-04-17 2008-04-02 マークテック・インコーポレイテッド オーディオファイルとテキストを同期化させる同期信号の埋込/検出方法及び装置
EP1898396A1 (en) 2006-09-07 2008-03-12 Deutsche Thomson-Brandt Gmbh Method and apparatus for encoding/decoding symbols carrying payload data for watermarking of an audio or video signal
DE102008014311A1 (de) 2008-03-14 2009-09-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Einbetter zum Einbetten eines Wasserzeichens in eine Informationsdarstellung, Detektor zum Detektieren eines Wasserzeichens in einer Informationsdarstellung, Verfahren, Computerprogramm und Informationssignal
JP5338170B2 (ja) * 2008-07-18 2013-11-13 ヤマハ株式会社 電子透かし情報の埋め込みおよび抽出を行う装置、方法およびプログラム

Also Published As

Publication number Publication date
JP5665886B2 (ja) 2015-02-04
MY152218A (en) 2014-08-29
EP2524373B1 (en) 2013-12-11
CA2790969C (en) 2018-01-02
CN102959621A (zh) 2013-03-06
ZA201207152B (en) 2013-06-26
US9299356B2 (en) 2016-03-29
MX2012009856A (es) 2012-09-12
KR101411657B1 (ko) 2014-06-25
AU2011219842A1 (en) 2012-10-11
RU2012140756A (ru) 2014-04-10
BR112012021542B8 (pt) 2022-03-15
HK1177651A1 (en) 2013-08-23
EP2524373A1 (en) 2012-11-21
PL2524373T3 (pl) 2014-05-30
US20130218313A1 (en) 2013-08-22
KR20120112884A (ko) 2012-10-11
EP2362383A1 (en) 2011-08-31
CA2790969A1 (en) 2011-09-01
WO2011104246A1 (en) 2011-09-01
BR112012021542B1 (pt) 2020-12-15
BR112012021542A2 (pt) 2017-07-04
SG183465A1 (en) 2012-09-27
CN102959621B (zh) 2014-11-05
RU2586845C2 (ru) 2016-06-10
JP2013529311A (ja) 2013-07-18
AU2011219842B2 (en) 2014-08-14

Similar Documents

Publication Publication Date Title
ES2443878T3 (es) Suministro de señal de marca de agua digital e incrustación de marca de agua digital
ES2452920T3 (es) Proveedor de señal de marca de agua digital y procedimiento para proporcionar una señal de marca de agua digital
ES2449475T3 (es) Generador de marca de agua digital, decodificador de marca de agua digital, método para proporcionar una señal de marca de agua digital en dependencia de datos de mensaje binario, método para proporcionar datos de mensaje binario en dependencia de una señal de marca de agua digital y programa de computadora que utiliza una codificación diferencial
ES2440339T3 (es) Generador de marca de agua digital, decodificador de marca de agua digital, procedimiento para proporcionar una señal de marca de agua digital en función de datos de mensaje binarios, procedimiento para proporcionar datos de mensaje binarios en función de una señal de marca de agua digital y programa de computadora que utiliza una dispersión de bits bidimensionales
ES2440970T3 (es) Decodificador de marca de agua y procedimiento para proporcionar datos de mensaje binario
JP5665887B2 (ja) 改善された同期の概念を使用するウォーターマーク生成器、ウォーターマーク復号器、ウォーターマーク信号を提供する方法、ウォーターマーク済み信号に基づいてバイナリーメッセージデータを提供する方法及びコンピュータプログラム