ES2349961T3 - Método de generación de una huella para una señal útil. - Google Patents

Método de generación de una huella para una señal útil. Download PDF

Info

Publication number
ES2349961T3
ES2349961T3 ES05001258T ES05001258T ES2349961T3 ES 2349961 T3 ES2349961 T3 ES 2349961T3 ES 05001258 T ES05001258 T ES 05001258T ES 05001258 T ES05001258 T ES 05001258T ES 2349961 T3 ES2349961 T3 ES 2349961T3
Authority
ES
Spain
Prior art keywords
data
signal
useful signal
vector
useful
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.)
Expired - Lifetime
Application number
ES05001258T
Other languages
English (en)
Inventor
Hanspeter Rhein
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.)
CUGATE AG
Original Assignee
CUGATE AG
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 CUGATE AG filed Critical CUGATE AG
Application granted granted Critical
Publication of ES2349961T3 publication Critical patent/ES2349961T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • 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
    • 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/02Speech 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 using spectral analysis, e.g. transform vocoders or subband vocoders

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Auxiliary Devices For Music (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stereophonic System (AREA)
  • Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
  • Signal Processing Not Specific To The Method Of Recording And Reproducing (AREA)
  • Collating Specific Patterns (AREA)
  • Monitoring And Testing Of Transmission In General (AREA)
  • Diaphragms For Electromechanical Transducers (AREA)
  • Telephone Function (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Método destinado a generar una huella para una señal de audio, en donde la señal de audio representa la evolución de un espectro que comprende audiofrecuencias en el transcurso del tiempo, mediante el cuál al menos un conjunto de datos, que comprende una parte de la señal de audio, es procesado por al menos un analizador según una instrucción de análisis predeterminada; mediante el cuál el analizador genera, a la salida, como un resultado del procesamiento de un vector de datos de huella dependiendo del, e identificando, dicho al menos un conjunto de datos procesado; mediante el cuál dicho al menos un analizador comprende filtros de frecuencia para procesar un espectro de frecuencias de cada uno de los conjuntos de datos, caracterizado porque cada uno de los filtros de frecuencia está adaptado para filtrar un tono particular procedente del espectro de frecuencias de los conjuntos de datos, lo que genera un conjunto de tonos, y la instrucción de análisis comprende la etapa que consiste en seleccionar los tonos, que tengan la amplitud más elevada para cada uno de los conjuntos de datos y la etapa que consiste en calcular un vector que representa el número de ocurrencias de los tonos diferentes en tanto como tonos seleccionados.

Description

Método de generación de una huella para una señal útil.
La invención se refiere a un método de generación de una huella para una señal de audio.
El término "señal útil", tal como aquí se utiliza, se emplea para designar señales que representan datos previstos, a la larga, para su recepción por un usuario, en particular un usuario humano. Ejemplos comunes de señales útiles son las señales de audio, que representan la evolución de un espectro de frecuencias para ondas acústicas en el transcurso del tiempo (el espectro que varía, por ejemplo, desde 300 Hz a 3400 Hz para telefonía o desde 10 Hz a 20 kHz para la reproducción de alta calidad de un concierto clásico o señales de vídeo (de imagen única así como imágenes en movimiento), en donde una frecuencia de la señal útil es, por ejemplo, para presentarse visualmente en una pantalla de TV o cinematográfica, definida por las propiedades de la imagen y varía entre 0 Hz (una imagen vacía) y una frecuencia máxima determinada por las filas y columnas de la pantalla y una velocidad de regeneración para imágenes en movimiento de p.e. 6,5 MHz para numerosos sistemas de TV.
Sin embargo, las señales útiles podrían incluir, además, señales que representan cadenas de texto u otras representaciones y también futuros desarrollos de señales previstas de forma directa o indirecta y en particular, para su percepción por usuarios humanos.
Las señales útiles se podrían representar, de un modo análogo, por ejemplo como señales de radio o de TV, o se podrían representar como señales digitales, por ejemplo señales de PCM (Modulación por Codificación de Impulsos) formadas mediante muestreo de una señal analógica con posterior cuantización y quizás etapas de codificación. En cualquier caso, una señal útil podría incluir una representación completa del conjunto de datos pertinente, bien sea una pieza musical única o un conjunto de dichas pistas, una imagen única o una película de objetos en movimiento completa.
Existe una necesidad general para comparar señales útiles entre sí, por ejemplo para la finalidad de distinguir una señal particular con respecto a otras señales o para comprobar la identidad de dos señales útiles.
La manera obvia de comprobar la identidad de dos señales digitales es una comparación bit a bit. Sin embargo, este procedimiento no es de utilidad en numerosos casos: Supóngase que una señal se ha duplicado por un procedimiento de copia, de modo que las señales sean idénticas entre sí. Si la segunda señal se modifica a continuación, p. e., se convierte al conocido formato MP3 para fines de carga, después de una descompresión, una comparación de ambas señales dará como resultado que ambas señales sean diferentes. Lo mismo sucede para las conversiones de digital a analógica y de analógica a digital.
Cano et al describieron en la publicación Proceedings of the IEEE, 9 de fecha diciembre 2002, páginas 169-173, una revisión de diferentes algoritmos para generar huellas digitales de audio, incluyendo las etapas de preprocesamiento, entramado y solapamiento, transformación, extracción de características, post-procesamiento y creación de modelos de huellas digitales.
En condiciones normales, para permitir un procesamiento automático de las señales útiles, han de proporcionarse datos de identificación junto con la señal. A modo de ejemplo, campos de datos para cadenas que representan la autoría, fecha de la grabación, clase de música, etc. se podrían añadir a una pista de música. Para los fines de determinar señales idénticas o similares, estos campos de datos adicionales han de procesarse. No obstante, resulta difícil identificar señales similares, por ejemplo pistas de música clásica y de música rock, con una melodía similar.
Los datos que identifican una señal útil en uno o más aspectos se denominan a continuación una huella (a veces dichos datos se denominan también huella digital). En particular, los datos de huella podrían identificar una señal con respecto a la percepción humana durante la recepción de la señal por un usuario humano.
Es un objetivo de la invención dar a conocer un método para generar una huella para una señal de audio, que permita la detección automática de señales de audio, idénticas o similares, en una manera rentable, en donde la huella es resistente contra las modificaciones de la señal de audio no perceptibles para los usuarios humanos y que permite una detección eficiente de huellas idénticas o similares y dar a conocer los respectivos dispositivos.
Este objetivo se consigue por un método con las características de la reivindicación 1 y un dispositivo con las características de la reivindicación 16.
De acuerdo con la invención, al menos se procesa un conjunto de datos, que comprende una parte de una señal útil, por un analizador según una instrucción de análisis predeterminada, en donde el analizador genera, a la salida, como resultado del procesamiento, un vector de datos de huella dependiendo del conjunto de datos procesado y de su identificación.
Una de las ideas fundamentales de la invención es generar una huella como resultado del procesamiento de la señal útil, o de una de sus partes, por una instrucción de análisis de señal útil. De este modo, la huella comprende un vector de datos de huella que representa propiedades de la propia señal útil. No se necesita que un administrador humano añada manualmente datos descriptivos para la señal útil. Habida cuenta que la huella está relacionada con las propiedades de la señal útil, señales útiles idénticas y similares se pueden identificar mediante una comparación adecuada de las respectivas huellas.
En detalle, según la invención, un método de generación de una huella para una señal útil, en particular una señal de audio, en donde la señal útil representa la evolución de un espectro que comprende las frecuencias de señale útiles, por ejemplo frecuencias de audio, en el transcurso del tiempo, comprende que al menos un conjunto de datos, incluyendo una parte de la señal útil, se procesa por un analizador, según una instrucción de análisis predeterminada, en donde el analizador genera, a la salida, como resultado del procesamiento, un vector de datos de huella dependiendo del conjunto de datos procesado y de su identificación.
En formas de realización preferidas del método inventivo, la instrucción de análisis procesa el conjunto de datos con respecto a las propiedades del conjunto de datos, que son perceptibles para los sentidos humanos durante la recepción de la señal útil por los usuarios humanos. De este modo, una identificación de señales útiles, que parecen similares para una percepción humana, es ventajosamente posible.
En otras formas de realización preferidas del método inventivo, el conjunto de datos se procesa por dos o más analizadores y/o dos o más instrucciones de análisis y el vector de datos de huella representan resultados del procesamiento por los analizadores y/o las instrucciones de análisis. De este modo, dos o más propiedades de las señales útiles se podrían representar dentro de la huella, por ejemplo, melodía o ritmo.
En otras formas de realización de la invención, se procesan dos o más conjuntos de datos, solapantes o no solapantes, de la señal útil y el vector de datos de huella representa resultados del procesamiento de los conjuntos de datos. De este modo, se mejoran, en gran medida, las posibilidades de representar propiedades de señales en el vector de datos de la huella.
En otras formas de realización del método inventivo, el conjunto de datos comprende una trama de señal útil de la señal útil, la instrucción de análisis comprende comparar el conjunto de datos con cada trama de modelo de un diccionario de modelos predeterminado, en donde el diccionario de modelos comprende una lista numerada de tramas de modelos e incluye la estimación de una similitud de la trama de señal útil con cada una de las tramas de modelos y el analizador genera, a la salida, como el resultado del procesamiento del conjunto de datos, el número de la trama de modelo que se determina que tiene la mayor similitud con la trama de señal útil. En una forma de realización preferida, es posible el mapeado de los modelos que están presentes en la señal útil, que, por ejemplo, podría ser típico para la clase particular de señal, para modelos conocidos y sustituir el modelo por el número de modelo. De este modo, es posible caracterizar con un pequeño conjunto de datos (un conjunto de números de modelos) el conjunto de datos, de mucha mayor magnitud, de la señal útil.
En una forma de realización desarrollada, a la trama de señal útil se le asigna un vector de trama de señal útil, a cada una de las tramas de modelos se asigna un vector de trama de modelo y la similitud de cada par de trama de señal útil y trama de modelo se determina calculando la distancia entre el vector de trama de señal útil y el vector de trama de modelo respectivo. De este modo, se pueden desarrollar, en una forma de realización preferida, algoritmos eficientes conocidos a partir del análisis de vectores.
En otra forma de realización desarrollada, el analizador es un analizador espectral, que calcula parámetros del espectro suavizados, en particular coeficientes cepstrales, para la trama que utiliza un algoritmo de predicción lineal. Además, los coeficientes cepstrales podrían codificarse utilizando el diccionario de modelos y una matriz de distancias entre vectores de referencia del diccionario de modelos. En este caso, es ventajosamente posible analizar las propiedades relacionadas con los tonos de la señal útil (para pistas de música, por ejemplo) y representan los resultados del análisis en la huella.
En otras formas de realización preferidas del método inventivo, el analizador comprende filtros de frecuencia para el procesamiento de un espectro de frecuencias de cada uno de los conjuntos de datos, en donde cada uno de los filtros de frecuencia está adaptado para filtrar un tono particular desde el espectro de frecuencias de los conjuntos de datos, dando como resultado un conjunto de tonos, y la instrucción de análisis comprende calcular la amplitud de cada uno de los tonos de cada conjunto de datos. De este modo, se puede analizar fácilmente el ritmo y la melodía u otras propiedades relacionadas con los tonos.
En otras formas de realización del método inventivo, las instrucciones de análisis comprenden, además, instrucciones para calcular una frecuencia de ocurrencia de diferentes tonos, en particular para determinar una melodía de la señal útil y/o una duración de uno o más tonos, en particular para determinar un ritmo y/o un valor de bpm, que representa los batidos por minuto para la señal útil.
En otras formas de realización del método inventivo, el analizador comprende un decimador de señales para el muestreo por debajo de la señal útil, en donde se mantiene la banda de frecuencias que contiene al menos un 90% de la energía de la señal útil. Esto disminuye las necesidades de equipos físicos (hardware) del resto del sistema.
En otra forma de realización de la invención, el analizador comprende un detector de trama activa para procesar la señal útil, de modo que los conjuntos de datos con energía inferior a un umbral predeterminado queden excluidos de un posterior procesamiento, para lo cual el valor umbral se obtiene multiplicando la energía de señal media por un factor de ponderación definido por el usuario. Este procedimiento impide las falsas alarmas causadas por el ruido.
Según la invención, un método de identificación de señales útiles de un conjunto predeterminado de señales útiles, que sean idénticas o similares a una señal útil de entrada, en donde a cada una de las señales útiles se le asigna una huella generada de acuerdo con un método, según cualquiera de las reivindicaciones anteriores, que
- recibe, como entrada, el vector de datos de huella de la señal útil de entrada,
- calcula, para cada par de la señal útil de entrada y de una del conjunto de señales útiles, una distancia según una instrucción de distancia predeterminada entre los respectivos vectores de datos de huella
- reenvía, como resultado de la identificación, una lista de las señales útiles cuya distancia es menor que un valor de umbral predeterminado.
Esto permite una identificación rápida y fiable de señales idénticas o similares.
En una forma de realización preferida del método antes citado, la etapa de calcular la distancia comprende las subetapas siguientes:
- en una primera subetapa, subsectores de las señales útiles se utilizan en el cálculo de la distancia para calcular una distancia bruta y se identifican provisionalmente las señales útiles con distancias brutas inferiores a un primer valor de umbral,
- en una segunda subetapa, se calculan las distancias de las señales útiles, provisionalmente identificadas, para la señal útil de entrada, utilizando los vectores de datos útiles completos. En caso de un mayor número de señales en el conjunto de señales útiles, esto permite la identificación rápida de señales útiles similares.
Los métodos antes citados se pueden poner en práctica en un programa informático, que está adaptado para ejecutarse en un ordenador programable, una red informática programable u otros equipos programables. Esto permite un desarrollo de bajo coste, fácil y rápido de realizaciones de los métodos inventivos. En particular, dicho programa informático podría almacenarse sobre un medio de soporte legible por ordenador, tal como por ejemplo, CD-ROM o DVD-ROM.
Los dispositivos para uso con los métodos inventivos pueden comprender, en particular, ordenadores programables, redes informáticas programables u otros equipos programables, en los que estén instalados programas informáticos, que ponen en práctica la invención.
Otros aspectos y ventajas de la invención se harán evidentes a partir de la siguiente descripción de formas de realización de la invención con respecto a los dibujos adjuntos, en los que:
La Figura 1 es una representación esquemática de una primera forma de realización de la invención;
La Figura 2 es una representación esquemática de una segunda forma de realización de la invención;
La Figura 3 es una representación esquemática de un vector de datos de huella de acuerdo con la invención;
La Figura 4 es una vista en pantalla de una aplicación que pone en práctica la invención.
La presente invención da a conocer dos analizadores independientes.
El primer analizador realiza la codificación de vectores utilizando un diccionario de modelos (Figura 1). Para cada trama de la secuencia analizada, un vector de entrada n-dimensional, que consiste en N=12 coeficientes cepstrales, se calcula utilizando un algoritmo de predicción lineal (LCP).
Un conjunto representativo de pistas musicales se ha procesado para construir el diccionario de modelos. Para este conjunto de señales útiles, se ha generado un conjunto de vectores de entrada. Un diccionario de modelos se ha construido a partir de este conjunto de vectores, utilizando la denominada Centroid Computation to Codebook Design [L. Rabiner, B. Juang, Fundamentals de Speech Recognition, AT&T, 1993]. Un tamaño admisible del diccionario de modelos (8192 vectores de referencia) se ha determinado de forma experimental.
A continuación, el vector de entrada actual se sustituye por un vector de referencia, que es el más próximo al vector de entrada en una métrica seleccionada. DE este modo, cada trama de la señal útil se codifica en un número de un vector de referencia. Por lo tanto, el fragmento completo se codifica como una secuencia de T_{an}/T_{trama} números de vectores de referencia a partir del diccionario de modelos.
Este algoritmo proporciona una codificación eficiente de los archivos musicales con coeficiente de compresión que excede de 17.500. En un sistema informatizado, un usuario puede definir los parámetros antes citados de acuerdo con las propiedades de la señal útil que se procesa. Las huellas basadas en los códigos D (códigos de Diccionario) son aplicables a una amplia gama de señales útiles (audio, vídeo, medicina, etc.).
En otras formas de realización preferidas de la invención para uso con señales de audio, la señal útil se analiza en fragmentos separados, cada uno con una duración de T_{an}=60 segundos. Para cada fragmento, se genera un código de huella separado. Los fragmentos próximos se eligen para solapamiento en 1/2T_{an}.
En una forma de realización preferida, la señal se muestrea por abajo con una frecuencia 8000 Hz, que esencialmente corta sus frecuencias a 4000 Hz. El intervalo de la señal a analizarse es dividido en tramas secuenciales T_{fr}=0,2 segundos cada una. En un sistema informatizado, el usuario es capaz de ajustar estos parámetros de acuerdo con las propiedades de la señal procesada.
El segundo analizador está basado en una puesta en práctica del algoritmo FFT (Transformada Rápida de Fourier) aplicado a un banco de filtro no uniforme (Figura 2). Un banco de filtros con frecuencias centrales correspondientes a los tonos se pone en práctica utilizando el algoritmo FFT con la dimensión N_{fft}=65.536.
Las frecuencias centrales de los filtros F_{k}, deben corresponder con la frecuencia de la nota (tono):
1
Las dependencias temporales de las amplitudes, a la salida de los filtros, calculadas para cada trama, se utilizan para la estimación de la melodía y ritmo para la trama de señal útil que se procesa. En la forma de realización preferida que se examina en la presente, el algoritmo de estimación se pone en práctica en las etapas siguientes:
1) Todas las notas (tonos) son objeto de transposición en una octava única, donde obtienen los números i=0,1,...11, mientras se mantiene la amplitud máxima A[i] de la nota fuente.
2) Los números de notas n[i] se clasifican en orden decreciente de amplitud:
2
3) Tres secuencias de notas se forman a partir de las K tramas del fragmento:
3
4) La frecuencia de ocurrencia de las tres primeras notas 4 se calcula y también se calcula un vector de 36 dimensiones para el fragmento que se procesa. Este vector es esencialmente la estimación de la melodía (el código M).
5) Los componentes de este vector de 36 dimensiones se registran como la estimación de la melodía para el fragmento que se procesa.
6) Una secuencia de valores de duración de notas se calcula para la secuencia n[0,k].
7) Un vector de 12 dimensiones, constituido por las frecuencias de ocurrencia de valores de duración que varían desde 0,2 a 4,0 segundos es objeto de cálculo.
8) Se calcula un intervalo medio ponderado y un vector de ritmo de 20 dimensiones.
9) Se estima un número de batidos por minuto (bpm) para el fragmento (este es esencialmente el valor del tempo), que se registra junto con los componentes del vector de ritmo de 20 dimensiones.
En una forma de realización de la invención que comprende ambos analizadores, se realizan las etapas siguientes:
1) La señal útil se procesa primero por un decimador de señales, que muestrea por abajo la señal útil, pero mantiene la banda de frecuencias que contiene al menos un 90% de la energía de la señal útil fuente. Esto disminuye los requisitos de hardware del resto del sistema.
Un filtro con un número variable de secciones dependientes de la frecuencia y relación de muestreo variable podría utilizarse para decimación de la señal útil; esto permite al usuario mantener las propiedades más importantes de la señal útil para calcular los datos de la huella después de la decimación.
2) Después de la decimación, la señal útil muestreada por abajo se procesa por un detector de trama activa, que excluye de un posterior procesamiento a las tramas con energía por debajo de un umbral establecido, para las cuales el valor del umbral se obtiene multiplicando la energía de la señal media por el factor de ponderación definido por el usuario. Este procedimiento impide las alarmas falsas causadas por ruido.
En la forma de realización aquí descrita, todas las tramas del fragmento actual, con energía inferior a un determinado umbral, se excluyen de un posterior procesamiento de acuerdo con las etapas siguientes:
a) El umbral Th_{N} se calcula aplicando la fórmula siguiente:
5
6
En estas fórmulas N_{v} es el número de tramas con P_{i}>Th_{s}, siendo n_{0} la longitud de la trama, N el número de tramas en el fragmento, Sh es la longitud de solapamiento y \gamma_{N} es un factor de ponderación definido por el usuario;
b) para cada trama i su S_{i} característicos se calcula aplicando la fórmula:
7
La trama i-ésima se pasa a las siguientes etapas de análisis si se verifica
8
De no ser así, se excluyen de un posterior procesamiento.
3) Las restantes tramas se procesan por un analizador espectral, que calcula los parámetros del espectro suavizados (coeficientes cepstrales) para cada trama utilizando el algoritmo de predicción lineal.
Según aquí se describe, Técnicas de Comparación de Modelos y Medidas de la Distorsión Espectral para Distancias Cepstrales. Un diccionario de modelos y una matriz de distancias entre vectores de referencia del diccionario de modelos se obtiene de antemano, procesando varias señales útiles [L. Rabiner, B. Juang, Fundamentals of Speech Recognition, AT&T, 1993].
El número de vectores de referencia, en el diccionario de modelos, depende de la clase de señales útiles. Los valores preferidos son 1024-2048 para la voz y 4096-8192 para la música. Si se aplica la tecnología de huella inventiva, para las señales con diferentes propiedades, debe formarse un diccionario de modelos independiente para cada clase de señales, junto con una correspondiente matriz de distancias entre los vectores de referencia.
El número del vector de referencia a partir del diccionario de modelos, correspondiente a la trama actual (es decir, el código D de la trama) se obtiene mediante las etapas siguientes:
a) análisis de LPC
b) cálculo de N coeficientes cepstrales
c) codificación de vectores utilizando el diccionario de modelos
4) Los N coeficientes cepstrales, para la trama actual, se codifican efectivamente utilizando un diccionario de modelos precalculado y una matriz de distancias entre los vectores de referencia del diccionario de modelos. El código D obtenido de la trama actual es un número único de un vector de referencia a partir del diccionario de modelos. Este algoritmo proporciona un alto grado de compresión y una alta eficiencia de decodificación. Un código D del fragmento completo es una secuencia de números de los vectores de referencia a partir de un diccionario de modelos.
5) Análisis y codificación de características distintivas de la señal útil se realizan utilizando una puesta en práctica del algoritmo FFT de un banco de filtros no uniforme. La magnitud del algoritmo FFT y las frecuencias limitadoras del banco de filtro se definen por el usuario en función de la clase de la señal útil. Para las señales de audio, proponemos el valor N_{fft}=65.536 y las frecuencias limitadoras se eligen de modo que incluyan los tonos que varían desde 32 Hz a 3.950 Hz.
El análisis de la frecuencia de ocurrencia de diferentes notas proporciona el código de melodía correspondiente (código M) para el fragmento actual de la señal útil. El análisis de la duración de cada nota proporciona el código R y el valor de batidos por minuto (N_{bpm})para el fragmento actual.
Para estimación de las propiedades distintivas de la señal útil, su codificación y adición a los datos de huella, se utiliza una puesta en práctica de FFT de un banco de filtros no uniforme, en donde, para la música se elige el banco de filtros no uniforme, de modo que las frecuencias centrales de los filtros F_{k} debe corresponder con las frecuencias de las notas:
9
El código M, código R y N_{bpm}, para el fragmento actual se calculan en las etapas siguientes:
a) banco de filtros FFT
b) dependencias temporales de las amplitudes espectrales
c) transporte de todas las notas a un octava única (las notas obtienen los números de 0 a 11) y la clasificación de las notas en el orden de amplitud decreciente
d) estimación de melodía (código M)
e) estimación del ritmo (código R)
f) estimación del tempo (N_{bpm})
Un tamaño relativamente grande del FFT permite sintonizar el banco de filtros a las propiedades de las señales solamente cambiando los números de coeficientes de FFT, que determinan las frecuencias límites de los filtros.
La estructura de los datos de la huella, resultantes de una combinación de los datos de salida del analizador de la Figura 1 y del analizador de la Figura 2 se representan en la Figura 3. Los datos de la huella consisten en un conjunto de números de modelos a partir de un diccionario de modelos, un vector de 36 dimensiones, un vector de 20 dimensiones y un número. Por supuesto, en otras formas de realización, solamente se podría utilizar un analizador. Las huellas resultantes tienen correspondientemente menos elementos:
Los resultados del análisis de numerosas señales útiles, según la descripción anterior, se puede almacenar en una base de datos. A cada señal útil se le podría asignar datos de huella únicos, que se registran en la base de datos. Las huellas correspondientes a la misma señal se ordenan de acuerdo con el orden de fragmentos en la señal. De este modo, se puede identificar una señal no solamente como un conjunto, sino también por cualquiera de sus fragmentos.
La finalidad de la base de datos depende de la finalidad del sistema completo, en el que se utiliza la tecnología de huellas. Para señales musicales, los datos de huella tienen la estructura siguiente:
Datos de huellas = (código D, código M, código R, N_{bpm})
El tamaño de estos datos, para un fragmento único, es aproximadamente 2 K.
Una forma de realización preferida del método de búsqueda para un código de huella similar, según la invención, comprende las características siguientes:
Una base de datos de los datos de huella para un gran número de pista se almacena en un servidor. Esta base de datos contiene también los atributos de la pista musical (nombre, autor, género, etc.). El servidor debe poseer también los medios para comunicarse con un usuario, que podría desear identificar una pista musical o una parte de ella enviando los datos de huella, generados por ella, al servidor. En respuesta, el usuario obtiene un informe que contiene títulos y otras propiedades de las pistas musicales clasificadas en el orden de su importancia.
La necesidad de dicha lista resulta de la posible existencia de numerosas grabaciones de la misma música bajo diferentes condiciones y con diferente rendimiento, que deben volverse a sintonizar en su totalidad. La lista está actualizada en tiempo real, mientras que el usuario escucha su pista. Puesto que el número de pistas en la base de datos puede llegar a ser de centenares de miles, es importante poner en práctica un método de búsqueda rápida.
La forma de realización aquí examinada comprende, por consiguiente, un sistema de búsqueda de dos etapas:
Designaremos el código de huella del segmento actual como {D_{i}, M_{i}, R_{i}, N_{bpm}) y un código de huella de la base de datos como 10.
En la primera etapa del algoritmo de búsqueda, los códigos de huellas, a partir de la base de datos, se buscan solamente por los valores R_{i} y el valor N_{bpm}, según la regla siguiente:
11
En donde N_{cnd} es el valor deseado de candidatos temporales, y \Delta_{bpm}, \Delta_{R}son los umbrales sintonizables, que dependen de N_{cnd}.
En la segunda etapa del algoritmo de búsqueda, los candidatos temporales se clasifican en el orden de error ponderado decreciente:
12
donde
13
El valor de error \varepsilon_{D} se calcula utilizando un algoritmo de programación dinámica denominado Dynamic Time Wrapping (DTW) (en español por "Envolvente Dinámica del Tiempo"). La velocidad de búsqueda de aumenta notablemente mediante el precálculo de una matriz de distancias entre los vectores de referencia del diccionario de modelos. De este modo, los valores de se obtienen mediante la suma de los elementos matriciales correspondientes a los valores actuales D_{i} y \mathit{\tilde{D}_{i}}.
El usuario recibe una lista de registros de bases de datos, junto con los valores probables similares calculados utilizando la fórmula:
14
en donde n es el número del registro de la lista y S_{n} es una secuencia decreciente de forma monótona.
El sistema informatizado permite sintonizar todos los parámetros antes citados de acuerdo con las propiedades de la señal útil.
De este modo, un método de búsqueda para huellas similares en una base de datos comprende las etapas siguientes:
1) Los datos de huella se generan para el fragmento actual de la señal útil.
2) K candidatos se seleccionan de la base de datos de códigos de huellas, utilizando un método de búsqueda rápida por uno de varios códigos de huella a partir de los datos de huellas completos.
3) Los K candidatos seleccionados se clasifican en orden de valores decrecientes de la función objetivo, teniendo en cuenta todos los códigos de huellas de los datos de huellas generados.
\newpage
La selección de los K candidatos proporciona una búsqueda rápida en una base de datos amplia, incluso con centenares de miles de huellas. La función objetivo proporciona la solución de compromiso necesaria entre la identificación fiel y falsa de señales útiles.
En su aplicación a señales musicales, un fragmento actual se podría identificar por las etapas siguientes:
1) El fragmento se procesa y se genera sus datos de huella, que contienen código D, código M, código R y N_{bpm}.
2) Se realiza una selección rápida de fragmentos de K candidatos a partir de la base de datos para lo cual se aplica
15
16
donde I_{R} es la dimensionalidad del correspondiente vector de código R, \mathit{\tilde{R}}, \mathit{\tilde{N}_{bpm}} son los códigos de huella del fragmento candidato de la base de datos y los umbrales \Delta_{R}, \Delta_{bpm} dependen del número deseable de K candidatos.
3) La clasificación de los K candidatos seleccionados en el orden de error decreciente:
17
donde
18
En este caso I_{m} es la dimensionalidad del vector de código M.
El error \varepsilon_{D} se calcula utilizando el algoritmo denominado Dynamic Time Wrapping(DTW) teniendo en cuenta las distancias precalculadas entre los vectores de referencia del diccionario de modelos.
4) Estimación del valor probable similar (L) para todos los K candidatos desde la base de datos:
19
en donde S es la función que determina la escala de probabilidades de 0% a 100%.
En formas de realización preferidas de la invención, la generación de la huella y los métodos de búsqueda de las huellas se pueden poner en práctica en software, hardware o ambos a la vez. Cada método o partes del mismo, se pueden describir con la ayuda de lenguajes de programación adecuados en la forma de instrucciones legibles por ordenador, tal como programa o módulos de programa. Estos programas informáticos se pueden instalar en, y ejecutarse por, uno o más ordenadores o dichos dispositivos programables. Los programas se pueden almacenar en soportes extraíbles (CD-ROMs, DVD-ROMs, etc.) u otros dispositivos de almacenamiento, para fines de almacenamiento y distribución o bien, pueden distribuirse a través de Internet.
Los dispositivos que ponen en práctica la generación de huella inventiva y el método de búsqueda pueden ser herramientas de reproducción de audio para uso en un PC. Estos reproductores podrían ser equipos físicos dedicados con software adecuado, p.e. reproductor autónomo, o pueden activarse en una pantalla de escritorio de un PC, integrada en una página web o descargada e instalada como un dispositivo enchufable para la ejecución en las unidades reproductoras conocidas.
A modo de ejemplo, la Figura 4 ilustra una vista de escritorio de una aplicación que tiene la generación de huella inventiva y el método de búsqueda puesto en práctica. A la solicitud de un usuario, realizada haciendo clic en uno de los puntos iluminados en la parte izquierda de la vista en pantalla, el reproductor inicia la reproducción de la pista solicitada. Pistas similares (p.e. pistas dentro de la base de datos que sirve a la aplicación con huellas similares) se visualizan próximas entre sí. De este modo, es fácilmente posible para el usuario elegir las pistas con propiedades comparables. El propio usuario puede elegir también qué propiedades se utilizan para la comparación.
En la presente memoria se han descrito algunas formas de realización preferidas de la invención. Muchas otras formas de realizaciones son posibles y son evidentes para una persona experta en la materia, sin desviarse respecto al alcance de protección de la invención, que se define exclusivamente por las reivindicaciones adjuntas.

