ES2947516T3 - Aparato y procedimiento para la generación de valores de subbanda de audio de valor complejo - Google Patents

Aparato y procedimiento para la generación de valores de subbanda de audio de valor complejo Download PDF

Info

Publication number
ES2947516T3
ES2947516T3 ES21160250T ES21160250T ES2947516T3 ES 2947516 T3 ES2947516 T3 ES 2947516T3 ES 21160250 T ES21160250 T ES 21160250T ES 21160250 T ES21160250 T ES 21160250T ES 2947516 T3 ES2947516 T3 ES 2947516T3
Authority
ES
Spain
Prior art keywords
window
samples
audio
coefficients
index
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
ES21160250T
Other languages
English (en)
Inventor
Markus Schnell
Manfred Lutzky
Markus Lohwasser
Markus Schmidt
Marc Gayer
Michael Mellar
Bernd Edler
Markus Multrus
Gerald Schuller
Ralf Geiger
Bernhard Grill
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 ES2947516T3 publication Critical patent/ES2947516T3/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
    • 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
    • G10L19/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • 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
    • 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
    • G10L19/0204Speech 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 using subband decomposition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/45Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of analysis window
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0248Filters characterised by a particular frequency response or filtering method
    • H03H17/0264Filter sets with mutual related characteristics
    • H03H17/0266Filter banks
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/038Speech enhancement, e.g. noise reduction or echo cancellation using band spreading techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Liquid Crystal Substances (AREA)
  • Tires In General (AREA)
  • External Artificial Organs (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Materials For Photolithography (AREA)
  • Peptides Or Proteins (AREA)

Abstract

Una realización de un aparato (100) para generar valores de subbanda de audio en canales de subbanda de audio comprende un generador de ventanas de análisis (110) para generar ventanas en un marco (120) de muestras de entrada de audio en el dominio del tiempo que se encuentran en una secuencia de tiempo que se extiende desde una muestra temprana hasta una muestra posterior utilizando una función de ventana de análisis (190) que comprende una secuencia de coeficientes de ventana para obtener muestras en ventana. La función de ventana de análisis (190) comprende un primer grupo (200) de coeficientes de ventana y un segundo grupo (210) de coeficientes de ventana. El primer grupo (200) de coeficientes de ventana se usa para generar ventanas en muestras de dominio de tiempo posteriores y el segundo grupo (210) de coeficientes de ventana se usa para generar ventanas en muestras de dominio de tiempo anteriores. el aparato (100) comprende además una calculadora (170) para calcular los valores de subbanda de audio utilizando las muestras en ventana. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Aparato y procedimiento para la generación de valores de subbanda de audio de valor complejo
Campo técnico
[0001] Las realizaciones de la presente invención se refieren a un aparato y a un procedimiento para generar valores de subbanda de audio, que se pueden implementar por ejemplo en el campo de la codificación de audio actual u otras aplicaciones relacionadas con la transmisión de audio.
[0002] El procesamiento de audio digital actual se basa normalmente en esquemas de codificación que permiten una reducción significativa de las velocidades de transferencia de bits, anchos de banda y espacio de memoria en comparación con una transmisión o almacenamiento directo de los datos de audio correspondientes. Esto se alcanza codificando los datos de audio en el lado del transmisor y decodificando los datos codificados en el lado del receptor previamente, por ejemplo, proporcionando los datos de audio decodificados a un oyente o sometiendo los mismos a un procesamiento adicional de la señal.
[0003] Se pueden implementar tales sistemas de procesamiento de audio digital con respecto a un amplio intervalo de parámetros que, normalmente, influyen en la calidad de los datos de audio transmitidos, o procesarse de algún otro modo, por una parte, y la eficacia de cálculo, los anchos de banda y otros parámetros relacionados con el rendimiento, por otra parte. Muy a menudo, obtener unas mayores cualidades requiere unas mayores velocidades de transferencia de bits, una mayor complejidad de cálculo y unos requisitos superiores de almacenamiento para los datos de audio codificados correspondientes. Por lo tanto, en función de la aplicación prevista, con una calidad conveniente y alcanzable se debe alcanzar un compromiso entre factores tales como las velocidades de transferencia de bits permitidas, una complejidad de cálculo aceptable y unas cantidades aceptables de datos.
[0004] Otro parámetro, que resulta particularmente importante en las aplicaciones en tiempo real, tales como una comunicación bidireccional o monodireccional, el retardo que imponen los distintos planes de codificación puede desempeñar también un papel importante. Como consecuencia de ello, el retardo impuesto por la codificación y decodificación de audio supone una restricción adicional en lo que se refiere a los parámetros mencionados anteriormente al equilibrar las necesidades y los costes de los distintos planes de codificación que tienen previsto un campo de aplicación específico. Puesto que tales sistemas de audio digital se pueden aplicar en muchos campos distintos de aplicaciones que van desde la transmisión de calidad ultrabaja a una transmisión de gama alta, a menudo se imponen distintos parámetros y diferentes limitaciones a los sistemas de audio correspondientes. En algunas aplicaciones, un retardo superior puede requerir, por ejemplo, una velocidad de transferencia de bits superior y, por lo tanto, un mayor ancho de banda en comparación con un sistema de audio con un retardo más elevado, como nivel de calidad comparable.
[0005] Sin embargo, en muchos casos, los compromisos pueden tener que tomarse teniendo en cuenta parámetros distintos tales como la velocidad de transferencia de bits, la complejidad de cálculo, los requisitos de memoria, la calidad y el retardo.
[0006] La publicación " Un banco de filtros de bajo retardo para codificación de audio con pre-ecos reducidos", Gerald Schuller, 99th AES Convention AES, 6 de octubre de 1995, páginas 1-14, describe un banco de filtros de bajo retardo para codificación de audio. El bajo retardo permite reducir la longitud de los pre-ecos generados por errores de cuantificación. La estructura proporciona una reconstrucción perfecta y un retardo del sistema que se puede pre­ especificar independientemente de la longitud del filtro.
[0007] La publicación "Bancos de filtros biortogonales con una localización de frecuencia de tiempo casi óptima", C. Siclet, P. Siohan, T. Karp, 200010th European Signal Processing conference IEEE, 4 de septiembre de 2000, páginas 1-4 describe un estudio de propiedades de localización de frecuencia de tiempo de los bancos de filtros modulados biortogonales. Se calcula la localización del filtro prototipo. Se muestra que casi se puede alcanzar el límite inferior de la relación de incertidumbre. Además, se muestra que los bancos de filtros biortogonales ofrecen atractivas compensaciones entre el retardo de reconstrucción y la localización de frecuencia de tiempo.
Resumen
[0008] Es un objeto proporcionar un concepto para generar muestras de subbanda de audio de valor complejo. Este objeto se logra mediante un aparato para generar valores de subbanda de audio de valor complejo en canales de subbanda de audio de la reivindicación 1, un procedimiento para generar valores de subbanda de audio de valor complejo en canales de subbanda de audio de la reivindicación 2 o un programa relacionado según la reivindicación 3.
Breve descripción de los dibujos
[0009] Las realizaciones de la presente invención se describirán a continuación haciendo referencia a los dibujos adjuntos.
la figura 1 es un diagrama de bloques de una realización de un aparato destinado a generar valores de subbanda de audio;
la figura 2a muestra un diagrama de bloques de un ejemplo de un aparato destinado a generar muestras de audio de dominio temporal;
la figura 2b ilustra un principio funcional según un ejemplo en la forma de un aparato destinado a generar muestras en el dominio temporal;
la figura 3 ilustra el concepto de interpolación de coeficientes de ventana según un ejemplo;
la figura 4 ilustra la interpolación de los coeficientes de ventana en el caso de una función de ventana sinusoidal; la figura 5 muestra un diagrama de bloques de una realización de la presente invención que comprende un decodificador SBR y un codificador SBR;
la figura 6 ilustra las fuentes de retardo de un sistema SBR;
la figura 7a muestra un diagrama de flujo de una realización de un procedimiento para generar valores de subbanda de audio;
la figura 7b representa una etapa de la realización del procedimiento representado en la figura 7a;
la figura 7c muestra un diagrama de flujo de una realización de un procedimiento para generar valores de subbanda de audio;
la figura 8a muestra un diagrama de flujo de un ejemplo de un procedimiento para generar muestras en el dominio temporal;
la figura 8b muestra un diagrama de flujo de un ejemplo de un procedimiento para generar muestras en el dominio temporal;
la figura 8c muestra un diagrama de flujo de un ejemplo adicional de un procedimiento para generar muestras en el dominio temporal;
la figura 8d muestra un diagrama de flujo de otro ejemplo de un procedimiento para generar muestras en el dominio temporal;
la figura 9a muestra una implementación posible de una realización de un procedimiento para generar valores de subbanda de audio;
la figura 9b muestra una implementación posible de una realización de un procedimiento para generar valores de subbanda de audio;
la figura 10a muestra una implementación posible de un ejemplo de un procedimiento para generar muestras de dominio temporal;
la figura 10b muestra una implementación posible adicional de un ejemplo de un procedimiento para generar muestras de dominio temporal;
la figura 11 muestra una comparación de una función de ventana de síntesis según una realización de la presente invención y una función de ventana sinusoidal;
la figura 12 muestra una comparación de una función de ventana de síntesis según una realización de la presente invención y una función de filtro de prototipo SBR QMF;
la figura 13 ilustra los distintos retardos provocados por la función de ventana y la función de filtro prototipo mostrada en la figura 12;
la figura 14a es una tabla que ilustra las distintas contribuciones al retardo de un códec AAC-LD SBR convencional y un códec AAC-ELD que comprende una realización de la presente invención;
la figura 14b muestra una tabla adicional que comprende detalles relacionados con el retardo de diferentes componentes de distintos códecs;
la figura 15a muestra una comparación de una respuesta de frecuencia de un aparato que se basa en una función de ventana según una realización de la presente invención y un aparato que se basa en una función de ventana sinusoidal;
la figura 15b muestra un primer plano de la respuesta de frecuencia mostrada en la figura 15a;
la figura 16a representa una comparación de la respuesta de frecuencia de 4 funciones de ventana distintas; la figura 16b muestra un primer plano de las respuestas de frecuencia mostradas en la figura 16a;
la figura 17 muestra una comparación de la respuesta de frecuencia de dos funciones de ventana distintas, una función de ventana según la presente invención y una función de ventana que es una función de ventana simétrica; y
la figura 18 muestra esquemáticamente la propiedad de neutralización temporal general del αdo humano; la figura 19 ilustra una comparación de una señal de tiempo de audio original, una señal de tiempo generada basándose en el códec HEAAc y una señal de tiempo basada en un códec que comprende una realización de la presente invención.
Descripción detallada de las realizaciones
[00010] Las figuras 1 a 19 muestran diagramas de bloques y diagramas adicionales que describen las propiedades y características funcionales de distintas realizaciones o ejemplos de los aparatos y procedimientos para generar valores de subbanda de audio, de aparatos y procedimientos para generar muestras y sistemas de dominio temporal que comprenden al menos uno de los aparatos o procedimientos mencionados anteriormente. Los ejemplos no están incluidos en la redacción de las reivindicaciones, pero se consideran útiles para comprender la invención.
[00011] Sin embargo, antes de describir más detalladamente una primera realización de la presente invención, debe tenerse en cuenta que las realizaciones de la presente invención se pueden implementar en hardware y en software. Por lo tanto, las implementaciones descritas utilizando diagramas de bloques de implementaciones de hardware de las realizaciones correspondientes se pueden considerar también como diagramas de flujo de una realización apta de un procedimiento correspondiente. Además, un diagrama de flujo que describe una realización de la presente invención se puede considerar un diagrama de bloques de una implementación del hardware correspondiente.
[0012] A continuación, se describirán las implementaciones de bancos de filtros, que se pueden implementar como un banco de filtros de análisis o un banco de filtros de síntesis. Un banco de filtros de análisis es un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio basados en muestras de audio en el dominio temporal (entrada) que se encuentran en una secuencia temporal que se extiende desde una muestra inicial a una muestra tardía. Es decir, el término banco de filtros de análisis se puede utilizar sinónimamente para una realización de la presente invención en forma de aparato destinado a generar valores de subbandas de audio. Por consiguiente, un banco de filtros de síntesis es un banco de filtros destinado a generar muestras de audio en el dominio temporal a partir de valores de subbandas de audio en canales de subbanda de audio. Es decir, el término banco de filtros de síntesis se puede utilizar sinónimamente para un ejemplo en forma de aparato destinado a generar muestras de audio en el dominio temporal.
[0013] Ambos, un banco de filtros de análisis y un banco de filtros de síntesis, a los que se hace referencia en conjunto también como bancos de filtros, se pueden implementar, por ejemplo, como bancos de filtros modulados. Los bancos de filtros modulados, cuyos ejemplos se describirán más detalladamente a continuación, se basan en oscilaciones que presentan frecuencias basadas en, o derivadas de, frecuencias centrales de las subbandas en el dominio frecuencial. El término "modulado" se refiere en este contexto al hecho de que las oscilaciones mencionadas anteriormente se utilizan junto con una función de ventana o una función de filtro prototipo, dependiendo de la implementación concreta de tal banco de filtros modulado. Los bancos de filtros modulados pueden basarse, en principio, en oscilaciones de valores reales tales como oscilación armónica (oscilación sinusoidal u oscilación cosenoidal) u oscilaciones de valores complejos correspondientes (oscilaciones exponenciales complejas). Por consiguiente, los bancos de filtros modulados se denominan bancos de filtros modulados reales o bancos de filtros modulados con filtros complejos, respectivamente.
[0014] En la descripción siguiente se describirán más detalladamente unas realizaciones de la presente invención en forma de bancos de filtros modulados complejos de bajo retardo y los procedimientos correspondientes y las implementaciones de software. Una de las aplicaciones principales de tales bancos de filtros modulados de bajo retardo es una integración en un sistema de replicación de banda espectral de bajo retardo (SBR), que actualmente se basa en el uso de un filtro QMF complejo con un filtro prototipo simétrico (QMF = filtro espejo en cuadratura).
[0015] Tal como se pondrá de manifiesto en el marco de la presente descripción, una implementación de bancos de filtros de bajo retardo según las realizaciones de la presente invención proporcionará la ventaja de un equilibrio mejorado entre retardo, respuesta en frecuencia, dispersión temporal del ruido y calidad de reconstrucción.
[0016] La compensación mejorada mencionada anteriormente, en particular entre la calidad del retardo y de la reconstrucción, se basa en una estrategia para utilizar las denominadas técnicas de retardo cero con el fin de extender la respuesta del impulso de filtro de los bancos de filtros correspondientes sin introducir un retardo adicional. Se puede alcanzar un retardo inferior con un nivel de calidad predefinido, una mejor calidad con un nivel de retardo predefinido o una mejora simultánea tanto del retardo como de la calidad utilizando un banco de filtros de análisis o un banco de filtros de síntesis según una realización de la presente invención.
[0017] Las realizaciones de la presente invención se basan en el descubrimiento de que estas mejoras se pueden alcanzar utilizando una nueva función de ventana para cualquiera de los dos bancos de filtros descritos anteriormente. Es decir, se pueden mejorar la calidad y/o el retardo en el caso de un banco de filtros de análisis utilizando una función de ventana de análisis que comprende una secuencia de coeficientes de ventana, que comprende un primer grupo que comprende una primera parte consecutiva de la secuencia de coeficientes de ventana y comprendiendo el segundo grupo de coeficientes de ventana una segunda parte consecutiva de la secuencia de coeficientes de ventana. La primera parte y la segunda parte comprenden todos los coeficientes de ventana de la función de ventana. Además, la primera parte comprende menos coeficientes de ventana que la segunda parte pero un valor de energía global de los coeficientes de ventana en la primera parte es superior a un valor de energía global de los coeficientes de ventana de la segunda parte. El primer grupo de coeficientes de ventana se utiliza para la formación de ventanas de muestras de dominio temporal tardío y el segundo grupo de coeficientes de ventana se utiliza para muestras de dominio temporal temprano mostradas en ventanas. Esta forma de la función de ventana proporciona la oportunidad de procesar muestras de dominio temporal con coeficientes de ventana que presentan antes valores de energía más elevados. Este es un resultado de la distribución descrita de coeficientes de ventana para las dos partes y su aplicación a la secuencia de muestras de audio en el dominio temporal. Como consecuencia de ello, el empleo de tal función de ventana puede reducir el retardo introducido por el banco de filtros a un nivel de calidad constante o permite un nivel de calidad mejorado basado en un nivel de retardo constante.
[0018] Por consiguiente, en el caso de un ejemplo en forma de aparato destinado a generar muestras de audio en el dominio temporal y un procedimiento correspondiente, una ventana de síntesis utiliza una función de generador de ventanas de síntesis que comprende una secuencia de coeficientes de ventana ordenados del modo correspondiente en una primera parte (consecutiva) y una segunda parte (consecutiva). Asimismo, en el caso de una función de ventana de síntesis, un valor de energía global de un coeficiente de ventana en la primera parte es superior a un valor de energía global de un coeficiente de ventana de una segunda parte, comprendiendo la primera parte menos coeficientes de ventana que la segunda parte. Debido a esta distribución de los coeficientes de ventana entre las dos partes y a que el generador de ventanas de síntesis utiliza la primera parte de coeficientes de generador de ventanas para presentar ventanas de muestras de dominio temporal posteriores y la segunda parte de coeficientes de ventana para presentar ventanas anteriores de dominio temporal, los efectos y ventajas descritos anteriormente se pueden aplicar asimismo a un banco de filtros de síntesis o a un ejemplo correspondiente de un procedimiento.
[0019] Las descripciones detalladas de las funciones de ventana de síntesis y las funciones de ventana de análisis se describirán a continuación más detalladamente. En muchas realizaciones de la presente invención, la secuencia de coeficientes de ventana de la función de ventana de síntesis y/o de la función de ventana de análisis comprende exactamente el primer grupo y el segundo grupo de coeficientes de ventana. Además, cada uno de los coeficientes de ventana de la secuencia de coeficientes de ventana pertenece exactamente a uno del primer grupo y el segundo grupo de coeficientes de ventana.
[0020] Cada uno de los dos grupos comprende exactamente una parte de la secuencia de coeficientes de ventana de una manera consecutiva. En la presente descripción, una parte comprende un conjunto consecutivo de coeficientes de ventana según la secuencia de los coeficientes de ventana. En las realizaciones según la presente invención, cada uno de los dos grupos (primer y segundo grupo) comprende exactamente una parte de la secuencia de los coeficientes de ventana del modo explicado anteriormente. Los grupos de coeficientes de ventana correspondientes no comprenden coeficiente de ventana alguno que no pertenezca a la parte exacta del grupo correspondiente. Es decir, en muchas realizaciones de la presente invención, cada uno del primer y segundo grupo de coeficientes de ventana comprende únicamente la primera parte y la segunda parte de coeficientes de ventana sin comprender otros coeficientes de ventana.
[0021] En el marco de la presente descripción, se debe entender una parte consecutiva de la secuencia de coeficientes de ventana como un conjunto conectado de coeficientes de ventana en el sentido matemático, en el que el conjunto no carece de coeficientes de ventana en comparación con la secuencia de coeficientes de ventana, que se encontrarían en un intervalo (por ejemplo, intervalo de índice) de los coeficientes de ventana de la parte correspondiente. Como consecuencia de ello, en muchas realizaciones de la presente invención, la secuencia de coeficientes de ventana se divide exactamente en dos partes conectadas de coeficientes de ventana, que forman cada uno de los primeros o segundos grupos de coeficientes de ventana. En estos casos, cada coeficiente de ventana comprendido en el primer grupo de coeficientes de ventana se dispone antes o después de cada uno de los coeficientes de ventana del segundo grupo de coeficientes de ventana con respecto a la secuencia global de coeficientes de ventana.
[0022] En otras palabras, en muchas realizaciones según la presente invención la secuencia de coeficientes de ventana se divide exactamente en dos grupos o partes sin dejarse coeficiente de ventana alguno. Según la secuencia de coeficientes de ventana, que representa asimismo un orden de los mismos, cada uno de los dos grupos o partes comprende todos los coeficientes de ventana hasta (pero excluyendo) o empezando a partir de (incluyendo) un coeficiente de ventana de borde. Como ejemplo de ello, la primera parte o primer grupo puede comprender coeficientes de ventana que presentan unos índices comprendidos entre 0 y 95 y entre 96 y 639 en el caso de una función de ventana que comprende 640 coeficientes de ventana (que presenta unos índices comprendidos entre 0 y 639). En este caso, el coeficiente de ventana de borde sería el correspondiente al índice 96. Naturalmente, son posibles asimismo otros ejemplos (por ejemplo, entre 0 y 543 y entre 544 y 639).
[0023] El ejemplo detallado de implementación de un banco de filtros de análisis que se describirá a continuación proporciona una longitud de filtro que abarca 10 bloques de muestras de entrada al mismo tiempo que provoca un retardo del sistema de únicamente 2 bloques, que es el retardo correspondiente introducido por una MDCT (transformada discreta del coseno modificada) o a una MDST (transformada discreta del seno modificada). Una diferencia se debe a que la longitud del filtro más larga abarca 10 bloques de muestras de entrada en comparación con una implementación de MDCT o MDST en la que la superposición aumenta de 1 bloque en el caso de MDCT y MDST a una superposición de 9 bloques. Sin embargo, se pueden realizar asimismo otras implementaciones que abarcan un número distinto de bloques de muestras de entrada, que se denominan también muestras de entrada de audio. Además, se pueden considerar y aplicar asimismo otras ventajas e inconvenientes.
[0024] La figura 1 muestra un diagrama funcional de un banco de filtros de análisis 100 como realización de un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio. El banco de filtros de análisis 100 comprende un generador de ventanas de análisis 110 para presentar ventanas de una trama 120 de muestras de entrada de audio de dominio temporal. La trama 120 comprende bloques T 130-1, ..., 130-T bloques de muestras de audio en el dominio temporal (entrada), en los que T es un número entero positivo e igual a 10 en el caso de la realización mostrada en la figura 1. Sin embargo, la trama 120 puede comprender asimismo un número distinto de bloques 130.
[0025] Ambos, la trama 120 y cada uno de los bloques 130 comprenden muestras de entrada de audio en el dominio temporal en una secuencia temporal que se extiende desde una muestra temprana hasta una muestra tardía según una línea de tiempo tal como se indica mediante la flecha 140 en la figura 1. Es decir, en la ilustración tal como se representa en la figura 1, cuanto más a la derecha se encuentra la muestra de audio del dominio temporal, que en este caso es asimismo una muestra de entrada de audio del dominio temporal, más tardía es la muestra de audio del dominio temporal correspondiente con respecto a la secuencia de la muestra de audio del dominio temporal.
[0026] El generador de ventanas de análisis 110 genera, basándose en la secuencia de muestras de audio del dominio temporal, muestras en ventanas en el dominio temporal, que se disponen en una trama 150 de muestras en ventanas. Según la trama 120 de las muestras de entrada de audio en el dominio temporal, también la trama de las muestras en ventanas 150 comprende bloques T de muestras en ventanas 160-1, ..., 160-T. En las realizaciones preferidas de la presente invención, cada uno de los bloques de muestras en ventanas 160 comprende el mismo número de muestras en ventanas que el número de muestras de entrada de audio en el dominio temporal de cada bloque 130 de muestras de entrada de audio en el dominio temporal. Por lo tanto, cuando cada uno de los bloques 130 comprende N muestras de audio de entrada en el dominio temporal, la trama 120 y la trama 150 comprenden cada una las muestras T N. En este caso, N es un entero positivo, que puede presentar, por ejemplo, los valores 32 o 64. En el caso T = 10, cada una de las tramas 120, 150 comprenden 320 y 640, respectivamente, en el caso anterior.
[0027] La ventana de análisis 110 se acopla a una calculadora 170 destinada a calcular los valores de subbandas de audio basándose en las muestras en ventanas proporcionadas por el generador de ventanas de análisis 110. Se proporcionan los valores de subbanda de audio mediante la calculadora 170 como un bloque 180 de valores de subbanda de audio, correspondiendo cada uno de los valores de subbanda de audio a un canal de subbanda de audio. En una realización preferida, también el bloque 180 de valores de subbanda de audio comprende N valores de subbanda.
[0028] Cada uno de los canales de subbanda de audio corresponde a una frecuencia central característica. Las frecuencias centrales de los distintos canales de subbanda de audio se pueden encontrar, por ejemplo, equitativamente distribuidas o equitativamente separados con respecto a la anchura de banda de frecuencia de la señal de audio correspondiente tal como se describe en las muestras de entrada de audio de dominio temporal proporcionadas al banco de filtros de análisis 100.
[0029] El generador de ventanas de análisis 110 se adapta para presentar ventanas de muestras de entrada de audio de dominio temporal de la trama 120 basándose en una función de ventana de análisis que comprende una secuencia de coeficientes de ventana para obtener las muestras en ventanas de la trama 150. La ventana de análisis 110 se adapta para presentar ventanas de la trama de muestras de audio de dominio temporal 120 multiplicando los valores de las muestras de audio del dominio temporal con los coeficientes de ventana de la función de la ventana de análisis. Es decir, la presentación de ventanas comprende una multiplicación por elementos de las muestras de audio del dominio temporal con el coeficiente de ventana correspondiente. Puesto que ambos, la trama 120 de muestras de audio en el dominio temporal y los coeficientes de ventana, comprenden una secuencia correspondiente, la multiplicación por elementos de los coeficientes de ventana y las muestras de audio en el dominio temporal se realiza según las secuencias correspondientes, por ejemplo, indicadas por un índice de coeficiente de muestra y ventana.
[0030] En unas realizaciones de la presente invención en forma de un banco de filtros de análisis 100, tal como se muestra en la figura 1, la función de ventana de análisis, así como la función de ventana de síntesis en el caso de un banco de filtros de síntesis, comprende únicamente coeficientes de ventanas de valor real. Es decir, cada uno de los coeficientes de ventana atribuidos a un índice de coeficiente de ventana es un valor real.
[0031] Los coeficientes de ventana juntos forman la función de ventana respectiva y un ejemplo de la misma se muestra en la figura 1 como función de ventana de análisis 190. Tal como se ha indicado anteriormente, la secuencia de coeficientes de ventana que forman la función de ventana de análisis 190 comprende un primer grupo 200 y un segundo grupo 210 de coeficientes de ventana. El primer grupo 200 comprende una primera parte consecutiva y conectada de los coeficientes de ventana de la secuencia de coeficientes de ventana, mientras que el segundo grupo 210 comprende una segunda parte consecutiva y conectada de un coeficiente de ventana. Junto con la primera parte del primer grupo 200, forman la secuencia completa de coeficientes de ventana de la función de ventana de análisis 190. Además, cada coeficiente de ventana de la secuencia de coeficientes de ventana pertenece a la primera parte o a la segunda parte de coeficientes de ventana, de tal modo que la función 190 de ventana de análisis está compuesta por el coeficiente de ventana de la primera parte y la segunda parte. La primera parte de coeficientes de ventana es, por lo tanto, idéntica al primer grupo 200 de coeficientes de ventana y la segunda parte es idéntica al segundo grupo 210 de coeficientes de ventana, tal como se indica mediante las flechas correspondientes 200, 210 en la figura 1.
[0032] El número de coeficientes de ventana en el primer grupo 200 de la primera parte de coeficientes de ventana es inferior al número de coeficientes de ventana en el segundo grupo de la segunda parte de coeficientes de ventana. Sin embargo, un valor de energía global de los coeficientes de ventana del primer grupo 200 es superior a un valor de energía global de los coeficientes de ventana del segundo grupo 210. Tal como se describirá posteriormente, un valor de energía de un conjunto de coeficientes de ventana se basa en una suma de los cuadrados de los valores absolutos de los coeficientes de ventana correspondientes.
[0033] En las realizaciones según la presente invención, la función de ventana de análisis 190 así como una función de ventana de síntesis correspondiente es, por lo tanto, asimétrica con respecto a la secuencia de coeficientes de ventana o a un índice de un coeficiente de ventana. Basándose en un conjunto de definiciones de índices de coeficientes de ventana sobre los que se define la función de ventana de análisis 190, la función de ventana de análisis 190 es asimétrica, cuando para todos los números reales no existe número real adicional alguno, de tal modo que el valor absoluto del coeficiente de ventana correspondiente a la ventana (n0 - n) no es igual al valor absoluto del coeficiente de ventana correspondiente al índice de coeficiente de ventana (n0 n), cuando (n0 - n) y (n0 n) pertenecen al conjunto de definiciones.
[0034] Además, tal como se muestra esquemáticamente asimismo en la figura 1, la función de ventana de análisis 190 comprende cambios de signo en los que el producto de dos coeficientes de ventana consecutivos es negativo. Más detalles y otras características de posibles funciones de ventana según las realizaciones de la presente invención se describirán más detalladamente haciendo referencia a las figuras 11 a 19.
[0035] Tal como se ha indicado anteriormente, la trama de las muestras en ventanas 150 comprende una estructura de bloques similar con bloques individuales 160-1, ..., 160-T como trama 120 de muestras de entrada de dominio temporal individuales. Puesto que el generador de ventanas de análisis 110 es apto para presentar en ventanas las muestras de entrada de audio en el dominio temporal multiplicando estos valores con los coeficientes de ventana de la función de ventana de análisis 190, la trama 150 de muestras en ventanas se encuentra asimismo en el dominio temporal. La calculadora 170 calcula los valores de subbanda de audio o, con mayor exactitud, el bloque 180 de valores de subbanda de audio utilizando la trama 150 de muestras en ventanas y realiza una transferencia desde el dominio temporal al dominio frecuencial. Por lo tanto, se puede considerar la calculadora 170 como un convertidor tiempo/frecuencia, que puede proporcionar el bloque 180 de valores de subbanda de audio como una representación espectral de la trama 150 de muestras en ventanas.
[0036] Cada valor de subbanda de audio del bloque 180 corresponde a una subbanda que presenta una frecuencia característica. El número de valores de subbanda de audio comprendidos en el bloque 180 también se denomina a veces como número de banda.
[0037] En muchas realizaciones según la presente invención, el número de valores de subbanda de audio en el bloque 180 es idéntico al número de muestras de entrada de audio en el dominio temporal de cada uno de los bloques 130 de la trama 120. En el caso de que la trama 150 de muestras en ventanas comprenda la misma estructura en bloque que la trama 120 de tal modo que cada uno de los bloques 160 de muestras en ventanas comprenda asimismo el mismo número de muestras en ventanas que el bloque de estas muestras de entrada de audio en el dominio temporal 130, el bloque 180 de valores de subbanda de audio comprende naturalmente también el mismo número que el bloque 160.
[0038] Opcionalmente se puede generar la trama 120 basándose en un bloque de muestras de entrada de audio del dominio temporal recientes 220 desplazando los bloques 130-1, ..., 130-(T-1) un bloque en la dirección opuesta a la flecha 140 que indica la dirección del tiempo. De este modo, se genera una trama 120 de muestras de entrada de audio del dominio temporal que se procesa desplazando los bloques más recientes (T-1) de una trama 120 directamente anterior de muestras de audio del dominio temporal de un bloque hacia las muestras de audio del dominio temporal anteriores y añadiendo el bloque reciente 220 de muestras de audio recientes en el dominio temporal como el nuevo bloque 130-1 que comprende las últimas muestras de audio del dominio temporal de la presente trama 120. En la figura 1 esto se indica también mediante una serie de flechas discontinuas 230 que indican el desplazamiento de los bloques 130-1, ..., 130 -(T-1) en la dirección opuesta a la flecha 140.
[0039] Debido a este desplazamiento de los bloques 130 en la dirección opuesta del tiempo, tal como se indica mediante la flecha 140, una trama actual 120 por procesar comprende el bloque 130-(T-1) de la trama 120 directamente anterior como nuevo bloque 130 -T. Por consiguiente, los bloques 130-(T-1), ..., 130-2 de la presente trama 120 por procesar son iguales al bloque 130-(T-2), ..., 130-1 de la trama directamente anterior 120. Se descarta el bloque 130-T de la trama 120 directamente anterior.
[0040] Como consecuencia de ello, cada muestra de audio en el dominio temporal del nuevo bloque 220 se procesará T veces en el marco de T procesamientos consecutivos de T tramas consecutivas 120 de muestras de entrada de audio en el dominio temporal. Por lo tanto, cada muestra de entrada de audio del dominio temporal del bloque reciente 220 contribuye no únicamente a T tramas distintas 120, sino asimismo a T tramas distintas 150 de muestras en ventanas y bloques T 180 de valores de subbandas de audio. Tal como se ha indicado anteriormente, en una realización preferida según la presente invención, el número de bloques T en la trama 120 es igual a 10, de tal modo que cada muestra de audio del dominio temporal proporcionada al banco de filtros de análisis 100 contribuye a 10 bloques distintos 180 de valores de subbanda de audio.
[0041] En un principio, antes de que se procese una trama única 120 mediante el banco de filtros de análisis 100, se puede inicializar la trama 120 a un valor absoluto pequeño (inferior a un valor umbral predeterminado), por ejemplo, el valor 0. Tal como se describirá más detalladamente a continuación, la forma de la función de ventana de análisis 190 comprende un punto central o un "centro de gravedad", que normalmente corresponde a, o se encuentra entre, dos índices de coeficiente de ventana del primer grupo 200.
[0042] Como consecuencia de ello, el número de bloques recientes 220 por introducir en la trama 120 es pequeño, antes de que la trama 120 se llene al menos hasta un punto de tal modo que las partes de la trama 120 estén ocupadas por valores no desaparecidos (es decir, valores que no son cero) que corresponden a coeficientes de ventana que presentan una contribución significativa en lo que se refiere a sus valores de energía. Normalmente, el número de bloques por introducir en la trama 120 antes de que comience un procesamiento "significativo", está comprendido entre 2 y 4 bloques dependiendo de la forma de la función de ventana de análisis 190. Por lo tanto, el banco de filtros de análisis 100 puede proporcionar bloques 180 con mayor rapidez que un banco de filtros correspondiente que emplee, por ejemplo, una función de ventana simétrica. Tal como se proporcionan normalmente los bloques recientes 220 al banco de filtros de análisis 100 en su conjunto, cada uno de los bloques recientes corresponde a un tiempo de registro o de muestreo, que se proporciona sustancialmente por la longitud del bloque 220 (es decir, el número de muestras de entrada de audio en el dominio temporal comprendidas en el bloque 220) y el índice de muestreo o frecuencia de muestreo. Por lo tanto, la función de ventana de análisis 190, incorporada en una realización de la presente invención, proporciona un retardo reducido antes de que el primer y los siguientes bloques 180 de valores de subbanda de audio los pueda proporcionar o emitir el banco de filtros 100.
[0043] Como opción adicional, el aparato 100 puede ser capaz de generar una señal o incorporar una información relativa a la función de ventana de análisis 190 utilizada en la generación de la trama 180 o con respecto a una función de ventana de síntesis que se utilizará en el marco de un banco de filtros de síntesis. De este modo, la función de filtro de análisis 190 puede, por ejemplo, ser una versión de inversión temporal o del índice de la función de ventana de síntesis por utilizar por el banco de filtros de síntesis.
[0044] La figura 2a muestra un diagrama de bloques de un ejemplo de un aparato 300 para generar muestras de audio en el dominio temporal basadas en el bloque de valores de subbanda de audio. Tal como se ha descrito anteriormente, un ejemplo en forma de aparato 300 para generar muestras de audio en el dominio temporal se denomina a menudo también banco de filtros de síntesis 300 cuando el aparato puede generar muestras de audio en el dominio temporal, que en principio se pueden reproducir, basándose en valores de subbanda de audio que comprenden información espectral relativa a una señal de audio. Por lo tanto, el banco de filtros de síntesis 300 puede sintetizar muestras de audio en el dominio temporal basadas en valores de subbanda de audio, que se pueden generar, por ejemplo, mediante un banco de filtros de análisis 100 correspondiente.
La figura 2a muestra un diagrama de bloques del banco de filtros de síntesis 300 que comprende una calculadora 310 a la que se proporciona un bloque 320 de valores de subbanda de audio (en el dominio frecuencial). La calculadora 310 puede calcular una trama 330 que comprende una secuencia de muestras intermedias de dominio temporal a partir de los valores de subbanda de audio del bloque 320. La trama 330 de muestras intermedias del dominio temporal comprende en muchos ejemplos también una estructura de bloques similar tal como por ejemplo la trama 150 de muestras en ventanas del banco de filtros de análisis 100 de la figura 1. En estos casos, la trama 330 comprende los bloques 340-1, ..., 340-T de muestras intermedias del dominio temporal.
[0045] La secuencia de muestras intermedias del dominio temporal de la trama 330, así como cada bloque 340 de muestras intermedias en el dominio temporal, comprende un orden según el tiempo indicado mediante una flecha 350 en la figura 2a. Como consecuencia de ello, la trama 330 comprende una muestra del dominio temporal intermedia temprana en el bloque 340-T y una muestra del dominio temporal intermedia tardía en el bloque 340-1, que representan las muestras primera y última de dominio temporal intermedio para la trama 330, respectivamente. Asimismo, cada uno de los bloques 340 comprende un orden similar. Por consiguiente, en los ejemplos de un banco de filtros de síntesis, los términos "trama" y "secuencia" a menudo se pueden utilizar como sinónimos.
[0046] La calculadora 310 se acopla a un generador de ventanas de síntesis 360 en el que se dispone la trama 330 de muestras intermedias del dominio temporal. El generador de ventanas de síntesis está adaptado para formar ventanas de la secuencia de muestras intermedias del dominio temporal utilizando una función de ventana de síntesis 370 representada esquemáticamente en la figura 2a. Como salida, el generador de ventanas de síntesis 360 proporciona una trama 380 de muestras intermedias del dominio temporal en ventanas, que puede comprender asimismo una estructura en bloques de los bloques 390-1, ..., 390-T.
[0047] Las tramas 330 y 380 pueden comprender los bloques T 340 y 390, respectivamente, en los que T es un entero positivo. En un ejemplo en forma de un banco de filtros de síntesis 300, el número de bloques T es igual a 10. Sin embargo, en diferentes ejemplos, se pueden encontrar comprendidos números distintos de bloques en una de las tramas. Con mayor exactitud, en principio el número de bloques T puede ser superior o igual a 3, o superior o igual que 4, en función de las circunstancias de la implementación y de las realizaciones descritas anteriormente para los ejemplos que comprenden una estructura en bloques de tramas tanto para el banco de filtros de síntesis 100 como para el banco de filtros de síntesis 300.
[0048] El generador de ventanas de síntesis 360 se acopla a una fase de salida de un adicionador de superposición 400, al que se proporciona la trama 380 de muestras intermedias del dominio temporal en ventanas. La fase de salida de un adicionador de superposición 400 puede procesar las muestras intermedias del dominio temporal en ventanas para obtener un bloque 410 de muestras del dominio temporal. De este modo, se puede proporcionar el bloque 410 de las muestras de dominio temporal (salida), por ejemplo, a otros elementos para un procesamiento, almacenamiento o transformación adicional en señales de audio audibles.
[0049] La calculadora 310 destinada a calcular la secuencia de muestras del dominio temporal comprendidas en la trama 330 puede transferir datos desde el dominio frecuencial al dominio temporal. Por lo tanto, la calculadora 310 puede comprender un convertidor de frecuencia/tiempo capaz de generar una señal de dominio temporal de la representación espectral comprendida en el bloque 320 de valores de subbanda de audio. Como se ha explicado en relación con la calculadora 170 del banco de filtros de análisis 100 representado en la figura 1, cada uno de los valores de subbanda de audio del bloque 320 corresponde a un canal de subbanda de audio que presenta una frecuencia central característica.
[0050] En cambio, las muestras intermedias del dominio temporal comprendidas en la trama 330 representan en principio información en el dominio temporal. El generador de ventanas de síntesis 360 es capaz y está adaptado para formar ventanas de la secuencia de muestras intermedias del dominio temporal comprendidas en la trama 330 utilizando una función de ventana de síntesis 370 representada esquemáticamente en la figura 2a. La función de ventana de síntesis 370 comprende una secuencia de coeficientes de ventana que comprende asimismo un primer grupo 420 y un segundo grupo 430 de coeficientes de ventana, tal como se ha explicado anteriormente en relación con la función de ventana 190 con un primer grupo 200 y un segundo grupo 210 de coeficientes de ventana.
[0051] El primer grupo 420 de coeficientes de ventana de la función de ventana de síntesis 370 comprende una primera parte consecutiva de la secuencia de coeficientes de ventana. De un modo similar, el segundo grupo 430 de coeficientes comprende una segunda parte consecutiva de la secuencia de coeficientes de ventana, en la que la primera parte comprende menos coeficientes de ventana que la segunda parte y en la que un valor de energía global de los coeficientes de ventana en la primera parte es superior al valor de energía global correspondiente de los coeficientes de ventana de la segunda parte. Otras características y propiedades de la función de ventana de síntesis 370 pueden ser similares a las características y propiedades correspondientes de la función de ventana de análisis 190, tal como se representa esquemáticamente en la figura 1. Como consecuencia de ello, se hace referencia a la descripción correspondiente en el marco de la función de ventana de análisis 190 y la descripción adicional de las funciones de ventana con respecto a las figuras 11 a 19, correspondiendo el primer grupo 200 al primer grupo 420 y correspondiendo el segundo grupo 210 al segundo grupo 430.
[0052] Por ejemplo, las partes comprendidas en los dos grupos 420, 430 de coeficientes de ventana constituyen normalmente cada una un conjunto consecutivo y conectado de coeficientes de ventana que comprenden entre sí todos los coeficientes de ventana de la secuencia de coeficientes de ventana de la función de ventana 370. En muchas realizaciones según la presente invención, la función de ventana de análisis 190 tal como se muestra en la figura 1 y la función de ventana de síntesis 370 tal como se muestra en la figura 2a están basadas entre sí. Por ejemplo, la función de ventana de análisis 190 puede ser una versión invertida en el tiempo o invertida en el índice de la función de ventana de síntesis 370. Sin embargo, pueden ser asimismo posibles otras relaciones entre las dos funciones de ventana 190, 370. Puede ser aconsejable emplear una función de ventana de síntesis 370 en el marco del generador de ventanas de síntesis 360, que está relacionada con la función de ventana de análisis 190, que se utiliza durante la generación (opcionalmente antes de modificaciones adicionales) del bloque 320 de valores de subbanda de audio proporcionados al banco de filtros de síntesis 300.
[0053] Tal como se indica en relación con la figura 1, el banco de filtros de síntesis 300 de la figura 2a se puede adaptar opcionalmente de tal modo que el bloque de entrada 320 pueda comprender señales adicionales o piezas adicionales de información relativas a las funciones de ventana. A título de ejemplo, el bloque 320 puede comprender información relacionada con la función de ventana de análisis 190 utilizada para generar el bloque 320 o con respecto a la función de ventana de síntesis 370 que va a utilizar el generador de ventanas de síntesis 360. Por lo tanto, el banco de filtros 300 puede estar adaptado para aislar la información respectiva y para proporcionar la misma al generador de ventanas de síntesis 360.
[0054] La fase de salida de un adicionador de superposición 400 puede generar el bloque 410 de muestras de dominio temporal procesando las muestras intermedias del dominio temporal en ventanas comprendidas en la trama 380. En diferentes ejemplos, la fase de salida de un adicionador de superposición 4000 puede comprender una memoria destinada a almacenar temporalmente tramas 380 recibidas anteriormente de muestras intermedias del dominio temporal en ventanas. Dependiendo de los detalles de implementación, la fase de salida de un adicionador de superposición 400 puede comprender, por ejemplo, T posiciones de almacenamiento distintas comprendidas en la memoria para almacenar un número total de tramas T 380 de muestras intermedias del dominio temporal en ventanas. Sin embargo, también un número distinto de posiciones de almacenamiento puede estar comprendido en la fase de salida de un adicionador de superposición 400 si procede. Además, en diferentes ejemplos, la fase de salida de un adicionador de superposición 400 puede ser capaz de proporcionar el bloque 410 de muestras de dominio temporal basándose únicamente en una sola trama 380 de muestras intermedias de dominio temporal. Los ejemplos de los distintos bancos de filtros de síntesis 300 se describirán a continuación más detalladamente.
[0055] La figura 2b ilustra un principio funcional según un ejemplo en forma de un banco de filtros de síntesis 300. El bloque 320 de valores de subbandas de audio se transfiere en primer lugar desde el dominio frecuencial al dominio temporal mediante la calculadora 310, que se ilustra en la figura 2b mediante la flecha 440. La trama 320 resultante de muestras intermedias del dominio temporal que comprende los bloques 340-1, ..., 340-T de muestras intermedias en el dominio temporal se realiza de este modo en ventanas mediante el generador de ventanas de síntesis 360 (no representado en la figura 2b) multiplicando la secuencia de muestras intermedias del dominio temporal de la trama 320 por la secuencia de coeficientes de ventana de la función de ventana de síntesis 370 para obtener la trama 380 de muestras intermedias del dominio temporal en ventanas. La trama 380 comprende de nuevo los bloques 390-1, ..., 390-T de muestras intermedias del dominio temporal en ventanas, que forman en conjunto la trama 380 de muestras intermedias del dominio temporal en ventanas.
[0056] En el ejemplo que se muestra en la figura 2b de un banco de filtros de síntesis 300, la fase de salida de un adicionador de superposición 400 puede de este modo generar el bloque 410 de muestras de salida del dominio temporal sumando para cada valor de índice de las muestras de audio del dominio temporal del bloque 410, las muestras intermedias del dominio temporal en ventana de un bloque 390 de distintas tramas 380. Tal como se ilustra en la figura 2b, las muestras de audio del dominio temporal del bloque 410 se obtienen añadiendo para cada índice de muestra de audio una muestra intermedia del dominio temporal en ventana del bloque 390-1 de la trama 380, se procesan mediante el generador de ventanas de síntesis 360 en el ciclo actual y tal como se ha descrito anteriormente, la muestra intermedia de dominio temporal correspondiente del segundo bloque 390-2 de una trama 380-1 se procesa inmediatamente antes de la trama 380 y se almacena en una posición de almacenamiento en la fase de salida de un adicionador de superposición 400. Tal como se representa en la figura 2b, se pueden utilizar las muestras intermedias del dominio temporal en ventana correspondientes de bloques adicionales 390 (por ejemplo, el bloque 390-3 de la trama 380-2, el bloque 390-4 de la trama 380-3, el bloque 390-5 de la trama 380-4) procesadas mediante el banco de filtros de síntesis 300. Las tramas 380-2, 380-3, 380-4, y opcionalmente otras tramas 380, se han procesado mediante el banco de filtros de síntesis 300 en ciclos anteriores. La trama 380-2 se ha procesado inmediatamente antes de la trama 380-1 y, por consiguiente, la trama 380-3 se generó inmediatamente antes de la trama 380-2 y así sucesivamente.
[0057] La fase de salida de un adicionador de superposición 400 puede sumar para cada índice del bloque 410 de muestras del dominio temporal (salida) T distintos bloques 390-1, ..., 390-T de muestras intermedias del dominio temporal en ventanas procedentes de T tramas distintas 380, 380-1, ..., 380-(T-1). Por lo tanto, aparte de los primeros T bloques procesados, cada una de las muestras de dominio temporal (salida) del bloque 410 se basa en T bloques 320 distintos de valores de subbanda de audio.
[0058] Tal como en el caso de la realización de la presente invención, el banco de filtros de análisis 100 descrito en la figura 1, debido a la forma de la función de ventana de síntesis 370, el banco de filtros de síntesis 300 ofrece la posibilidad de proporcionar rápidamente el bloque 410 de muestras del dominio temporal (salida). Esto es asimismo consecuencia de la forma de la función de ventana 370. Puesto que el primer grupo 420 de coeficientes de ventana corresponde a un valor de energía más elevado y comprende menos coeficientes de ventana que el segundo grupo 430, el generador de ventanas de síntesis 360 puede proporcionar tramas "significativas" 380 de muestras en ventanas cuando se llena la trama 330 de muestras intermedias del dominio temporal de tal modo que al menos los coeficientes de ventana del primer grupo 420 contribuyen a la trama 380. Los coeficientes de ventana del segundo grupo 430 presentan una contribución inferior debido a su menor valor de energía.
[0059] Por lo tanto, al empezar, el banco de filtros de síntesis 300 se inicializa a 0, se puede, en principio, iniciar el suministro de bloques 410 cuando se han recibido únicamente unos cuantos bloques 320 de valores de subbanda de audio mediante el banco de filtros de síntesis 300. Por lo tanto, asimismo el banco de filtros de síntesis 300 permite una reducción de retardo significativa en comparación con el banco de filtros de síntesis que presenta, por ejemplo, una función de ventana de síntesis simétrica.
[0060] Tal como se ha indicado anteriormente, las calculadoras 170 y 310 de las realizaciones o ejemplos representados en las figuras 1 y 2a se pueden implementar como calculadoras de valores reales que generan o pueden procesar valores de subbanda reales de audio de los bloques 180 y 320, respectivamente. En estos casos, las calculadoras pueden, por ejemplo, implementarse como calculadoras de valores reales basadas en funciones oscilantes armónicas tales como la función sinusoidal o la función coseno. No obstante, se implementan calculadoras de valores complejos como calculadoras 170, 310. En estos casos, las calculadoras se pueden implementar por ejemplo basándose en funciones exponenciales complejas u otras funciones de valores complejos armónicos. La frecuencia de las oscilaciones de valores reales o de valores complejos depende normalmente del índice del valor de subbanda de audio, que a veces se denomina también índice de banda o índice de subbanda de la subbanda específica. Además, la frecuencia puede ser idéntica o depender de la frecuencia central de la subbanda correspondiente. Por ejemplo, la frecuencia de la oscilación se puede multiplicar por un factor constante, desplazado con respecto a la frecuencia central de la subbanda correspondiente o puede depender de una combinación de ambas modificaciones.
[0061] Se puede construir o implementar una calculadora de valores complejos 170, 310 basada en calculadoras de valores reales. Por ejemplo, para una calculadora de valores complejos, se puede utilizar en principio una implementación eficaz tanto para la parte modulada por coseno y seno de un banco de filtros que representa tanto la parte real como la imaginaria de un elemento de valor complejo. Esto significa que resulta posible implementar tanto la parte modulada por coseno como la parte modulada por seno basada, por ejemplo, en las estructuras modificadas de DCT-IV y DST-IV. Además, otras implementaciones podrían emplear el uso de una FFT (FFT = transformada rápida de Fourier) opcionalmente implementadas juntas tanto para la parte real como para la parte de modulación compleja de las calculadoras utilizando una FFT o en su lugar utilizando una etapa independiente de la FFT para cada transformada.
Descripción matemática
[0062] En las secciones siguientes se describirá un ejemplo de las realizaciones de un banco de filtros de análisis y del banco de filtros de síntesis con una pluralidad de solapamientos de 8 bloques con la parte, que no provocan retardos adicionales, tal como se ha explicado anteriormente, y un bloque al futuro, lo que causa el mismo retardo que una estructura MDCT/MDST (MDCT = transformada discreta del coseno modificada, MDST = transformada discreta del seno modificada). Es decir, en el ejemplo siguiente, el parámetro T es igual a 10.
[0063] En primer lugar, se realizará una descripción de un banco de filtros de análisis de bajo retardo modulado con complejos. Tal como se ilustra en la figura 1, el banco de filtros de análisis 100 comprende las etapas de transformación de una ventana de análisis realizada por el generador de ventanas de análisis 110 y una modulación del análisis realizada por la calculadora 170. La ventana de análisis se basa en la ecuación
Zi n = w(10N - 1 - n) • xí n para 0 < n < 10 - N , ( 1 )
en la que zi, n es la muestra en ventana (valor real) correspondiente al índice de bloque i y al índice de muestra n de la trama 150 representado en la figura 1. El valor xi, n es la muestra de entrada de tiempo (valor real) correspondiente al mismo índice de bloque i e índice de muestra n. La función de ventana de análisis 190 se representa en la ecuación (1) mediante sus coeficientes de ventana de valor real w(n), siendo n también el índice de coeficiente de ventana en el intervalo indicado en la ecuación (1). Tal como ya se ha descrito anteriormente, el parámetro N es el número de muestras en un bloque 220, 130, 160, 180.
[0064] A partir de los argumentos de la función de ventana de análisis w(10N-1-n) se puede observar que la función de ventana de análisis representa una versión inversa o una versión invertida en el tiempo de la función de ventana de síntesis, que se representa realmente mediante el coeficiente w(n).
[0065] La modulación del análisis realizada mediante la calculadora 170 en la realización representada en la figura 1, se basa en las dos ecuaciones
Figure imgf000011_0001
para que el índice del coeficiente espectral o índice de banda k sea un número entero en el intervalo de
Figure imgf000012_0004
[0066] Los valores XRealik y X¡ma9,¡,x representan la parte real y la parte imaginaria del valor de subbanda de audio del valor complejo correspondiente al índice del bloque i y al índice del coeficiente espectral k del bloque 180. El parámetro no representa una opción de índice, que es igual a
Figure imgf000012_0005
[0067] El banco de filtros de síntesis de bajo retardo modulado por complejos correspondiente comprende las etapas de transformación de una modulación de síntesis, una ventana de síntesis y una adición de superposición tal como se describirá posteriormente.
[0068] La modulación de síntesis se basa en la ecuación
Figure imgf000012_0001
en la que x'¡, n es una muestra intermedia del dominio temporal de la trama 330 correspondiente al índice de muestra n y al índice de bloque i. De nuevo, el parámetro N es un número entero que indica la longitud del bloque 320, 340, 390, 410, que se denomina asimismo longitud de bloque de transformada o, debido a la estructura en bloques de las tramas 330, 380, desplazamiento al bloque anterior. Se han introducido también otras variables y parámetros adicionales, tales como el índice del coeficiente espectral k y el desplazamiento n0.
[0069] La ventana de síntesis que realiza el generador de ventanas de síntesis 360 en el ejemplo representado en la figura 2a se basa en la ecuación
Figure imgf000012_0002
en la que z'in es el valor de la muestra intermedia del dominio temporal en ventana que corresponde al índice de muestra n y al índice de bloque i de la trama 380.
[0070] La marca de la transformada de la adición de superposición se basa en la ecuación
Figure imgf000012_0003
en la que outin representa la muestra del dominio temporal (salida) correspondiente al índice de muestra n y al índice de bloque i. De este modo, la ecuación (8) representa la operación de adición de superposición tal como se realizó en la fase de salida de un adicionador de superposición 400 tal como se representa en la parte inferior de la figura 2b.
[0071] Sin embargo, los ejemplos no se limitan a bancos de filtros de bajo retardo de modulación compleja que permitan un procesamiento de señales de audio con uno de estos bancos de filtros. También se puede implementar una implementación con valor real de un banco de filtros de bajo retardo para una codificación de audio de bajo retardo mejorada. A título comparativo, por ejemplo, las ecuaciones (2) y (6) en lo que se refiere a la parte del coseno, la contribución del coseno de la modulación del análisis y la modulación de la síntesis presentan una estructura comparable cuando se considera la de una MDCT. Aunque el procedimiento de diseño permite en principio una extensión de la MDCT en ambas direcciones con respecto al tiempo, únicamente se aplica en este caso una extensión de los bloques E (= T-2) hacia atrás, en la que cada uno de los T bloques comprende N muestras. El coeficiente de la frecuencia Xi,k de la banda k y el bloque i en un banco de filtros de análisis de N canales o de N bandas se puede resumir mediante el
Figure imgf000013_0001
índice del coeficiente espectral k tal como se define en la ecuación (4). Aquí, una vez más n es un índice de muestra y wa es la función de ventana de análisis.
[0072] En aras de la completitud, la descripción matemática proporcionada anteriormente sobre el banco de filtros de análisis de bajo retardo lento modulado por complejos se puede presentar del mismo modo resumido que la ecuación (9), intercambiando la función coseno por la función exponencial de valor complejo. Con mayor exactitud, con la definición y las variables proporcionadas anteriormente, las ecuaciones (1), (2), (3) y (5) se pueden resumir y ampliar según
Figure imgf000013_0002
en la que, a diferencia de las ecuaciones (2) y (3), la extensión de 8 bloques hacia atrás se ha reemplazado por la variable E(=8).
[0073] Las etapas de la modulación de síntesis y de presentación en ventanas de síntesis, tal como se han descrito en el caso de los complejos en las ecuaciones (6) y (7), se pueden resumir en el caso de un banco de filtros de síntesis de valores reales. La trama 380 de muestras intermedias del dominio temporal en ventanas, al que se hace referencia asimismo como vector desmodulado, viene dado por
Figure imgf000013_0003
en la que z'i,n es la muestra intermedia del dominio temporal en ventanas correspondiente al índice de banda i y el índice de muestra n. El índice de muestra n es de nuevo un número entero en el intervalo de
Figure imgf000013_0005
y ws(n) es la ventana de síntesis, que es compatible con la ventana de análisis wa(n) de la ecuación (9).
[0074] De este modo, la etapa de la transformada de superposición viene dada por
Figure imgf000013_0004
en la que x’¡,n es la señal reconstruida, o más bien una muestra del dominio temporal del bloque 410 según se suministra mediante la fase de salida de un adicionador de superposición 400 mostrada en la figura 2a.
[0075] En el caso del banco de filtros de síntesis de valores complejos 300, se pueden resumir y generalizar las ecuaciones (6) y (7) con respecto a la extensión de E(=8) bloques a la trayectoria según
Figure imgf000014_0001
en la que
Figure imgf000014_0002
es la unidad imaginaria. La ecuación (13) representa la generalizada de la ecuación (8) y es también válida para el caso de valores complejos.
[0076] Tal como demuestra la comparación directa de la ecuación (14) con la ecuación (7), la función de ventana w(n) de la ecuación (7) es la misma función de la ventana de síntesis que ws(n) de la ecuación (14). Tal como se ha indicado anteriormente, la comparación similar de la ecuación (10) con el coeficiente de función de la ventana de análisis wa(n) con la ecuación (1) muestra que la función de ventana de análisis es la versión invertida en el tiempo de la función de ventana de síntesis en el caso de la ecuación (1).
[0077] Como ambos, un banco de filtros de análisis 100 tal como se muestra en la figura 1 y un banco de filtros de síntesis 300 tal como se muestra en la figura 2a suponen una mejora significativa en lo que se refiere a una compensación entre por un lado el retardo y por el otro la calidad del proceso de audio, los bancos de filtros 100, 300 se denominan frecuentemente bancos de filtro de bajo retardo. La versión de valores complejos de la misma se denomina a veces banco de filtros de complejos de bajo retardo, lo que se abrevia con CLDFB. En algunas circunstancias, el término CLDFB no solo se usa para la versión de valor complejo, sino también para la versión de valor real del banco de filtro.
[0078] Tal como se ha mostrado en el análisis anterior de los fundamentos matemáticos, el marco utilizado para implementar los bancos de filtros de bajo retardo propuestos utiliza una estructura de tipo MDCT o IMDCT (IMDCT = MDCT inversa), conocida a partir del estándar MPEG-4, utilizando una superposición extendida. Las regiones de superposición adicionales se pueden unir en bloque a la izquierda así como a la derecha del núcleo de tipo MDCT. En este caso, se utiliza únicamente la extensión a la derecha (para el banco de filtros de síntesis), que funciona solamente a partir de muestras anteriores y, por lo tanto, no provoca retardo adicional alguno.
[0079] Observando las ecuaciones (1), (2) y (14) se ha demostrado que el procesamiento es muy similar al de la MDCT o la IMDCT. Mediante únicamente ligeras modificaciones que comprenden una función de ventana de análisis modificada y una función de ventana de síntesis, respectivamente, la MDCT o IMDCT se extiende a un banco de filtros modulado que puede manejar múltiples superposiciones y es muy flexible con respecto a su retardo. Por ejemplo, con las ecuaciones (2) y (3) se ha demostrado que la versión de complejos se obtiene en principio simplemente añadiendo una modulación sinusoidal a la modulación del coseno dada.
Interpolación
[0080] Tal como se indica en el contexto de las figuras 1 y 2a, tanto el generador de ventanas de análisis 110 como el generador de ventanas de síntesis 360 o los bancos de filtros correspondientes 100, 300 son aptos para presentar ventanas de las tramas correspondientes de muestras de dominio temporal multiplicando cada una de las muestras de audio de dominio temporal correspondientes por un coeficiente de ventana individual. Es decir, cada una de las muestras del dominio temporal se multiplica por un coeficiente de ventana (individual), tal como por ejemplo se ha mostrado con las ecuaciones (1), (7), (9), (10), (11) y (14). Como consecuencia de ello, el número de coeficientes de ventana de la función de ventana respectiva es normalmente idéntico al número de muestras de audio del dominio temporal respectivo.
[0081] Sin embargo, bajo determinadas circunstancias de implementación, puede resultar aconsejable implementar una función de ventana que presente un segundo número mayor de coeficientes de ventana en comparación con la función de ventana real que presenta un primer número de coeficientes más pequeño, que se utiliza realmente durante la presentación de la ventana de la trama o secuencia correspondiente de muestras de audio en el dominio temporal. Ello puede resultar, por ejemplo, aconsejable en el caso en que los requisitos de memoria de una implementación específica puedan ser más valiosos que la eficacia de cálculo. Otro escenario en el que podría resultar útil un muestreo de los coeficientes de las ventanas es el denominado enfoque dual, que se utiliza, por ejemplo, en el marco de los sistemas SBR (SBR = replicación de banda espectral). El concepto de SBR se describirá más detalladamente haciendo referencia a las figuras 5 y 6.
[0082] En este caso, el generador de ventanas de análisis 110 o el generador de ventanas de síntesis 360 se pueden adaptar adicionalmente de tal modo que la función de ventana correspondiente utilizada para presentar ventanas de las muestras de audio del dominio temporal proporcionadas al generador de ventanas correspondiente 110, 360 se obtiene mediante la interpolación de coeficientes de ventana de la función de ventana más grande que presente un segundo número mayor de coeficientes de ventana.
[0083] La interpolación se puede realizar, por ejemplo, mediante una interpolación lineal, polinomial o interpolación spline (de lengüeta). Por ejemplo, en el caso de la interpolación lineal, pero asimismo en el caso de una interpolación basada en un polinomio o spline, el generador de ventanas correspondiente 100, 360 puede ser capaz de interpolar los coeficientes de ventana de la función de ventana utilizada para presentar ventanas basándose en dos coeficientes de ventana consecutivos de la función de ventana mayor según una secuencia de los coeficientes de ventana de la función de ventana mayor para obtener un coeficiente de ventana de la función de ventana.
[0084] Especialmente en el caso de un número par de muestras de audio en el dominio temporal y coeficientes de ventana, una implementación de una interpolación como la descrita anteriormente, se puede obtener una mejora significativa de la calidad de audio. Por ejemplo, en el caso de un número par N T de muestras de audio del dominio temporal en una de las tramas 120, 330, que no utiliza una interpolación, por ejemplo, una interpolación lineal, provocará uno efectos graves de la generación de alias durante el procesamiento posterior de las correspondientes muestras de audio en el dominio temporal.
[0085] La figura 3 ilustra un ejemplo de una interpolación lineal basada en una función de ventana (una función de ventana de análisis o una función de ventana de síntesis) que se empleará en relación con tramas que comprenden muestras de audio en el dominio temporal N T/2. Debido a limitaciones de memoria u otros detalles de implementación, los coeficientes de ventana de la propia función de ventana no se almacenan en una memoria, sino que una función de ventana mayor que comprende coeficientes de ventana N T que se almacena en la memoria apropiada o se encuentran disponibles de algún otro modo. La figura 3 ilustra en el gráfico superior, los coeficientes de ventana correspondientes c(n) como función de los índices de coeficientes de ventana n en el intervalo comprendido entre 0 y N T-1.
[0086] Basándose en una interpolación lineal de dos coeficientes de ventana consecutivos de la función de ventana que presentan el mayor número de coeficientes de ventana, tal como se representa en el gráfico superior de la figura 3, se calcula una función de ventana interpolada basada en la ecuación
Figure imgf000015_0001
[0087] El número de coeficientes de ventana interpolados ci(n) de la función de ventana que se aplicará a una trama que presenta N T/2 muestras de audio en el dominio temporal comprende la mitad del número de coeficientes de ventana.
[0088] Para continuar ilustrando esto, en la figura 3 los coeficientes de la ventana 450-0, ..., 450-7 se muestran en la parte superior de la figura 3 correspondiente a un coeficiente de ventana c(0), ..., c(7). Basándose en estos coeficientes de ventana y en los coeficientes de ventana adicionales de la función de ventana, una aplicación de la ecuación (15) permite obtener los coeficientes de ventana ci(n) de la función de ventana interpolada representada en la parte inferior de la figura 3. Por ejemplo, basándose en los coeficientes de ventana 450-2 y 450-3, se genera el coeficiente de ventana 460-1 basándose en la ecuación (15), tal como se representa mediante las flechas 470 de la figura 3. Por consiguiente, el coeficiente de ventana 460-2 de la función de ventana interpolada se calcula basándose en el coeficiente de ventana 450-4, 450-5 de la función de ventana representada en la parte superior de la figura 3. La figura 3 muestra la generación de coeficientes de ventana adicionales ci(n).
[0089] Para ilustrar la cancelación de la generación de alias que se puede alcanzar mediante la reducción de la muestra interpolada de la función de ventana, la figura 4 representa la interpolación de los coeficientes de ventana en el caso de una función de ventana sinusoidal, que se puede utilizar, por ejemplo, en una MDCT. En aras de la simplicidad, la mitad izquierda de la función de ventana y la mitad derecha de la función de ventana se dibujan una sobre otra. La figura 4 representa una versión simplificada de una ventana sinusoidal, que comprende únicamente 2 4 coeficientes de ventana o puntos para una MDCT que presenta una longitud de 8 muestras.
[0090] La figura 4 muestra cuatro coeficientes de ventana 480-1,480-2, 480-3 y 480-4 de la primera mitad de la ventana sinusoidal y cuatro coeficientes de ventana 490-1,490-2, 490-3 y 390-4 de la segunda mitad de la ventana sinusoidal. El coeficiente de ventana 490-1, ..., 490-4 corresponde a los índices de coeficientes de ventana 5, ..., 8. Los coeficientes de ventana 490-1, ..., 490-4 corresponden a la segunda mitad de la longitud de la función de ventana, de tal modo que debe añadirse a los índices dados N' = 4 para obtener los índices reales.
[0091] Para reducir o incluso para alcanzar la cancelación de los efectos de la generación de alias tal como se ha descrito anteriormente, el coeficiente de ventana debería satisfacer la condición
Figure imgf000016_0001
lo mejor posible. Cuanto mejor se satisface la relación (16), mejor es la supresión de alias o la cancelación de alias.
[0092] Asumiendo la situación de que una nueva función de ventana que presenta la mitad del número de coeficientes de ventana debe determinarse para la mitad izquierda de la función de ventana, surge el problema siguiente. Debido a que la función de ventana comprende un número par de coeficientes de ventana (numerado con reducción de la muestra), sin utilizar un esquema de interpolación tal como se indica en la figura 3, los coeficientes de ventana 480-1 y 480-3 o 480-2 y 480-4 corresponden a únicamente un valor de generación de alias de la función de ventana original o filtro original.
[0093] Esto provoca una proporción desequilibrada de energía espectral y se produce una redistribución asimétrica del punto central (centro de gravedad) de la función de ventana correspondiente. Basándose en la ecuación de interpolación (15) para el coeficiente de ventana w(n) de la figura 4, los valores interpolados h e I2 satisfacen la relación de generación de alias (16) mucho mejor y, por lo tanto, se obtendrá una mejora significativa con respecto a la calidad de los datos de audio procesados.
[0094] Sin embargo, al utilizar un esquema de interpolación aún más elaborado, por ejemplo un spline u otro esquema de interpolación similar, se podría incluso obtener coeficientes de ventana que satisficiesen aún mejor la relación (16). Una interpolación lineal resulta, en la mayoría de los casos, suficiente y permite una implementación rápida y eficiente.
[0095] En la situación en que un sistema SBR característico que utiliza un banco de filtros SBR-QMF (QMF = filtro espejo en cuadratura), no se requiere implementar un esquema de interpolación lineal u otro esquema de interpolación puesto que el filtro prototipo SBR-QMF comprende un número impar de coeficientes de filtro prototipo. Esto significa que el filtro prototipo SBR-QMF comprende un valor máximo con respecto al que se puede implementar la reducción de la muestra de tal modo que la simetría del filtro prototipo SBR-QMF permanezca intacta.
[0096] En las figuras 5 y 6, se describirá una posible aplicación de las realizaciones según la presente invención en forma de tanto un banco de filtros de análisis como un banco de filtros de síntesis. Un campo importante de aplicación es un sistema SBR o una herramienta SBR (SBR = replicación de banda espectral).
Sin embargo, otras aplicaciones de las realizaciones según la presente invención pueden proceder de otros campos, en los que existe la necesidad de modificaciones espectrales (por ejemplo, modificaciones de ganancia o ecualizaciones), tales como la codificación espacial de objetos de audio, la codificación estéreo paramétrica de bajo retardo, la codificación espacial/envolvente, la ocultación de pérdida de trama, la cancelación del eco u otras aplicaciones correspondientes.
[0097]
La idea básica detrás de la SBR es la observación de que normalmente existe una gran correlación entre las características de un intervalo de alta frecuencia de una señal, que se denominará señal de banda alta, y las características del intervalo de frecuencia de banda baja, tales como la denominada banda baja o señales de banda baja, de la misma señal presente. De este modo, una buena aproximación para la representación de la señal de entrada original de banda alta se puede alcanzar mediante una transposición de la banda baja a la banda alta.
[0098] Además de la transposición, la reconstrucción de la banda alta incorpora la conformación de envolvente espectral, que comprende un ajuste de las ganancias. Este procedimiento se controla normalmente mediante una transmisión de la envolvente espectral de banda alta de la señal de entrada original. La información de orientación adicional enviada desde el codificador controla otros módulos de síntesis, tales como un filtro inverso, una adición de ruido y sinusoidal para hacer frente al material de audio cuando la transposición por sí sola puede resultar insuficiente. Los parámetros correspondientes comprenden los parámetros "banda alta de ruido" para la adición de ruido y el parámetro "banda alta de tonalidades" para la adición sinusoidal. Esta información de guía se denomina normalmente datos SBR.
[0099] El procedimiento SBR se puede combinar con cualquier forma de onda o códec convencional mediante un procedimiento previo en el lado del codificador y el procedimiento posterior en el lado del decodificador. La SBR codifica la parte de alta frecuencia de una señal de audio a un coste muy bajo, mientras que el códec de audio se utiliza para codificar la parte de frecuencia más baja de la señal.
[00100] En el lado del codificador, se analiza la señal de entrada original, se codifica la envolvente espectral de banda alta y sus características con respecto a la banda baja y los datos SBR resultantes se multiplexan con un flujo de bits del códec para la banda baja. En primer lugar, en el lado del decodificador se desmultiplexan los datos SBR. El procedimiento de decodificación se organiza generalmente en etapas. En primer lugar, el decodificador del núcleo genera la banda baja y, en segundo lugar, el decodificador SBR funciona como un procesador posterior que utiliza los datos SBR decodificados para guiar el procedimiento de replicación de banda espectral. A continuación, se obtiene una señal de salida de ancho de banda completa.
[0102] Para obtener una eficacia de codificación tan elevada como resulte posible y mantener una complejidad de cálculo reducida, los códecs mejorados con SBR se implementan a menudo como sistemas denominados de doble velocidad. La doble velocidad significa que el códec de núcleo limitado de banda está operando a la mitad de la frecuencia de muestreo de audio externa. En cambio, la parte SBR se procesa en la frecuencia de muestreo completa.
[0103] La figura 5 muestra un diagrama funcional esquemático de un sistema SBR 500. El sistema SBR 500 comprende, por ejemplo, un codificador AAC-LD (AAC-LD = códec de audio avanzado - bajo retardo) 510 y un codificador SBR 520 al que se proporcionan los datos de audio que se van a procesar en paralelo. El codificador SBR 520 comprende un banco de filtros de análisis 530, que se muestra en la figura 5 como banco de filtros de análisis QMF. El banco de filtros de análisis 530 puede proporcionar valores de subbanda de audio correspondientes a subbandas basadas en las señales de audio proporcionadas al sistema SBR 500. A continuación, dichos valores de subbanda de audio se suministran a un módulo de extracción de parámetros SBR 540, que genera los datos SBR tal como se ha descrito anteriormente, comprendiendo por ejemplo la envolvente espectral para la banda alta, el parámetro de ruido de banda alta y el parámetro de tonalidad de banda alta. A continuación, se proporcionan estos datos SBR al codificador AAC-LD 510.
[0104] El codificador AAC-LD 510 se muestra en la figura 5 como un codificador de velocidad doble. Es decir, el codificador 510 opera a la mitad de la frecuencia de muestreo en comparación con la frecuencia de muestreo de los datos de audio suministrados al codificador 510. Para facilitar esto, el codificador AAC-LD 510 comprende una etapa de reducción de la muestra 550, que puede comprender opcionalmente un filtro de paso bajo para evitar distorsiones causadas, por ejemplo, por una violación del Teorema de Nyquist-Shannon. Los datos de audio con reducción de la muestra como salida mediante la etapa de reducción de la muestra 550 se suministran a continuación a un codificador 560 (banco de filtros de análisis) en forma de un banco de filtros MDCT. Las señales proporcionadas por el codificador 560 a continuación se cuantifican y codifican en la etapa 570 de cuantificación y codificación. Además, los datos SBR proporcionados por el módulo de extracción de parámetros SBR 540 también se encuentran codificados para obtener un flujo de bits, que a continuación emitirá el codificador ACC-LD 510. La etapa de cuantificación y codificación 570 puede, por ejemplo, cuantificar los datos según las propiedades del αdo humano.
[0105] El flujo de bits se suministra a continuación a un decodificador AAC-LD 580, que forma parte del lado del decodificador al que se transporta el flujo de bits. El decodificador AAC-LD comprende una etapa de decodificación y descuantificación 590, que extrae los datos SBR del flujo de bits y los datos de audio descuantificados o recuantificados en el dominio frecuencial que representa la banda baja. Los datos de banda baja se suministran a continuación a un banco de filtros de síntesis 600 (banco de filtros MDCT inverso). En la etapa de MDCT inverso (MDCT-1) 600 se convierten las señales proporcionadas a la etapa de MDCT inverso desde el dominio frecuencial al dominio temporal para proporcionar una señal temporal. Esta señal de dominio temporal se suministra a continuación al decodificador SBR 610, que comprende un banco de filtros de análisis 620, que se representa en la figura 5 como un banco de filtros de análisis QMF.
[0106] El banco de filtros de análisis 620 realiza un análisis espectral de la señal temporal suministrada al banco de filtros de análisis 620 que representa la banda baja. Estos datos se suministran a continuación a un generador de alta frecuencia 630, que también se denomina generador de HF. Basándose en los datos SBR proporcionados por el codificador AAC-LD 580 y su etapa de decodificación y descuantificación 590, el generador HF 630 genera la banda alta basándose en las señales de banda baja proporcionadas por el banco de filtros de análisis 620. Ambas, las señales de banda baja y de banda alta se suministran a un banco de filtros de síntesis 640, que transfiere las señales de banda baja y banda alta del dominio frecuencial al dominio temporal para proporcionar una señal de salida de audio del dominio temporal del sistema SBR 500.
[0107] En aras de la completitud, se debe indicar que en muchos casos el sistema SBR 500, tal como se muestra en la figura 5 no se implementa de este modo. Con mayor exactitud, el codificador AAC-LD 510 y el codificador SBR 520 se implementan habitualmente en el lado del codificador, que se implementa normalmente separadamente del lado del decodificador que comprende el decodificador AAC-LD 580 y el decodificador SBR 610. Es decir, el sistema 500 mostrado en la figura 5 representa sustancialmente la conexión de dos sistemas, en particular un codificador que comprende los codificadores 510, 520 mencionados anteriormente y un decodificador que comprende los decodificadores 580, 610 mencionados anteriormente.
[0108] Las realizaciones según la presente invención en forma de bancos de filtros de análisis 100 y bancos de filtros de síntesis 300 se pueden implementar por ejemplo en el sistema 500 representado en la figura 5 en sustitución del banco de filtros de análisis 530, el banco de filtros de análisis 620 y el banco de filtros de síntesis 640. Es decir, los bancos de filtros de síntesis o análisis de los elementos SBR del sistema 500 se pueden sustituir, por ejemplo, mediante las realizaciones correspondientes según la presente invención. Además, el MDCT 600 y el MDCT inverso 560 se pueden reemplazar asimismo mediante bancos de filtros de síntesis y de análisis de bajo retardo, respectivamente. En este caso, si se han implementado todos los reemplazos descritos, se empleará el denominado códec AAC mejorado de bajo retardo (códec = codificador-decodificador).
[0109] El AAC (AAC-ELD) de bajo retardo mejorado tiene como objetivo combinar las características de bajo retardo de un AAC-LD (códec de audio avanzado - bajo retardo) con una alta eficacia de codificación de HE-AAC (códec de audio avanzado de alto rendimiento) utilizando SBR con AAC-LD. El decodificador SBR 610 actúa en este caso como procesador posterior, que se suministra después de que el decodificador núcleo 580 comprenda un banco de filtros de análisis completo y un banco de filtros de síntesis 640. Por lo tanto, los componentes del decodificador SBR 610 añaden un retardo de decodificación adicional, que se representa en la figura 5 mediante el sombreado de los elementos 620, 630, 540.
[0110] En muchas implementaciones de sistemas SBR 500, la parte de frecuencia más baja o banda baja oscila normalmente de 0 kHz a normalmente 5-15 kHz y se codifica utilizando un codificador de forma de onda, denominado códec núcleo. El códec núcleo puede ser, por ejemplo, uno de la familia de codificadores de audio MPEG. Además, se alcanza una reconstrucción de la parte de alta frecuencia o banda alta mediante una transición de la banda baja. La combinación de SBR con un codificador de núcleo se implementa en muchos casos como un sistema de velocidad doble, en el que el codificador/decodificador AAC subyacente se hace funcionar a la mitad de la velocidad de muestreo del codificador/decodificador SBR.
[0111] La mayoría de los datos de control se utilizan en la representación de envolvente espectral, que presenta una resolución temporal y frecuencial variable para poder controlar el procedimiento SBR del mejor modo posible con la mínima sobrecarga de velocidad de bits posible. Los otros datos de control están destinados principalmente a controlar la relación entre el tono y el ruido de la banda alta.
[0112] Tal como se muestra en la figura 5, la salida del decodificador AAC subyacente 580 se analiza normalmente con un banco de filtros QMF de 32 canales 620. A continuación, el módulo generador HF 630 vuelve a crear la banda alta mediante la conexión de subbandas QMF desde la banda baja existente a la banda alta. Además, se realiza el filtro inverso mediante una subbanda, basándose en los datos de control obtenidos a partir del flujo de bits (datos SBR). El ajustador de envolvente modifica la envolvente espectral de la banda alta regenerada y añade elementos adicionales tales como ruido y se añaden sinusoides según los datos de control del flujo de bits. Puesto que todas las operaciones se realizan en el dominio frecuencial (conocido también como QMF o dominio subbanda), la etapa final del decodificador 610 es una síntesis de QMF 640 para retener una señal del dominio temporal. Por ejemplo, en el caso en que el análisis de QMF del lado del codificador se realice en un sistema de subbanda de 32 QFM para 1024 muestras de dominio temporal, en la reconstrucción de alta frecuencia se obtienen subbandas de 64-QMF sobre las que se realiza la síntesis produciendo 2048 muestras del dominio temporal, de tal modo que se alcanza un sobremuestreo por un factor de 2.
[0113] Además, el retardo del codificador de núcleo 510 se duplica cuando funciona a la mitad de la velocidad de muestreo original en el modo de velocidad doble, lo que origina fuentes adicionales de retardo tanto en el codificador como en el procedimiento del decodificador de un AAC-LD en combinación con SBR. A continuación, se examinarán dichas fuentes de retardo y se minimizará su retardo asociado.
[0114] La figura 6 muestra un diagrama funcional simplificado del sistema 500 representado en la figura 5. La figura 6 se concentra en fuentes de retardo en el procedimiento de codificador/decodificador que utilizan bancos de filtro SBR y de bajo retardo para la codificación. Comparando la figura 6 con la figura 5, el MDCT 560 y el MDCT inverso 600 se han reemplazado por módulos de retardo optimizado, los denominados MDCT 560' (LD MDCT) y el MDCT 600' (LD MDCT) de bajo retardo. Además, también se ha reemplazado el generador de HF 630 por un módulo de retardo optimizado 630'.
[0115] Aparte del MDCT 560' de bajo retardo y del MDCT 600' inverso de bajo retardo, se utiliza una transmisión de SBR modificada y un generador de HF modificado 630 'en el sistema representado en la figura 6. A fin de evitar el retardo mediante la transmisión distinta de un codificador/decodificador de núcleo 560, 600 y los módulos SBR correspondientes, la transmisión de SBR es apta para adaptarse a la longitud de transmisión de 480 o 512 muestras del AAC-LD. Además, la rejilla temporal variable del generador de HF 630, que implica 384 muestras de retardo, se encuentra restringida con respecto a la difusión de datos SBR sobre tramas AC-LD adyacentes. Por lo tanto, las únicas fuentes restantes de retardo en el módulo SBR son los bancos de filtros 530, 620 y 640.
[0116] Según la situación representada en la figura 6, que representa una implementación parcial del códec AAC-ELD, ya se han implementado algunas optimizaciones de retardo, entre ellas el uso de un banco de filtros de bajo retardo en el núcleo AAC-LD y la eliminación de una superposición de SBR mencionada anteriormente. Para más mejoras de retardo, se deben investigar los módulos restantes. La figura 6 muestra las fuentes de retardo en el procedimiento de codificador/decodificador utilizando SBR y los bancos de filtros de bajo retardo denominados en este caso LD-MDCT y LD-IMDCT. En comparación con la figura 5, en la figura 6 cada caja representa una fuente de retardo, en la que los módulos de optimización de retardo se trazan sombreados. Hasta el momento los módulos similares no se han optimizado para el bajo retardo.
[0117] La figura 7a ilustra un diagrama de flujo que comprende un pseudocódigo en C o C++ para ilustrar una realización según la presente invención en forma de un banco de filtros de análisis o un procedimiento correspondiente para generar valores de subbanda de audio en canales subbanda de audio. Para ser aún más preciso, la figura 7a representa un diagrama de flujo de un banco de filtros de análisis de valor complejo para 32 bandas.
[0118] Tal como se ha indicado anteriormente, el banco de filtros de análisis se utiliza para dividir la señal del dominio temporal, por ejemplo, la salida del codificador de núcleo en N = 32 señales de subbanda. La salida del banco de filtros, las muestras de subbanda o los valores de subbanda de audio, en el caso de un banco de filtros de análisis de valores complejos, se valoran y por lo tanto se sobremuestrean por un factor de 2 en comparación con un banco de filtros de valores reales. El filtrado implica y comprende las etapas siguientes, en las que una matriz x(n) comprende exactamente 320 muestras en el dominio temporal. Cuanto más alto sea el índice de las muestras n en la matriz, más antiguas serán las muestras.
[0119] Tras iniciarse las realizaciones del procedimiento en la etapa S100, en primer lugar, las muestras de la matriz x(n) se desplazan 32 posiciones en la etapa S110. Se descartan las 32 muestras más antiguas y se almacenan 32 muestras nuevas en las posiciones 31 a 0 en la etapa S120. Tal como se representa en la figura 7a, las muestras de audio del dominio temporal entrante se almacenan en posiciones que corresponden a un índice decreciente n en el intervalo de 31 a 0. Ello provoca una inversión temporal de las muestras almacenadas en la trama 0 vector correspondiente, de tal modo que ya se ha tenido en cuenta la inversión del índice de la función de ventana para obtener el análisis, basándose la función de ventana en la función de ventana de síntesis (igualmente larga).
[0120] Durante una etapa S130, los coeficientes de ventana ci(j) se obtienen mediante una interpolación lineal de los coeficientes c(j) basándose en la ecuación (15). La interpolación se basa en un tamaño de bloque (longitud de bloque o número de valores de subbanda) de N = 64 valores y se basa en una trama que comprende T = 10 bloques. Por lo tanto, el índice de los coeficientes de ventana de la función de ventana interpolada se encuentra en el intervalo comprendido entre 0 y 319 según la ecuación (15). Los coeficientes de ventana c(n) se indican en la tabla del Anexo 1 de la descripción. Sin embargo, dependiendo de los detalles de la implementación, para obtener los coeficientes de ventana basados en los valores dados en las tablas de los Anexos 1 y 3, se deben tener en cuenta los cambios de signos adicionales con respecto a los coeficientes de ventana correspondientes a los índices 128 a 255 y 384 a 511 (multiplicación con factor (-1)).
[0121] En estos casos, los coeficientes de ventana w(n) o c(n) por utilizar se pueden obtener según
Figure imgf000019_0002
con la función de cambio de signo s(n) según
Figure imgf000019_0001
para n = 0 a 639, en la que wtable (n) son los valores proporcionados en las tablas de los Anexos.
[0122] Sin embargo, no se requiere que los coeficientes de ventana se implementen según la tabla del Anexo 1 para obtener, por ejemplo, la reducción del retardo descrita anteriormente. Para alcanzar esta reducción del retardo, al mismo tiempo que se mantiene el nivel de calidad de los datos de audio procesados o, para alcanzar otra compensación, los coeficientes de ventana c(n) para el índice de coeficiente de ventana n en el intervalo comprendido entre 0 y 639, pueden satisfacer uno de los conjuntos de relaciones que figuran en el anexo 3. Además, se debe indicar que se pueden emplear asimismo otros coeficientes de ventana c(n) en realizaciones según la presente invención. Naturalmente, se pueden implementar también otras funciones de ventana que no están incluidas en la redacción de las reivindicaciones, pero que se consideran útiles para entender la invención, que comprenden un número distinto de coeficientes de ventana de 320 o 640, aunque las tablas de los Anexos 1 a 4 únicamente se aplican a las funciones de ventana que tienen 640 coeficientes de ventana.
[0123] La interpolación lineal según S130 provoca una mejora significativa de la calidad y la reducción o cancelación de los efectos de generación de alias en el caso de una función de ventana que comprende un número par de coeficientes de ventana. Se debe indicar además que la unidad compleja no es j como en las ecuaciones (1), (2) y (16), sino que se indica mediante
Figure imgf000020_0003
[0124] En la etapa S140, las muestras de la matriz x(n) se multiplican por elementos por los coeficientes ci(n) de la ventana interpolada.
[0125] En la etapa S150, las muestras en ventanas se suman según la ecuación dada en el diagrama de flujo de la figura 7a para crear la matriz de 64 elementos u(n). En la etapa S160, se calculan 32 nuevas muestras de subbanda o valores de subbanda de audio W(k,1) según la operación matricial Mu, en la que el elemento de la matriz M viene dado por
Figure imgf000020_0001
en la que exp() indica la función exponencial compleja y, tal como se ha mencionado anteriormente, i es la unidad imaginaria. Antes de que el bucle de un diagrama de flujo termine con la etapa S170, se puede emitir cada uno de los valores de subbanda W(k,1) (= W[k][1]), que corresponden a la muestra de subbanda 1 en la subbanda que presenta el índice k. En otras palabras, cada bucle del diagrama de flujo mostrado en la figura 7a origina 32 valores de subbanda de valores complejos, representando cada uno la salida de una subbanda de un banco de filtros.
[0126] La figura 7b ilustra la etapa S150 en que se colapsa la trama 150 de muestras de audio del dominio temporal en ventanas que comprende 10 bloques 160-1, ..., 160-10 de muestras de audio del dominio temporal en ventanas z(n) hacia el vector u(n) mediante una suma de 5 veces dos bloques de la trama 150 cada una. El colapso o retracción se realiza basándose en elementos de tal modo que se añaden las muestras de audio del dominio temporal en ventanas correspondientes al mismo índice de muestra dentro de cada uno de los bloques 160-1, 160­ 3, 160-5, 160-7 y 160- 9 para obtener el valor correspondiente en los primeros bloques 650-1 del vector u(n). Por consiguiente, basándose en los bloques 160-2, 160-4, 160-6, 160-8 y 160-10, en la etapa S150 se generan los elementos correspondientes del vector u(n) en el bloque 160-2.
[0127] Se puede implementar una realización adicional según la presente invención en forma de banco de filtros de análisis como un banco de filtros de bajo retardo complejo de 64 bandas. El procesamiento de este banco de filtros de bajo retardo complejo como banco de filtros de análisis es básicamente similar al banco de filtros de análisis tal como se descrito en relación con la figura 7a. Debido a las similitudes y sustancialmente al mismo procesamiento que se ha descrito con respecto a la figura 7a, las diferencias entre el banco de filtros de análisis de complejo descrito para 32 bandas de la figura 7a y el banco de filtros de análisis complejo para 64 subbandas se describirá aquí.
[0128] A diferencia de las 32 subbandas que comprende el banco de filtros de análisis tal como se representa en la figura 7a, el vector de la trama x(n) comprende, en el caso de un banco de filtros de análisis de 64 bandas, 640 elementos que presentan los índices de 0 a 639. Por lo tanto, la etapa S110 se modifica de tal modo que las muestras de la matriz x(n) se desplazan 64 posiciones y se descartan las 64 muestras más antiguas. En la etapa S120 en lugar de 32 muestras nuevas, se almacenan 64 muestras nuevas en las posiciones 63 a 0. Tal como se representa en la figura 7c, las muestras de audio del dominio temporal entrante se almacenan en unas posiciones que corresponden a un índice decreciente n en el intervalo de 63 a 0. Ello da lugar a una inversión temporal de las muestras almacenadas en la trama o vector correspondiente, de tal modo que ya se ha tenido en cuenta la inversión del índice de la función de ventana para obtener la función de ventana de análisis basada en la función de ventana de síntesis (de igual longitud).
[0129] Puesto que la ventana c(n), utilizada para la ventana de los elementos del vector de la trama x(n), comprende normalmente 640 elementos, se puede omitir la etapa S130 de interpolación lineal de los coeficientes de ventana para obtener las ventanas interpoladas ci(n).
[0130] A continuación, durante la etapa S140, se multiplican las muestras de la matriz x(n) o se generan ventanas utilizando la secuencia de coeficientes de ventana c(n), que se basa de nuevo en los valores de la tabla del Anexo 1. En el caso del coeficiente de ventana c(n) son los de la función de ventana de síntesis, la formación de ventanas o la multiplicación de la matriz x(n) por la ventana c(n) se realizan según la ecuación
Figure imgf000020_0002
para an = 0, ..., 639. Una vez más, para alcanzar las propiedades de bajo retardo de la función de ventana, no hace falta implementar la función de ventana exactamente según los coeficientes de ventana basados en los valores dados en la tabla del Anexo 1. En el caso de muchas aplicaciones, una implementación en la que los coeficientes de ventana satisfagan cualquiera de los conjuntos de relaciones que figuran en las tablas de los Anexos 2 a 4 resultará suficiente para alcanzar un equilibrio aceptable entre la calidad y una reducción significativa del retardo. Sin embargo, dependiendo de los detalles de la implementación, para obtener los coeficientes de ventana basados en los valores dados en las tablas de los Anexos 1 y 3, se deben tener en cuenta los cambios de signos adicionales con respecto a los coeficientes de ventana correspondientes a los índices 128 a 255 y 384 a 511 (multiplicación por factor (-1)) según las ecuaciones (16a) y (16b).
[0131] La etapa S150 del diagrama de flujo de la figura 7a se reemplaza por una suma de las muestras del vector de la trama z(n) según la ecuación
Figure imgf000021_0002
para crear la matriz de 128 elementos u(n).
[0132] La etapa S160 de la figura 7a se sustituye a continuación por una etapa en la que se calculan 64 muestras de subbanda nuevas según la operación matricial Mu, en la que los elementos de la matriz M vienen dados por
Figure imgf000021_0003
en la que exp() indica la función exponencial compleja e i es, tal como se ha mencionado anteriormente, la unidad imaginaria.
[0133] La figura 7c ilustra un diagrama de flujo según un ejemplo, que no está incluido en la redacción de las reivindicaciones, pero se considera útil para comprender la invención, en forma de banco de filtros de análisis de valores reales para 32 canales de subbanda. El ejemplo como se ilustra en la figura 7c no difiere significativamente de la realización representada en la figura 7a. La principal diferencia es que la etapa S160 de cálculo de los nuevos 32 valores de audio de subbanda de valores complejos se sustituye en el ejemplo representado en la figura 7c por una etapa S162 en la que se calculan 32 muestras de audio de subbanda de valores reales según una operación matricial Mru, en la que los elementos de la matriz Mr vienen dados por
Figure imgf000021_0001
[0134] Como consecuencia de ello, cada bucle del diagrama de flujo produce 32 muestras de subbanda de valores reales en las que W(k,1) corresponde a la muestra de audio de subbanda 1 de la subbanda k.
[0135] El banco de filtros de análisis de valores reales se puede utilizar por ejemplo en el marco de un modo de bajo consumo de un sistema SBR, tal como se representa en la figura 5. El modo de baja potencia de la herramienta SBR difiere de la herramienta SBR de alta calidad principalmente en que se utilizan bancos de filtros de valores reales. Esto reduce la complejidad de cálculo y el esfuerzo de cálculo en un factor de 2, de tal modo que el número de operaciones por unidad de tiempo se reduce sustancialmente en un factor de 2, ya que no se requiere calcular parte imaginaria alguna.
[0136] Los bancos de filtros nuevos propuestos según la presente invención resultan totalmente compatibles con el modo de baja potencia de los sistemas SBR. De este modo, con bancos de filtros según la presente invención, los sistemas SBR pueden funcionar tanto en el modo normal como en el modo de alta calidad con bancos de filtros complejos y en el modo de baja potencia con bancos de filtros de valores reales. Por ejemplo, el banco de filtros de valor real puede derivarse del complejo banco de filtros utilizando únicamente los valores reales (contribuciones moduladas por coseno) y omitiendo los valores imaginarios (contribuciones moduladas sinusoidales).
[0137] La figura 8a muestra un diagrama de flujo según un ejemplo en forma de un banco de filtros de síntesis de valores complejos para 64 canales de subbanda. Tal como se ha indicado anteriormente, el filtro de síntesis de las señales de subbanda procesadas con SBR se alcanza utilizando 64 bancos de filtros de síntesis de subbanda según un ejemplo. La salida del banco de filtros es un bloque de muestras de dominio temporal de valores reales tal como se indica en el contexto de la figura 1. El procedimiento se ilustra mediante el diagrama de flujo de la figura 8a, que ilustra también un ejemplo en forma de un procedimiento destinado a generar muestras de audio en el dominio temporal.
[0138] El filtro de síntesis comprende después de un inicio (etapa S200), las etapas siguientes, en las que una matriz v comprende 1280 muestras. En la etapa S210 las muestras de la matriz v se desplazan 128 posiciones y se descartan las 128 muestras más antiguas. En la etapa S220, los 64 nuevos valores de subbanda de audio de valores complejos se multiplican por una matriz N, en la que los elementos de la matriz N(k,n) vienen dados por
Figure imgf000022_0002
en la que exp() indica la función exponencial compleja e i es la unidad imaginaria. La parte real de la salida de esta operación se almacena en la posición 0-127 de la matriz v, tal como se ilustra en la figura 8a.
[0139] En la etapa S230, las muestras, que se encuentran ahora en el dominio temporal, se extraen de la matriz v según la ecuación dada en la figura 8a para crear una matriz de 640 elementos g(n). En la etapa S240, las muestras de valores reales en el dominio temporal de la matriz g se multiplican por el coeficiente de ventana c(n) para producir una matriz w, en la que los coeficientes de ventana son de nuevo los coeficientes de la ventana basados en los valores indicados en la tabla del Anexo 1.
[0140] Sin embargo, tal como se ha indicado anteriormente, no resulta necesario que los coeficientes de las ventanas se basen exactamente en los valores que figuran en la tabla del Anexo 1. Resulta suficiente, si los coeficientes de ventana satisfacen uno de los conjuntos de relaciones tal como se proporcionan en las tablas de los Anexos 2 a 4, para alcanzar la propiedad pretendida de bajo retardo del banco de filtros de síntesis. Además, tal como se describe en relación con el banco de filtros de análisis, se pueden utilizar asimismo otros coeficientes de ventana en el marco del banco de filtros de síntesis. Sin embargo, dependiendo de los detalles de la implementación, para obtener los coeficientes de ventana basados en los valores dados en las tablas de los Anexos 1 y 3, se deben tener en cuenta los cambios de signos adicionales con respecto a los coeficientes de ventana correspondientes a los índices 128 a 255 y 384 a 511 (multiplicación con factor (-1)).
[0141] En la etapa S250, se calculan 64 nuevas muestras de salida mediante una suma de muestras de la matriz w(n) según la última etapa y la fórmula dada en el diagrama de flujo de la figura 8a, antes de que un bucle de un diagrama de flujo finalice en la etapa S260. En el diagrama de flujo tal como se muestra en la figura 8a, X[k][l] (= X(k,l)) corresponde al valor 1 de subbanda de audio en la subbanda que presenta el índice k. Cada nuevo bucle tal como se representa en la figura 8a produce 64 muestras de audio de dominio temporal y valores reales como salida.
[0142] La implementación tal como se representa en la figura 8a de un banco de filtros de análisis de valores complejos para 64 bandas no requiere un almacenamiento intermedio de superposición/adición que comprenda diversas posiciones de almacenamiento tal como se describe en el contexto del ejemplo que se muestra en la figura 2b. En este caso, el almacenamiento intermedio de superposición y adición se encuentra "oculto" en los vectores v y g, que se calcula basándose en los valores almacenados en el vector v. El almacenamiento intermedio de superposición y adición se implementa en el marco de estos vectores con estos índices superiores a 128, de tal modo que los valores corresponden a valores de bloques anteriores o previos.
[0143] La figura 8b ilustra un diagrama de flujo de un banco de filtros de análisis de valores reales para 64 canales de subbanda de valores reales. El banco de filtros de síntesis de valor real según la figura 8b se puede implementar asimismo en el caso de una implementación SBR de baja potencia tal como un banco de filtros SBR correspondiente.
[0144] El diagrama de flujo de la figura 8b difiere del diagrama de flujo de la figura 8a, principalmente con respecto a la etapa S222, que sustituye a la S220 de la figura 8a. En la etapa S222, los 64 nuevos valores de subbanda de audio de valores reales se multiplican por una matriz Nr, en la que los elementos de la matriz Nr(k,n) vienen dados por
Figure imgf000022_0001
en la que la salida de esta operación se almacena de nuevo en la posición 0-127 de la matriz v.
[0145] Aparte de estas modificaciones, el diagrama de flujo tal como se muestra en la figura 8b en el caso de un banco de filtros de síntesis de valores reales para el modo SBR de baja potencia, no difiere del diagrama de flujo tal como se muestra en la figura 8a del banco de filtros de síntesis de valores complejos para el modo SBR de alta calidad.
[0146] La figura 8c ilustra un diagrama de flujo según un ejemplo en forma de un banco de filtros de síntesis de valores complejos con un muestreo reducido y el procedimiento apto, que se puede implementar, por ejemplo, en una implementación de SBR de alta calidad. Con mayor exactitud, el banco de filtros de síntesis tal como se describe en la figura 8c se refiere a un banco de filtros de síntesis de valores complejos que puede procesar valores de subbanda de audio de valores complejos para 32 canales de subbanda.
[0147] La filtración por síntesis de las señales de subbanda del procedimiento SBR con reducción de la muestra se alcanza utilizando un banco de filtros de síntesis de 32 canales tal como se representa en la figura 8c. La salida del banco de filtros es un bloque de muestras de dominio temporal de valores reales. El procedimiento se proporciona en el diagrama de flujo de la figura 8c. El filtro de síntesis comprende después de un inicio (etapa S300), las etapas siguientes, en las que una matriz v comprende 640 muestras del dominio temporal de valores reales.
[0148] En la etapa S310 las muestras de la matriz v se desplazan 64 posiciones y se descartan las 64 muestras más antiguas. A continuación, en la etapa S320, las 32 nuevas muestras de subbanda de valores reales o los valores de audio de valores complejos se multiplican por una matriz N, cuyos elementos vienen dados por
Figure imgf000023_0001
en la que exp() indica la función exponencial compleja e i es la unidad imaginaria. La parte real de la salida de esta operación se almacena en las posiciones 0-63 de la matriz v.
[0149] En la etapa S330, las muestras, se extraen del vector v según la ecuación dada en el diagrama de flujo de la figura 8c para crear una matriz de 320 elementos g. En la etapa S340, los coeficientes de ventana ci(n) de una función de ventana interpolada se obtienen mediante una interpolación lineal de los coeficientes c(n) según la ecuación (15), en la que el índice n se encuentra de nuevo en el intervalo comprendido entre 0 y 319 (N=64, T=10 para la ecuación (15)). Como se ha ilustrado anteriormente, los coeficientes de una función de ventana c(n) se basan en los valores indicados en la tabla del anexo 1. Además, para alcanzar la propiedad de bajo retardo, tal como se ha ilustrado anteriormente, no hace falta que los coeficientes de ventana c(n) sean exactamente las cifras que figuran en la tabla del Anexo 1. Resulta suficiente que los coeficientes de ventana c(n) satisfagan al menos un conjunto de relaciones tal como se indica en los Anexos 2 a 4. Sin embargo, dependiendo de los detalles de la implementación, para obtener los coeficientes de ventana basados en los valores dados en las tablas de los Anexos 1 y 3, se deben tener en cuenta los cambios de signos adicionales con respecto a los coeficientes de ventana correspondientes a los índices 128 a 255 y 384 a 511 (multiplicación por factor (-1)) según las ecuaciones (16a) y (16b). Además, se pueden utilizar asimismo naturalmente distintas funciones de ventana que comprenden distintos coeficientes de ventana c(n).
[0150] En la etapa S350, las muestras de la matriz g se multiplican por el coeficiente de la ventana interpolada ci(n) de la función de ventana interpolada para obtener la muestra w(n) del dominio temporal en ventanas.
[0151] A continuación, en la etapa S360, se calculan 32 muestras nuevas de salida mediante una suma de muestras de la matriz w(n) según la última etapa S360, antes de la etapa final S370 del diagrama de flujo de la figura 8c.
[0152] Tal como se ha indicado anteriormente, en el diagrama de flujo de la figura 8c, X[k][l] (= X(k,l)) corresponde a un valor de subbanda de audio 1 en el canal de subbanda de audio k. Además, cada nuevo bucle de un diagrama de flujo tal como se indica en la figura 8c produce 32 muestras de dominio temporal y valores reales como salida.
[0153] La figura 8d muestra un diagrama de flujo de un banco de filtros de síntesis de valores reales con reducción de la muestra, que se puede utilizar por ejemplo en el caso de un banco de filtros SBR de baja potencia. El diagrama de flujo mostrado en la figura 8d difiere del diagrama de flujo mostrado en la figura 8c del banco de filtros de síntesis de valores complejos con reducción de la muestra únicamente en relación con la etapa S320, que se sustituye en el diagrama de flujo mostrado en la figura 8d por la etapa S322.
[0154] En la etapa S322, los 32 nuevos valores de subbanda de audio de valores reales, o muestras de subbanda, se multiplican por una matriz Nr, en la que los elementos de la matriz Nr(k,n) vienen dados por
Figure imgf000024_0002
en la que la salida de esta operación se almacena en la posición 0 a 64 de la matriz v.
[0155] La figura 9a muestra una implementación adicional de una realización según la presente invención en forma de procedimiento que comprende un banco de filtros de análisis de valores complejos para 64 subbandas. La figura 9a muestra una implementación como una implementación MATLAB, que proporciona como salida un vector y un vector ''state''. La función tal como se define en esta secuencia mostrada en la figura 9a se denomina LDFB80 a la que se proporciona un vector x que comprende muestras de audio recientes y el vector "state" como entrada. La denominación de la función LDFB80 es una abreviatura de banco de filtros de bajo retardo para 8 bloques que se extienden en el pasado y 0 bloques en el futuro.
[0156] En el lenguaje de programación MATLAB, el signo de porcentaje (%) indica observaciones, que no se ejecutan, sino que cumplen simplemente el propósito de comentar e ilustrar el código fuente. En la descripción siguiente, se describirán distintos segmentos del código fuente con respecto a sus funciones.
[0157] En la secuencia del código S400, el búfer representado por el vector "state" se actualiza de tal modo que el contenido del vector "state" que presenta los índices 577 a 640 se sustituye por el contenido del vector x que comprende muestras de entrada de audio del dominio temporal recientes. En la secuencia del código S410, los coeficientes de ventana de la función de ventana de análisis almacenados en la variable LDFB80_win se transfieren al vector win_ana.
[0158] En la etapa S420, que supone que las últimas muestras se alinean al lado derecho del almacenamiento intermedio, se ejecuta la generación real de ventanas. En el bloque S420, el contenido del vector state se multiplica por elementos (.*) con los elementos del vector win_ana que comprenden la función de ventana de análisis. La salida de esta multiplicación se almacena a continuación en el vector x_win_orig.
[0159] En la etapa S430, el contenido del vector x_win_orig se remodela para formar una matriz de un tamaño de 1285 elementos denominada x_stack. En la etapa S440, el cambio de signo de la pila x_stack se realiza con respecto a la segunda y cuarta columna de la matriz x_stack.
[0160] En la etapa S450, la pila x_stack se colapsa o retrae sumando los elementos de x_stack con respecto al segundo índice e invirtiendo simultáneamente el orden de los elementos y transponiendo el resultado antes de almacenar de nuevo el resultado en las diversas x stack.
[0161] En el segmento del código S460, la transformación del dominio temporal en el dominio frecuencial se realiza calculando una transformación de Fourier rápida (FFT) compleja del contenido multiplicado por elementos de la pila x_stack multiplicado por la función exponencial compleja a la que se proporciona el argumento (-i n n/128), con los índices y en el intervalo de 0 a -127 y la unidad imaginaria i.
[0162] En el segmento del código S470 se realiza un giro posterior definiendo la variable m = (64 1)/2 y calculando el bloque que comprende los valores de subbanda de audio como vector y según la ecuación
Figure imgf000024_0001
[0163] El índice k abarca el intervalo de números enteros de 1-64 en la implementación representada en la figura 9a. A continuación, se emite el vector y como vector o bloque que comprende los valores de subbanda de audio 180 de la figura 1. La barra que se encuentra encima de la segunda ecuación de factorización (26) así como la función conj() codifican el segmento S417 de la figura 9a y se refieren al complejo conjugado del argumento del número complejo correspondiente.
[0164] En un segmento del código final S480, el vector de estado se desplaza 64 elementos. A continuación se puede proporcionar el vector de estado en su forma desplazada a la función LDFB80 como entrada de nuevo en un bucle adicional de la función.
[0165] La figura 9b muestra una implementación MATLAB según una realización de la presente invención en forma de procedimiento que corresponde a un banco de filtros de análisis de valores complejos para 32 subbandas. Por consiguiente, la función definida se denomina LDFB80_32, lo que indica que la implementación representa un banco de filtros de bajo retardo para 32 subbandas basándose en una superposición adicional de 8 bloques en el pasado y 0 bloques en el futuro.
[0166] La implementación de la figura 9b difiere de la implementación mostrada en la figura 9a, únicamente con respecto a algunas secuencias del código, tal como se indicará en la descripción siguiente. Las secuencias de código S400, S430, S460, S470 y S480 se sustituyen por las secuencias de código correspondientes, teniendo en cuenta principalmente el hecho de que el número de subbandas o el número de valores de subbanda que emite la función LDFB80_32 se reduce en un factor de 2. Por consiguiente, la etapa S400' se refiere al vector state que se actualiza con respecto a las 32 últimas entradas que corresponden a los índices 289 a 320 con las correspondientes 32 muestras de entrada de audio del dominio temporal del bloque reciente 220 tal como se muestra en la figura 1.
[0167] Sin embargo, la diferencia principal entre las implementaciones, tal como se muestra en las figuras 9a y 9b, aparecen en la secuencia del código S410 de la figura 9a, que se sustituye por una secuencia del código S412 en la implementación representada en la figura 9b. La secuencia del código para S412 de la figura 9b comprende en primer lugar una copia de los 640 coeficientes de ventana que comprenden ventanas almacenadas en el vector LDFB80_win para el vector local win_ana. A continuación, se realiza una interpolación según la ecuación (15), en la que se añaden dos coeficientes de ventana consecutivos representados por los elementos vectoriales del vector win_ana y se dividen por 2 y, a continuación, se almacenan de nuevo en el vector win_ana.
[0168] La siguiente secuencia de código S420 es idéntica a la secuencia de código S420 tal como se representa en la figura 9a que realiza la multiplicación real por elementos (.*) de la formación de ventanas de valores o elementos del vector state con los elementos del vector win_ana que comprenden los coeficientes de ventana interpolados de la función de ventana interpolada. La salida de esta operación se almacena en el vector x_win_orig. Sin embargo, la diferencia entre la secuencia del código S420 de la figura 9b y la correspondiente secuencia del código S420 de la figura 9a, es que en el caso de la figura 9b, no 640 sino que únicamente se realizan 320 multiplicaciones y no 640 en el marco de la formación de ventanas.
[0169] En la secuencia del código S430' que reemplaza la secuencia de código S430, se prepara la pila x_stack remodelando el vector x_win_orig. Sin embargo, puesto que el vector X_win_orig comprende únicamente 320 elementos, en comparación con el vector correspondiente de la figura 9a que comprende 640 elementos, la matriz x_stack es solamente una matriz de 64 ■ 5 elementos.
[0170] Las secuencias del código S440 del cambio de signo y la secuencia del código S450 de colapso de la pila son idénticas en ambas implementaciones según las figuras 9a y 9b, además del número inferior de elementos (320 en comparación con 640).
[0171] En la secuencia del código S460' que sustituye a la secuencia del código S460 se realiza una transformada rápida de Fourier (FFT) compleja impar de datos de ventana, que resulta bastante similar a la transformada de la secuencia de código S460 de la figura 9a. Sin embargo, una vez más, debido al número reducido de valores de subbanda de audio de salida, se proporciona el vector temp obteniéndose una transformada rápida de Fourier, la multiplicación por elementos de la pila x_stack y la función exponencial compleja del argumento (-i ■ n ■ n/64), encontrándose el índice n en el intervalo entre 0 y 63.
[0172] Posteriormente, en la secuencia del código modificada S470', se efectúa el giro posterior definiendo la variable m=(32+1)/2 y generando el vector de salida y según la ecuación (26), en la que el índice k únicamente abarca el intervalo de 1 a 32 y en la que el número 128 que aparece en el argumento de la función exponencial compleja se sustituye por el número 64.
[0173] En la secuencia del código final S480', el estado del almacenamiento intermedio se desplaza 32 elementos en el caso de la implementación representada en la figura 9b, en el que en la secuencia del código correspondiente S480, el almacenamiento intermedio se desplaza 64 elementos.
[0174] La figura 10a muestra una secuencia MATLAB que ilustra una implementación según un ejemplo en forma de procedimiento que comprende un banco de filtros síntesis de análisis de valores complejos para 64 subbandas. La secuencia mostrada en la figura 10a define la función ILDFB80 a la que el vector x que representa el bloque 320 de valores de subbandas de audio de la figura 2a y un vector de estado "state" se proporciona como parámetros de entrada. La denominación ILDFB80 indica que la función definida es un filtro inverso de bajo retardo, que corresponde a 8 bloques de datos de audio del pasado y a 0 bloques del futuro. La función proporciona un vector y, y un vector de estado "state" nuevo o redefinido como salida, en el que el vector y corresponde al bloque 410 de muestras de audio de dominio temporal de la figura 2a.
[0175] En una secuencia de código S500, se realiza un giro previo, en el que se define una variable m=(64+1)/2 así como un vector temp. Los elementos temp(n) del vector temp se definen según la ecuación
Figure imgf000026_0001
en la que la barra que se encuentra encima del elemento del vector x(n) y la función conj( ) representan el conjugado complejo, exp( ) representa la función exponencial compleja, i representa la unidad imaginaria y n es un índice en el intervalo de 1 - a 64.
[0176] En la secuencia del código S510, se invierte el vector temp en una matriz que comprende en la primera columna los elementos del vector temp y en la segunda columna, el complejo conjugado del vector temp invertido con respecto al orden de los elementos tal como se define mediante el índice del vector. De este modo, en la secuencia del código S510 se establece una simetría impar de la matriz temp basándose en el vector temp.
[0177] En una secuencia del código S520 se realiza una transformada rápida de Fourier impar (FFT) basándose en la matriz temp. En esta secuencia del código, se realiza la parte real de la multiplicación por elementos del resultado de la transformada inversa de Fourier de la matriz temp con la función exponencial que presenta el argumento de (i • n/128) y se envía a un vector y_knl, en el que el índice n se encuentra en el intervalo de 0 a 127.
[0178] En la secuencia del código S530, se forma una extensión de los datos y un cambio alternante de signos. Para alcanzar esto, se invierte el orden de los elementos del vector y_knl y, al mismo tiempo, se realiza un cambio de signo. A continuación, se define una matriz tmp, que comprende las columnas primera, tercera y quinta del vector y_knl, en el que las columnas segunda y cuarta comprenden el vector con el signo cambiado y_knl.
[0179] En la secuencia del código S540, los coeficientes de ventana almacenados en el vector LDFB80_win se copian en primer lugar al vector win_ana. A continuación, los coeficientes de ventana de síntesis se determinan basándose en los coeficientes de ventana de análisis almacenados en el vector win_ana generando una versión invertida temporal de la función de ventana de análisis según
Figure imgf000026_0002
en la que N • T es el número total de coeficientes de ventana y n es el índice de los coeficientes de ventana.
[0180] En una secuencia del código S550, la ventana de síntesis se aplica al vector tmp mediante una multiplicación por elementos del vector con la función de ventana de síntesis. En una secuencia de código S560, el búfer se actualiza ajustando los elementos del vector “state” con los índices 577 a 640 a 0 y añadiendo el contenido del vector en ventanas tmp al vector de estado state.
[0181] En una secuencia del código S570, el vector de salida y que comprende las muestras de audio del dominio temporal se extrae del vector de estado obteniendo los elementos del vector de estado extrayendo los elementos del vector de estado con los índices 1 a 64.
[0182] En una secuencia del código S580, la secuencia del código final de la función tal como se representa en la figura 10a, el vector de estado state se desplaza por 64 elementos de manera que los elementos con índices de 65 a 640 se copian a los primeros 576 elementos del vector state.
[0183] La figura 10b muestra una secuencia MATLAB de una implementación según un ejemplo en forma de banco de filtros síntesis de valores complejos para 32 valores de subbanda. La denominación de la función definida mediante la secuencia mostrada en la figura 10b lo ilustra ya que la función definida se denomina ILDFB80_32, lo que indica que la función definida es un banco de filtro inverso de bajo retardo para 32 bandas con 8 bloques que se superponen del pasado y 0 bloques se superponen desde el futuro.
[0184] Tal como ya se ha comentado con respecto a la comparación de la implementación representada en las figuras 9a y 9b, la implementación según la secuencia de la figura 10b se encuentra asimismo estrechamente relacionada con la implementación del banco de filtros de síntesis de 64-subbandas según la figura 10a. Como consecuencia de ello, se proporcionan los mismos vectores a la función y se emiten mediante la función que, sin embargo, comprenden únicamente la mitad del número de elementos en comparación con la implementación de la figura 10a. La implementación de un banco de filtros de síntesis de 32 bandas para 32 bandas difiere de la versión de 64 subbandas representada en la figura 10a en particular con respecto a dos aspectos. Las secuencias del código S500, S510, S520, S53G, S560, S570 y S580 se sustituyen por secuencias del código en las que el número de elementos por tratar y el número adicional de parámetros relacionados con los elementos se dividen por 2. Además, la secuencia del código S540 de la generación de la función de ventana de síntesis se sustituye por una secuencia del código S542, en la que la función de ventana de síntesis se genera como función de ventana de síntesis linealmente interpolada según la ecuación (15).
[0185] En la secuencia de código S500' que sustituye a la secuencia de código S500, la variable m se define como igual a m = (32+1)/2 y el vector temp se define según la ecuación (27), en la que el índice n abarca únicamente el intervalo de 1 a 32 y en la que el factor de 1/128 se sustituye por el factor 1/64 en el argumento de la función exponencial.
[0186] Por consiguiente, en la secuencia del código S510' que sustituye la secuencia del código S510, el intervalo del índice abarca únicamente los índices del elemento 32 que comprende el vector temp. Es decir, el índice abarca solamente los valores de 1 a 32. Por consiguiente, en la secuencia del código S520' que sustituye la secuencia del código S520, el argumento de la función exponencial se sustituye por (i ■ n ■ n/64), en la que el índice n se encuentra en el intervalo de 0 a 63. En el marco de la secuencia del código S530', el intervalo del índice se reduce también en un factor de 2 en comparación con la secuencia del código S530.
[0187] La secuencia de código S542 que sustituye la secuencia del código S540 de la figura 10a copia asimismo la función de ventana almacenada en el vector LDFB80_win al vector win_ana y genera una versión invertida en el tiempo win_syn según la ecuación (28). Sin embargo, la secuencia del código S542 de la implementación mostrada en la figura 10b comprende además una etapa de interpolación según la ecuación (15), en la que para cada elemento del vector redefinido win_syn que comprende los coeficientes de ventana de la función de ventana de síntesis, una interpolación lineal de dos coeficientes de ventana consecutivos de la función de ventana de síntesis original.
[0188] La secuencia del código S550 de aplicar la ventana al vector tmp y sustituir los elementos tmp con la versión en ventanas del mismo es idéntica en lo que se refiere al código que una comparación directa de las secuencias de códigos correspondientes en las figuras 10a y 10b. Sin embargo, debido al tamaño inferior del vector tmp en la implementación de la figura 10b, durante una implementación, se realiza solamente la mitad del número de multiplicaciones.
[0189] Asimismo en el marco de las secuencias del código S560', S570' y S580' que sustituyen las secuencias del código S560, S570 y S580, respectivamente, los índices 640 y 64 se sustituyen por 320 y 32, respectivamente. Por lo tanto, estas tres secuencias del código finales solamente difieren de las secuencias del código de la implementación representadas en la figura 10a con respecto al tamaño de los vectores de estado tmp e y.
[0190] Tal como han ilustrado las realizaciones descritas hasta el momento, el generador de ventanas de análisis así como el generador de ventanas de síntesis son aptos para generar ventanas con las muestras correspondientes en el dominio temporal comprendido en las tramas respectivas multiplicando las mismas por elementos con coeficientes de ventana de una función de ventana.
[0191] Antes de describir una función de ventana, que se puede utilizar por ejemplo como función de ventana de síntesis y como función de ventana de análisis en su versión invertida en el tiempo, se describirán más detalladamente las ventajas de las realizaciones según la presente invención, en particular considerando una implementación en el marco de una herramienta o sistema SBR tal como se representa en las figuras 5 y 6.
[0192] Entre las ventajas, las realizaciones según la presente invención y los sistemas que comprenden más de una realización según la presente invención pueden proporcionar una reducción significativa del retardo según otros bancos de filtros. Sin embargo, esta propiedad de bajo retardo se describirá más detalladamente haciendo referencia a las figuras 13 y 14. Un aspecto importante en este contexto es observar que la longitud de la función de ventana, es decir, el número de coeficientes de ventana que se aplicarán a una trama o a un bloque de muestras del dominio temporal, es independiente del retardo.
[0193] Además, tal como se describirá en relación con las figuras 17 y 18 más detalladamente, en lo que se refiere a la psicoacústica, las realizaciones según la presente invención utilizan a menudo las propiedades de enmascaramiento temporal del αdo humano mejor que muchos otros bancos de filtros. Además, tal como se describirá más detalladamente en relación con las figuras 15, 16 y 19, las realizaciones según la presente invención proporcionan una excelente respuesta frecuencial.
[0194] Asimismo, en muchos bancos de filtros según una realización de la presente invención, se puede alcanzar una reconstrucción perfecta si se interconectan un banco de filtros de análisis y el banco de filtros de síntesis. Es decir, las realizaciones según la presente invención no ofrecen únicamente una salida audible indistinguible en comparación con la entrada de dicho conjunto interconectado de un banco de filtros de análisis y un banco de filtros de síntesis, sino (aparte de errores de cuantificación, los efectos de redondeo computacional y los efectos adicionales provocados por la discretización necesaria) una salida idéntica en comparación con la entrada.
[0195] Se puede alcanzar fácilmente una integración en el módulo SBR de bancos de filtros según la presente invención. Aunque normalmente los módulos SBR funcionan en el modo de velocidad dual, los bancos de filtros de bajo retardo de valores complejos según las realizaciones de la presente invención pueden proporcionar una reconstrucción perfecta en el modo de velocidad única, mientras que los bancos de filtros SBR QMF originales pueden únicamente proporcionar una reconstrucción casi perfecta. En el modo de velocidad dual, la versión de 32 bandas de la respuesta del impulso se obtiene mediante interpolación lineal, denominada asimismo reducción de la muestra, de dos coeficientes adyacentes o coeficientes de ventana de la respuesta del impulso de 64 bandas o función de ventana tal como se describe en el contexto de la figura 3.
[0196] En el caso de una implementación de valores complejos de un banco de filtros, se puede alcanzar un retardo de análisis (o síntesis) reducido significativo para bancos de filtros sometidos a una obtención de muestras crítica, en la que la frecuencia de muestreo o procesamiento corresponda a la frecuencia de frontera según la Teoría de Nyquist-Shannon. En el caso de una implementación de valores reales de un banco de filtros, se puede alcanzar una implementación eficaz utilizando algoritmos optimizados, tal como por ejemplo se ilustra en relación con la implementación MATLAB representada en las figuras 9 y 10. Estas implementaciones se pueden utilizar, por ejemplo, en el modo de baja potencia de la herramienta SBR tal como se describe en el contexto de las figuras 5 y 6.
[0197] Tal como se indica en el contexto de las figuras 5 y 6, se puede conseguir una reducción adicional con respecto al retardo en el caso de un sistema SBR utilizando un banco de filtros de bajo retardo de valores complejos según una realización de la presente invención. Tal como se ha indicado anteriormente, en el decodificador SBR 610, tal como se muestra en la figura 5, el banco de filtros de análisis QMF 620 se sustituye por un banco de filtros complejos de bajo retardo (CLDFB) según una realización de la presente invención. Esta sustitución se puede realizar de un modo calculable manteniendo el número de bandas (64), la longitud de la respuesta de impulso (640) y utilizando una modulación compleja. El retardo alcanzado por esta herramienta se minimiza hasta tal punto que se logra un retardo global suficientemente bajo para una comunicación bidireccional sin sacrificar un nivel de calidad alcanzable.
[0198] En comparación, por ejemplo, con un sistema que comprende una MDCT y una MDST para formar un sistema de tipo MDCT de valores complejos, una realización según la presente invención proporciona una respuesta frecuencial mucho mejor. En comparación con el banco de filtros q Mf , por ejemplo, utilizado en el SBR MPEG-4 actual, un sistema que comprenda uno o más bancos de filtros según las realizaciones de la presente invención proporciona un retardo significativamente inferior.
[0199] Incluso en comparación con un banco de filtros QMF de bajo retardo, las realizaciones según la presente invención proporcionan la ventaja de una reconstrucción perfecta combinada con el retardo más bajo. Las ventajas derivadas de la propiedad de una reconstrucción perfecta a diferencia de la reconstrucción casi perfecta de los bancos de filtros QMF son las siguientes. Para una reconstrucción casi perfecta, hace falta una atenuación de banda de bloqueo alta para atenuar la generación de alias a un nivel suficientemente bajo. Ello limita la posibilidad de alcanzar un retardo muy bajo en el diseño del filtro. Por el contrario, la utilización de una realización según la presente invención actualmente supone la posibilidad de diseñar independientemente el filtro de tal modo que no haga falta una atenuación de la banda de bloqueo alta para atenuar la generación de alias a unos niveles suficientemente bajos. La atenuación de la banda de bloqueo tiene que ser lo suficientemente baja como para permitir una generación reducida de alias suficiente para la aplicación del procesamiento de la señal pretendido. Por lo tanto, en el diseño del filtro se puede alcanzar un mejor equilibrio hacia un retardo más bajo.
[0200] La figura 11 muestra una comparación de una función de ventana 700 tal como se puede utilizar, por ejemplo, en una realización según la presente invención junto con la función de ventana sinusoidal 710. La función de ventana 700, que se denomina asimismo ventana c MlDFB de "síntesis" (CMLDFB = banco de filtros de bajo retardo modulado complejo), comprende 640 coeficientes de ventana basados en los valores proporcionados en la tabla en el Anexo 1. Con respecto a la magnitud de las funciones de ventana, se debe observar que los factores generales de amplificación o los factores de amortiguación destinados a ajustar una amplitud de la señal con ventana no se considerarán en lo sucesivo. Las funciones de ventana se pueden normalizar, por ejemplo, con respecto a un valor correspondiente al centro de retardo, tal como se indica en relación con la figura 13 o con respecto a un valor n = N, n = N -1 o n = N 1, siendo N la longitud del bloque y n el índice de los coeficientes de ventana. En comparación, la función de ventana sinusoidal 710 se define únicamente sobre 128 muestras y se utiliza, por ejemplo, en el caso de un módulo MDCT o MDST.
[0201] Sin embargo, dependiendo de los detalles de la implementación, para obtener los coeficientes de ventana basados en los valores proporcionados en las tablas de los Anexos 1 y 3, se deben tener en cuenta los cambios de signo adicionales con respecto a los coeficientes de ventana correspondientes a los índices 128 a 255 y 384 a 511 (multiplicación con factor (-1)) según la ecuación (16a) y (16b).
[0202] Antes de describir las diferencias de las dos funciones de ventana 700, 710, se debe tener en cuenta que ambas funciones de ventana comprenden únicamente coeficientes de ventana de valores reales. Además, en ambos casos, un valor absoluto del coeficiente de ventana correspondiente a un índice n = 0 es inferior a 0,1. En el caso de una ventana CMLDFB 700, el valor correspondiente es incluso inferior a 0,02.
[0203] Teniendo en cuenta las dos funciones de ventana 700, 710 con respecto a sus conjuntos de definición, resultan evidentes diversas diferencias significativas. Aunque la función de ventana sinusoidal 710 es simétrica, la función de ventana 700 presenta un comportamiento asimétrico. Para definir esto con mayor claridad, la función ventana sinusoidal es simétrica ya que como valor real no existe con respecto a todos los números reales n, de tal modo que la función de ventana 710 se define para (n0+n) y (n0-n), la relación
Figure imgf000029_0001
se satisface hasta un margen conveniente (e > 0; el valor absoluto de la diferencia de los términos en los dos lados de la ecuación (29) es inferior o igual a e), representando w(n) el coeficiente de ventana correspondiente al índice n. En el caso de la ventana sinusoidal, el índice correspondiente n0 se encuentra exactamente en el centro de los dos coeficientes de ventana superiores. Es decir, en el caso de la ventana sinusoidal 710 el índice es n0 = 63,5. La función de ventana sinusoidal se encuentra definida para los índices n = 0, ..., 127.
[0204] En cambio, la función de ventana 700 se define en el conjunto de índices n = 0, ..., 639. La función de ventana 700 es claramente asimétrica en el sentido de que para todos los números de valores reales n0 existe al menos un número real, de tal modo que (n0+n) y (n0-n) pertenecen al conjunto de definiciones de la función de ventana, para la que la desigualdad
Figure imgf000029_0002
mantiene un margen (casi deliberadamente) definible (e > 0, el valor absoluto de la diferencia de los términos en los dos lados de la ecuación (29) es superior o igual a e), siendo una vez más w(n) el valor del coeficiente de ventana correspondiente al índice n.
[0205] Otras diferencias entre las dos funciones de ventana, que se refieren tanto a los tamaños de bloque de N = 64 muestras, es que el valor máximo de la función de ventana 700 es superior a 1 y se adquiere para índices en el intervalo de
Figure imgf000029_0003
para la ventana de síntesis. En el caso de la función de ventana 700 mostrada en la figura 11, el valor máximo adquirido es superior a 1,04 adquirido en el índice de muestra n = 77. En cambio, los valores máximos de la ventana sinusoidal 710 son inferiores o iguales a 1, y se captan en n = 63 y n = 64.
[0206] Sin embargo, asimismo la función de ventana 700 adquiere un valor de aproximadamente 1 en índices de muestra de aproximadamente n = N. Con mayor exactitud, el valor absoluto o el propio valor del coeficiente de ventana w(N-1) correspondiente al índice n = N-1 es inferior a 1, mientras que el valor absoluto o el propio valor del coeficiente de ventana w(N) correspondiente al índice n = N es superior a 1. En algunas realizaciones según la presente invención, ambos coeficientes de ventana cumplen con las relaciones
Figure imgf000029_0004
lo que es el resultado de la optimización de la calidad del audio de los bancos de filtros según las realizaciones de la presente invención. En muchos casos se pretende disponer de un coeficiente de ventana w(0) que comprenda un valor absoluto tan pequeño como sea posible. En este caso, un determinante de los coeficientes de ventana
Figure imgf000029_0005
se debe aproximar lo máximo posible a 1 para alcanzar una calidad de audio que se optimice con respecto a los posibles parámetros. Sin embargo, el signo del determinante proporcionado por la ecuación (33) se puede elegir libremente. Como consecuencia de que el coeficiente de ventana w(0) inferior o aproximadamente 0, el producto de w(N-1) ■ w(N) o sus valores absolutos debe ser lo más próximo posible a /-1. En este caso, el coeficiente de ventana w(2N-1) se puede elegir casi libremente. La ecuación (33) es el resultado de utilizar la técnica de matrices de retardo cero tal como se describe en New Framework for Modulated Perfect Reconstruction Filter Banks ("Nuevo marco para bancos de filtros de reconstrucción perfecta modulada") de G.D.T. Schuller t M.J.T. Smith, IEEE Transactions on Signal Processing, Vol. 44, N. ° 8, agosto de 1996.
[0207] Además, tal como se describirá más detalladamente en el contexto de la figura 13, los coeficientes de ventana correspondientes a los índices N-1 y N se encuentran comprendidos en el centro del núcleo de modulación y por lo tanto corresponden a la muestra que presenta un valor de aproximadamente 1,0 y coincide con el retardo del banco de filtros definido por el prototipo de función de filtro o de función de ventana.
[0208] La función de ventana de síntesis 700 tal como se muestra en la figura 11 presenta además un comportamiento oscilante con coeficientes de ventana estrictamente monótono creciente a partir del coeficiente de ventana de la secuencia de coeficientes de ventana correspondiente al índice (n = 0) utilizado para la ventana de la última muestra de audio de dominio temporal hasta el coeficiente de ventana que comprende el valor absoluto más elevado de todos los coeficientes de ventana de la función de ventana de síntesis 700. Naturalmente, en el caso de la función de ventana de análisis invertida en el tiempo, el comportamiento de oscilación comprende una disminución monótona estricta de los coeficientes de ventana desde el coeficiente de ventana que comprende el valor absoluto más alto de todos los coeficientes de ventana de una función de ventana de análisis hasta los coeficientes de ventana de la secuencia de coeficientes de ventana correspondientes a un índice (n = 639) utilizados para la ventana de la última muestra de audio del dominio temporal.
[0209] Como consecuencia del comportamiento de oscilación, el desarrollo de la función de ventana de síntesis 700 se inicia con un coeficiente de ventana correspondiente al índice n = 0 que tiene un valor absoluto inferior a 0,02 y un valor absoluto del coeficiente de ventana correspondiente al índice n = 1 inferior a 0,03, adquiriendo un valor de aproximadamente 1 en un índice n = N, adquiriendo un valor máximo superior a 1,04 en un índice según la ecuación (31), adquiriendo un valor adicional de aproximadamente 1 en un índice n = 90 y 91, un primer cambio de signo en los valores de índice de n = 162 y n = 163, adquiriendo un valor mínimo inferior a -0,1 o -0,12755 en un índice de aproximadamente n = 3N y otro cambio de signo en valores de índice n = 284 y n = 285. Sin embargo, la función de ventana de síntesis 700 puede comprender además cambios en los signos de otros valores de índice n. Cuando se comparan los coeficientes de ventana con los valores dados en las tablas de los Anexos 1 y 3, se deben tener en cuenta los cambios de signos adicionales con respecto a los coeficientes de ventana correspondientes a los índices 128 a 255 y 384 a 511 (multiplicación por factor (-1)) según las ecuaciones (16a) y (16b).
[0210] El comportamiento oscilante de la función de ventana de síntesis 700 es similar al de una oscilación muy amortiguada, que se ilustra mediante el valor máximo de aproximadamente 1,04 y el valor mínimo de aproximadamente -0,12. Como consecuencia de ello, más del 50 % de todos los coeficientes de ventana comprenden valores absolutos inferiores o iguales a 0,1. Tal como se ha indicado en relación con las realizaciones descritas en las figuras 1 y 2a, el desarrollo de la función de ventana comprende un primer grupo 420 (o 200) y un segundo grupo 430 (o 210), comprendiendo el primer grupo 420 una primera parte consecutiva de coeficientes de ventana y comprendiendo el segundo grupo 430 una segunda parte consecutiva de coeficientes de ventana. Tal como ya se ha indicado anteriormente, la secuencia de coeficientes de ventana de la ventana comprende únicamente el primer grupo 420 de coeficientes de ventana y el segundo grupo de funciones de ventana 430, comprendiendo el primer grupo 420 de coeficientes de ventana exactamente la primera secuencia consecutiva de coeficientes de ventana y comprendiendo el segundo grupo 430 exactamente la segunda parte consecutiva de coeficientes de ventana. Por lo tanto, los términos primer grupo 420 y primera parte de los coeficientes de ventana así como los términos segundo grupo 430 y segunda parte de los coeficientes de ventana se pueden utilizar como sinónimos.
[0211] El más del 50 % de todos los coeficientes de ventana que presentan unos valores absolutos inferiores o iguales a 0,1 se encuentran comprendidos en el segundo grupo o segunda parte 430 de coeficientes de ventana como consecuencia del comportamiento oscilante muy amortiguado de la función de ventana 700. Además, asimismo más del 50 % de todos los coeficientes de ventana comprendidos en el segundo grupo o segunda parte 430 de coeficientes de ventana comprenden unos valores absolutos inferiores o iguales a 0,01.
[0212] La primera parte 420 de coeficientes de ventana comprende menos de un tercio de todos los coeficientes de ventana de la secuencia de coeficientes de ventana. Por consiguiente, la segunda parte 430 de coeficientes de ventana comprende más de dos tercios de coeficientes de ventana. En el caso de un número total de bloques T por procesar en una de las tramas 120, 150, 330, 380 de más de cuatro bloques, la primera parte comprende normalmente 3/2 ■ N coeficientes de ventana, siendo N el número de muestras del dominio temporal de un bloque. Por consiguiente, la segunda parte comprende el resto de los coeficientes de ventana o, con mayor exactitud, (T-3/2)N coeficientes de ventana. En el caso de T = 10 bloques por trama tal como se representa en la figura 11, la primera parte comprende 3/2 ■ N coeficientes de ventana, mientras que la segunda parte 210 comprende 8,5 • N coeficientes de ventana. En el caso de un tamaño de bloque de N = 64 muestras de audio en el dominio temporal por bloque, la primera parte comprende 96 coeficientes de ventana, mientras que la segunda parte comprende 544 coeficientes de ventana. La función de ventana de síntesis 700 tal como se muestra en la figura 11 adquiere un valor de aproximadamente 0,96 en el borde de la primera parte y la segunda parte en un índice de aproximadamente n = 95 o 96.
[0213] A pesar del número de coeficientes de ventana comprendidos en la primera parte 420 y la segunda parte 430, un valor de energía o un valor de energía total de los coeficientes de ventana correspondientes difieren significativamente entre sí. El valor de energía viene definido por
Figure imgf000031_0003
en el que w(n) es un coeficiente de ventana y el índice n sobre el que se calcula la suma de la ecuación (34) corresponde a los índices de las partes correspondientes 420, 430, todo el conjunto de coeficientes de ventana o cualquier otro conjunto de coeficientes de ventana a los que corresponden los valores de energía E correspondientes. A pesar de la diferencia significativa de coeficientes de ventana, el valor de energía de la primera parte 420 es igual o superior a 2/3 del valor de energía total de todos los coeficientes de ventana. Por consiguiente, el valor de energía de la segunda parte 430 es inferior o igual a 1/3 del valor de energía total de todos los coeficientes de ventana.
[0214] Para ilustrar esto, el valor de energía de la primera parte 420 de los coeficientes de ventana de la función de ventana 700 es de aproximadamente 55,85, mientras que el valor de energía de los coeficientes de ventana de la segunda parte 430 es de aproximadamente 22,81. El valor de energía global de todos los coeficientes de ventana de la función de ventana 700 es de aproximadamente 78,03, de tal modo que el valor de energía de la primera parte 420 es de aproximadamente el 71,6 % del valor de energía total, mientras que el valor de energía de la segunda parte 430 es de aproximadamente el 28,4 % del valor de energía total de todos los coeficientes de ventana.
[0215] Naturalmente, la ecuación (34) se puede expresar en una versión normalizada dividiendo el valor de energía E por un factor de normalización E0, que en principio puede ser cualquier valor de energía. El factor de normalización E0 puede ser, por ejemplo, el valor de energía global de todos los coeficientes de ventana de la secuencia de coeficientes de ventana calculados según la ecuación (34).
[0216] Basándose en los valores absolutos de los coeficientes de ventana o en los valores de energía de los coeficientes de ventana correspondientes, se puede determinar asimismo un punto central o un "centro de gravedad" de la secuencia de coeficientes de ventana. El centro de gravedad o punto central de la secuencia de coeficientes de ventana es un número real y se encuentra normalmente comprendido en el intervalo de índices de la primera parte 420 de los coeficientes de ventana. En el caso de las tramas correspondientes que comprenden más de cuatro bloques de muestras de audio en el dominio temporal (T> 4), el centro de gravedad nca basado en los valores absolutos de los coeficientes de ventana o el centro de gravedad nce basado en los valores de energía de los coeficientes de ventana es inferior a 3/2 • N. Es decir, en el caso de T = 10 bloques por trama, el centro de gravedad se encuentra dentro de la región de índices de la primera parte 200.
[0216] El centro de gravedad nca basado en los valores absolutos de los coeficientes de ventana w(n) se define según
Figure imgf000031_0001
y el centro de gravedad nce considerando los valores de energía de los coeficientes de ventana w(n) se define según
Figure imgf000031_0002
en el que N y T son enteros positivos que indican el número de muestras de audio en el dominio temporal por bloque y el número de bloques por trama, respectivamente. Naturalmente, los puntos centrales según las ecuaciones (35) y (36) se pueden calcular asimismo con respecto a un conjunto limitado de coeficientes de ventana sustituyendo los límites de las sumas anteriores de acuerdo con ello.
[0217] En el caso de la función de ventana 700 tal como se muestra en la figura 1, el centro de gravedad nca basado en los valores absolutos de los coeficientes de ventana w(n) es igual al valor de nca “ 87,75 y el punto central o centro de gravedad nce con respecto a los valores de energía de los coeficientes de ventana w(n) es nce “ 80,04. Puesto que la primera parte 200 de coeficientes de ventana de la función de ventana 700 comprende 96 (= 3/2 N; N = 64) coeficientes de ventana, ambos puntos centrales se encuentran dentro de la primera parte 200 de los coeficientes de ventana, tal como se ha indicado anteriormente.
[0218] Los coeficientes de ventana w(n) de la función de ventana 700 se basan en los valores indicados en la tabla del Anexo 1. Sin embargo, para alcanzar, por ejemplo, la propiedad de bajo retardo del banco de filtros, tal como se ha indicado anteriormente, no es necesario implementar la función de ventana con tanta precisión como se da mediante los coeficientes de ventana en la tabla del Anexo 1. En muchos casos, resulta más que suficiente que los coeficientes de ventana de una función de ventana que incluya 640 coeficientes de ventana cumplan cualquiera de las relaciones o ecuaciones que figuran en las tablas de los Anexos 2 a 4. Los coeficientes de las ventanas o coeficientes de filtro que figuran en la tabla del Anexo 1 representan los valores preferidos, que podrían adaptarse según las ecuaciones (16a) y (16b) en algunas implementaciones. Sin embargo, tal como se indica, por ejemplo, mediante las tablas adicionales que figuran en los Anexos adicionales, se pueden variar los valores preferidos del segundo, tercer, cuarto, quinto dígito tras el punto decimal de tal modo que los filtros o funciones de ventanas resultantes presenten todavía las ventajas de las realizaciones según la presente invención. Sin embargo, dependiendo de los detalles de la implementación, para obtener los coeficientes de ventana basados en los valores dados en las tablas de los Anexos 1 y 3, se deben tener en cuenta los cambios de signos adicionales con respecto a los coeficientes de ventana correspondientes a los índices 128 a 255 y 384 a 511 (multiplicación por factor (-1)) según las ecuaciones (16a) y (16b).
[0219] Naturalmente, se pueden definir y utilizar igualmente en el marco de las realizaciones según la presente invención otras funciones de ventana que comprendan un número diferente de coeficientes de ventana. En este contexto, debe tenerse en cuenta que tanto el número de muestras de audio en el dominio temporal por bloque como el número de bloques por trama, así como la distribución de los bloques con respecto a muestras pasadas y futuras muestras, se pueden variar en un amplio intervalo de parámetros.
[0220] La figura 12 muestra una comparación de una ventana de banco de filtros de bajo retardo modulado por complejos (ventana CMLDFB) 700 tal como se muestra en la figura 11 y el filtro prototipo s Br QMF original 720 tal como se utiliza, por ejemplo, en la herramienta SBR según los estándares MPEG. Tal como se muestra en la figura 11, la ventana 700 CMLDFB es de nuevo la ventana de síntesis según un ejemplo.
[0221] Aunque la función de ventana 700 según una realización de la presente invención es claramente asimétrica tal como se define en relación con la ecuación (30), el filtro prototipo SBR QMF original 720 es simétrico con respecto a los índices n = 319 y 320, cuando la ventana de función 700 así como el filtro prototipo SBR QMF 720 se define cada uno con respecto a cada uno de los 640 índices. Es decir, con respecto a la ecuación (29), el "valor de índice" que no representa el índice del centro de simetría viene dado por n0 = 319,5 en el caso del filtro prototipo SBR QMF 720.
[0222] Además, debido a la simetría del filtro prototipo SBR QMF 720, asimismo el punto central nca y nce según las ecuaciones (35) y (36), respectivamente, son idénticos al centro de simetría no. El valor de energía del filtro prototipo SBR QMF 720 es de 64,00 ya que el filtro prototipo es un filtro ortogonal. En cambio, la función de ventana claramente asimétrica 700 comprende un valor de energía de 78,0327 tal como se ha indicado anteriormente.
[0223] En las secciones siguientes de la descripción, los sistemas SBR tal como se ha descrito en relación con las figuras 5 y 6, en las que el decodificador SBR 610 comprende las realizaciones según la presente invención en forma de banco de filtros de análisis tal como el banco de filtros 620 y una realización según la presente invención en forma de banco de filtros de síntesis para el banco de filtros de síntesis 640. Tal como se describirá más detalladamente, el retardo global de un banco de filtros de análisis según la presente invención que utiliza la función de ventana 700 tal como se representa en las figuras 11 y 12 comprende un retardo global de 127 muestras, mientras que la herramienta SBR basada en filtro SBR QMF original proporciona un retardo global de 640 muestras.
[0224] La sustitución de los bancos de filtros QMF en el módulo SBR, por ejemplo en el decodificador SBR 610, por un banco de filtros de bajo retardo de valores complejos (CLDFB) proporciona una reducción de retardo de 42 ms a 31,3 ms sin introducir degradación alguna en la calidad del audio o complejidad computacional adicional alguna. Con el nuevo banco de filtros, se soportan el modo SBR estándar (modo de alta calidad) y el modo de baja potencia que utilizan únicamente bancos de filtros de valores reales, tal como se ha mostrado en la descripción de los ejemplos con respecto a las figuras 7 a 10.
[0225] En particular en el campo de las telecomunicaciones y de la comunicación bidireccional, un bajo retardo resulta de gran importancia. Aunque el AAC de bajo retardo mejorado ya puede alcanzar un retardo suficientemente bajo para aplicaciones de comunicaciones de 42 ms, su retardo algorítmico es aún superior al del corecodec AAC de bajo retardo, que puede alcanzar retardos de hasta 20 ms y el de otros códecs de telecomunicaciones. En el decodificador SBR 610, las etapas de análisis y síntesis de QMF provocan todavía un retardo de reconstrucción de 12 ms. Un enfoque prometedor para reducir ese retardo comprende utilizar una técnica de banco de filtros de bajo retardo según una realización de la presente invención y sustituir los bancos de filtro QMF actuales por una versión correspondiente de bajo retardo según las realizaciones de la presente invención. Es decir, se alcanza una reducción del retardo adicional sustituyendo simplemente los bancos de filtros ordinarios utilizados en el módulo SBR 610 por un banco de filtros complejos de bajo retardo según las realizaciones de la presente invención.
[0226] Para su uso en el módulo SBR 610, los nuevos bancos de filtros según las realizaciones de la presente invención, que se denominan asimismo CLDFB, se han diseñado para que sean tan similares a los bancos de filtros QMF utilizados originalmente como sea posible. Esto incluye, por ejemplo, la utilización de 64 subbandas o bandas, una longitud igual de las respuestas de impulso y una compatibilidad con los modos de velocidad dual igual a la que se utiliza en los sistemas SBR.
[0227] La figura 13 representa la comparación de la forma de ventana CLDFB 700 según una realización de la presente invención y el filtro prototipo SBR QMF original 720. Además, ilustra el retardo de los bancos de filtros modulados, que se puede determinar analizando el retardo de superposición introducido por el filtro prototipo o función de ventana además del retardo de trama del núcleo de modulación que presenta una longitud de N muestras en el caso de un sistema basado en una DCT-IV. La situación representada en la figura 13 se refiere de nuevo al caso de un banco de filtros de síntesis. La función de ventana 700 y la función de filtro prototipo 720 también representan las respuestas de impulso de los filtros prototipo de síntesis de los dos bancos de filtros implicados.
[0228] En lo que se refiere al análisis del retardo tanto para el banco de filtros SBR QMF como para el CLDFB propuesto según una realización de la presente invención, en el análisis y la síntesis únicamente la superposición en el lado derecho y en el lado izquierdo del núcleo de modulación, respectivamente, añade retardo.
[0229] En ambos bancos de filtros, el núcleo de modulación se basa en una DCT-IV que introduce un retardo de 64 muestras, lo que se indica en la figura 13 como retardo 750. En el caso del filtro prototipo SBR QMF 720 debido a la simetría, el retardo de núcleo de modulación 750 se dispone simétricamente con respecto al centro de gravedad o al centro de la función de filtro prototipo 720 correspondiente, tal como se indica en la figura 13. El motivo de este comportamiento es que el almacenamiento temporal del banco de filtros SBR QMF necesita llenarse hasta un punto en el que la función de filtro prototipo 720 que supone la contribución más significativa en lo que se refiere a los valores de energía correspondientes de los valores de filtro prototipo se considerará en el procesamiento. Debido a la forma de la función del filtro prototipo 720, esto requiere que el almacenamiento temporal se llene al menos hasta el punto central o centro de gravedad de la función de filtro prototipo correspondiente.
[0230] Para continuar ilustrándolo, partiendo de un almacenamiento temporal completamente inicializado del banco de filtros SBR QMF correspondiente, resulta necesario llenar el almacenamiento temporal hasta un punto en el que un procesamiento de datos dará como resultado un procesamiento de datos significativos, lo que requiere la función de ventana o filtro prototipo correspondiente para disponer de una contribución significativa. En el caso de la función de filtro de prototipo SBR QMF, la forma simétrica del filtro prototipo 720 produce un retardo, que es del orden del centro de gravedad o punto central de la función de filtro prototipo.
[0231] Sin embargo, puesto que el retardo introducido por el núcleo de modulación del sistema basado en una DCT-IV de N = 64 para muestras se encuentra siempre presente y el sistema comprende asimismo un retardo de un bloque, se puede observar que el prototipo de síntesis para el SBR QMF introduce un retardo de superposición de 288 muestras.
[0232] Tal como se ha indicado anteriormente, en el caso de los bancos de filtros de síntesis a los que hace referencia la figura 13, esta superposición de la parte izquierda adicional 760 provoca el retardo, mientras que la superposición de la parte derecha 770 se refiere a muestras pasadas y por lo tanto no introduce un retardo adicional en el caso de un banco de filtros de síntesis.
[0233] Por el contrario, si se empieza con una memoria inicializada del CLDFB, conforme a una realización según la presente invención, tanto el banco de filtros de síntesis como el banco de filtros de análisis son capaces de proporcionar en menos tiempo unos datos "significativos" en comparación con el banco de filtros SBR QMF, a causa de la forma que presenta la función de ventana. En otras palabras, debido a la forma presentada por la función de ventana de análisis o síntesis 700, el procesado de muestras por parte de las funciones de ventana indicativas de una contribución significante es posible en menos tiempo. Como consecuencia, el prototipo de síntesis o la función de ventana de síntesis del CLDFb introduce únicamente un retardo de superposición de 32 muestras, teniendo en cuenta el retardo ya introducido por parte del núcleo de modulación 750. La primera parte 420 o el primer grupo 420 de coeficientes de ventana de la función de ventana 700 conforme a una realización según la presente invención comprenden, en una realización preferida según la presente invención, los 96 coeficientes de ventana correspondientes al retardo ocasionado por la superposición de la parte izquierda 760 conjuntamente con el retardo del núcleo de modulación 750.
[0234] La función prototipo de análisis o el banco de filtros de análisis introduce el mismo valor de retardo. El motivo se debe a que el banco de filtros de análisis se basa en la versión invertida en el tiempo de la función de ventana de síntesis o función prototipo. Por este motivo, el retardo de superposición se introduce en la parte derecha que comprende el mismo valor de retardo superpuesto que en el caso del banco de filtros de síntesis. En consecuencia, en el caso de un banco de filtros prototipo QMF original, asimismo se introduce un retardo de 288 muestras, mientras que para un banco de filtros de análisis conforme a una realización según la presente invención, se introduce un retardo únicamente de 32 muestras.
[0235] La tabla que se muestra en la figura 14a proporciona un resumen de los valores de retardo con distintas etapas de modificación, asumiendo que la longitud de trama es de 480 muestras y la frecuencia de muestreo es de 48 kHz. En una configuración estándar que comprenda un códec AAC-LD junto con una herramienta estándar SBR, los bancos de filtros MDCT e IMDCT en el modo dual ocasionan un retardo de 40 ms. Asimismo, la propia herramienta QMF ya introduce un retardo de 12 ms. Por otra parte, debido a una superposición SBR, se genera un retardo adicional de 8 ms, de modo que el retardo total de ese códec se encuentra en el intervalo de 60 ms.
En comparación, un códec AAC-ELD que comprenda versiones de bajo retardo de los MDCT e IMDCT introduce en el enfoque dual un retardo de 30 ms. En comparación con el banco de filtros original QMF de una herramienta SBR, la utilización de un banco de filtros de bajo retardo y valores complejos conforme a una realización según la presente invención, conlleva un valor de retardo de únicamente 1 ms en comparación con los 12 ms de la herramienta original QMF. Previniendo que se produzca la superposición SBR, se puede evitar totalmente que se produzca la superposición adicional de 8 ms de una sencilla combinación de un AAC-LD y una herramienta SBR. Por este motivo, el códec AAC de bajo retardo y mayores prestaciones es capaz de introducir en el algoritmo un retardo total de 31 ms, y no los 60 ms introducidos por la combinación sencilla descrita anteriormente. Por este motivo, se puede apreciar que la combinación de los procedimientos para reducir el valor de retardo descritos proporciona efectivamente un ahorro en el valor total de retardo de 29 ms.
[0236] La tabla que se muestra en la figura 14b proporciona una vista general adicional del valor total de retardo del códec ocasionado por los bancos de filtros originales y los propuestos en un sistema como el representado en las figuras 5 y 6. Los datos y valores indicados en la figura 14b se basan en una frecuencia de muestreo de 48 kHz y en un tamaño de trama del codificador de núcleo de 480 muestras. Debido al enfoque dual de un sistema SBR, tal como se representa y sobre el que se trata en las figuras 5 y 6, el codificador de núcleo se ejecuta efectivamente a una frecuencia de muestreo de 24 kHz. Dado que el codificador de núcleo ya introduce un retardo de trama de 64 muestras en el núcleo de modulación, se puede restar de los valores de retardo independientes de los dos bancos de filtros, tal como se describe en el contexto de la figura 13.
[0237] La tabla de la figura 14b enfatiza el hecho de que es posible reducir el retardo global del códec AAC de bajo retardo con mayores prestaciones que comprende las versiones de bajo retardo de la MDCT y de la IMDCT (LD MDCT y LD IMDCT). Mientras que únicamente puede obtenerse un retardo algorítmico total de 42 ms utilizando las versiones de bajo retardo de la MDCT y la IMDCT, así como los bancos de filtros QMF originales, utilizando bancos de filtros de bajo retardo y valores complejos conforme a las realizaciones según la presente invención en lugar de los bancos de filtros q Mf convencionales, el retardo total en el algoritmo puede reducirse de un modo significativo a únicamente 31,3 ms.
[0238] A fin de evaluar la calidad de los bancos de filtros conforme a las realizaciones según la presente invención y los sistemas que comprenden uno o más bancos de filtros, se han llevado a cabo pruebas de audio, a partir de las cuales puede concluirse que mediante los bancos de filtros conforme a las realizaciones según la presente invención, se mantiene la calidad de audio de AAC-ELD al mismo nivel y no se degrada la señal, ni para el modo SBR complejo, ni para el modo SBR de baja potencia y valor real. Así, los bancos de filtros de retardo optimizado conforme a las realizaciones según la presente invención no degradan la calidad de la señal de audio, aunque sean capaces de reducir el retardo en un valor superior a más de 10 ms. En relación con períodos transitorios, incluso se observa que pueden obtenerse ligeras mejoras, aunque no significativas estadísticamente. Las mejoras mencionadas anteriormente se han observado durante las pruebas de audio realizadas con castañuelas y carillones.
[0239] Con el objetivo de verificar adicionalmente que en el caso de un banco de filtros de 32 bandas conforme a una realización según la presente invención, el muestreo funcione correctamente del mismo modo para los bancos de filtros según la presente invención en comparación con los bancos de filtros QMF, se llevó a cabo la evaluación siguiente. En primer lugar, se analizó un barrido sinusoidal logarítmico con un banco de filtros muestreado de 32 bandas, añadiendo las 32 bandas superiores inicializadas al valor cero. A continuación, un banco de filtros de 64 bandas sintetizó el resultado, efectuó de nuevo un muestreo y realizó la comparación con la señal original. Empleando un filtro prototipo SBR QMF convencional, se obtiene una relación de señal a ruido (SNR) de 59,5 dB. Sin embargo, mediante un banco de filtros según la presente invención, se obtiene un valor SNR de 78,5 dB, lo cual es indicativo de que los bancos de filtros conforme a las realizaciones según la presente invención presentan al menos el mismo rendimiento en la versión muestreada en comparación con los bancos de filtros QMF originales.
[0240] Con el objetivo de mostrar que este enfoque basado en bancos de filtros no simétricos y de retardo optimizado, que se emplean en realizaciones según la presente invención, proporciona un valor añadido en comparación con un banco de filtros clásico con un prototipo simétrico, a continuación se compararán prototipos asimétricos con prototipos simétricos que presenten el mismo valor de retardo.
[0241] En la figura 15a se muestra la respuesta frecuencial en una ilustración de campo lejano de un banco de filtros según la presente invención empleándose una ventana de bajo retardo (gráfico 800), en comparación con la respuesta frecuencial de un banco de filtros empleándose una ventana sinusoidal que presente una longitud de 128 coeficientes (gráfico 810). En la figura 15b se muestra una vista aumentada de la respuesta frecuencial en campo cercano de los mismos bancos de filtros empleándose las mismas funciones de ventana que se han descrito anteriormente.
[0242] Efectuando una comparación directa de los dos gráficos 800 y 810, se aprecia que la respuesta frecuencial del banco de filtros de bajo retardo conforme a una realización según la presente invención es notablemente mejor que la respuesta frecuencial correspondiente de un banco de filtros que utilice una ventana sinusoidal de 128 coeficientes y el mismo retardo.
[0243] Asimismo, en la figura 16a se muestra una comparativa de distintas funciones de ventana con un retardo total de 127 muestras. El banco de filtros (CLDFB) con 64 bandas presenta un retardo total de 127 muestras, incluyéndose el retardo de trama y el retardo de superposición. Un banco de filtros modulado con un prototipo simétrico y el mismo retardo presentaría, por lo tanto, un prototipo de longitud 128, tal como ya se ha ilustrado en el contexto de las figuras 15a y 15b. El motivo es que estos bancos de filtros con superposición del 50 %, por ejemplo, la MDCT, las ventanas sinusoidales, o las ventanas derivadas de Kaiser-Bessel generalmente constituyen una buena elección para prototipos. Consecuentemente, en la figura 16a se muestra una vista de la respuesta frecuencial de un banco de filtros que emplea una ventana de bajo retardo como prototipo conforme a una realización según la presente invención y se compara con las respuestas frecuenciales de prototipos simétricos alternativos que presentan el mismo valor de retardo. En la figura 16a, además de la respuesta frecuencial del banco de filtros según la presente invención (gráfico 800) y la respuesta frecuencial de un banco de filtros que emplee una ventana sinusoidal (gráfico 810), tal como ya se ha mostrado en las figuras 15a y 15b, se representan adicionalmente dos ventanas κΒD que se basan en los parámetros a = 4 (gráfico 820) y a = 6 (gráfico 830). En ambas figuras, en la figura 16a y en la vista aumentada de la figura 16a mostrada en la figura 16b, se aprecia claramente que se puede obtener una respuesta frecuencial mucho mejor con un banco de filtros conforme a una realización según la presente invención que presente una función de ventana no simétrica o una función de filtrado prototipo con el mismo retardo.
[0244] Con el fin de ilustrar esta ventaja de modo más genérico, en la figura 17 se comparan dos prototipos de bancos de filtros con valores de retardo distintos a los bancos de filtros descritos anteriormente. Mientras que el banco de filtros considerado en las figuras 15 y 16 presenta un retardo total de 127 muestras, que se corresponde con una superposición de 8 bloques en el pasado y 0 bloques en el futuro (CLDFB 80), en la figura 17 se representa una comparativa de las respuestas frecuenciales de dos prototipos de bancos de filtros distintos con un mismo valor de retardo de 383 muestras. Más concretamente, en la figura 17 se representa la respuesta frecuencial de un banco de filtros prototipo no simétrico (gráfico 840), que se basa en una superposición de 6 bloques de muestras en el dominio temporal en el pasado y 2 bloques de muestras en el dominio temporal en el futuro (CLDFB 62). Por otra parte, en la figura 17 se representa también la respuesta frecuencial (gráfico 850) de una función de filtrado prototipo simétrico correspondiente que presenta asimismo un retardo de 383 muestras. Se puede apreciar que para el mismo valor de retardo, mediante una función de ventana o prototipo no simétrico se obtiene una respuesta frecuencial mejorada en comparación con un banco de filtros que comprenda una función de ventana o filtro prototipo simétrico. De este modo, se demuestra la posibilidad de obtener un mejor equilibrio entre retardo y calidad, tal como se ha indicado anteriormente.
[0245] En la figura 18, se representa el efecto de enmascaramiento temporal del αdo humano. Cuando se genera un sonido o un tono en el instante indicado mediante una línea 860 en la figura 18, se genera un efecto de enmascaramiento relacionado con la frecuencia del tono o del sonido y las frecuencias cercanas aproximadamente 20 ms antes de que el sonido empiece efectivamente. Este efecto se denomina enmascaramiento previo y constituye uno de los aspectos de las propiedades psicoacústicas del αdo humano.
[0246] En la situación ilustrada en la figura 18, el sonido se mantiene audible durante aproximadamente 200 ms hasta el instante indicado mediante la línea 870. Durante dicho periodo, está activo un enmascarador de sonido del αdo humano, que asimismo se denomina enmascaramiento simultáneo. Tras la finalización del sonido (indicado mediante la línea 870), el enmascaramiento en la frecuencia cercana del tono decae lentamente durante un intervalo de tiempo de aproximadamente 150 ms, tal como se ilustra en la figura 18. Este efecto psicoacústico se denomina asimismo enmascaramiento posterior.
[0247] En la figura 19 se ilustra la comparativa del comportamiento pre-eco de una señal codificada HE-AAC convencional y una señal codificada HE-AAC que se basa en un banco de filtros de bajo retardo (CMLDFB) conforme a una realización según la presente invención. En la figura 19a se ilustra la señal temporal original de unas castañuelas, que se ha procesado con un sistema que comprende un códec HE-AAC (HE-AAC = códec de audio avanzado de elevada eficacia). La salida del sistema basada en el códec HE-AAC convencional se ilustra en la figura 19b. Una comparación directa entre ambas señales, la señal temporal original y la señal de salida del códec HE-AAC muestra que antes del inicio del sonido de las castañuelas, en la zona ilustrada mediante una flecha 880 la señal de salida del códec HE-AAC comprende efectos pre-eco evidentes.
[0248] En la figura 19c se ilustra la señal de salida de un sistema que comprende un códec HE-AAC basado en bancos de filtros que contienen ventanas CMLDFB conforme a una realización según la presente invención. Las mismas señales temporales originales indicadas en la figura 19a y procesadas utilizando bancos de filtros conforme a una realización según la presente invención ponen de manifiesto una reducción significativa de la aparición de efectos pre-eco justo antes del inicio de la señal de las castañuelas, tal como se indica mediante la flecha 890 en la figura 19c. Debido al efecto de enmascaramiento previo, tal como se describe en el contexto de la figura 18, el efecto pre-eco indicado mediante la flecha 890 de la figura 19c queda mucho más enmascarado que el efecto pre-eco indicado mediante la flecha 880 en el caso de un códec HE-AAC convencional. Por este motivo, el comportamiento pre-eco de los bancos de filtros según la presente invención, que asimismo constituye un resultado de la reducción significante del valor de retardo en comparación con los bancos de filtros convencionales, conlleva que la salida se adapte mucho mejor a las propiedades de enmascaramiento temporales y a la psicoacústica del αdo humano. Consecuentemente, tal como ya se ha indicado al describir los tests de audio, el empleo de bancos de filtros conforme a una realización según la presente invención incluso puede conllevar una mejora en relación con la calidad por motivo de la reducción del valor de retardo.
[0249] Las realizaciones según la presente invención no incrementan la complejidad computacional en comparación con los bancos de filtros convencionales. Los bancos de filtros de bajo retardo utilizan la misma longitud de filtrado y el mismo modo de modulación que, por ejemplo, los bancos de filtros QMF en el caso de sistemas SBR, de modo que la complejidad computacional no se ve incrementada. En términos de requisitos de memoria, debido a la naturaleza asimétrica de los filtros prototipo, los requisitos de memoria ROM (memoria de solo lectura) para un banco de filtros de síntesis se incrementan aproximadamente en 320 palabras en el caso de un banco de filtros basado en N = 64 muestras por bloque y T = 10 bloques por trama. Por otra parte, en el caso de un sistema relacionado con la SBR, los requisitos de memoria se incrementan adicionalmente en otras 320 palabras si el filtro de análisis se almacena separadamente.
[0250] Sin embargo, dado que los requisitos actuales de memoria ROM para un núcleo AAC-ELD son aproximadamente 2,5 kilo palabras y para la implementación SBR otras 2,5 kilo palabras, los requisitos de memoria ROM solo sufren un incremento moderado de un 10 %. Como un posible equilibrio entre la memoria y la complejidad, si un reducido consumo de memoria resulta primordial, se puede utilizar una interpolación lineal a fin de generar el filtro de análisis a partir del filtro de síntesis, tal como se ha descrito en el contexto de la figura 3 y la ecuación (15). Esta operación de interpolación incrementa el número de instrucciones necesarias únicamente aproximadamente un 3,6 %. Por este motivo, reemplazando los bancos de filtros QMF convencionales en el sistema de módulos SBR por bancos de filtros de bajo retardo conforme a las realizaciones según la presente invención, en algunas realizaciones el valor de retardo se puede reducir más de 10 ms sin que se degrade la calidad de audio ni se incremente notablemente la complejidad.
[0251] Por este motivo, las realizaciones según la presente invención se refieren a una ventana de análisis o a un aparato o procedimiento de formación de ventanas. Por otra parte, se describe un banco de filtros de análisis o síntesis o un procedimiento para analizar o sintetizar una señal utilizando una ventana. Naturalmente, asimismo se describe el programa informático que implemente uno de los procedimientos anteriores. Para poner en práctica las realizaciones según la presente invención se puede efectuar una implementación hardware, una implementación software, o bien una combinación de ambas. Los datos, los vectores y las variables que se generen o se reciban o de lo contrario se almacenen para su procesado posterior, se pueden almacenar en distintos tipos de memorias, por ejemplo memorias de acceso directo, memorias de almacenamiento intermedio, memorias de solo lectura, memorias no volátiles (por ejemplo, memorias EEPROM, memorias flash) o bien otro tipo de memorias, por ejemplo memorias magnéticas u ópticas. Una posición de almacenamiento podría constituir, por ejemplo, una o más unidades de memoria requeridas para almacenar o guardar los datos respectivos, por ejemplo, variables, parámetros, vectores, matrices, coeficientes de ventana u otras unidades de información y datos.
[0252] Las implementaciones de software se pueden ejecutar en distintos tipos de ordenadores, sistemas similares a ordenadores, procesadores, circuitos ASIC (circuitos integrados de aplicaciones específicas) o bien en otros circuitos integrados (IC).
[0253] En función de ciertos requisitos de implementación de algunas realizaciones de los procedimientos según la presente invención, las realizaciones de los procedimientos según la presente invención se pueden implementar como hardware, como software o bien como una combinación. La implementación se puede llevar a cabo utilizando un medio digital de almacenamiento, en particular un disco CD, un disco DVD o bien otro disco que presente una señal de control que pueda leerse electrónicamente, y que a este respecto coopere con un sistema informático, un procesador o un circuito integrado programable, de modo que se implemente a la práctica una realización del procedimiento según la presente invención. Generalmente, por este motivo, una realización según la presente invención es un programa informático con un cierto código de programación almacenado en un soporte accesible para una máquina, ejecutando dicho código de modo que se implemente una realización del procedimiento según la presente invención si el programa informático se ejecuta en un ordenador, en un procesador o en un circuito integrado. En otras palabras, unas realizaciones de los procedimientos según la presente invención constituyen, por este motivo, un programa informático que presenta un código de programación para implementar al menos una realización de los procedimientos según la presente invención si el programa informático se ejecuta en un ordenador, en un procesador o en un circuito integrado.
[0254] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización según la presente invención, el generador de ventanas de análisis (110) se adapta de modo que la primera parte de la función de ventana de análisis comprenda un coeficiente de ventana que presente un valor absoluto máximo superior a 1.
[0255] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, el generador de ventanas de análisis (110) se adapta de modo que la función de ventana de análisis presente un comportamiento oscilante.
[0256] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, el generador de ventanas de análisis (110) se adapta de modo que todos los coeficientes de ventana de la secuencia de coeficientes de ventana tengan valor real.
[0257] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, el generador de ventanas de análisis (110) se adapta de modo que la trama (120) de muestras de entrada de audio en el dominio temporal comprenda una secuencia de bloques T (130) de dicho tipo de muestras, extendiéndose desde la primera hasta la última muestra de la trama (120), comprendiendo cada uno de los bloques N muestras de entrada de audio en el dominio temporal, siendo T y N números enteros positivos y T superior a 4.
[0258] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, el generador de ventanas de análisis (110) se adapta de modo que la formación de ventana comprenda una multiplicación elemento a elemento de las muestras de entrada de audio en el dominio temporal de la trama (120) con los coeficientes de ventana de la secuencia de coeficientes de ventana.
[0259] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, el generador de ventanas de análisis (110) se adapta de modo que toda muestra de entrada de audio en el dominio temporal se multiplique elemento a elemento con un coeficiente de ventana de la función de ventana de análisis, conforme a una secuencia de muestras de entrada de audio en el dominio temporal y la secuencia de coeficientes de ventana.
[0260] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, el generador de ventanas de análisis (110) se adapta de modo que para toda muestra de entrada de audio en el dominio temporal de la trama (120) de las muestras de entrada de audio en el dominio temporal, se genere exactamente una muestra en la ventana.
[0261] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, el generador de ventanas de análisis (110) se adapta de modo que el coeficiente de ventana correspondiente a un índice de los coeficientes de ventana n = (T-3) ■ N presente un valor inferior a -0,1, siendo el índice de la secuencia de coeficientes de ventana un número entero en el intervalo comprendido entre 0 y N ■ T - 1, y siendo el coeficiente de ventana utilizado para formar la ventana de la última muestra de entrada de audio en el dominio temporal el coeficiente de ventana correspondiente al índice N ■ T -1.
[0262] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, el generador de ventanas de análisis (110) se adapta de modo que la primera parte de los coeficientes de ventana cuente con 3/2 ■ N coeficientes, mientras que la segunda parte de coeficientes de ventana cuente con (T-3/2) ■ N coeficientes, de la secuencia de coeficientes de ventana.
[0263] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización según la presente invención, el generador de ventanas de análisis (110) se adapta de modo que los coeficientes de ventana c(n) cumplen las relaciones indicadas en la tabla del anexo 3.
[0264] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, el generador de ventanas de análisis (110) se adapta de modo que los coeficientes de ventana c(n) cumplan las relaciones indicadas en la tabla del anexo 2.
[0265] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización según la presente invención, el generador de ventanas de análisis (110) se adapta de modo que los coeficientes de ventana c(n) comprendan los valores indicados en la tabla del anexo 1.
[0266] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización según la presente invención, el generador de ventanas de análisis (110) o el aparato (100) se adapta de modo que la función de ventana de análisis (190) comprenda un primer número de coeficientes de ventana obtenidos a partir de una función de ventana mayor que comprende una secuencia de un segundo número de coeficientes de ventana mayor, obteniéndose los coeficientes de ventana de la función de ventana por interpolación de coeficientes de ventana de la función de ventana mayor, y siendo el segundo número un número par.
[0267] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, el generador de ventanas de análisis (110) o el aparato (100) se adapta de modo que los coeficientes de ventana de la función de ventana se interpolan linealmente.
[0268] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, el generador de ventanas de análisis (110) o el aparato (100) se adapta de modo que los coeficientes de ventana de la función de ventana de análisis se interpolan basándose en dos coeficientes de ventana consecutivos de la función de ventana mayor conforme a la secuencia de coeficientes de ventana de la función de ventana mayor a fin de obtener un coeficiente de ventana de la función de ventana.
[0269] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización según la presente invención, el generador de ventanas de análisis (110) o el aparato (100) se adapta con el objetivo de obtener los coeficientes de ventana c(n) de la función de ventana de análisis basándose en la ecuación
Figure imgf000038_0002
siendo n un número entero que indica un índice de los coeficientes de ventana c(n), y c2(n) un coeficiente de ventana de la función de ventana mayor.
[0270] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, el aparato (100) se adapta de modo que la trama actual (120) de muestras de entrada de audio en el dominio temporal que deben procesarse se genere desplazando (T-1) bloques tardíos de la trama (120) directamente precedente de muestras de entrada de audio en el dominio temporal en un bloque en dirección hacia las muestras tempranas de entrada de audio en el dominio temporal y añadiendo un bloque (220) de muestras de audio en el dominio temporal recientes como el bloque que comprenda las muestras tardías de entrada de audio en el dominio temporal de la trama actual (120).
[0271] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, el aparato (100) se adapta de modo que la trama actual (120) de muestras de entrada de audio en el dominio temporal x(n) que deben procesarse se genere basándose en el desplazamiento de las muestras de entrada de audio en el dominio temporal xprev(n) de la trama (120) directamente precedente de muestras de entrada de audio en el dominio temporal tomando en consideración la ecuación
Figure imgf000038_0001
para un tiempo o índice de muestra n = 32, ..., 319, y adaptándose adicionalmente el aparato (100) con el objetivo de generar las muestras de entrada de audio en el dominio temporal x(n) de la trama actual (120) de muestras de entrada de audio en el dominio temporal, incluyendo 32 muestras de entrada en el dominio temporal entrantes a continuación, conforme a una orden de las muestras de entrada de audio en el tiempo temporal entrantes en el sentido de disminuir el tiempo o los índices de muestras n para las muestras de entrada de audio en el dominio temporal x(n) de la trama actual (120), empezando en el instante o índice de muestra n = 31.
[0272] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, la calculadora (170) comprende un convertidor tiempo/frecuencia adaptado para generar los valores de subbanda de audio, de modo que todos los valores de subbanda basados en una trama (150) de muestras en ventana formen una representación espectral de las muestras en ventana de la trama (150) de muestras en ventana.
[0273] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, el convertidor tiempo/frecuencia se adapta para generar valores de subbanda de valor complejo o de valor real.
[0274] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, la calculadora (170) se adapta para calcular un valor de subbanda de audio para cualquier muestra de entrada de audio en el dominio temporal de un bloque (130) de muestras de entrada de audio en el dominio temporal, basándose el cálculo de cualquier valor de subbanda de audio o de cualquier muestra de entrada de audio en el dominio temporal de un bloque (130) de muestras de entrada de audio en el dominio temporal en las muestras en ventana de la trama en la ventana (150).
[0275] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, la calculadora (170) se adapta para calcular los valores de subbanda de audio basándose en una multiplicación de las muestras en ventana (150) por una función oscilante armónicamente para cualquier valor de subbanda y sumando las muestras en ventana multiplicadas, en la que una frecuencia de la función oscilante armónicamente se basa en una frecuencia central de una subbanda correspondiente de los valores de subbanda.
[0276] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, la calculadora (170) se adapta de modo que la función oscilante armónicamente sea una función exponencial compleja, una función seno o una función coseno.
[0277] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, la calculadora (170) se adapta para calcular los valores de subbanda de audio wkl basándose en la ecuación
Figure imgf000039_0002
para n = 0, ..., 63 y
Figure imgf000039_0001
para k = 0, ..., 31, en la que z(n) es una muestra en ventana correspondiente al índice n, en la que k es un índice de subbanda, en la que 1 es un índice de un bloque (180) de valores de subbanda de audio y en la que fosc(x) es una función oscilante que depende de una variable x de valor real.
[0278] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, la calculadora (170) se adapta de modo que la función oscilante fosc(x) sea
Figure imgf000039_0003
o
o
Figure imgf000039_0004
en la que i es la unidad imaginaria.
[0279] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, el aparato (100) se adapta con el fin de procesar una trama (120) de muestras de entrada de audio en el dominio temporal de valor real.
[0280] En un aparato destinado a generar valores de subbanda de audio en canales de subbanda de audio conforme a una realización de la presente invención, el aparato (100) se adapta con el fin de proporcionar una señal indicativa de la función de ventana de síntesis (370) que se va a utilizar con los valores de subbanda de audio o indicativa de la función de ventana de análisis (190) utilizada para generar los valores de subbanda de audio.
Figure imgf000041_0001
Figure imgf000042_0001
Figure imgf000043_0001
Figure imgf000044_0001
[ ] [ ]
Figure imgf000045_0001
Figure imgf000046_0001
Figure imgf000047_0001
[ ]
Figure imgf000048_0001
Figure imgf000049_0001
Figure imgf000050_0001
Figure imgf000051_0001
| [ ] |
Figure imgf000052_0001
Figure imgf000053_0001
Figure imgf000054_0001
Figure imgf000055_0001
'
Figure imgf000056_0001
Figure imgf000057_0001
Figure imgf000058_0001
Figure imgf000059_0001
Figure imgf000060_0001
Figure imgf000061_0001
Figure imgf000062_0001
Figure imgf000063_0001
Figure imgf000064_0001
Figure imgf000065_0001
Figure imgf000066_0001
Figure imgf000067_0001
Figure imgf000068_0001
Figure imgf000069_0001
Figure imgf000070_0001
Figure imgf000071_0001
Figure imgf000072_0001
Figure imgf000073_0001
Figure imgf000074_0001
Figure imgf000075_0001
Figure imgf000076_0001

Claims (3)

REIVINDICACIONES
1. Aparato destinado a generar valores de subbanda de audio de valor complejo en canales de subbanda de audio, que comprende:
un generador de ventanas de análisis (110) para formar una ventana de una trama (120) de muestras de entrada de audio de dominio temporal, que se disponen en una secuencia temporal que se extiende desde una muestra temprana a una muestra tardía, utilizando una función de ventana de análisis (190) que comprende una secuencia de coeficientes de ventana con el fin de obtener muestras en ventana,
donde el generador de ventana de análisis calcula las muestras en ventana zi,n basándose en la ecuación:
Figure imgf000077_0001
donde zi,n es una muestra en ventana de valor real correspondiente al índice de bloque i y al índice de muestra n de una trama, donde el valor xi,n es una muestra de entrada de audio en el dominio temporal de valor real correspondiente al índice de bloque i y al índice de muestra n, donde w contiene coeficientes de ventana de valor real de la función de ventana de análisis, y donde N es un parámetro que indica el número de muestras en un bloque; y
una calculadora (170) para calcular los valores de subbanda de audio basándose en las muestras en ventana, donde la calculadora está configurada para funcionar basada en las ecuaciones:
Figure imgf000077_0002
donde k, un índice de coeficientes espectrales o índice de banda es un número entero en el intervalo de 0 < k < N, donde XReal, i,k y Xima9, i,k representan la parte real y la parte imaginaria de un valor de subbanda de audio de valor complejo correspondiente al índice de bloque i y al índice de coeficientes espectrales k, y donde n0 es un parámetro que representa una opción de índice, y
donde los coeficientes de ventana w(n), de los cuales se deriva la función de ventana de análisis w(10N-1-n), se dan como sigue, donde los signos de los coeficientes de ventana correspondientes a los índices 128 a 255 a 511 se cambian
Figure imgf000077_0003
Figure imgf000078_0001
Figure imgf000079_0001
Figure imgf000080_0001
Figure imgf000081_0001
Figure imgf000082_0001
Figure imgf000083_0001
[ ]
Figure imgf000084_0001
Figure imgf000085_0001
[ ]
Figure imgf000086_0001
Figure imgf000087_0003
2. Procedimiento para generar valores de subbanda de audio de valor complejo en canales de subbanda de audio, que comprende:
la formación en ventana de una trama (120) de muestras de entrada de audio en el dominio temporal en una secuencia de tiempo que se extiende desde una muestra temprana a una muestra posterior que utiliza una función de ventana de análisis, donde la formación de ventana comprende calcular muestras en ventana zi,n de modo que:
Figure imgf000087_0002
donde zi,n es una muestra de ventana de valor real correspondiente a un índice de bloque i y un índice de muestra n de la trama (120), donde xi,n es una muestra de entrada de audio de dominio temporal de valor real correspondiente al índice de bloque i y el índice de muestra n, donde w contiene coeficientes de ventana de valor real de la función de ventana de análisis, donde w(10N-1-n) representa la función de ventana de análisis (190), y donde N es un parámetro que indica un número de muestras en un bloque,
calculando los valores de subbanda de audio usando las muestras en ventana,
donde el cálculo se basa en las ecuaciones:
Figure imgf000087_0001
donde un índice de coeficiente espectral o índice de banda k es un número entero en el intervalo de 0 < k <N, donde XReal, i, k y Ximag, i, k representan una parte real y una parte imaginaria de un valor de subbanda de audio de valor complejo correspondiente al índice de bloque i y al índice de coeficiente espectral k, y donde n0 es un parámetro que representa una opción de índice, y donde los coeficientes de ventana w(n), de los cuales se deriva la función de ventana de análisis w(10N-1-n), se dan como sigue, donde los signos de los coeficientes de ventana correspondientes a los índices 128 a 255 y 384 a 511 se cambian:
Figure imgf000088_0001
Figure imgf000089_0001
Figure imgf000090_0001
Figure imgf000091_0001
Figure imgf000092_0001
Figure imgf000093_0001
Figure imgf000094_0001
Figure imgf000095_0001
Figure imgf000096_0001
Figure imgf000097_0001
3. Programa con un código de programa para la implementación, si se ejecuta en un procesador, de un procedimiento según la reivindicación 2.
ES21160250T 2006-10-25 2007-10-23 Aparato y procedimiento para la generación de valores de subbanda de audio de valor complejo Active ES2947516T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US86295406P 2006-10-25 2006-10-25

Publications (1)

Publication Number Publication Date
ES2947516T3 true ES2947516T3 (es) 2023-08-10

Family

ID=39048961

Family Applications (6)

Application Number Title Priority Date Filing Date
ES07819259T Active ES2631906T3 (es) 2006-10-25 2007-10-23 Aparato y procedimiento para la generación de valores de subbanda de audio, aparato y procedimiento para la generación de muestras de audio en el dominio temporal
ES21160250T Active ES2947516T3 (es) 2006-10-25 2007-10-23 Aparato y procedimiento para la generación de valores de subbanda de audio de valor complejo
ES23157260T Active ES2966657T3 (es) 2006-10-25 2007-10-23 Aparato y procedimiento para la generación de muestras de audio de dominio de tiempo
ES09010010T Active ES2834024T3 (es) 2006-10-25 2007-10-23 Aparato y procedimiento para la generación de muestras de audio en el dominio temporal
ES17169583T Active ES2873254T3 (es) 2006-10-25 2007-10-23 Aparato y procedimiento para la generación de valores de subbanda de audio de valor complejo
ES07819260T Active ES2328187T3 (es) 2006-10-25 2007-10-23 Aparato y metodo para generar valores de subbanda de audio y aparato ymetodo para generar muestras de audio de dominio de tiempo.

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES07819259T Active ES2631906T3 (es) 2006-10-25 2007-10-23 Aparato y procedimiento para la generación de valores de subbanda de audio, aparato y procedimiento para la generación de muestras de audio en el dominio temporal

Family Applications After (4)

Application Number Title Priority Date Filing Date
ES23157260T Active ES2966657T3 (es) 2006-10-25 2007-10-23 Aparato y procedimiento para la generación de muestras de audio de dominio de tiempo
ES09010010T Active ES2834024T3 (es) 2006-10-25 2007-10-23 Aparato y procedimiento para la generación de muestras de audio en el dominio temporal
ES17169583T Active ES2873254T3 (es) 2006-10-25 2007-10-23 Aparato y procedimiento para la generación de valores de subbanda de audio de valor complejo
ES07819260T Active ES2328187T3 (es) 2006-10-25 2007-10-23 Aparato y metodo para generar valores de subbanda de audio y aparato ymetodo para generar muestras de audio de dominio de tiempo.

Country Status (26)

Country Link
US (3) US8452605B2 (es)
EP (10) EP4300825A3 (es)
JP (2) JP5083779B2 (es)
KR (2) KR100957711B1 (es)
CN (2) CN101606194B (es)
AR (2) AR063394A1 (es)
AT (1) ATE435480T1 (es)
AU (2) AU2007308415B2 (es)
BR (2) BRPI0709310B1 (es)
CA (2) CA2667505C (es)
DE (1) DE602007001460D1 (es)
DK (2) DK3848928T3 (es)
ES (6) ES2631906T3 (es)
FI (1) FI3848928T3 (es)
HK (2) HK1119824A1 (es)
HU (1) HUE064482T2 (es)
IL (2) IL193786A (es)
MX (2) MX2008011898A (es)
MY (2) MY142520A (es)
NO (3) NO341567B1 (es)
PL (6) PL3288027T3 (es)
PT (5) PT1994530E (es)
RU (2) RU2411645C2 (es)
TW (2) TWI355649B (es)
WO (2) WO2008049590A1 (es)
ZA (2) ZA200810308B (es)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8452605B2 (en) 2006-10-25 2013-05-28 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for generating audio subband values and apparatus and method for generating time-domain audio samples
WO2008072524A1 (ja) * 2006-12-13 2008-06-19 Panasonic Corporation オーディオ信号符号化方法及び復号化方法
US8214200B2 (en) * 2007-03-14 2012-07-03 Xfrm, Inc. Fast MDCT (modified discrete cosine transform) approximation of a windowed sinusoid
EP2077551B1 (en) * 2008-01-04 2011-03-02 Dolby Sweden AB Audio encoder and decoder
US8697975B2 (en) * 2008-07-29 2014-04-15 Yamaha Corporation Musical performance-related information output device, system including musical performance-related information output device, and electronic musical instrument
US8737638B2 (en) * 2008-07-30 2014-05-27 Yamaha Corporation Audio signal processing device, audio signal processing system, and audio signal processing method
US9384748B2 (en) 2008-11-26 2016-07-05 Electronics And Telecommunications Research Institute Unified Speech/Audio Codec (USAC) processing windows sequence based mode switching
WO2010069885A1 (en) * 2008-12-15 2010-06-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and bandwidth extension decoder
AU2010209673B2 (en) * 2009-01-28 2013-05-16 Dolby International Ab Improved harmonic transposition
ES2906255T3 (es) 2009-01-28 2022-04-13 Dolby Int Ab Transposición armónica mejorada
TWI621332B (zh) * 2009-02-18 2018-04-11 杜比國際公司 用於高頻重建或參數立體聲之複指數調變濾波器組
US8392200B2 (en) 2009-04-14 2013-03-05 Qualcomm Incorporated Low complexity spectral band replication (SBR) filterbanks
US9299362B2 (en) 2009-06-29 2016-03-29 Mitsubishi Electric Corporation Audio signal processing device
CN101958119B (zh) * 2009-07-16 2012-02-29 中兴通讯股份有限公司 一种改进的离散余弦变换域音频丢帧补偿器和补偿方法
FR2949582B1 (fr) * 2009-09-02 2011-08-26 Alcatel Lucent Procede pour rendre un signal musical compatible avec un codec a transmission discontinue ; et dispositif pour la mise en ?uvre de ce procede
JP5433022B2 (ja) 2009-09-18 2014-03-05 ドルビー インターナショナル アーベー 高調波転換
PL4152320T3 (pl) 2009-10-21 2024-02-19 Dolby International Ab Nadpróbkowanie w banku filtrów połączonym z modułem transpozycji
US8731123B2 (en) * 2009-11-30 2014-05-20 Mitsubishi Electric Corporation Demultiplexing device, multiplexing device, and relay device
PL4120263T3 (pl) 2010-01-19 2023-11-20 Dolby International Ab Transpozycja harmonicznych oparta na ulepszonym bloku pod-pasma
JP5782677B2 (ja) 2010-03-31 2015-09-24 ヤマハ株式会社 コンテンツ再生装置および音声処理システム
CN102971788B (zh) * 2010-04-13 2017-05-31 弗劳恩霍夫应用研究促进协会 音频信号的样本精确表示的方法及编码器和解码器
US9443534B2 (en) * 2010-04-14 2016-09-13 Huawei Technologies Co., Ltd. Bandwidth extension system and approach
PL2596497T3 (pl) 2010-07-19 2014-10-31 Dolby Int Ab Przetwarzanie sygnałów audio podczas rekonstrukcji wysokiej częstotliwości
CN101908342B (zh) * 2010-07-23 2012-09-26 北京理工大学 利用频域滤波后处理进行音频暂态信号预回声抑制的方法
US8755460B2 (en) * 2010-07-30 2014-06-17 National Instruments Corporation Phase aligned sampling of multiple data channels using a successive approximation register converter
US8762158B2 (en) * 2010-08-06 2014-06-24 Samsung Electronics Co., Ltd. Decoding method and decoding apparatus therefor
FR2969804A1 (fr) * 2010-12-23 2012-06-29 France Telecom Filtrage perfectionne dans le domaine transforme.
SG185519A1 (en) * 2011-02-14 2012-12-28 Fraunhofer Ges Forschung Information signal representation using lapped transform
PT2676270T (pt) 2011-02-14 2017-05-02 Fraunhofer Ges Forschung Codificação de uma parte de um sinal de áudio utilizando uma deteção de transiente e um resultado de qualidade
JP5625126B2 (ja) 2011-02-14 2014-11-12 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン スペクトル領域ノイズ整形を使用する線形予測ベースコーディングスキーム
JP5849106B2 (ja) 2011-02-14 2016-01-27 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 低遅延の統合されたスピーチ及びオーディオ符号化におけるエラー隠しのための装置及び方法
JP5800915B2 (ja) 2011-02-14 2015-10-28 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ オーディオ信号のトラックのパルス位置の符号化および復号化
RU2560788C2 (ru) * 2011-02-14 2015-08-20 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Устройство и способ для обработки декодированного аудиосигнала в спектральной области
FR2977439A1 (fr) * 2011-06-28 2013-01-04 France Telecom Fenetres de ponderation en codage/decodage par transformee avec recouvrement, optimisees en retard.
FR2977969A1 (fr) * 2011-07-12 2013-01-18 France Telecom Adaptation de fenetres de ponderation d'analyse ou de synthese pour un codage ou decodage par transformee
EP2573761B1 (en) 2011-09-25 2018-02-14 Yamaha Corporation Displaying content in relation to music reproduction by means of information processing apparatus independent of music reproduction apparatus
EP2777042B1 (en) 2011-11-11 2019-08-14 Dolby International AB Upsampling using oversampled sbr
JP5494677B2 (ja) 2012-01-06 2014-05-21 ヤマハ株式会社 演奏装置及び演奏プログラム
EP2717265A1 (en) * 2012-10-05 2014-04-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder, decoder and methods for backward compatible dynamic adaption of time/frequency resolution in spatial-audio-object-coding
NZ739387A (en) * 2013-02-05 2020-03-27 Ericsson Telefon Ab L M Method and apparatus for controlling audio frame loss concealment
RU2740359C2 (ru) 2013-04-05 2021-01-13 Долби Интернешнл Аб Звуковые кодирующее устройство и декодирующее устройство
TWI557727B (zh) * 2013-04-05 2016-11-11 杜比國際公司 音訊處理系統、多媒體處理系統、處理音訊位元流的方法以及電腦程式產品
CN117253497A (zh) 2013-04-05 2023-12-19 杜比国际公司 音频信号的解码方法和解码器、介质以及编码方法
US10893488B2 (en) 2013-06-14 2021-01-12 Microsoft Technology Licensing, Llc Radio frequency (RF) power back-off optimization for specific absorption rate (SAR) compliance
EP2830054A1 (en) 2013-07-22 2015-01-28 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, audio decoder and related methods using two-channel processing within an intelligent gap filling framework
WO2015036348A1 (en) 2013-09-12 2015-03-19 Dolby International Ab Time- alignment of qmf based processing data
EP3048816B1 (en) * 2013-09-17 2020-09-16 Wilus Institute of Standards and Technology Inc. Method and apparatus for processing multimedia signals
WO2015060652A1 (ko) 2013-10-22 2015-04-30 연세대학교 산학협력단 오디오 신호 처리 방법 및 장치
KR102244613B1 (ko) * 2013-10-28 2021-04-26 삼성전자주식회사 Qmf 필터링 방법 및 이를 수행하는 장치
KR102157118B1 (ko) 2013-12-23 2020-09-17 주식회사 윌러스표준기술연구소 오디오 신호의 필터 생성 방법 및 이를 위한 파라메터화 장치
EP3122073B1 (en) 2014-03-19 2023-12-20 Wilus Institute of Standards and Technology Inc. Audio signal processing method and apparatus
CN108307272B (zh) 2014-04-02 2021-02-02 韦勒斯标准与技术协会公司 音频信号处理方法和设备
EP3998605A1 (en) * 2014-06-10 2022-05-18 MQA Limited Digital encapsulation of audio signals
TWI758146B (zh) * 2015-03-13 2022-03-11 瑞典商杜比國際公司 解碼具有增強頻譜帶複製元資料在至少一填充元素中的音訊位元流
EP3107096A1 (en) 2015-06-16 2016-12-21 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Downscaled decoding
US10847170B2 (en) 2015-06-18 2020-11-24 Qualcomm Incorporated Device and method for generating a high-band signal from non-linearly processed sub-ranges
WO2017050398A1 (en) 2015-09-25 2017-03-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder, decoder and methods for signal-adaptive switching of the overlap ratio in audio transform coding
EP3427258B1 (en) * 2016-03-07 2021-03-31 Fraunhofer Gesellschaft zur Förderung der Angewand Error concealment unit, audio decoder, and related method and computer program using characteristics of a decoded representation of a properly decoded audio frame
JP6976277B2 (ja) * 2016-06-22 2021-12-08 ドルビー・インターナショナル・アーベー 第一の周波数領域から第二の周波数領域にデジタル・オーディオ信号を変換するためのオーディオ・デコーダおよび方法
EP3276620A1 (en) 2016-07-29 2018-01-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Time domain aliasing reduction for non-uniform filterbanks which use spectral analysis followed by partial synthesis
US10224974B2 (en) 2017-03-31 2019-03-05 Microsoft Technology Licensing, Llc Proximity-independent SAR mitigation
TWI681384B (zh) * 2018-08-01 2020-01-01 瑞昱半導體股份有限公司 音訊處理方法與音訊等化器
WO2020178321A1 (en) * 2019-03-06 2020-09-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Downmixer and method of downmixing
CN112447166A (zh) * 2019-08-16 2021-03-05 阿里巴巴集团控股有限公司 一种针对目标频谱矩阵的处理方法及装置
CN111402917B (zh) * 2020-03-13 2023-08-04 北京小米松果电子有限公司 音频信号处理方法及装置、存储介质
US11632147B2 (en) * 2020-08-13 2023-04-18 Marvell Asia Pte, Ltd. Simplified frequency-domain filter adaptation window
CN114007176B (zh) * 2020-10-09 2023-12-19 上海又为智能科技有限公司 用于降低信号延时的音频信号处理方法、装置及存储介质

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3666543A (en) * 1969-11-24 1972-05-30 Ludwig Maier Tris-(2-hydroxyalkyl)-phosphine oxide flame retardant articles
ATE92690T1 (de) * 1989-05-17 1993-08-15 Telefunken Fernseh & Rundfunk Verfahren zur uebertragung eines signals.
CN1062963C (zh) * 1990-04-12 2001-03-07 多尔拜实验特许公司 用于产生高质量声音信号的解码器和编码器
JP3277682B2 (ja) * 1994-04-22 2002-04-22 ソニー株式会社 情報符号化方法及び装置、情報復号化方法及び装置、並びに情報記録媒体及び情報伝送方法
KR100346734B1 (ko) 1995-09-22 2002-11-23 삼성전자 주식회사 고속분석필터및합성필터를구비한오디오부호화기및복호화기
US5819215A (en) 1995-10-13 1998-10-06 Dobson; Kurt Method and apparatus for wavelet based data compression having adaptive bit rate control for compression of digital audio or other sensory data
ATE269575T1 (de) 1997-01-27 2004-07-15 Entropic Res Lab Inc Ein system und verfahren zur prosodyanpassung
CN1144357C (zh) * 1998-03-04 2004-03-31 韩国电气通信公社 音频多声道处理用等间隔子带分析和合成滤波器
FI114833B (fi) * 1999-01-08 2004-12-31 Nokia Corp Menetelmä, puhekooderi ja matkaviestin puheenkoodauskehysten muodostamiseksi
US6226608B1 (en) 1999-01-28 2001-05-01 Dolby Laboratories Licensing Corporation Data framing for adaptive-block-length coding system
US6510407B1 (en) 1999-10-19 2003-01-21 Atmel Corporation Method and apparatus for variable rate coding of speech
SE0001926D0 (sv) 2000-05-23 2000-05-23 Lars Liljeryd Improved spectral translation/folding in the subband domain
US6718300B1 (en) * 2000-06-02 2004-04-06 Agere Systems Inc. Method and apparatus for reducing aliasing in cascaded filter banks
US6748363B1 (en) * 2000-06-28 2004-06-08 Texas Instruments Incorporated TI window compression/expansion method
JP2002091499A (ja) 2000-06-14 2002-03-27 Texas Instruments Inc ウインドウ圧縮/伸張方法
EP1199711A1 (en) 2000-10-20 2002-04-24 Telefonaktiebolaget Lm Ericsson Encoding of audio signal using bandwidth expansion
US6996198B2 (en) 2000-10-27 2006-02-07 At&T Corp. Nonuniform oversampled filter banks for audio signal processing
US6707869B1 (en) 2000-12-28 2004-03-16 Nortel Networks Limited Signal-processing apparatus with a filter of flexible window design
SE0101175D0 (sv) * 2001-04-02 2001-04-02 Coding Technologies Sweden Ab Aliasing reduction using complex-exponential-modulated filterbanks
US7136418B2 (en) 2001-05-03 2006-11-14 University Of Washington Scalable and perceptually ranked signal coding and decoding
US7400651B2 (en) 2001-06-29 2008-07-15 Kabushiki Kaisha Kenwood Device and method for interpolating frequency components of signal
WO2003019533A1 (fr) 2001-08-24 2003-03-06 Kabushiki Kaisha Kenwood Dispositif et procede d'interpolation adaptive de composantes de frequence d'un signal
DE10228103A1 (de) 2002-06-24 2004-01-15 Bayer Cropscience Ag Fungizide Wirkstoffkombinationen
JP3646939B1 (ja) * 2002-09-19 2005-05-11 松下電器産業株式会社 オーディオ復号装置およびオーディオ復号方法
SE0301273D0 (sv) 2003-04-30 2003-04-30 Coding Technologies Sweden Ab Advanced processing based on a complex-exponential-modulated filterbank and adaptive time signalling methods
US7563748B2 (en) 2003-06-23 2009-07-21 Cognis Ip Management Gmbh Alcohol alkoxylate carriers for pesticide active ingredients
EP1513137A1 (en) 2003-08-22 2005-03-09 MicronasNIT LCC, Novi Sad Institute of Information Technologies Speech processing system and method with multi-pulse excitation
TWI227866B (en) * 2003-11-07 2005-02-11 Mediatek Inc Subband analysis/synthesis filtering method
CN100573666C (zh) * 2003-11-26 2009-12-23 联发科技股份有限公司 子带分析/合成滤波方法
CN1270290C (zh) * 2003-11-26 2006-08-16 联发科技股份有限公司 子带分析/合成滤波方法
EP1711938A1 (en) * 2004-01-28 2006-10-18 Koninklijke Philips Electronics N.V. Audio signal decoding using complex-valued data
CA2457988A1 (en) 2004-02-18 2005-08-18 Voiceage Corporation Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization
EP1769092A4 (en) 2004-06-29 2008-08-06 Europ Nickel Plc IMPROVED LIXIVIATION OF BASE METALS
WO2006107838A1 (en) * 2005-04-01 2006-10-12 Qualcomm Incorporated Systems, methods, and apparatus for highband time warping
US7774396B2 (en) * 2005-11-18 2010-08-10 Dynamic Hearing Pty Ltd Method and device for low delay processing
US7953604B2 (en) 2006-01-20 2011-05-31 Microsoft Corporation Shape and scale parameters for extended-band frequency coding
US8036903B2 (en) * 2006-10-18 2011-10-11 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Analysis filterbank, synthesis filterbank, encoder, de-coder, mixer and conferencing system
US8452605B2 (en) 2006-10-25 2013-05-28 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for generating audio subband values and apparatus and method for generating time-domain audio samples
TW200922334A (en) 2007-11-02 2009-05-16 Univ Nat Chunghsing Low complexity frequency field motion estimation method adapted to wavelet video coding

Also Published As

Publication number Publication date
AU2007308415A1 (en) 2008-05-02
HK1119824A1 (en) 2009-03-13
EP2109098B1 (en) 2020-09-09
EP4325723A3 (en) 2024-04-17
BRPI0709310B1 (pt) 2019-11-05
PL2109098T3 (pl) 2021-03-08
AU2007308415B2 (en) 2010-08-26
MX2009004477A (es) 2009-05-13
EP2109098A3 (en) 2017-06-21
NO20084012L (no) 2009-07-22
CA2667505C (en) 2015-07-07
ATE435480T1 (de) 2009-07-15
IL197976A (en) 2014-03-31
TWI357065B (en) 2012-01-21
DK3848928T3 (da) 2023-06-19
EP2076901A1 (en) 2009-07-08
EP4207189B1 (en) 2023-11-22
CN101405791A (zh) 2009-04-08
EP3848928A1 (en) 2021-07-14
EP4300824A3 (en) 2024-03-20
PT2076901T (pt) 2017-08-23
NO20091951L (no) 2009-07-22
PT3848928T (pt) 2023-06-07
WO2008049589A1 (en) 2008-05-02
WO2008049590A1 (en) 2008-05-02
PL3848928T3 (pl) 2023-07-17
KR20090058029A (ko) 2009-06-08
EP4300825A2 (en) 2024-01-03
NO341567B1 (no) 2017-12-04
EP4300824A2 (en) 2024-01-03
NO341610B1 (no) 2017-12-11
CN101606194A (zh) 2009-12-16
MY148715A (en) 2013-05-31
BRPI0709310A2 (pt) 2011-07-05
CA2667505A1 (en) 2008-05-02
US8775193B2 (en) 2014-07-08
RU2420815C2 (ru) 2011-06-10
EP3288027B1 (en) 2021-04-07
ES2873254T3 (es) 2021-11-03
US20090319283A1 (en) 2009-12-24
TWI355649B (en) 2012-01-01
MX2008011898A (es) 2008-11-06
EP1994530A1 (en) 2008-11-26
EP2109098A2 (en) 2009-10-14
PL1994530T3 (pl) 2009-12-31
IL197976A0 (en) 2009-12-24
CA2645618A1 (en) 2008-05-02
ZA200810308B (en) 2009-12-30
EP2076901B1 (en) 2017-05-10
PL4207189T3 (pl) 2024-04-08
AR063394A1 (es) 2009-01-28
KR101056253B1 (ko) 2011-08-11
BRPI0716315A2 (pt) 2017-05-30
US8438015B2 (en) 2013-05-07
EP4300825A3 (en) 2024-03-20
EP2076901B8 (en) 2017-08-16
EP4207189A1 (en) 2023-07-05
JP2009530675A (ja) 2009-08-27
ES2631906T3 (es) 2017-09-06
EP4325723A2 (en) 2024-02-21
DE602007001460D1 (de) 2009-08-13
PT1994530E (pt) 2009-10-09
RU2411645C2 (ru) 2011-02-10
HK1251073A1 (zh) 2019-01-18
EP3288027A1 (en) 2018-02-28
CN101405791B (zh) 2012-01-11
US20130238343A1 (en) 2013-09-12
RU2008137468A (ru) 2010-03-27
KR100957711B1 (ko) 2010-05-12
PL3288027T3 (pl) 2021-10-18
FI3848928T3 (fi) 2023-06-02
EP3848928B1 (en) 2023-03-15
EP4325724A2 (en) 2024-02-21
EP4207189C0 (en) 2023-11-22
NO20170452A1 (no) 2009-07-22
IL193786A (en) 2011-11-30
DK1994530T3 (da) 2009-08-31
RU2009119456A (ru) 2010-11-27
PT3288027T (pt) 2021-07-07
AU2007308416B2 (en) 2010-07-08
PL2076901T3 (pl) 2017-09-29
ES2328187T3 (es) 2009-11-10
TW200836166A (en) 2008-09-01
ES2966657T3 (es) 2024-04-23
MY142520A (en) 2010-12-15
EP4325724A3 (en) 2024-04-17
JP2010507820A (ja) 2010-03-11
ES2834024T3 (es) 2021-06-16
CN101606194B (zh) 2012-06-27
AU2007308416A1 (en) 2008-05-02
PT2109098T (pt) 2020-12-18
HUE064482T2 (hu) 2024-03-28
ZA200902199B (en) 2010-04-28
EP1994530B1 (en) 2009-07-01
KR20080102222A (ko) 2008-11-24
TW200837719A (en) 2008-09-16
NO342691B1 (no) 2018-07-09
US20100023322A1 (en) 2010-01-28
JP4936569B2 (ja) 2012-05-23
CA2645618C (en) 2013-01-22
JP5083779B2 (ja) 2012-11-28
US8452605B2 (en) 2013-05-28
AR063400A1 (es) 2009-01-28

Similar Documents

Publication Publication Date Title
ES2947516T3 (es) Aparato y procedimiento para la generación de valores de subbanda de audio de valor complejo