Claims (17)

1. Método destinado a generar una huella para una señal de audio, en donde la señal de audio representa la evolución de un espectro que comprende audiofrecuencias en el transcurso del tiempo,
mediante el cuál al menos un conjunto de datos, que comprende una parte de la señal de audio, es procesado por al menos un analizador según una instrucción de análisis predeterminada;
mediante el cuál el analizador genera, a la salida, como un resultado del procesamiento de un vector de datos de huella dependiendo del, e identificando, dicho al menos un conjunto de datos procesado;
mediante el cuál dicho al menos un analizador comprende filtros de frecuencia para procesar un espectro de frecuencias de cada uno de los conjuntos de datos,
caracterizado porque
cada uno de los filtros de frecuencia está adaptado para filtrar un tono particular procedente del espectro de frecuencias de los conjuntos de datos, lo que genera un conjunto de tonos, y la instrucción de análisis comprende la etapa que consiste en seleccionar los tonos, que tengan la amplitud más elevada para cada uno de los conjuntos de datos y la etapa que consiste en calcular un vector que representa el número de ocurrencias de los tonos diferentes en tanto como tonos seleccionados.
\vskip1.000000\baselineskip
2. El método, según la reivindicación 1, caracterizado porque la instrucción de análisis procesa el conjunto de datos con respecto a las propiedades del conjunto de datos que son perceptibles para los sentidos humanos en el curso de la recepción de la señal útil por los usuarios humanos.
3. El método, según la reivindicación 1 o 2, caracterizado porque el conjunto de datos se procesa por dos o más analizadores y/o dos o más instrucciones de análisis y el vector de datos de huella representa resultados del procesamiento obtenidos por los analizadores y/o las instrucciones de análisis.
4. El método, según cualquiera de las reivindicaciones anteriores, caracterizado porque se procesan dos o más conjuntos de datos, solapantes o no solapantes, de la señal útil y el vector de datos de la huella representa los resultados del procesamiento de los conjuntos de datos.
5. El método, según cualquiera de las reivindicaciones anteriores, caracterizado porque el conjunto de datos comprende una trama de señal útil de la señal útil, la instrucción de análisis comprende la etapa que consiste en comparar el conjunto de datos con cada trama de modelo de un diccionario de modelos predeterminado, en donde el diccionario de modelos comprende una lista numerada de tramas de modelo, y comprende la etapa que consiste en estimar una similitud de la trama de señal útil con cada una de las tramas de modelo y el analizador genera, a la salida, como el resultado del procesamiento del conjunto de datos, el número de la trama de modelo que se determina como teniendo la más alta similitud con la trama de la señal útil.
6. El método, según la reivindicación 5, caracterizado porque a la trama de señal útil se le asigna un vector de trama de señal útil, a cada una de las tramas de modelo se le asigna un vector de trama de modelo y la similitud de cada par de trama de señal útil y trama de modelo se determina calculando la distancia entre el vector de trama de señal útil y el vector de trama de modelo respectivo.
7. El método, según la reivindicación 5 o 6, caracterizado porque el analizador es un analizador espectral, que calcula parámetros de espectro suavizados, en particular coeficientes cepstrales para la trama, utilizando un algoritmo de predicción lineal.
8. El método, según la reivindicación 7, caracterizado porque los coeficientes cepstrales se codifican utilizando el diccionario de modelos y una matriz de distancias entre vectores de referencia del diccionario de modelos.
9. El método, según la reivindicación 1, caracterizado porque las instrucciones de análisis comprenden, además, instrucciones para calcular una duración de uno o más tonos, en particular para determinar un ritmo y/o un valor "bpm" que representa los batidos por minuto para la señal útil.
10. El método, según cualquiera de las reivindicaciones anteriores, caracterizado porque el analizador comprende un decimador de señales para muestrear por abajo la señal útil, en donde se conserva la banda de frecuencia que contiene al menos un 90% de la energía de la señal útil.
11. El método, según cualquiera de las reivindicaciones anteriores, caracterizado porque el analizador comprende un detector de trama activo para procesar la señal útil, de modo que los conjuntos de datos, con energía inferior a un umbral predeterminado, queden excluidos de un nuevo procesamiento.
12. Método destinado a identificar señales de audio, de un conjunto predeterminado de señales de audio, que son idénticas o similares a una señal de audio de entrada, en donde a cada una de las señales de audio se le asigna una huella generada por un método según cualquiera de las reivindicaciones anteriores, y en donde una unidad identificadora recibe, como una entrada, el vector de datos de huella de la señal de audio de entrada;
calcula, para cada par de la señal de audio de entrada y de una señal del conjunto de señales útiles, una distancia según una instrucción de distancia predeterminada entre los respectivos vectores de datos de la huella y
reenvía, como un resultado de la identificación, una lista de señales de audio, cuya distancia es menor que un valor de umbral predeterminado.
\vskip1.000000\baselineskip
13. Método según una cualquiera de las reivindicaciones anteriores, caracterizado porque la etapa de calcular la distancia comprende las subetapas siguientes:
a. en el curso de una primera subetapa, subvectores de las señales de audio se utilizan en el cálculo de distancias para calcular una distancia bruta y las señales de audio que tengan distancias brutas inferiores a un primer valor de umbral se identifican provisionalmente;
b. en el curso de una segunda subetapa, las distancias de las señales de audio provisionalmente identificadas, al nivel de la señal útil de entrada, se calculan utilizando los vectores de datos de audio completos.
\vskip1.000000\baselineskip
14. Programa informático que pone en práctica el método, según cualquiera de las reivindicaciones 1 a 13, adaptado para ejecutarse en un ordenador programable, una red informática programable u otro equipo programable.
15. Programa informático, según la reivindicación 14, que está almacenado en un soporte legible por un ordenador.
16. Dispositivo para poner en práctica un método destinado a generar una huella de una señal de audio según una cualquiera de las reivindicaciones 1 a 13, en particular un ordenador programable, una red informática programable u otro equipo programable, en donde está instalado un programa informático según la reivindicación 14.
17. Disposición, que comprende un dispositivo según la reivindicación 16, caracterizada porque una base de datos conectada al dispositivo para almacenar vectores de datos de huella, en donde el dispositivo está adaptado para acceder a la base de datos.
ES05001258T 2005-01-21 2005-01-21 Método de generación de una huella para una señal útil. Expired - Lifetime ES2349961T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP05001258A EP1684263B1 (en) 2005-01-21 2005-01-21 Method of generating a footprint for an audio signal

Publications (1)

Publication Number Publication Date
ES2349961T3 true ES2349961T3 (es) 2011-01-13

Family

ID=34933405

Family Applications (1)

Application Number Title Priority Date Filing Date
ES05001258T Expired - Lifetime ES2349961T3 (es) 2005-01-21 2005-01-21 Método de generación de una huella para una señal útil.

Country Status (15)

Country Link
US (1) US8548612B2 (es)
EP (1) EP1684263B1 (es)
JP (1) JP5345783B2 (es)
KR (1) KR101228821B1 (es)
CN (1) CN101133442B (es)
AT (1) ATE467207T1 (es)
AU (1) AU2006207686B2 (es)
BR (1) BRPI0607275A2 (es)
CA (1) CA2595349C (es)
DE (1) DE602005021047D1 (es)
ES (1) ES2349961T3 (es)
IL (1) IL184707A (es)
PL (1) PL1684263T3 (es)
RU (1) RU2427909C2 (es)
WO (1) WO2006077062A1 (es)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101226526A (zh) * 2007-01-17 2008-07-23 上海怡得网络有限公司 一种基于音乐片段信息查询的音乐搜索方法
DE202014011536U1 (de) 2013-12-09 2022-04-05 Todd Martin Eine Plattform zur Identifizierung und Verfolgung eines Geräts, das von einem Teilnehmer am Körper getragen wird, während einer Sportveranstaltung
US12333808B2 (en) 2014-05-31 2025-06-17 Todd Martin System and method for identifying a brand worn by a person in a sporting event
KR102697424B1 (ko) 2016-11-07 2024-08-21 삼성전자주식회사 대표 파형 제공 장치 및 방법
RU172737U1 (ru) * 2017-04-18 2017-07-21 Общество с ограниченной ответственностью "ДЖЕНТ КЛАБ" Устройство для идентификации музыкальных произведений
RU2662939C1 (ru) * 2017-05-12 2018-07-31 Общество с ограниченной ответственностью "ИСКОНА ХОЛДИНГ" Способ идентификации музыкальных произведений
WO2019079818A1 (en) 2017-10-22 2019-04-25 Todd Martin SYSTEM AND METHOD FOR RECORDING IMAGE RECOGNITION OF AN ATHLETE IN A SPORTS EVENT
CN108053831A (zh) * 2017-12-05 2018-05-18 广州酷狗计算机科技有限公司 音乐生成、播放、识别方法、装置及存储介质
EP4336390A1 (en) 2022-09-12 2024-03-13 Cugate AG Method for tracking content in a user data signal
EP4336389A1 (en) 2022-09-12 2024-03-13 Cugate AG Method for tracking an object in a user signal

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4941178A (en) * 1986-04-01 1990-07-10 Gte Laboratories Incorporated Speech recognition using preclassification and spectral normalization
US5210820A (en) * 1990-05-02 1993-05-11 Broadcast Data Systems Limited Partnership Signal recognition system and method
US5918223A (en) * 1996-07-22 1999-06-29 Muscle Fish Method and article of manufacture for content-based analysis, storage, retrieval, and segmentation of audio information
RU2177638C2 (ru) * 1999-09-22 2001-12-27 Зоммерс Олег Харисович Способ формирования и регулярной доставки пользователям информационных изданий и система для осуществления способа
US8352331B2 (en) * 2000-05-03 2013-01-08 Yahoo! Inc. Relationship discovery engine
US6748395B1 (en) * 2000-07-14 2004-06-08 Microsoft Corporation System and method for dynamic playlist of media
US6990453B2 (en) * 2000-07-31 2006-01-24 Landmark Digital Services Llc System and methods for recognizing sound and music signals in high noise and distortion
US7031980B2 (en) * 2000-11-02 2006-04-18 Hewlett-Packard Development Company, L.P. Music similarity function based on signal analysis
DE10117871C1 (de) * 2001-04-10 2002-07-04 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Extrahieren einer Signalkennung, Verfahren und Vorrichtung zum Erzeugen einer Datenbank aus Signalkennungen und Verfahren und Vorrichtung zum Referenzieren eines Such-Zeitsignals
US20040015843A1 (en) * 2001-05-15 2004-01-22 International Business Machines Corporation Method and program product for structured comment assists in computer programming
US6993532B1 (en) * 2001-05-30 2006-01-31 Microsoft Corporation Auto playlist generator
WO2003009277A2 (en) * 2001-07-20 2003-01-30 Gracenote, Inc. Automatic identification of sound recordings
US6918027B2 (en) * 2001-07-30 2005-07-12 Hewlett-Packard Development Company, L.P. System and method for in-system programming through an on-system JTAG bridge of programmable logic devices on multiple circuit boards of a system
US6785645B2 (en) 2001-11-29 2004-08-31 Microsoft Corporation Real-time speech and music classifier
US20030205124A1 (en) * 2002-05-01 2003-11-06 Foote Jonathan T. Method and system for retrieving and sequencing music by rhythmic similarity
CN100478810C (zh) * 2002-09-20 2009-04-15 红芯有限责任公司 节拍数检测装置
US7379875B2 (en) * 2003-10-24 2008-05-27 Microsoft Corporation Systems and methods for generating audio thumbnails
US7421305B2 (en) * 2003-10-24 2008-09-02 Microsoft Corporation Audio duplicate detector

Also Published As

Publication number Publication date
CN101133442B (zh) 2012-03-14
ATE467207T1 (de) 2010-05-15
RU2427909C2 (ru) 2011-08-27
WO2006077062A1 (en) 2006-07-27
KR101228821B1 (ko) 2013-02-15
CA2595349C (en) 2016-05-10
AU2006207686A1 (en) 2006-07-27
RU2007131662A (ru) 2009-02-27
DE602005021047D1 (de) 2010-06-17
CA2595349A1 (en) 2006-07-27
US20090069909A1 (en) 2009-03-12
IL184707A (en) 2011-07-31
US8548612B2 (en) 2013-10-01
JP2008529047A (ja) 2008-07-31
EP1684263B1 (en) 2010-05-05
CN101133442A (zh) 2008-02-27
KR20070108375A (ko) 2007-11-09
JP5345783B2 (ja) 2013-11-20
PL1684263T3 (pl) 2011-03-31
BRPI0607275A2 (pt) 2009-08-25
AU2006207686B2 (en) 2012-03-29
IL184707A0 (en) 2007-12-03
EP1684263A1 (en) 2006-07-26

Similar Documents

Publication Publication Date Title
US10698948B2 (en) Audio matching based on harmonogram
US8497417B2 (en) Intervalgram representation of audio for melody recognition
ES2309924T3 (es) Estraccion y emparejamiento de huellas digitales caracteristicas de las señales de audio.
IL184707A (en) Method for creating a heel mark for audio signaling
CN100592386C (zh) 特定音响信号含有区间检测系统及其方法
Balachandra et al. Music genre classification for indian music genres
CN117672241A (zh) 歌曲音色转换方法、计算机设备和存储介质
WO2016102738A1 (en) Similarity determination and selection of music
CN113066512B (zh) 佛教音乐识别方法、装置、设备及存储介质
Hu et al. Singer identification based on computational auditory scene analysis and missing feature methods
KR100766170B1 (ko) 다중 레벨 양자화를 이용한 음악 요약 장치 및 방법
Yan Automatic Annotation Method for Music Post-Production Based on Hybrid Boltzmann Machine and Pitch Features
KR101302568B1 (ko) 허밍 질의 기반 음원 검색 고속화 시스템 및 그 방법
Shaik Fault Diagnosis of Engine Knocking Using Deep Learning Neural Networks with Acoustic Input Processing
CN120526810B (zh) 基于原始波形与协同理解的智能合成歌声检测方法及系统
CN113012667B (zh) 基于佛乐的音轨分离方法、装置、设备及存储介质
Bozkurt et al. TMVB: A database for classical Turkish music performance analysis studies
Badeau et al. Robust similarity metrics between audio signals based on asymmetrical spectral envelope matching