ES2328187T3 - Aparato y metodo para generar valores de subbanda de audio y aparato ymetodo para generar muestras de audio de dominio de tiempo. - Google Patents

Aparato y metodo para generar valores de subbanda de audio y aparato ymetodo para generar muestras de audio de dominio de tiempo. Download PDF

Info

Publication number
ES2328187T3
ES2328187T3 ES07819260T ES07819260T ES2328187T3 ES 2328187 T3 ES2328187 T3 ES 2328187T3 ES 07819260 T ES07819260 T ES 07819260T ES 07819260 T ES07819260 T ES 07819260T ES 2328187 T3 ES2328187 T3 ES 2328187T3
Authority
ES
Spain
Prior art keywords
window
coefficients
samples
audio
function
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
ES07819260T
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 ES2328187T3 publication Critical patent/ES2328187T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal 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)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (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)
  • Developing Agents For Electrophotography (AREA)
  • External Artificial Organs (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
  • Peptides Or Proteins (AREA)
  • Materials For Photolithography (AREA)

Abstract

Aparato para generar valores de subbanda de audio en canales de subbanda de audio, que comprende: un divisor (110) en ventanas de análisis para dividir en ventanas una trama (120) de muestras de entrada de audio de dominio de tiempo que están en una secuencia de tiempo que se extiende desde una muestra temprana hasta una muestra posterior usando una función (190) de ventana de análisis que comprende una secuencia de coeficientes de ventana para obtener muestras divididas en ventanas, comprendiendo la función de ventana de análisis un primer número de coeficientes de ventana derivados de una función de ventana más grande que comprende una secuencia de un segundo número de coeficientes de ventana más grande, en el que los coeficientes de ventana de la función de ventana se derivan mediante una interpolación de coeficientes de ventana de la función de ventana más grande; y en el que el segundo número es un número par; y una calculadora (170) para calcular los valores de subbanda de audio usando las muestras divididas en ventanas.

Description

Aparato y método para generar valores de subbanda de audio y aparato y método para generar muestras de audio de dominio de tiempo.
Campo técnico
Las realizaciones de la presente invención se refieren a un aparato y a un método para generar valores de subbanda de audio, a un aparato y a un método para generar muestras de audio de dominio de tiempo y sistemas que comprenden cualquiera de los aparatos anteriormente mencionados, que pueden implementarse por ejemplo en el campo de la codificación de audio, decodificación de audio modernas u otras aplicaciones relacionadas con la transmisión de audio.
El procesamiento de audio digital moderno se basa normalmente en esquemas de codificación que permiten una reducción significativa en cuanto a tasas de bits, anchos de banda de transmisión y espacio de almacenamiento en comparación con una transmisión y almacenamiento directos de los respectivos datos de audio. Esto se consigue codificando los datos de audio en el lado del emisor y decodificando los datos codificados en el lado del receptor, por ejemplo, antes de proporcionar los datos de audio decodificados a un oyente o a un procesamiento de señal adicional.
Los sistemas de procesamiento de audio digital de este tipo pueden implementarse con respecto a una gran variedad de parámetros, que normalmente influyen en la calidad de los datos de audio transmitidos o procesados de otro modo, por un lado, y la eficacia computacional, los anchos de banda y otros parámetros relacionados con el rendimiento, por otro lado. Muy a menudo, calidades más altas requieren tasas de bits más altas, una complejidad computacional aumentada y un mayor requisito de almacenamiento, para los datos de audio codificados correspondientes. Por lo tanto, dependiendo de la aplicación prevista, los factores como tasas de bits permitidas, una complejidad computacional aceptable y cantidades aceptables de datos deben estar equilibrados con una calidad deseable y alcanzable.
Un parámetro adicional, que es especialmente importante en aplicaciones en tiempo real tal como una comunicación bidireccional o una monodireccional, el retardo impuesto por los diferentes esquemas de codificación también puede desempeñar un papel importante. En consecuencia, el retardo impuesto por la codificación y decodificación de audio plantea una limitación adicional en cuanto a los parámetros mencionados anteriormente cuando se equilibran las necesidades y los costes de los diferentes esquemas de codificación con un campo de aplicación específico previsto. Puesto que tales sistemas de audio digital pueden aplicarse en muchos campos diferentes de aplicaciones, que varían desde transmisión de calidad ultrabaja hasta una transmisión de calidad superior, con frecuencia se imponen diferentes parámetros y diferentes limitaciones en los sistemas de audio respectivos. En algunas aplicaciones, un retardo inferior puede requerir por ejemplo una tasa de bits más alta y, por lo tanto, un ancho de banda de transmisión aumentado en comparación con un sistema de audio con un retardo más alto, como nivel de calidad comparable.
Sin embargo, en muchos casos, tiene que adoptarse un equilibrio en cuanto a diferentes parámetros tales como la tasa de bits, complejidad computacional, requisitos de memoria, calidad y retardo.
El documento US 6.748.363 B1 se refiere a un método de compresión/expansión de ventana de TI. El documento describe una tecnología propietaria para comprimir las tablas de ventana de codificadores de audio a 1/8 de su tamaño original (o menos) sin ninguna pérdida de calidad. La técnica para reducir los requisitos de almacenamiento para las tablas de ventana de codificadores de audio está basada en diferenciación múltiple. Puesto que la diferencia entre cualquiera de dos muestras adyacentes en la primera señal de diferencia es pequeña, así es más eficaz almacenar esta diferencia. Esta técnica puede llevarse a cabo varias veces más, hasta que los retornos disminuyan, y los requisitos computacionales para deshacer la compresión aumenten. El número óptimo de veces para diferenciar depende de la aplicación particular y de la conformación de la ventana.
El documento US 2005/102150 A1 se refiere a un método de filtrado de análisis/síntesis de subbanda. El documento describe un método de codificación/decodificación de audio que puede codificar una señal de fuente de audio y decodificar una pluralidad de muestras de subbanda para generar una señal de fuente de audio digital. Durante el proceso de codificación, el método genera una suma según P muestras de audio divididas en ventanas según 2P intervalos de dominio de tiempo, genera una suma de una primera a una suma de orden (M-1) según 2P muestras de audio divididas en ventanas según los 2P intervalos de dominio de tiempo y calcula M muestras de subbanda según las M sumas. Durante el proceso de decodificación, el método lee M muestras de subbanda a partir de una pluralidad de muestras de subbanda correspondientes a un primer índice de un valor variado para generar una señal de fuente de audio digital con una transformada de coseno discreta modificada inversa y una operación sintética.
El documento US 6.707.869 B1 se refiere a un aparato de procesamiento de señal con un filtro de diseño de ventana flexible. El documento describe un filtro para aplicar una función de ventana a una señal digital. El filtro tiene una memoria para almacenar un conjunto básico de valores que representan una ventana única. Un adaptador puede generar a partir de este conjunto básico una pluralidad de conjuntos adaptados de valores, donde los conjuntos adaptados de valores definen funciones de ventana que tienen diferentes tamaños de ventana. El adaptador tiene una entrada para recibir una señal de control que permite al adaptador seleccionar el conjunto adaptado apropiado para adaptarse a la señal digital que está procesándose. La aplicación de la función de ventana se realiza en tramas sucesivas de la señal digital usando el conjunto adaptado de valores generado por el adaptador en respuesta a la señal de control.
El documento EP 1 160 977 A se refiere a un método y aparato para reducir la distorsión en bancos de filtros en cascada. El documento describe un método y aparato para reducir la distorsión entre subbandas vecinas en bancos de filtros en cascada. Se incluye un banco de filtros de reducción de distorsión para reducir las componentes de distorsión entre diferentes subbandas. Generalmente, la fase y respuesta de magnitud del banco de filtros de reducción de distorsión es similar a la respuesta de magnitud del banco de filtros de síntesis del banco de filtros de primera fase. El banco de filtros de reducción de distorsión filtra y añade las señales procedentes de un conjunto de M2 subbandas a partir de las M1 subbandas del banco de filtros de análisis de primera fase. Una resolución de frecuencia más alta se obtiene después de la fase de reducción de distorsión mediante un banco de filtros de análisis posterior. Las señales de estas subbandas se alimentan en primer lugar a un banco de filtros de reducción de distorsión para reducir la distorsión. Si el banco de filtros de primera fase es un banco de filtros uniforme modulado con M1 bandas, y la fase para la reducción de distorsión tiene M2 bandas, entonces para obtener la cancelación de la distorsión, el banco de filtros de reducción de distorsión debe tener una respuesta de frecuencia similar a la del banco de filtros de síntesis para la primera fase, pero con la frecuencia ajustada a escala por la relación de las tasas de muestreo, M1/M2. Después de la fase de filtro de reducción de distorsión, sigue un banco de filtros de análisis para obtener una resolución de frecuencia más alta. Un banco de filtros de síntesis para el banco de filtros de análisis de primera fase puede hacerse menos denso manteniendo sólo cada subestructura de orden M1/M2 para obtener el banco de filtros de reducción de distorsión.
El documento US 5.809.474 A se refiere a un codificador de audio que adopta un algoritmo de filtrado de análisis de alta velocidad y a un decodificador de audio que adopta un algoritmo de filtrado de síntesis de alta velocidad. El documento describe un codificador/decodificador de audio que adopta un algoritmo de filtrado de análisis de alta velocidad. El codificador de audio tiene una unidad de mapeo para clasificar una señal de audio recibida según una banda de frecuencia usando el algoritmo de filtrado de análisis de banda de alta velocidad, un modelo psicoacústico para asignar bits a cada banda de frecuencia usando características psicoacústicas, una unidad de cuantificación y codificación para cuantificar y codificar la señal mapeada según el número de bits asignado a cada banda de frecuencia, y una unidad de empaquetado de trama para generar un flujo de bits a partir de una salida de señal de dicha unidad de cuantificación y codificación. El decodificador de audio tiene una unidad de desempaquetado de trama para desempaquetar una señal a partir de un flujo de bits codificado y recibido, una unidad de decodificación y cuantificación inversa para decodificar y cuantificar de manera inversa dicha señal cuantificada, y una unidad de mapeo inverso para mapear de manera inversa en tiempo/frecuencia la señal cuantificada de manera inversa usando el algoritmo de filtrado de síntesis de banda de alta velocidad.
Sumario
Según una realización de la presente invención, un aparato para generar valores de subbanda de audio en canales de subbanda de audio comprende un divisor en ventanas de análisis para dividir en ventanas una trama de muestras de entrada de audio de dominio de tiempo que están en una secuencia de tiempo que se extiende desde una muestra temprana hasta una muestra posterior usando una función de ventana de análisis que comprende una secuencia de coeficientes de ventana para obtener muestras divididas en ventanas, comprendiendo la función de ventana de análisis un primer número de coeficientes de ventana derivados de una función de ventana más grande que comprende una secuencia de un segundo número de coeficientes de ventana más grande, en el que los coeficientes de ventana de la función de ventana se derivan mediante una interpolación de coeficientes de ventana de la función de ventana más grande, en el que el segundo número es un número par, y una calculadora para calcular los valores de subbanda de audio usando las muestras divididas en ventanas.
Según una realización de la presente invención, un aparato para generar muestras de audio de dominio de tiempo comprende una calculadora para calcular una secuencia de muestras de dominio de tiempo intermedias a partir de valores de subbanda de audio en canales de subbanda de audio, comprendiendo la secuencia muestras de dominio de tiempo intermedias más tempranas y muestras de dominio de tiempo posteriores, un divisor en ventanas de síntesis para dividir en ventanas la secuencia de muestras de dominio de tiempo intermedias usando una función de ventana de síntesis que comprende una secuencia de coeficientes de ventana para obtener muestras de dominio de tiempo intermedias divididas en ventanas, comprendiendo la función de ventana de síntesis un primer número de coeficientes de ventana derivados de una función de ventana más grande que comprende una secuencia de un segundo número de coeficientes de ventana más grande, en el que los coeficientes de ventana de la función de ventana se derivan mediante una interpolación de coeficientes de ventana de la función de ventana más grande, y en el que el segundo número es par y una fase de salida de sumador-solapamiento para procesar las muestras de dominio de tiempo intermedias divididas en ventanas para obtener las muestras de dominio de tiempo.
Breve descripción de los dibujos
Realizaciones de la presente invención se describen posteriormente en el presente documento, haciendo referencia a los dibujos adjuntos.
La figura 1 muestra un diagrama de bloques de una realización de un aparato para generar valores de subbanda de audio;
la figura 2a muestra un diagrama de bloques de una realización de un aparato para generar muestras de audio de dominio de tiempo;
la figura 2b ilustra un principio funcional según una realización de la presente invención en la forma de un aparato para generar muestras de dominio de tiempo;
la figura 3 ilustra el concepto de interpolación de coeficientes de ventana según una realización de la presente invención;
la figura 4 ilustra la interpolación de coeficientes de ventana en el caso de una función de ventana de seno;
la figura 5 muestra un diagrama de bloques de una realización de la presente invención que comprende un decodificador de SBR y un codificador de SBR;
la figura 6 ilustra las fuentes de retardo de un sistema de SBR;
la figura 7a muestra un diagrama de flujo de una realización de un método para generar valores de subbanda de audio;
la figura 7b ilustra una etapa de la realización del método mostrado en la figura 7a;
la figura 7c muestra un diagrama de flujo de una realización de un método para generar valores de subbanda de audio;
la figura 8a muestra un diagrama de flujo de un ejemplo comparativo de un método para generar muestras de dominio de tiempo;
la figura 8b muestra un diagrama de flujo de un ejemplo comparativo de un método para generar muestras de dominio de tiempo;
la figura 8c muestra un diagrama de flujo de una realización de un método para generar muestras de dominio de tiempo;
la figura 8d muestra un diagrama de flujo de otra realización de un método para generar muestras de dominio de tiempo;
la figura 9a muestra una implementación posible de un ejemplo comparativo de un método para generar valores de subbanda de audio;
la figura 9b muestra una implementación posible de una realización de un método para generar valores de subbanda de audio;
la figura 10a muestra una implementación posible de un ejemplo comparativo de un método para generar muestras de dominio de tiempo;
la figura 10b muestra otra implementación posible de una realización de un método para generar muestras de dominio de tiempo;
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 de seno;
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 prototipo QMF de SBR;
la figura 13 ilustra los diferentes retardos provocados por la función de ventana y la función de filtro prototipo mostrada en la figura 12;
la figura 14a muestra una tabla que ilustra diferentes 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 otra tabla que comprende detalles referentes al retardo de diferentes componentes de diferentes códecs;
la figura 15a muestra una comparación de una respuesta de frecuencia de un aparato basándose en una función de ventana según una realización de la presente invención y un aparato basándose en una función de ventana de seno;
la figura 15b muestra un primer plano de la respuesta de frecuencia mostrada en la figura 15a;
la figura 16a muestra una comparación de la respuesta de frecuencia de 4 funciones de ventana diferentes;
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 una respuesta de frecuencia de dos funciones de ventana diferentes, 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;
la figura 18 muestra de manera esquemática la propiedad de enmascaramiento temporal general del oído humano; y
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 códec HEAAC y una señal de tiempo basándose en códec que comprende una realización de la presente invención.
Descripción detallada de las realizaciones
Las figuras 1 a 19 muestran diagramas de bloques y otros diagramas que describen las propiedades funcionales y las características de diferentes realizaciones de aparatos y métodos para generar valores de subbanda de audio, de aparatos y métodos para generar muestras de dominio de tiempo y sistemas que comprenden al menos uno de los aparatos o métodos mencionados anteriormente. Sin embargo, antes de describir una primera realización de la presente invención con más detalle, debe observarse que las realizaciones de la presente invención pueden implementarse en hardware y en software. Por lo tanto, las implementaciones descritas en cuanto a diagramas de bloques de implementaciones de hardware de realizaciones respectivas pueden considerarse también como diagramas de flujo de una realización apropiada de un método correspondiente. Asimismo, un diagrama de flujo que describe una realización de la presente invención puede considerarse como un diagrama de bloques de una implementación de hardware correspondiente.
En lo sucesivo, van a describirse implementaciones de bancos de filtros, que pueden implementarse 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 para generar valores de subbanda de audio en canales de subbanda de audio basándose en muestras (de entrada) de audio de dominio de tiempo que están en una secuencia de tiempo que se extiende desde una muestra temprana hasta una muestra posterior. En otras palabras, el término banco de filtros de análisis puede usarse como sinónimo para una realización de la presente invención en la forma de un aparato para generar valores de subbanda de audio. Por consiguiente, un banco de filtros de síntesis es un banco de filtros para generar muestras de audio de dominio de tiempo a partir de valores de subbanda de audio en canales de subbanda de audio. En otras palabras, el término banco de filtros de síntesis puede usarse como sinónimo para una realización según la presente invención en la forma de un aparato para generar muestras de audio de dominio de tiempo.
Tanto un banco de filtros de análisis como un banco de filtros de síntesis, a los que también se hace referencia para abreviar como bancos de filtros, pueden implementarse, por ejemplo, como bancos de filtros modulados. Los bancos de filtros modulados, ejemplos y realizaciones de los cuales se comentarán con más detalle posteriormente, están basados en oscilaciones que tienen frecuencias que están basadas en o que se derivan a partir de frecuencias centrales de subbandas correspondientes en el dominio de frecuencia. El término "modulado" se refiere en este contexto al hecho de que las oscilaciones mencionadas anteriormente se usan en el contexto con una función de ventana o una función de filtro prototipo, dependiendo de la implementación concreta de un banco de filtros modulado de este tipo. Los bancos de filtros modulados pueden basarse en principio en oscilaciones de valor real tales como una oscilación armónica (oscilación de seno u oscilación de coseno) u oscilaciones de valor complejo correspondientes (oscilaciones exponenciales complejas). Por consiguiente, se hace referencia a los bancos de filtros modulados como bancos de filtros modulados reales o bancos de filtros modulados de filtros complejos, respectivamente.
En la descripción siguiente se describirán con más detalle realizaciones de la presente invención en la forma de bancos de filtros de retardo bajo modulados complejos y bancos de filtros de retardo bajo modulados reales y métodos e implementaciones de software correspondientes. Una de las aplicaciones principales de tales bancos de filtros de retardo bajo modulados es una integración en un sistema de replicación de banda espectral de retardo bajo (SBR), que se basa actualmente en usar un banco de filtros QMF complejo con un filtro prototipo simétrico (QMF = Quadrature Mirror Filter, filtro de espejo en cuadratura).
Tal como será evidente en el marco de la presente descripción, una implementación de bancos de filtros de retardo bajo según realizaciones de la presente invención proporcionará la ventaja de un equilibrio mejorado entre complejidad computacional, respuesta de frecuencia, propagación de ruido temporal y calidad (de reconstrucción). Además, puede conseguirse un equilibrio mejorado entre retardo y calidad de reconstrucción basándose en un enfoque para usar las denominadas técnicas de retardo cero para extender la respuesta de impulso de filtro de los bancos de filtros respectivos sin introducir retardo adicional. Un retardo inferior a un nivel de calidad predefinido, una mejor calidad a un nivel de retardo predefinido o una mejora simultánea tanto del retardo como de la calidad, pueden conseguirse empleando 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.
Realizaciones de la presente invención se basan en el descubrimiento de que estas mejoras pueden conseguirse empleando un esquema de interpolación para obtener una función de ventana que tiene un primer número de coeficientes de ventana basándose en una función de ventana que tiene un segundo número de coeficientes de ventana más grande. Empleando un esquema de interpolación, puede conseguirse una distribución mejorada de los valores de energía de los coeficientes de ventana de las funciones de ventana. Esto lleva en muchos casos a un nivel de distorsión mejorado y a una mejora con respecto a la calidad de audio. Por ejemplo, cuando la función de ventana más grande comprende un número par de coeficientes de ventana, puede ser útil un esquema de interpolación.
La complejidad computacional aumenta sólo ligeramente empleando un esquema de interpolación. Sin embargo, este ligero aumento no sólo se compensa mediante la mejora respecto a la calidad sino también por los ahorros resultantes relativos al uso de memoria reducido cuando se compara la situación con dos funciones de ventana separadas que se almacenan por separado. Aunque la interpolación puede llevarse a cabo en uno o unos pocos ciclos de la señal de reloj de un procesador en una implementación, en muchos casos llevando a un retardo insignificante y a una complejidad computacional aumentada, el requisito de memoria adicional puede ser extremadamente importante en muchas aplicaciones. Por ejemplo, en el caso de aplicaciones móviles, la memoria puede estar limitada, especialmente cuando se emplean funciones de ventana largas que tienen un número de coeficientes de ventana significativo.
Además, pueden usarse realizaciones según la presente invención en el contexto con una nueva función de ventana para cualquiera de los dos bancos de filtros descritos anteriormente, mejorando adicionalmente los equilibrios mencionados anteriormente. La calidad y/o el retardo pueden mejorarse adicionalmente en el caso de un banco de filtros de análisis empleando 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 de los coeficientes de ventana en la primera parte es más alto que un valor de energía de los coeficientes de ventana de la segunda parte. El primer grupo de coeficientes de ventana se usa para dividir en ventanas muestras de dominio de tiempo posteriores y el segundo grupo de coeficientes de ventana se usa para muestras de dominio de tiempo más tempranas divididas en ventanas. Esta forma de la función de ventana proporciona la oportunidad de procesar muestras de dominio de tiempo con coeficientes de ventana que tienen valores más altos de energía antes. Esto es un resultado de la distribución de coeficientes de ventana descrita para las dos partes y su aplicación a la secuencia de muestras de audio de dominio de tiempo. En consecuencia, el empleo de una función de ventana de este tipo puede reducir el retardo introducido por el banco de filtros a un nivel de calidad constante o permite un nivel de calidad mejorada basándose en un nivel de retardo constante.
Por consiguiente, en el caso de una realización de la presente invención en la forma de un aparato para generar muestras de audio de dominio de tiempo y un método correspondiente, un divisor en ventanas de síntesis puede usar una función de ventana de síntesis, que comprende una secuencia de coeficientes de ventana ordenados de manera 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 o un valor de energía global de un coeficiente de ventana en la primera parte es más alto que un valor de energía o un valor de energía global de un coeficiente de ventana de una segunda parte, en la que la primera parte comprende menos coeficientes de ventana que la segunda parte. Debido a esta distribución de los coeficientes de ventana entre las dos partes y al hecho de que el divisor en ventanas de síntesis utiliza la primera parte de coeficientes de divisor en ventanas para dividir en ventanas muestras de dominio de tiempo posteriores y la segunda parte de coeficientes de ventana para dividir en ventanas muestras de dominio de tiempo más tempranas, los efectos y las ventajas descritos anteriormente también se aplican a un banco de filtros de síntesis o a una realización correspondiente de un método.
Descripciones detalladas de funciones de ventana de síntesis y funciones de ventana de análisis empleadas en el marco de algunas realizaciones de la presente invención se describirán posteriormente con más detalle. 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 comprenden 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.
Cada uno de los dos grupos comprende exactamente una parte de la secuencia de coeficientes de ventana en 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 realizaciones según la presente invención, cada uno de los dos grupos (el primero y el segundo grupo) comprende exactamente una parte de la secuencia de los coeficientes de ventana de la manera anteriormente explicada. Los grupos respectivos de coeficientes de ventana no comprenden ningún coeficiente de ventana que no pertenezca exactamente a la parte del grupo respectivo. En otras palabras, en muchas realizaciones de la presente invención, cada uno del primer y el segundo grupo de coeficientes de ventana comprende sólo la primera parte y la segunda parte de coeficientes de ventana sin que comprenda coeficientes de ventana adicionales.
En el marco de la presente descripción, una parte consecutiva de la secuencia de coeficientes de ventana debe entenderse 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ía en un intervalo (por ejemplo intervalo de índices) de los coeficientes de ventana de la parte respectiva. En consecuencia, 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 del primer grupo o el segundo grupo de coeficientes de ventana. En estos casos, cada coeficiente de ventana comprendido en el primer grupo de coeficientes de ventana está dispuesto o bien 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 los coeficientes de ventana.
\newpage
Dicho aún de otro modo, en muchas realizaciones según la presente invención la secuencia de coeficientes de ventana se divide exactamente en dos grupos o partes sin excluir ningún coeficiente de ventana. Según la secuencia de los coeficientes de ventana, que también representa un orden de estos, cada uno de los dos grupos o partes comprende todos los coeficientes de ventana hasta (pero excluyendo) o comenzando a partir de (incluyendo) un coeficiente de ventana límite. Como ejemplo, la primera parte o primer grupo puede comprender coeficientes de ventana que tengan índices desde 0 hasta 95 y desde 96 hasta 639 en el caso de una función de ventana que comprenda 640 coeficientes de ventana (que tenga índices de 0 a 639). En este caso, el coeficiente de ventana límite sería el correspondiente al índice 96. Naturalmente, también son posibles otros ejemplos (por ejemplo 0 a 543 y 544 a 639).
La implementación detallada ejemplificada de un banco de filtros de análisis descrita en lo sucesivo proporciona una longitud de filtro que cubre 10 bloques de muestras de entrada mientras provocan un retardo de sistema de sólo 2 bloques, que es el retardo correspondiente según se introduce mediante una MDCT (modified discrete cosine transform, transformada de coseno discreta modificada) o una MDST (modified discrete sine transform, transformada de seno discreta modificada). Una diferencia se debe a la mayor longitud de filtro que cubre 10 bloques de muestras de entrada en comparación con una implementación de una MDCT o MDST de modo que el solapamiento aumenta de 1 bloque en el caso de MDCT y MDST a un solapamiento de 9 bloques. Sin embargo, también pueden realizarse otras implementaciones que cubran un número diferente de bloques de muestras de entrada, a las que también se hace referencia como muestras de entrada de audio.
Además, también pueden considerarse e implementarse otros equilibrios.
La figura 1 muestra un diagrama de bloques de un banco 100 de filtros de análisis como una realización de un aparato para generar valores de subbanda de audio en canales de subbanda de audio. El banco 100 de filtros de análisis comprende un divisor 110 en ventanas de análisis para dividir en ventanas una trama 120 de muestras de entrada de audio de dominio de tiempo. La trama 120 comprende T bloques 130-1, ..., 130-T bloques de muestras (de entrada) de audio de dominio de tiempo, donde 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 también un número diferente de bloques 130.
Tanto la trama 120 como cada uno de los bloques 130 comprende muestras de entrada de audio de dominio de tiempo en una secuencia de tiempo que se extiende desde una muestra temprana hasta una muestra posterior según una línea de tiempo tal como indica una flecha 140 en la figura 1. En otras palabras, en la ilustración tal como se muestra en la figura 1, cuanto más a la derecha esté la muestra de audio de dominio de tiempo, que en este caso es también una muestra de entrada de audio de dominio de tiempo, más posterior es la correspondiente muestra de audio de dominio de tiempo con respecto a la secuencia de la muestra de audio de dominio de tiempo.
El divisor 110 en ventanas de análisis genera, basándose en la secuencia de muestras de audio de dominio de tiempo, muestras divididas en ventanas en el dominio de tiempo, que están dispuestas en una trama 150 de muestras divididas en ventanas. Según la trama 120 de muestras de entrada de audio de dominio de tiempo, también la trama de muestras 150 divididas en ventanas comprende T bloques de muestras 160-1, ..., 160-T divididas en ventanas. En realizaciones preferidas de la presente invención cada uno de los bloques de muestras 160 divididas en ventanas comprende el mismo número de muestras divididas en ventanas que el número de muestras de entrada de audio de dominio de tiempo de cada bloque 130 de muestras de entrada de audio de dominio de tiempo. Por lo tanto, cuando cada uno de los bloques 130 comprende N muestras de audio de entrada de dominio de tiempo, la trama 120 y la trama 150 comprenden cada una T - N muestras. En este caso, N es un número entero positivo, que puede adquirir, por ejemplo, los valores de 32 ó 64. Para T - 10, las tramas 120, 150 comprenden cada una 320 y 640, respectivamente, en el caso anterior.
La ventana 110 de análisis está acoplada a una calculadora 170 para calcular los valores de subbanda de audio basándose en las muestras divididas en ventanas proporcionadas por el divisor 110 en ventanas de análisis. Los valores de subbanda de audio se proporcionan por la calculadora 170 como un bloque 180 de valores de subbanda de audio, donde cada uno de los valores de subbanda de audio corresponde con 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.
Cada uno de los canales de subbanda de audio corresponde con una frecuencia central característica. Las frecuencias centrales de los diferentes canales de subbanda de audio pueden, por ejemplo, estar distribuidos de manera igualitaria o separados de manera igualitaria con respecto al ancho de banda de frecuencia de la señal de audio correspondiente tal como se describe por las muestras de entrada de audio de dominio de tiempo proporcionadas al banco 100 de filtros de análisis.
El divisor 110 en ventanas de análisis está adaptado para dividir en ventanas la entrada de audio de dominio de tiempo, comprendiendo muestras de la trama 120 basadas en una función de ventana de análisis una secuencia de coeficientes de ventana que tiene un primer número de coeficientes de ventana para obtener las muestras divididas en ventanas de la trama 150. La ventana 110 de análisis está adaptada para realizar la división en ventanas de la trama de muestras 120 de audio de dominio de tiempo multiplicando los valores de las muestras de audio de dominio de tiempo con los coeficientes de ventana de la función de ventana de análisis. En otras palabras, la división en ventanas comprende una multiplicación elemento a elemento de las muestras de audio de dominio de tiempo con un coeficiente de ventana correspondiente. Como tanto la trama 120 de muestras de audio de dominio de tiempo como los coeficientes de ventana comprenden una secuencia correspondiente, la multiplicación elemento a elemento de los coeficientes de ventana y las muestras de audio de dominio de tiempo se lleva a cabo según las secuencias respectivas, por ejemplo, tal como indica un índice de muestra y de coeficiente de ventana.
En realizaciones de la presente invención, las funciones de ventana usadas para dividir en ventanas la trama de muestras de entrada de audio de dominio de tiempo se generan basándose en una función de ventana más grande que comprende un segundo número de coeficientes de ventana más grande empleando un esquema de interpolación tal como se comenta, por ejemplo, en el contexto de las figuras 3 y 4. La función de ventana más grande comprende normalmente un número par de coeficientes de ventana y puede, por ejemplo, ser asimétrica con respecto a la secuencia de coeficientes de ventana. También pueden emplearse funciones de ventana simétricas.
La función 190 de ventana usada para dividir en ventanas la trama 120 de muestras de entrada de dominio de tiempo se obtiene, por ejemplo, mediante el divisor 110 en ventanas de análisis o el banco 100 de filtros interpolando los coeficientes de ventana de la función de ventana más grande. En realizaciones según la presente invención, esto se lleva a cabo, por ejemplo, interpolando coeficientes de ventana consecutivos de la función de ventana más grande. En este caso puede emplearse un esquema de interpolación lineal, uno polinómico o uno basado en spline (ajuste de curvas mediante polinomios del mismo grado).
Cuando, por ejemplo, cada coeficiente de ventana de la función de ventana más grande se utiliza una vez para generar un coeficiente de ventana de la función de ventana y el segundo número es par, el número de coeficientes de ventana de la función 190 de ventana (primer número) es la mitad del segundo número. Una interpolación de este tipo puede estar basada en una interpolación lineal, un ejemplo de la cual se comentará en el contexto de la ecuación (15) posteriormente. Sin embargo, también pueden emplearse otros esquemas de interpolación tal como se ha comentado.
En realizaciones de la presente invención en la forma de un banco 100 de filtros de análisis 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, pueden comprender por ejemplo sólo coeficientes divididos en ventanas de valor real. En otras palabras, cada uno de los coeficientes de ventana atribuidos a un índice de coeficiente de ventana es un valor real.
Los coeficientes de ventana forman juntos la función de ventana respectiva, un ejemplo de la cual se muestra en la figura 1 como una función 190 de ventana de análisis. En lo sucesivo, se considerarán funciones de ventana, que permiten una reducción del retardo cuando se usan en el contexto de los bancos de filtros descritos. Sin embargo, las realizaciones de la presente invención no se limitan a tales funciones de ventana de retardo bajo.
La secuencia de coeficientes de ventana que forman la función 190 de ventana de análisis 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 en el primer grupo 200, forman toda la secuencia de coeficientes de ventana de la función 190 de ventana de análisis. Además, cada coeficiente de ventana de la secuencia de coeficientes de ventana pertenece o bien a la primera parte o a la segunda parte de coeficientes de ventana de modo que toda la función 190 de ventana de análisis está constituida por el coeficiente de ventana de la primera parte y de 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 indican las flechas 200, 210 correspondientes en la figura 1.
El número de coeficientes de ventana en el primer grupo 200 de la primera parte de coeficientes de ventana es menor que el 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 o un valor total de energía de los coeficientes de ventana en el primer grupo 200 es más alto que un valor de energía o valor total de energía de los coeficientes de ventana en el segundo grupo 210. Tal como se comentará 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.
En realizaciones según la presente invención, la función 190 de ventana de análisis así como una función de ventana de síntesis correspondiente puede ser por lo tanto asimétrica con respecto a la secuencia de coeficientes de ventana o un índice de un coeficiente de ventana. Basándose en un conjunto de definición de índices de coeficiente de ventana sobre el que se define la función 190 de ventana de análisis, la función 190 de ventana de análisis es asimétrica, cuando para todos los números reales n existe un número real adicional no de modo que el valor absoluto de coeficiente de ventana correspondiente al coeficiente de ventana del índice de coeficiente de ventana (no - n) no es igual al valor absoluto del coeficiente de ventana correspondiente al índice de coeficiente de ventana (no + n), cuando (n_{0} - n) y (no + n) pertenecen al conjunto de definición.
Además, tal como se muestra también esquemáticamente en la figura 1, la función 190 de ventana de análisis comprende cambios de signo en los que el producto de dos coeficientes de ventana consecutivos es negativo. Más detalles y características adicionales de funciones de ventana posibles según realizaciones de la presente invención se analizarán con más detalle en el contexto de las figuras 11 a 19.
Tal como se indicó anteriormente, la trama de muestras 150 divididas en ventanas comprende una estructura de bloque similar con bloques 160-1, ..., 160-T individuales como la trama 120 de muestras de entrada de dominio de tiempo individuales. Como el divisor 110 en ventanas de análisis está adaptado para dividir en ventanas las muestras de entrada de audio de dominio de tiempo multiplicando estos valores con los coeficientes de ventana de la función 190 de ventana de análisis, la trama 150 de muestras divididas en ventanas está también en el dominio de tiempo. La calculadora 170 calcula los valores de subbanda de audio, o para ser más precisos, el bloque 180 de valores de subbanda de audio usando la trama 150 de muestras divididas en ventanas y realiza una transferencia desde el dominio de tiempo al dominio de frecuencia. La calculadora 170 puede considerarse por lo tanto que es un convertidor de 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 divididas en ventanas.
Cada valor de subbanda de audio del bloque 180 corresponde con una subbanda que tiene una frecuencia característica. El número de valores de subbanda de audio comprendido en el bloque 180 también se denomina a veces número de banda.
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 de dominio de tiempo de cada uno de los bloques 130 de la trama 120. En el caso de que la trama 150 de muestras divididas en ventanas comprenda la misma estructura bloque a bloque que la trama 120 de modo que cada uno de los bloques 160 de muestras divididas en ventanas también comprenda el mismo número de muestras divididas en ventanas que el bloque de estas muestras 130 de entrada de audio de dominio de tiempo, el bloque 180 de valores de subbanda de audio naturalmente también comprende el mismo número que el bloque 160.
La trama 120 puede generarse opcionalmente, basándose en un bloque de muestras 220 de entrada de audio de dominio de tiempo recientes desplazando los bloques 130-1, ..., 130-(T-1) un bloque en el sentido opuesto a la flecha 140 que indica el sentido del tiempo. De ese modo, una trama 120 de muestras de entrada de audio de dominio de tiempo que va a procesarse se genera desplazando los (T-1) bloques más recientes de una trama 120 de muestras de audio de dominio de tiempo directamente precedente un bloque hacia las muestras de audio de dominio de tiempo más tempranas y añadiendo el bloque 220 reciente de muestras de audio de dominio de tiempo recientes como el nuevo bloque 130-1 que comprende las muestras de audio de dominio de tiempo más recientes de la trama 120 actual. En la figura 1 esto se indica también mediante una serie de flechas 230 discontinuas que indican el desplazamiento de los bloques 130-1, ..., 130-(T-1) en el sentido opuesto de la flecha 140.
Debido a este desplazamiento de los bloques 130 en el sentido opuesto del tiempo tal como indica la flecha 140, una trama 120 actual que va a procesarse, comprende el bloque 130-(T-1) de la trama 120 directamente precedente como el nuevo bloque 130-T. Por consiguiente, los bloques 130-(T-1), 130-2 de la trama 120 actual que va a procesarse son iguales al bloque 130-(T-2), ..., 130-1 de la trama 120 directamente precedente. El bloque 130-T de la trama 120 directamente precedente se descarta.
En consecuencia, cada muestra de audio de dominio de tiempo del bloque 220 reciente se procesará T-veces en el marco de T procesamientos consecutivos de T tramas 120 consecutivas de muestras de entrada de audio de dominio de tiempo. Por lo tanto, cada muestra de entrada de audio de dominio de tiempo del bloque 220 reciente contribuye, no sólo a T tramas 120 diferentes, sino también a T tramas 150 diferentes de muestras divididas en ventanas y T bloques 180 de valores de subbanda de audio. Tal como se indicó 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 modo que cada muestra de audio de dominio de tiempo proporcionada al banco 100 de filtros de análisis contribuye a 10 bloques 180 diferentes de valores de subbanda de audio.
Al principio, antes de que una única trama 120 se procese por el banco 100 de filtros de análisis, la trama 120 puede inicializarse a un valor absoluto pequeño (por debajo de un umbral predeterminado), por ejemplo el valor 0. Tal como se explicará con más detalle posteriormente, la forma de la función 190 de ventana de análisis comprende un punto central o un "centro de masas", que normalmente corresponde a o se encuentra entre dos índices de coeficiente de ventana del primer grupo 200.
En consecuencia, el número de bloques 220 recientes que va a insertarse en la trama 120 es pequeño, antes de que la trama 120 se llene al menos hasta un punto de modo que partes de la trama 120 estén ocupadas por valores que no desaparecen (es decir de valor distinto de cero) que corresponden a coeficientes de ventana que tienen una contribución significativa en cuanto a sus valores de energía. Normalmente, el número de bloques que va a insertarse en la trama 120 antes de que pueda empezar un procesamiento "significativo", es de 2 a 4 bloques dependiendo de la forma de la función 190 de ventana de análisis. Por lo tanto, el banco 100 de filtros de análisis puede proporcionar bloques 180 más rápido que un banco de filtros correspondiente empleando, por ejemplo, una función de ventana simétrica. Como normalmente los bloques 220 recientes se proporcionan al banco 100 de filtros de análisis globalmente, cada uno de los bloques recientes corresponde a un tiempo de grabación o de muestreo, que viene dado esencialmente por la longitud del bloque 220 (es decir el número de muestras de entrada de audio de dominio de tiempo comprendidas en el bloque 220) y la tasa de muestreo o frecuencia de muestreo. Por lo tanto, la función 190 de ventana de análisis, tal como se incorpora en una realización de la presente invención, lleva a un retardo reducido antes de que pueda proporcionarse o emitirse como salida el primero y los siguientes bloques 180 de valores de subbanda de audio por el banco 100 de filtros.
\newpage
Como opción adicional, el aparato 100 puede ser capaz de de generar una señal o incorporar un fragmento de información con respecto a la función 190 de ventana de análisis usada para generar la trama 180 o con respecto a una función de ventana de síntesis que va a usarse en el marco de un banco de filtros de síntesis. Por tanto, la función 190 de filtro de análisis puede ser, por ejemplo, una versión invertida en tiempo o índice de la función de ventana de síntesis que va a usarse por el banco de filtros de síntesis.
La figura 2a muestra un diagrama de bloques de una realización de un aparato 300 para generar muestras de audio de dominio de tiempo basándose en el bloque de valores de subbanda de audio. Tal como se explicó anteriormente, a una realización de la presente invención en la forma de un aparato 300 para generar muestras de audio de dominio de tiempo también se denomina a menudo un banco 300 de filtros de síntesis ya que el aparato puede generar muestras de audio de dominio de tiempo, que en principio pueden reproducirse, 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 300 de filtros de síntesis puede sintetizar muestras de audio de dominio de tiempo basándose en valores de subbanda de audio, que pueden por ejemplo generarse por un banco 100 de filtros de análisis correspondiente.
La figura 2a muestra un diagrama de bloques del banco 300 de filtros de síntesis que comprende una calculadora 310 a la que se proporciona un bloque 320 de valores de subbanda de audio (en el dominio de frecuencia). La calculadora 310 puede calcular una trama 330 que comprende una secuencia de muestras de dominio de tiempo intermedias a partir de los valores de subbanda de audio del bloque 320. La trama 330 de muestras de dominio de tiempo intermedias comprende en muchas realizaciones según la presente invención también una estructura de bloque similar como por ejemplo la trama 150 de muestras divididas en ventanas del banco 100 de filtros de análisis de la figura 1. En estos casos, la trama 330 comprende bloques 340-1, ..., 340-T bloques de muestras de dominio de tiempo intermedias.
La secuencia de muestras de dominio de tiempo intermedias de la trama 330, así como cada bloque 340 de muestras de dominio de tiempo intermedias comprenden un orden según el tiempo tal como se indica mediante una flecha 350 en la figura 2a. En consecuencia, la trama 330 comprende una muestra de dominio de tiempo intermedia temprana en el bloque 340-T y una muestra de dominio de tiempo intermedia más reciente en el bloque 340-1, que representan la primera y la última muestra de dominio de tiempo intermedia para la trama 330, respectivamente. Asimismo cada uno de los bloques 340 comprende un orden similar. En consecuencia, en realizaciones de un banco de filtros de síntesis los términos "trama" y "secuencia" pueden usarse a menudo como sinónimos.
La calculadora 310 está acoplado a un divisor 360 en ventanas de síntesis al que se proporciona la trama 330 de muestras de dominio de tiempo intermedias. El divisor en ventanas de síntesis está adaptado para dividir en ventanas la secuencia de muestras de dominio de tiempo intermedias usando una función 370 de ventana de síntesis representada esquemáticamente en la figura 2a. Como salida, el divisor 360 en ventanas de síntesis proporciona una trama 380 de muestras de dominio de tiempo intermedias divididas en ventanas, que puede comprender también una estructura bloque a bloque de bloques 390-1, ..., 390-T.
Las tramas 330 y 380 pueden comprender T bloques 340 y 390, respectivamente, en las que T es un número entero positivo. En una realización preferida según la presente invención en la forma de un banco 300 de filtros de síntesis, el número de bloques T es igual a 10. Sin embargo, en diferentes realizaciones, también pueden estar comprendidos números de bloques diferentes en una de las tramas. Para ser más precisos, en principio el número de bloques T puede ser mayor o igual a 3, o mayor que o igual a 4, dependiendo de las circunstancias de la implementación y los equilibrios explicados anteriormente para realizaciones según la presente invención que comprenden una estructura bloque a bloque de tramas tanto para un banco 100 de filtros de síntesis como para un banco 300 de filtros de síntesis.
El divisor 360 en ventanas de síntesis está acoplado a una fase 400 de salida de sumador-solapamiento, a la que se proporciona la trama 380 de muestras de dominio de tiempo intermedias divididas en ventanas. La fase 400 de salida de sumador-solapamiento puede procesar las muestras de dominio de tiempo intermedias divididas en ventanas para obtener un bloque 410 de muestras de dominio de tiempo. El bloque 410 de las muestras (de salida) de dominio de tiempo pueden proporcionarse entonces por ejemplo a componentes adicionales para un procesamiento, almacenamiento o transformación adicional, en señales de audio audibles.
La calculadora 310 para calcular la secuencia de muestras de dominio de tiempo comprendidas en la trama 330 puede transferir datos desde el dominio de frecuencia al dominio de tiempo. Por lo tanto, la calculadora 310 puede comprender un convertidor de frecuencia/tiempo que puede generar una señal de dominio de tiempo de la representación espectral comprendida en el bloque 320 de valores de subbanda de audio. Tal como se explicó en el contexto de la calculadora 170 del banco 100 de filtros de análisis mostrado 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 tiene una frecuencia central característica.
A diferencia de esto, las muestras de dominio de tiempo intermedias comprendidas en la trama 330 representan en principio información en el dominio de tiempo. El divisor 360 en ventanas de síntesis puede y está adaptado para dividir en ventanas la secuencia de muestras de dominio de tiempo intermedias comprendidas en la trama 330 usando la función 370 de ventana de síntesis tal como se representa esquemáticamente en la figura 2a.
Tal como ya se ha comentado en el contexto de la figura 1, el divisor 360 en ventanas de síntesis usa también una función 370 de ventana de síntesis, que se obtiene por interpolación de una función de ventana más grande que comprende un segundo número de coeficientes de ventana. El segundo número es, por lo tanto, mayor que un primer número de coeficientes de ventana de la función 370 de ventana de síntesis usada para dividir en ventanas las muestras de dominio de tiempo intermedias de la trama 330.
La función 370 de ventana de síntesis puede obtenerse, por ejemplo, mediante el divisor 360 en ventanas de síntesis o el banco 300 de filtros (el aparato) que realiza uno de los esquemas de interpolación comentados anteriormente. Los coeficientes de ventana de la función de ventana de síntesis pueden generarse, por ejemplo, basándose en una interpolación. lineal, una polinómica o una basada en spline. Además, en realizaciones según la presente invención la interpolación puede basarse en la utilización de coeficientes de ventana consecutivos de la función de ventana más grande. Cuando cada coeficiente de ventana de la función de ventana más grande se usa exactamente una vez, la función 370 de ventana que comprende el primer número (más pequeño) de coeficientes de ventana puede por ejemplo comprender exactamente la mitad del número de coeficientes de ventana de la función de ventana más grande, cuando el segundo número es par. En otras palabras, en este caso el segundo número puede ser dos veces el primer número. Sin embargo, también pueden implementarse otros escenarios y esquemas de interpolación en el marco de las realizaciones de la presente invención.
A continuación, se considerará con mayor atención el caso de la denominada función de ventana de retardo bajo. Tal como se indicó anteriormente, las realizaciones según la presente invención no se limitan en modo alguno a estas funciones de ventana. También pueden usarse otras funciones de ventana, tales como las funciones de ventana simétricas.
La función 370 de ventana de síntesis comprende una secuencia de coeficientes de ventana, que también comprende un primer grupo 420 y un segundo grupo 430 de coeficientes de ventana tal como se explicó anteriormente en el contexto de la función 190 de ventana con un primer grupo 200 y un segundo grupo 210 de coeficientes de ventana.
El primer grupo 420 de coeficientes de ventana de la función 370 de ventana de síntesis comprende una primera parte consecutiva de la secuencia de coeficientes de ventana. De manera similar, el segundo grupo 430 de coeficientes también comprende una segunda parte consecutiva de la secuencia de coeficientes de ventana, donde la primera parte comprende menos coeficientes de ventana que la segunda parte y donde un valor de energía o valor total de energía de los coeficientes de ventana en la primera parte es más alto que el valor de energía correspondiente de los coeficientes de ventana de la segunda parte. Otras características y propiedades de la función 370 de ventana de síntesis pueden ser similares a las características y propiedades correspondientes de la función 190 de ventana de análisis tal como se representa esquemáticamente en la figura 1. En consecuencia, se hace referencia por el presente documento a la descripción correspondiente en el marco de la función 190 de ventana de análisis y la descripción adicional de las funciones de ventana con respecto a las figuras 11 a 19, donde el primer grupo 200 corresponde al primer grupo 420 y el segundo grupo 210 corresponde al segundo grupo 430.
Por ejemplo, las partes comprendidas en los dos grupos 420, 430 de coeficientes de ventana normalmente forman cada uno un conjunto consecutivo y conectado de coeficientes de ventana que comprenden juntos todos los coeficientes de ventana de la secuencia de coeficientes de ventana de la función 370 de ventana. En muchas realizaciones según la presente invención, la función 190 de ventana de análisis tal como se representa en la figura 1 y la función 370 de ventana de síntesis tal como se representa en la figura 2a se basan una en otra. Por ejemplo, la función 190 de ventana de análisis puede ser una versión invertida en tiempo o invertida en índice de la función 370 de ventana de síntesis. Sin embargo, también son posibles otras relaciones entre las dos funciones 190, 370 de ventana. Puede ser recomendable emplear una función 370 de ventana de síntesis en el marco del divisor 360 en ventanas de síntesis, que se refiere a la función 190 de ventana de análisis, que se empleó durante la generación (opcionalmente antes de modificaciones adicionales) del bloque 320 de valores de subbanda de audio proporcionados al banco 300 de filtros de síntesis.
Tal como se comentó en el contexto de la figura 1, el banco 300 de filtros de síntesis en la figura 2a puede adaptarse opcionalmente de modo que el bloque 320 entrante puede comprender señales adicionales o fragmentos de información adicionales con respecto a las funciones de ventana. Como ejemplo, el bloque 320 puede comprender información relativa a la función 190 de ventana de análisis usada para generar el bloque 320 o relativa a la función 370 de ventana de síntesis que va a usarse por el divisor 360 en ventanas de síntesis. Por lo tanto, el banco 300 de filtros puede adaptarse para aislar la información respectiva y para proporcionar ésta al divisor 360 en ventanas de síntesis.
La fase 400 de salida de sumador-solapamiento puede generar el bloque 410 de muestras de dominio de tiempo procesando las muestras de dominio de tiempo intermedias divididas en ventanas comprendidas en la trama 380. En diferentes realizaciones según la presente invención, la fase 4000 de salida de sumador-solapamiento puede comprender una memoria para almacenar temporalmente tramas 380 de muestras de dominio de tiempo intermedias divididas en ventanas, recibidas anteriormente. Dependiendo de los detalles de implementación, la fase 400 de salida de sumador-solapamiento puede comprender, por ejemplo, T posiciones de almacenamiento diferentes comprendidas en la memoria para almacenar un número global de T tramas 380 de muestras de dominio de tiempo intermedias divididas en ventanas. Sin embargo, la fase 400 de salida de sumador-solapamiento también puede comprender un número diferente de posiciones de almacenamiento, según se requiera. Además, en diferentes realizaciones según la presente invención, la fase 400 de salida de sumador-solapamiento puede ser capaz de proporcionar el bloque 410 de muestras de dominio de tiempo basándose sólo en una única trama 380 de muestras de dominio de tiempo intermedias. Realizaciones de diferentes bancos 300 de filtros de síntesis se explicarán con más detalle posterior-
mente.
La figura 2b ilustra un principio funcional según una realización de la presente invención en la forma de un banco 300 de filtros de síntesis, que no se centra en la generación de la función 370 de ventana por interpolación únicamente por motivos de simplicidad.
El bloque 320 de valores de subbanda de audio se transfiere en primer lugar desde el dominio de frecuencia al dominio de tiempo mediante la calculadora 310, lo que se ilustra en la figura 2b mediante una flecha 440. La trama 320 de muestras de dominio de tiempo intermedias resultante que comprende los bloques 340-1, ..., 340-T de muestras de dominio de tiempo intermedias se divide a continuación en ventanas mediante el divisor 360 en ventanas de síntesis (no mostrado en la figura 2b) multiplicando la secuencia de muestras de dominio de tiempo intermedias de la trama 320 con la secuencia de coeficientes de ventana de la función 370 de ventana de síntesis para obtener la trama 380 de muestras de dominio de tiempo intermedias divididas en ventanas. La trama 380 comprende de nuevo los bloques 390-1, ..., 390-T de muestras de dominio de tiempo intermedias divididas en ventanas, que forman juntas la trama 380 de muestras de dominio de tiempo intermedias divididas en ventanas.
En la realización mostrada en la figura 2b de un banco 300 de filtros de síntesis de la invención, la fase 400 de salida de sumador-solapamiento puede entonces generar el bloque 410 de muestras de salida de dominio de tiempo añadiendo para cada valor de índice de las muestras de audio de dominio de tiempo del bloque 410, las muestras de dominio de tiempo intermedias divididas en ventanas de un bloque 390 de tramas 380 diferentes. Tal como se ilustra en la figura 2b, las muestras de audio de dominio de tiempo del bloque 410 se obtienen añadiendo para cada índice de muestra de audio una muestra de dominio de tiempo intermedia dividida en ventanas del bloque 390-1 de la trama 380, procesada por el divisor 360 en ventanas de síntesis en la serie actual y tal como se describió anteriormente, la muestra de dominio de tiempo intermedia correspondiente del segundo bloque 390-2 de una trama 380-1 procesada inmediatamente antes de la trama 380 y almacenada en una posición de almacenamiento en la fase 400 de salida de sumador-solapamiento. Tal como se ilustra en la figura 2b, pueden usarse otras muestras de dominio de tiempo intermedias divididas en ventanas correspondientes de otros bloques 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) procesados por el banco 300 de filtros de síntesis anterior. Las tramas 380-2, 380-3, 380-4 y opcionalmente otras tramas 380 se han procesado por el banco 300 de filtros de síntesis en series anteriores. La trama 380-2 se ha procesado inmediatamente antes que la trama 380-1 y, por consiguiente, la trama 380-3 se generó inmediatamente antes que la trama 380-2 y así sucesivamente.
La fase 400 de salida de sumador-solapamiento según se emplea en la realización puede sumar para cada índice del bloque 410 de muestras (de salida) de dominio de tiempo T bloques 390-1, ..., 390-T diferentes de muestras de dominio de tiempo intermedias divididas en ventanas a partir de T tramas 380, 380-1, ..., 380-(T-1) diferentes. Por lo tanto, aparte de los primeros T bloques procesados, cada una de las muestras (de salida) de dominio de tiempo del bloque 410 está basada en T bloques 320 diferentes de valores de subbanda de audio.
Como en el caso de la realización de la presente invención un banco 100 de filtros de análisis descrito en la figura 1, debido a la forma de la función 370 de ventana de síntesis, el banco 300 de filtros de síntesis ofrece la posibilidad de proporcionar rápidamente el bloque 410 de muestras (de salida) de dominio de tiempo. Esto también es una consecuencia de la forma de la función 370 de ventana. Como el primer grupo 420 de coeficientes de ventana corresponde a un valor de energía más alto y comprende menos coeficientes de ventana que el segundo grupo 430, el divisor 360 en ventanas de síntesis puede proporcionar tramas 380 "significativas" de muestras divididas en ventanas cuando la trama 330 de muestras de dominio de tiempo intermedias se llena de 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 menor contribución debido a su valor de energía más pequeño.
Por lo tanto, cuando al principio, el banco 300 de filtros de síntesis se inicializa con 0, la provisión de bloques 410 puede, en principio, comenzarse cuando sólo unos pocos bloques 320 de valores de subbanda de audio se han recibido por el banco 300 de filtros de síntesis. Por lo tanto, también el banco 300 de filtros de síntesis permite una reducción de retardo significativa en comparación con el banco de filtros de síntesis que tiene por ejemplo una función de ventana de síntesis simétrica.
Tal como se indicó anteriormente, las calculadoras 170 y 310 de las realizaciones mostradas en las figuras 1 y 2a pueden implementarse como calculadoras de valor real que generan o pueden procesar valores de subbanda de audio de valor real de los bloques 180 y 320, respectivamente. En estos casos, las calculadoras pueden implementarse por ejemplo como calculadoras de valor real basándose en funciones oscilantes armónicas tales como la función seno o la función coseno. Sin embargo, también pueden implementarse calculadoras de valor complejo como las calculadoras 170, 310. En estos casos las calculadoras pueden implementarse, por ejemplo, basándose en funciones exponenciales complejas u otras funciones de valor complejo armónicas. La frecuencia de las oscilaciones de valor real o de valor complejo depende habitualmente del índice del valor de subbanda de audio, al que también se hace referencia a veces como el índice de banda o el í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 puede multiplicarse por un factor constante, desplazarse con respecto a la frecuencia central de la subbanda correspondiente o puede depender de una combinación de ambas modificaciones.
Una calculadora 170, 310 de valor complejo puede construirse o implementarse basándose en calculadoras de valor real. Por ejemplo, para una calculadora de valor complejo una implementación eficaz puede usarse en principio tanto para la parte modulada por coseno como la modulada por seno de un banco de filtros que representa la parte real y la imaginaria de una componente de valor complejo. Esto significa que es posible implementar tanto la parte modulada por coseno como la parte modulada por seno basándose en, por ejemplo, las estructuras de DCT-IV- y DST-IV- modificadas. Además, otras implementaciones pueden emplear el uso de una FFT (FFT = Fast Fourier Transform, transformada rápida de Fourier) implementándose opcionalmente de manera conjunta tanto para la parte real como la parte de las calculadoras moduladas de manera compleja usando una FFT o usando en su lugar una fase de FFT separada para cada transformada.
Descripción matemática
Las siguientes secciones describirán un ejemplo de las realizaciones de un banco de filtros de análisis y el banco de filtros de síntesis con múltiples solapamientos de 8 bloques para el pasado, que no provocan retardo adicional, tal como se explicó anteriormente, y un bloque para el futuro, que provoca el mismo retardo que para una estructura MDCT/MDST (MDCT = Modified Discrete Cosine Transform, transformada de coseno discreto modificada; MDST = Modified Discrete Sine Transform, transformada de seno discreto modificada). En otras palabras, en el siguiente ejemplo, el parámetro T es igual a 10.
En primer lugar, se facilitará una descripción de un banco de filtros complejo de retardo bajo modulado de análisis. Tal como se ilustra en la figura 1, el banco 100 de filtros de análisis comprende las etapas de transformación de una división en ventanas de análisis realizada por el divisor 110 en ventanas de análisis y una modulación de análisis realizada por la calculadora 170. La división en ventanas de análisis se basa en la ecuación
1
donde Z_{i,n} es la muestra dividida en ventanas (de valor real) correspondiente al índice de bloque i y el índice de muestra n de la trama 150 mostrada en la figura 1. El valor x_{i,n} es la muestra de entrada de tiempo (de valor real) correspondiente al mismo índice de bloque i e índice de muestra n. La función 190 de ventana de análisis se representa en la ecuación (1) por sus coeficientes de ventana de valor real w(n), donde n también es el índice de coeficiente de ventana en el intervalo indicado en la ecuación (1). Tal como ya se ha explicado anteriormente, el parámetro N es el número de muestras en un bloque 220, 130, 160, 180.
A partir de los argumentos de la función de ventana de análisis w(10N-1-n) puede verse que la función de ventana de análisis representa una versión dada la vuelta o una versión invertida en tiempo de la función de ventana de síntesis, que se representa realmente por el coeficiente de ventana w(n).
La modulación de análisis llevada a cabo por la calculadora 170 en la realización mostrada en la figura 1, se basa en las dos ecuaciones
2
y
3
para el índice de coeficiente espectral o índice de banda k que es un número entero en el intervalo de
4
Los valores X_{Real,i,k} y X _{imag,i,k} representan la parte real y la parte imaginaria del valor de subbanda de audio de valor complejo correspondiente al índice de bloque i y al índice de coeficiente espectral k del bloque 180. El parámetro no representa una opción de índice, que es igual a
5
El banco de filtros de retardo bajo de síntesis modulado de manera compleja correspondiente comprende las etapas de transformación de una modulación de síntesis, una división en ventanas de síntesis y un solapamiento-suma tal como se describirá.
La modulación de síntesis se basa en la ecuación
6
donde x'_{i,n} es una muestra de dominio de tiempo intermedia de la trama 330 correspondiente al índice de muestra n y al índice de bloque i. Una vez más, el parámetro N es un número entero que indica la longitud del bloque 320, 340, 390, 410, a la que también se hace referencia como longitud de bloque de transformada o, debido a la estructura bloque a bloque de las tramas 330, 380, como una desviación respecto al bloque anterior. Asimismo las variables y parámetros adicionales se han introducido anteriormente, tal como el índice de coeficiente espectral k y la desviación no.
La división en ventanas de síntesis llevada a cabo por el divisor 360 en ventanas de síntesis en la realización mostrada en la figura 2a se basa en la ecuación
7
donde z'_{i,n} es el valor de la muestra de dominio de tiempo intermedia dividida en ventanas correspondiente al índice de muestra n y al índice de bloque i de la trama 380.
El sello de transformación del solapamiento-suma se basa en la ecuación
8
donde out_{i,n} representa la muestra (de salida) de dominio de tiempo correspondiente al índice de muestra n y el índice de bloque i. La ecuación (8), por lo tanto, ilustra la operación de solapamiento-suma según se lleva a cabo la fase 400 de salida de sumador-solapamiento tal como se ilustra en la parte inferior de la figura 2b.
Sin embargo, las realizaciones según la presente invención no se limitan a bancos de filtros de retardo bajo modulados de manera compleja que permiten un procesamiento de señal de audio con uno de estos bancos de filtros. También puede implementarse una implementación de valor real de un banco de filtros de retardo bajo para una codificación de audio de retardo bajo mejorada. Como comparación, por ejemplo, las ecuaciones (2) y (6) en cuanto a una parte de coseno revela, la contribución de coseno de la modulación de análisis y la modulación de síntesis muestra una estructura comparable cuando se considera la de una MDCT. Aunque el método de diseño permite en principio una extensión de la MDCT en ambos sentidos respecto al tiempo, en este caso sólo se aplica una extensión de E (= T-2) bloques hacia el pasado, donde cada uno de los T bloques comprende N muestras. El coeficiente de frecuencia X_{i,k} de banda k y el bloque i dentro de un banco de filtros de análisis de N canales o N bandas puede resumirse por
9
para el índice de coeficiente espectral k según se define por la ecuación (4). En este caso, una vez más n es un índice de muestra y w_{a} es la función de ventana de análisis.
Para completar, la descripción matemática facilitada anteriormente del banco de filtros de análisis de retardo bajo modulado de manera compleja puede facilitarse de la misma forma resumida que la ecuación (9) intercambiando la función coseno con la función exponencial de valor complejo. Para ser más precisos, con la definición y las variables dadas anteriormente, las ecuaciones (1), (2), (3) y (5) pueden resumirse y extenderse según
10
donde a diferencia de las ecuaciones (2) y (3), la extensión de 8 bloques en el pasado se ha sustituido por la variable E(=8).
\newpage
Las etapas de la modulación de síntesis y la división en ventanas de síntesis, según se ha descrito para el caso complejo en las ecuaciones (6) y (7), pueden resumirse en el caso de un banco de filtros de síntesis de valor real. La trama 380 de muestras de dominio de tiempo intermedias divididas en ventanas, a la que también se hace referencia como el vector demodulado, viene dada por
11
donde z'_{i,n} es la muestra de dominio de tiempo intermedia dividida en ventanas correspondiente al índice de banda i y al índice de muestra n. El índice de muestra n es una vez más un número entero en el intervalo de
12
y w_{s}(n) es la ventana de síntesis, que es compatible con la ventana de análisis wa(n) de la ecuación (9).
La etapa de transformación del solapamiento-suma viene dada entonces por
13
donde X'_{i,n} es la señal reconstruida, o en su lugar una muestra de dominio de tiempo del bloque 410 según proporciona la fase 400 de salida de solapamiento-suma mostrada en la figura 2a.
Para el banco 300 de filtros de síntesis de valor complejo, las ecuaciones (6) y (7) pueden resumirse y generalizarse con respecto a la extensión de E(=8) bloques para la trayectoria según
14
donde j = \sqrt{-1} es la unidad imaginaria. La ecuación (13) representa la forma generalizada de la ecuación (8) y también es válida para el caso de valor complejo.
Como muestra una 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 ventana de síntesis que W_{s}(n) de la ecuación (14). Tal como se ha comentado anteriormente, la comparación similar de la ecuación (10) con el coeficiente de función de ventana de análisis w_{a}(n) con la ecuación (1) muestra que la función de ventana de análisis es la versión invertida en tiempo de la función de ventana de síntesis en el caso de la ecuación (1).
Como tanto un banco 100 de filtros de análisis, tal como se muestra en la figura 1, como un banco 300 de filtros de síntesis, tal como se muestra en la figura 2a, ofrecen una mejora significativa en cuanto a un equilibrio entre el retardo por un lado y la calidad del proceso de audio por otro lado, se hace referencia a menudo a los bancos 100, 300 de filtros como bancos de filtros de retardo bajo. La versión de de valor complejo del mismo también se denomina a veces banco de filtros de retardo bajo complejo, que se abrevia como CLDFB. En determinadas circunstancias, el término CLDFB no sólo se usa para la versión de valor complejo sino también para la versión de valor real del banco de filtros.
Tal como ha mostrado el análisis anterior de los antecedentes matemáticos, el marco usado para implementar los bancos de filtros de retardo bajo propuestos utiliza una estructura de MDCT o a modo de IMDCT (IMDCT = Inverse MDCT, MDCT inversa), tal como se conoce por la norma MPEG-4, usando un solapamiento extendido. Las regiones de solapamiento adicional pueden añadirse bloque a bloque en el lado izquierdo así como en el derecho del núcleo a modo de MDCT. En este caso, sólo se usa la extensión hacia el lado derecho (para el banco de filtros de síntesis), que funciona sólo a partir de muestras pasadas y por lo tanto no provoca ningún retardo adicional.
El análisis de las ecuaciones (1), (2) y (14) ha mostrado que el procesamiento es muy similar al de una MDCT o IMDCT. Sólo mediante ligeras modificaciones, que comprenden una función de ventana de análisis y una función de ventana de síntesis modificadas, respectivamente, la MDCT o IMDCT se extiende a un banco de filtros modulado que puede manejar múltiples solapamientos y es muy flexible en lo relativo a su retardo. Como han mostrado, por ejemplo, las ecuaciones (2) y (3) la versión compleja se obtiene en principio añadiendo simplemente una modulación por seno a la modulación por coseno dada.
Interpolación
Tal como se comentó en el contexto de las figuras 1 y 2a, tanto el divisor 110 en ventanas de análisis como el divisor 360 en ventanas de síntesis o los bancos 100, 300 de filtros respectivos están adaptados para dividir en ventanas las tramas de muestras de dominio de tiempo respectivas multiplicando cada una de las muestras de audio de dominio de tiempo respectivas con un coeficiente de ventana individual. Cada una de las muestras de dominio de tiempo se multiplica, en otras palabras, por un coeficiente de ventana (individual), tal como han demostrado, por ejemplo, las ecuaciones (1), (7), (9), (10), (11) y (14). En consecuencia, 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 de dominio de tiempo respectivas.
Sin embargo, en determinadas circunstancias de implementación, puede ser aconsejable implementar una función de ventana que tenga un segundo número de coeficientes de ventana más grande en comparación con la función de ventana real que tiene un primer número de coeficientes más pequeño, que se usa realmente durante la división en ventanas de la trama o secuencia de muestras de audio de dominio de tiempo respectivas. Esto puede ser aconsejable por ejemplo en el caso en que los requisitos de memoria de una implementación específica puedan ser más valiosos que la eficacia computacional. Un escenario adicional en el que un muestreo descendente de los coeficientes de ventana podría llegar a ser útil es en el caso del denominado enfoque de tasa dual, que se emplea por ejemplo en el marco de sistemas de SBR (SBR = Spectral Band Replication, replicación de banda espectral). El concepto de SBR se explicará con más detalle en el contexto de las figuras 5 y 6.
En tal caso, el divisor 110 en ventanas de análisis o el divisor 360 en ventanas de síntesis puede adaptarse adicionalmente de modo que la función de ventana respectiva usada para dividir en ventanas las muestras de audio de dominio de tiempo proporcionadas al divisor 110, 360 en ventanas respectivo se deriva mediante una interpolación de coeficientes de ventana de la función de ventana más grande que tiene un segundo número de coeficientes de ventana más grande.
La interpolación puede llevarse a cabo, por ejemplo, mediante una interpolación lineal, polinómica o basada en spline. Por ejemplo, en el caso de la interpolación lineal, pero también en el caso de una interpolación polinómica o basada en spline, el divisor 100, 360 en ventanas respectivo puede ser capaz entonces de interpolar los coeficientes de ventana de la función de ventana usada para dividir en ventanas basándose en dos coeficientes de ventana consecutivos de la función de ventana más grande según una secuencia de los coeficientes de ventana de la función de ventana más grande para obtener un coeficiente de ventana de la función de ventana.
Especialmente en el caso de un número par de muestras de audio de dominio de tiempo y coeficientes de ventana, una implementación de una interpolación tal como se describió anteriormente, da como resultado una mejora significativa de la calidad de audio. Por ejemplo, en el caso de un número par N \cdot T de muestras de audio de dominio de tiempo en una de las tramas 120, 330, no usar una interpolación, por ejemplo, una interpolación lineal, dará como resultado graves efectos de distorsión durante el procesamiento adicional de las muestras de audio de dominio de tiempo respectivas.
La figura 3 ilustra un ejemplo de una interpolación lineal basándose en una función de ventana (una función de ventana de análisis o una función de ventana de síntesis) que va a emplearse en el contexto con las tramas que comprenden N T/2 muestras de audio de dominio de tiempo. 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, pero una función de ventana más grande que comprende N T coeficientes de ventana se almacena durante una memoria apropiada o está disponible de otro modo. La figura 3 ilustra en la gráfica superior, los coeficientes de ventana c(n) correspondientes en función de los índices de coeficiente de ventana n en el intervalo entre 0 y N T-1.
Basándose en una interpolación lineal de dos coeficientes de ventana consecutivos de la función de ventana que tienen el número de coeficientes de ventana superior, tal como se representa en la gráfica superior de la figura 3, una función de ventana interpolada se calcula basándose en la ecuación
15
El número de coeficientes de ventana interpolados ci(n) de la función de ventana que va a aplicarse a una trama que tiene N T/2 muestras de audio de dominio de tiempo comprenden la mitad del número de coeficientes de
ventana.
Para ilustrar esto adicionalmente, en la figura 3 se muestran coeficientes de ventana 450-0, ..., 450-7 en la parte superior de la figura 3 correspondientes a un coeficiente de ventana c(0), ..., c(7). Basándose en estos coeficientes de ventana y los coeficientes de ventana adicionales de la función de ventana, una aplicación de la ecuación (15) lleva a 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, el coeficiente de ventana 460-1 se genera basándose en la ecuación (15), tal como se ilustra mediante las flechas 470 en 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 ci(n) adicionales.
Para ilustrar la cancelación de distorsión que puede conseguirse mediante el muestreo descendente interpolado de la función de ventana, la figura 4 ilustra la interpolación de los coeficientes de ventana en el caso de una función de ventana de seno, que puede, por ejemplo, emplearse en una MDCT. Por motivos de simplicidad, la mitad izquierda de la función de ventana y la mitad derecha de la función de ventana están dibujadas una sobre la otra. La figura 4 muestra una versión simplificada de una ventana de seno, que comprende sólo 2 \cdot 4 puntos o coeficientes de ventana para una MDCT que tiene una longitud de 8 muestras.
La figura 4 muestra cuatro coeficientes de ventana 480-1, 480-2, 480-3 y 480-4 de la primera mitad de la ventana de seno y cuatro coeficientes de ventana 490-1, 490-2, 490-3 y 390-4 de la segunda mitad de la ventana de seno. El coeficiente de ventana 490-1, ..., 490-4 corresponde a los índices de coeficiente 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 modo que para los índices dados debe añadirse N' = 4 para obtener los índices reales.
Para reducir o incluso conseguir la cancelación de los efectos de distorsión tal como se describió anteriormente, el coeficiente de ventana debería cumplir la condición
16
lo mejor posible. Cuanto mejor se cumpla la relación (16), mejor será la supresión de la distorsión o la cancelación de la distorsión.
Suponiendo la situación de que una nueva función de ventana que tiene la mitad del número de coeficientes de ventana va a determinarse para la mitad izquierda de la función de ventana, surge el siguiente problema. Debido al hecho de que la función de ventana comprende un número par de coeficientes de ventana (muestreo descendente numerado de manera par), sin emplear un esquema de interpolación tal como se sugiere en la figura 3, los coeficientes de ventana 480-1 y 480-3 ó 480-2 y 480-4 corresponden sólo a un valor de distorsión de la función de ventana original o filtro original.
Esto lleva a una proporción desequilibrada de energía espectral y lleva a una redistribución asimétrica del punto central (centro de masas) 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 I_{1} e I_{2} interpolados cumplen la relación de distorsión (16) mucho mejor, y por lo tanto llevarán a una mejora significativa relativa a la calidad de los datos de audio procesados.
Sin embargo, empleando un esquema de interpolación incluso más elaborado, por ejemplo un esquema de interpolación basado en spline u otro similar, podría dar como resultado incluso coeficientes de ventana, que cumplen la relación (16) incluso mejor. Una interpolación lineal es en la mayoría de los casos suficiente y permite una implementación rápida y eficaz.
En la situación en el caso de un sistema de SBR típico que emplea un banco de filtros QMF de SBR (QMF = Quadrature Mirror Filter, filtro de espejo en cuadratura), no se requiere implementar una interpolación lineal u otro esquema de interpolación puesto que el filtro prototipo QMF de SBR comprende un número impar de coeficientes de filtro prototipo. Esto significa que el filtro prototipo QMF de SBR comprende un valor máximo con respecto al cual puede implementarse el muestreo descendente de modo que la simetría del filtro prototipo QMF de SBR permanece intacta.
En las figuras 5 y 6, se describirá una posible aplicación para realizaciones según la presente invención en la forma de tanto un banco de filtros de análisis como un banco de filtros de síntesis. Un campo de aplicación importante es una herramienta de de SBR o un sistema de SBR (SBR = Spectral Band Replication, replicación de banda espectral). Sin embargo, otras aplicaciones de 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 codificación de objeto de audio espacial, codificación estéreo paramétrica de retardo bajo, codificación de sonido perimétrico/espacial de retardo bajo, ocultación de pérdida de trama, cancelación de eco u otras aplicaciones correspondientes.
La idea básica subyacente a la SBR es la observación de que habitualmente está presente una fuerte correlación entre las características de un intervalo de alta frecuencia de una señal, a la que se hará referencia como lo que se denomina señal de banda alta, y las características del intervalo de frecuencias de banda baja, a lo que se hace referencia adicionalmente como la banda baja o señales de banda baja, de la misma señal. Por tanto, puede lograrse una buena aproximación para la representación de la banda alta de señal de entrada original mediante una transposición desde la banda baja a la banda alta.
\newpage
Además de la transposición, la reconstrucción de la banda alta incorpora la conformación de la envolvente espectral, que comprende un ajuste de las ganancias. Este proceso se controla normalmente mediante una transmisión de la envolvente espectral de banda alta de la señal de entrada original. Información de guiado adicional enviada desde el codificador controla módulos de síntesis adicionales, tales como un filtrado inverso, una adición de ruido y seno con el fin de manejar el material de audio cuando sólo la transposición puede no ser suficiente. 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 de seno. Esta información de guiado se denomina habitualmente datos de SBR.
El proceso de SBR puede combinarse con cualquier forma de onda o códec convencional por medio de un proceso previo en el lado de codificador y el proceso posterior en el lado de 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 usa para codificar la parte de frecuencia inferior de la señal.
En el lado de codificador, se analiza la señal de entrada original, se codifican la envolvente espectral de banda alta y sus características en relación con la banda baja y se multiplexan los datos de SBR resultantes con un flujo de bits desde el códec para la banda baja. En el lado de decodificador, los datos de SBR se demultiplexan en primer lugar. El proceso de decodificación se organiza generalmente en etapas. En primer lugar, el decodificador de núcleo genera la banda baja y, en segundo lugar, el decodificador de SBR opera como un procesador posterior que usa los datos de SBR decodificados para guiar el proceso de replicación de banda espectral. Se obtiene entonces una señal de salida de ancho de banda completo.
Para obtener una eficacia de codificación tan alta como sea posible, y para mantener la complejidad computacional baja, se implementan con frecuencia códecs mejorados de SBR como los denominados sistemas de tasa dual. Tasa dual significa que el códec de núcleo limitado en banda está funcionando a la mitad de la tasa de muestreo de audio externa. Por el contrario, la parte de SBR se procesa a la frecuencia de muestreo completa.
La figura 5 muestra un diagrama de bloques esquemático de un sistema 500 de SBR. El sistema 500 de SBR comprende por ejemplo un codificador 510 de AAC-LD (AAC-LD = Advanced Audio Codec Low-delay, retardo bajo de códec de audio avanzado) y un codificador 520 de SBR al que se proporcionan en paralelo los datos de audio que van a procesarse. El codificador 520 de SBR comprende un banco 530 de filtros de análisis, que se muestra en la figura 5 como banco de filtros de análisis QMF. El banco 530 de filtros de análisis puede proporcionar valores de audio de subbanda correspondientes a subbandas basándose en las señales de audio proporcionadas al sistema 500 de SBR. Estos valores de audio de subbanda se proporcionan entonces a un módulo 540 de extracción de parámetros de SBR, que genera los datos de SBR tal como se describió anteriormente, por ejemplo que comprenden la envolvente espectral para la banda alta, el parámetro de ruido de banda alta y el parámetro de tonalidad de banda alta. Estos datos de SBR se proporcionan entonces al codificador 510 de AAC-LD.
El codificador 510 de AAC-LD se muestra en la figura 5 como un codificador de tasa dual. En otras palabras, 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 proporcionados al codificador 510. Para facilitar esto, el codificador 510 de AAC-LD comprende una fase 550 de muestreo descendente, que opcionalmente puede comprender un filtro pasobajo para evitar distorsiones provocadas, por ejemplo, por una violación de la teoría de Nyquist-Shannon. Los datos de audio muestreados de manera descendente como salida mediante la fase 550 de muestreo descendente se proporcionan entonces a un codificador 560 (banco de filtros de análisis) en la forma de un banco de filtros de MDCT. Las señales proporcionadas por el codificador 560 se cuantifican entonces y se codifican en la fase 570 de cuantificación y codificación. Además, los datos de SBR según se proporcionan por el módulo 540 de extracción de parámetros de SBR se codifican también para obtener un flujo de bits, que entonces se proporcionará por el codificador 510 de ACC-LD. La fase 570 de cuantificación y codificación puede cuantificar, por ejemplo, los datos según las propiedades auditivas del oído humano.
El flujo de bits se proporciona entonces a un decodificador 580 de AAC-LD, que forma parte del lado de decodificador al que se transporta el flujo de bits. El decodificador de AAC-LD comprende una fase 590 de decodificación y decuantificación, que extrae los datos de SBR del flujo de bits y los datos de audio decuantificados o recuantificados en el dominio de frecuencia que representa la banda baja. Los datos de banda baja se proporcionan entonces a un banco 600 de filtros de síntesis (banco de filtros inverso de MDCT). La fase 600 de MDCT inversa (MDCT^{-1}) convierte las señales proporcionadas a la fase de MDCT inversa desde el dominio de frecuencia al dominio de tiempo para proporcionar una señal de tiempo. Esta señal de dominio de tiempo se proporciona entonces al decodificador 610 de SBR, que comprende un banco 620 de filtros de análisis, que se muestra en la figura 5 como un banco de filtros de análisis QMF.
El banco 620 de filtros de análisis realiza un análisis espectral de la señal de tiempo proporcionada al banco 620 de filtros de análisis que representa la banda baja. Estos datos se proporcionan entonces a un generador 630 de alta frecuencia, al que también se hace referencia como generador de HF. Basándose en los datos de SBR proporcionados por el codificador 580 de AAC-LD y su fase 590 de decodificación y decuantificación, el generador 630 de HF genera la banda alta basándose en las señales de banda baja proporcionadas por el banco 620 de filtros de análisis. Tanto las señales de banda baja como de banda alta se proporcionan entonces a un banco 640 de filtros de síntesis, que transfiere las señales de banda baja y de banda alta desde el dominio de frecuencia al dominio de tiempo para proporcionar una señal de salida de audio de dominio de tiempo desde el sistema 500 de SBR.
Para completar, debe observarse que en muchos casos el sistema 500 de SBR tal como se muestra en la figura 5 no se implementa de este modo. Para ser más precisos, el codificador 510 de AAC-LD y el codificador 520 de SBR habitualmente se implementan en el lado de codificador, que habitualmente se implementa por separado desde el lado de decodificador que comprende el decodificador 580 de AAC-LD y el decodificador 610 de SBR. En otras palabras, el sistema 500 mostrado en la figura 5 representa esencialmente la conexión de dos sistemas, concretamente un codificador que comprende los codificadores 510, 520 mencionados anteriormente y un decodificador que comprende los decodificadores 580, 610 mencionados anteriormente.
Realizaciones según la presente invención en la forma de bancos 100 de filtros de análisis y bancos 300 de filtros de síntesis pueden implementarse, por ejemplo, en el sistema 500 mostrado en la figura 5, en sustitución del banco 530 de filtros de análisis, el banco 620 de filtros de análisis y el banco 640 de filtros de síntesis. En otras palabras, los bancos de filtros de síntesis o análisis de los componentes de SBR del sistema 500 pueden sustituirse, por ejemplo, por realizaciones correspondientes según la presente invención. Además, la MDCT 560 y la MDCT 600 inversa pueden sustituirse también por bancos de filtros de análisis y síntesis de retardo bajo, respectivamente. En este caso, si se han implementado todas las sustituciones descritas, se realizará el denominado códec AAC de retardo bajo mejorado (códec = codificador - decodificador).
El AAC de retardo bajo mejorado (AAC-ELD) está previsto para combinar las características de retardo bajo de un AAC-LD (Advanced Audio Codec-Low-delay, códec de audio avanzado-retardo bajo) con una alta eficacia de codificación de HE-AAC (High Efficiency Advanced Audio Codec, códec de audio avanzado de alta eficacia) usando SBR con AAC-LD. El decodificador 610 de SBR actúa en este escenario como un posprocesador, que se suministra después del decodificador 580 de núcleo que incluye un banco de filtros de análisis completo y un banco 640 de filtros de síntesis. Por lo tanto, los componentes del decodificador 610 de SBR añaden retardo de decodificación adicional, que se ilustra en la figura 5 mediante el sombreado de los componentes 620, 630, 540.
En muchas implementaciones de sistemas 500 de SBR, la parte de frecuencia inferior o banda baja varía normalmente de 0 kHz a normalmente 5-15 kHz y se codifica usando un codificador de forma de onda, al que se hace referencia como códec de núcleo. El códec de núcleo puede ser por ejemplo uno de la familia de códecs de audio de MPEG. Adicionalmente, una reconstrucción de la parte de alta frecuencia o banda alta se consigue 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 tasa dual, en el que el codificador/decodificador de AAC subyacente se opera a la mitad de la tasa de muestreo del codificador/decodificador de SBR.
La mayoría de los datos de control se usan para la representación de envolvente espectral, que tiene una resolución de tiempo y de frecuencia variables para poder controlar el proceso de SBR lo mejor posible con la menor sobrecarga de tasa de bits posible. Los otros datos de control tratan principalmente de controlar la relación tonal-a-ruido de la banda alta.
Tal como se muestra en la figura 5, la salida desde el decodificador 580 de AAC subyacente normalmente se analiza con un banco 620 de filtros QMF de 32 canales. A continuación, el módulo 630 de generador de HF recrea la banda alta interconectando subbandas de QMF de la banda baja existente a la banda alta. Además, se realiza el filtrado inverso subbanda a subbanda, basándose en los datos de control obtenidos a partir del flujo de bits (datos de SBR). El ajustador de envolvente modifica la envolvente espectral de la banda alta regenerada y añade componentes adicionales tales como ruido y sinusoides que se añaden según los datos de control en el flujo de bits. Puesto que todas las operaciones se realizan en el dominio de frecuencia (también conocido como dominio de subbanda o QMF), la etapa final del decodificador 610 es una síntesis 640 de QMF para retener una señal de dominio de tiempo. Por ejemplo, en el caso de que el análisis de QMF en el lado de codificador se realice en un sistema de 32 subbandas de QFM para 1024 muestras de dominio de tiempo, la reconstrucción de alta frecuencia da como resultado 64 subbandas de QMF sobre las que se realiza la síntesis produciendo 2048 muestras de dominio de tiempo, de modo que se obtiene un muestreo ascendente por un factor de 2.
Además, el retardo del codificador 510 de núcleo se dobla operando a la mitad de la tasa de muestreo original en el modo de tasa dual, que hace surgir fuentes adicionales de retardo tanto en el proceso de codificador como en el de decodificador de un AAC-LD en combinación con SBR. En lo sucesivo, se examinan tales fuentes de retardo y se minimiza su retardo asociado.
La figura 6 muestra un diagrama de bloques simplificado del sistema 500 mostrado en la figura 5. La figura 6 se concentra en fuentes de retardo en el proceso de codificador/decodificador usando SBR y bancos de filtros de retardo bajo para la codificación. Comparando la figura 6 con la figura 5, la MDCT 560 y la MDCT 600 inversa se han sustituido por módulos de retardo optimizado, la denominada MDCT 560' de retardo bajo (LD MDCT) y la MDCT 600' de retardo bajo inversa (LD IMDCT). Además, el generador 630 de HF se ha sustituido también por un módulo 630' de retardo optimizado.
Aparte de la MDCT 560' de retardo bajo y la MDCT 600' inversa de retardo bajo, se emplean un entramado de SBR modificado y un generador 630' de HF modificado en el sistema mostrado en la figura 6. Con el fin de evitar el retardo por entramado diferente de un codificador/decodificador 560, 600 de núcleo y los módulos de SBR respectivos, el entramado de SBR se adapta para coincidir con la longitud de entramado de 480 ó 512 muestras del AAC-LD. Además, la cuadrícula de tiempo variable del generador 630 de HF, que implica 384 muestras de retardo, está limitada respecto al ensanchamiento de datos de SBR sobre tramas de AC-LD adyacentes. Por tanto, las únicas fuentes de retardo restantes en el módulo de SBR son los bancos 530, 620 y 640 de filtros.
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 incluyendo el uso de un banco de filtros de retardo bajo en el núcleo de AAC-LD y la eliminación de un solapamiento de SBR mencionado anteriormente. Para mejoras de retardo adicionales, es necesario investigar los módulos restantes. La figura 6 muestra las fuentes de retardo en el proceso de codificador/decodificador usando SBR y los bancos de filtros de retardo bajo denominados LD-MDCT y LD-IMDCT en este caso. En comparación con la figura 5, en la figura 6 cada recuadro representa una fuente de retardo, donde los módulos de optimización de retardo están dibujados de manera sombreada. Los módulos similares no se han optimizado para retardo bajo hasta ahora.
La figura 7a ilustra un diagrama de flujo que comprende un pseudocódigo C o C++ para ilustrar una realización según la presente invención en la forma de un banco de filtros de análisis o un método correspondiente para generar valores de subbanda de audio en canales de subbanda de audio. Para ser incluso más precisos, la figura 7a representa un diagrama de flujo de un banco de filtros de análisis de valor complejo para 32 bandas.
Tal como se comentó anteriormente, el banco de filtros de análisis se usa para dividir la señal de dominio de tiempo, por ejemplo proporcionada a partir del codificador de núcleo en N = 32 señales de subbanda. La salida procedente del banco de filtros, las muestras de subbanda o valores de subbanda de audio son, en el caso de un banco de filtros de análisis de valor complejo, de valor complejo y así se sobremuestrean por un factor de 2, en comparación con un banco de filtros de valor real. El filtrado implica y comprende las siguientes etapas, en las que una disposición x(n) comprende exactamente 320 muestras de dominio de tiempo. Cuanto más alto sea el índice de las muestras n en la disposición, más antiguas son las muestras.
Tras un comienzo de las realizaciones del método en la etapa S100, en primer lugar, las muestras en la disposición x(n) se desplazan 32 posiciones en la etapa S110. Las 32 muestras más antiguas se descartan y se almacenan 32 muestras nuevas en las posiciones 31 a 0 en la etapa S120. Tal como se muestra en la figura 7a, las muestras de audio de dominio de tiempo entrantes se almacenan en posiciones correspondientes a un índice decreciente n en el intervalo de 31 a 0. Esto da como resultado una inversión temporal de las muestras almacenadas en la trama o vector correspondiente de modo que ya se ha tenido cuidado de invertir el índice de la función de ventana para obtener la función de ventana de análisis basándose en la función de ventana de síntesis (igualmente larga).
Durante una etapa S130, se obtienen los coeficientes de ventana ci(j) 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 está en el intervalo entre 0 y 319 según la ecuación (15). Los coeficientes de ventana c(n) se dan en la tabla en el anexo 1 de la descripción. Sin embargo, dependiendo de los detalles de implementación, para obtener los coeficientes de ventana basándose en los valores dados en las tablas en los anexos 1 y 3, deben considerarse 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)).
En estos casos, los coeficientes de ventana w(n) o c(n) que van a usarse pueden obtenerse según
17
con la función s(n) de cambio de signo según
18
para n = 0 a 639, donde w_{tabla}(n) son los valores dados en las tablas en los anexos.
Sin embargo, no se requiere implementar los coeficientes de ventana según la tabla en el anexo 1 para obtener, por ejemplo, la reducción de retardo ya descrita. Para conseguir esta reducción de retardo, mientras se mantiene el nivel de calidad de los datos de audio procesados, o para conseguir otro equilibrio, los coeficientes de ventana c(n) para el índice de coeficiente de ventana n en el intervalo entre 0 y 639, pueden cumplir uno de los conjuntos de relaciones según se facilitan en uno de los anexos 2 a 4. Además, debe observarse que pueden emplearse también otros coeficientes de ventana c(n) en realizaciones según la presente invención. Naturalmente, también pueden implementarse otras funciones de ventana que comprenden un número de coeficientes de ventana diferente de 320 ó 640, aunque las tablas en los anexos 1 a 4 sólo se aplican a funciones de ventana que tienen 640 coeficientes de ventana.
\newpage
La interpolación lineal según S130 lleva a una mejora significativa de la calidad y a una reducción o cancelación de los efectos de distorsión en el caso de una función de ventana que comprende un número par de coeficientes de ventana. De observarse además que la unidad compleja no es j como en las ecuaciones (1), (2) y (16), sino que se indica mediante
i = \sqrt{-1}.
En la etapa S140, las muestras de la disposición x(n) se multiplican entonces elemento a elemento por los coeficientes ci(n) de la ventana interpolada.
En la etapa S150, las muestras divididas en ventanas se suman según la ecuación dada en el diagrama de flujo en la figura 7a para crear la disposición de 64 elementos u(n). En la etapa S160, se calculan 32 nuevas muestras de subbanda o valores de subbanda de audio W(k,l) según la operación de matriz Mu, en la que el elemento de la matriz M viene dado por
19
donde exp() indica la función exponencial compleja y, como se mencionó anteriormente, i es la unidad imaginaria. Antes de que termine el bucle de un diagrama de flujo con la etapa S170, puede proporcionarse cada uno de los valores de subbanda W(k,l) (= W[k] [l]), lo que corresponde a la muestra 1 de subbanda en la subbanda que tiene el índice k. En otras palabras, cada bucle en el diagrama de flujo mostrado en la figura 7a produce 32 valores de subbanda de valor complejo, representando cada uno la salida a partir de una subbanda de banco de filtros.
La figura 7b ilustra la etapa S150 de plegado de la trama 150 de muestras de audio de dominio de tiempo divididas en ventanas que comprende 10 bloques 160-1, ..., 160-10 de muestras de audio de dominio de tiempo divididas en ventanas z(n) al vector u(n) sumando 5 veces cada dos bloques de la trama 150. El plegado o retracción se realiza elemento a elemento de modo que las muestras de audio de dominio de tiempo divididas 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 se añaden 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, se generan los elementos del vector u(n) correspondientes en el bloque 160-2 en la etapa S150.
Una realización adicional según la presente invención en la forma de un banco de filtros de análisis puede implementarse como un banco de filtros de retardo bajo complejo de 64 bandas. El procesamiento de este banco de filtros de retardo bajo complejo como un banco de filtros de análisis es básicamente similar al banco de filtros de análisis según se describe en el contexto de la figura 7a. Debido a las similitudes y básicamente al mismo procesamiento según se ha descrito en el contexto de la figura 7a, las diferencias entre el banco de filtros de análisis complejo descrito para 32 bandas de la figura 7a y el banco de filtros de análisis complejo para 64 subbandas se comentarán en este caso.
A diferencia del banco de filtros de análisis que comprende 32 subbandas tal como se muestra en la figura 7a, el vector de trama x(n) comprende, en el caso de un banco 640 de filtros de análisis de 64 bandas elementos que tienen índices desde 0-639. Por lo tanto, la etapa S110 se modifica de modo que las muestras en la disposición x(n) se desplazan 64 posiciones, donde 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 muestra en la figura 7c, las muestras de audio de dominio de tiempo entrantes se almacenan en posiciones correspondientes a un índice decreciente n en el intervalo de 63 a 0. Esto da como resultado una inversión en tiempo de las muestras almacenadas en la trama o vector correspondiente de modo que ya se ha tenido cuidado de invertir el índice de la función de ventana para obtener la función de ventana de análisis basándose en la función de ventana de síntesis (igualmente larga).
Como la ventana c(n) usada para dividir en ventanas los elementos del vector de trama x(n), comprende normalmente 640 elementos, puede omitirse la etapa S130 de interpolación de manera lineal de los coeficientes de ventana para obtener las ventanas interpoladas ci(n).
Entonces, durante la etapa S140, las muestras de la disposición x(n) se multiplican o se dividen en ventanas mediante el uso de la secuencia de coeficientes de ventana c(n), que una vez más se basan en los valores en la tabla en el anexo 1. En el caso de que el coeficiente de ventana c(n) sea el de la función de ventana de síntesis, la división en ventanas o multiplicación de la disposición x(n) por la ventana c(n) se lleva a cabo según la ecuación
\vskip1.000000\baselineskip
20
para an = 0, ..., 639. Una vez más, para conseguir las propiedades de retardo bajo de la función de ventana, no se requiere implementar la función de ventana exactamente según los coeficientes de ventana basándose en los valores dados en la tabla del anexo 1. Para muchas aplicaciones, una implementación en la que los coeficientes de ventana cumplen cualquiera de los conjuntos de relaciones según se dan en la tablas en los anexos 2 a 4 será suficiente para conseguir un equilibrio aceptable entre calidad y una reducción significativa del retardo. Sin embargo, dependiendo de los detalles de implementación, para obtener los coeficientes de ventana basándose en los valores dados en las tablas en los anexos 1 y 3, deben considerarse 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 las ecuaciones (16a) y (16b).
La etapa S150 del diagrama de flujo mostrado en la figura 7a se sustituye entonces por una suma de las muestras del vector de trama z(n) según la ecuación
21
para crear la disposición de 128 elementos u(n).
La etapa S160 de la figura 7a se sustituye entonces por una etapa en la que se calculan 64 muestras de subbanda nuevas según la operación de la matriz Mu, en la que los elementos de matriz de la matriz M vienen dados por
22
donde exp() indica la función exponencial compleja e i, tal como se explicó, es la unidad imaginaria.
La figura 7c ilustra un diagrama de flujo según una realización de la presente invención en la forma de un banco de filtros de análisis de valor real para 32 canales de subbanda. La realización tal como se ilustra en la figura 7c no difiere significativamente de la realización mostrada en la figura 7a. La principal diferencia entre las dos realizaciones es que la etapa S160 de cálculo de los 32 valores nuevos de audio de subbanda de valor complejo se sustituye en la realización mostrada en la figura 7c por una etapa S162 en la que se calculan 32 muestras de audio de subbanda de valor real según una operación de matriz M_{r}u, en la que los elementos de la matriz M_{r} vienen dados por
23
En consecuencia, cada bucle en el diagrama de flujo produce 32 muestras de subbanda de valor real donde W(k,1) corresponde a la muestra 1 de audio de subbanda de la subbanda k.
El banco de filtros de análisis de valor real puede emplearse, por ejemplo, en el marco de un modo de potencia baja de un sistema de SBR, tal como se muestra en la figura 5. El modo de potencia baja de la herramienta de SBR difiere de la herramienta de SBR de alta calidad principalmente con respecto al hecho de que se emplean bancos de filtros de valor real. Esto reduce la complejidad computacional y el esfuerzo computacional por un factor de 2, de modo que el número de operaciones por unidad de tiempo se reducen esencialmente por un factor de 2 puesto que no se requiere calcular ninguna parte imaginaria.
Los nuevos bancos de filtros propuestos según la presente invención son totalmente compatibles con el modo de potencia baja de sistemas de SBR. Por tanto, con los bancos de filtros según la presente invención, los sistemas de SBR todavía pueden funcionar en el modo normal o modo de alta calidad con bancos de filtros complejos y en el modo de potencia baja con bancos de filtros de valor real. El banco de filtros de valor real puede, por ejemplo, derivarse a partir del banco de filtros complejo usando sólo los valores reales (contribuciones moduladas por coseno) y omitiendo los valores imaginarios (contribuciones moduladas por seno).
La figura 8a muestra un diagrama de flujo según un ejemplo comparativo de la presente invención en la forma de un banco de filtros de síntesis de valor complejo para 64 canales de subbanda. Tal como se comentó anteriormente, el filtrado de síntesis de las señales de subbanda procesadas de SBR se consigue usando un banco de filtros de síntesis de 64 subbandas. La salida procedente del banco de filtros es un bloque de muestras de dominio de tiempo de valor real tal como se sugiere en el contexto de la figura 1. El proceso se ilustra mediante el diagrama de flujo en la figura 8a, que también ilustra un ejemplo comparativo en la forma de un método para generar muestras de audio de dominio de tiempo.
El filtrado de síntesis comprende después de un inicio (etapa S200), las siguientes etapas, en las que una disposición v comprende 1280 muestras. En la etapa S210, las muestras en la disposición v se desplazan 128 posiciones, donde las 128 muestras más antiguas se descartan. En la etapa S220, los 64 valores nuevos de subbanda de audio de valor complejo se multiplican por una matriz N, en la que los elementos de matriz N(k,n) vienen dados por
24
donde exp() indica la función exponencial compleja e i es la unidad imaginaria. La parte real del resultado procedente de esta operación se almacena en la posición 0-127 de la disposición v, tal como se ilustra en la figura 8a.
En la etapa S230, las muestras, que ahora están en el dominio de tiempo se extraen de la disposición v según la ecuación dada en la figura 8a para crear una disposición de 640 elementos g(n). En la etapa S240, las muestras de valor real en el dominio de tiempo de disposición g se multiplican por el coeficiente de ventana c(n) para producir una disposición w, en la que los coeficientes de ventana son una vez más los coeficientes de ventana basados en los valores dados en la tabla en el anexo 1.
Sin embargo, tal como se comentó anteriormente, no se requiere que los coeficientes de ventana se basen exactamente en los valores dados en la tabla del anexo 1. Es suficiente en diferentes ejemplos comparativos, si los coeficientes de ventana satisfacen uno de los conjuntos de relaciones según se dan en las tablas de los anexos 2 a 4, para conseguir la propiedad de retardo bajo deseada del banco de filtros de síntesis. Además, tal como se explicó en el contexto del banco de filtros de análisis, también pueden utilizarse otros coeficientes de ventana en el marco del banco de filtros de síntesis. Sin embargo, dependiendo de los detalles de implementación, para obtener los coeficientes de ventana basándose en los valores dados en las tablas en los anexos 1 y 3, deben considerarse 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)).
En la etapa S250, se calculan 64 muestras nuevas de salida mediante una suma de muestras a partir de la disposición w(n) según la última etapa y la fórmula dada en el diagrama de flujo de la figura 8a, antes de que finalice un bucle de un diagrama de flujo 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 tiene el índice k. Cada nuevo bucle tal como se representa en la figura 8a produce 64 muestras de audio de valor real de dominio de tiempo como resultado.
La implementación tal como se muestra en la figura 8a de un banco de filtros de análisis de valor complejo para 64 bandas no requiere una memoria intermedia de solapamiento/suma que comprenda varias posiciones de almacenamiento tal como se explicó en el contexto de la realización mostrada en la figura 2b. En este caso, la memoria intermedia de solapamiento-suma está "oculta" en los vectors v y g, que se calcula basándose en los valores almacenados en el vector v. La memoria intermedia de solapamiento-suma se implementa en el marco de estos vectors siendo estos índices superiores a 128, de modo que los valores corresponden a valores de bloques anteriores o pasados.
La figura 8b ilustra un diagrama de flujo de un banco de filtros de síntesis de valor real para 64 canales de subbanda de audio de valor real. El banco de filtros de síntesis de valor real según la figura 8b puede implementarse también en el caso de una implementación de SBR de potencia baja como un banco de filtros de SBR correspondiente.
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, las 64 valores nuevos de subbanda de audio de valor real se multiplican por una matriz N_{r}, en la que los elementos de la matriz N_{r}(k,n) vienen dados por
25
donde el resultado de esta operación se almacena una vez más en las posiciones 0-127 de la disposición v.
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 valor real para el modo de SBR de potencia baja, no difiere del diagrama de flujo tal como se muestra en la figura 8a del banco de filtros de síntesis de valor complejo para el modo de SBR de alta calidad.
La figura 8c ilustra un diagrama de flujo según una realización de la presente invención en la forma de un banco de filtros de síntesis de valor complejo muestreado de manera descendente y el método apropiado, que puede implementarse por ejemplo en una implementación de SBR de alta calidad. Para ser más precisos, 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 valor complejo que puede procesar valores de subbanda de audio de valor complejo para 32 canales de subbanda.
El filtrado de síntesis muestreado de manera descendente de las señales de subbanda de proceso de SBR se consigue usando un banco de filtros de síntesis de 32 canales tal como se ilustra en la figura 8c. La salida del banco de filtros es un bloque de muestras de dominio de tiempo de valor real. El proceso viene dado en el diagrama de flujo de la figura 8c. El filtrado de síntesis comprende después de un inicio (etapa S300), las siguientes etapas, en las que una disposición v comprende 640 muestras de dominio de tiempo de valor real.
En la etapa S310, las muestras en la disposición v se desplazan 64 posiciones, en la que las 64 muestras más antiguas se descartan. Entonces, en la etapa S320, las 32 muestras nuevas de subbanda de valor complejo o valores de subbanda de audio de valor complejo se multiplican por una matriz N, cuyos elementos vienen dados por
26
donde exp() indica la función exponencial compleja e i de nuevo es la unidad imaginaria. La parte real del resultado de esta operación se almacena entonces en las posiciones 0-63 de la disposición v.
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 disposición g de 320 elementos. 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 está una vez más en el intervalo entre 0 y 319 (N=64, T=10 para la ecuación (15)). Tal como se ilustró anteriormente, los coeficientes de una función de ventana c(n) se basan en los valores dados en la tabla del anexo 1. Además, para conseguir la propiedad de retardo bajo tal como se ilustró anteriormente, no se requiere que los coeficientes de ventana c(n) sean exactamente las cifras dadas en la tabla del anexo 1. Es suficiente con que los coeficientes de ventana c(n) cumplan al menos un conjunto de relaciones según se facilita en los anexos 2 a 4. Sin embargo, dependiendo de los detalles de implementación, para obtener los coeficientes de ventana basándose en los valores dados en las tablas en los anexos 1 y 3, deben considerarse 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 las ecuaciones (16a) y (16b). Además, naturalmente, también pueden emplearse diferentes funciones de ventana que comprendan diferentes coeficientes de ventana c(n) en realizaciones de la presente invención.
En la etapa S350, las muestras de la disposición g se multiplican por el coeficiente de ventana interpolado ci(n) de la función de ventana interpolada para obtener la muestra de dominio de tiempo w(n) dividida en ventanas.
A continuación, en la etapa S360, se calculan 32 muestras nuevas de salida mediante una suma de muestras a partir de la disposición w(n) según la última etapa S360, antes de la etapa final S370 en el diagrama de flujo de la figura 8c.
Tal como se indicó anteriormente, en el diagrama de flujo de la figura 8c, X([k][1]) (= x(k,1)) corresponde a un valor 1 de subbanda de audio en el canal de subbanda de audio k. Además, cada nuevo bucle de un diagrama de flujo tal como se indicó en la figura 8c produce 32 muestras de dominio de tiempo de valor real como salida.
La figura 8d muestra un diagrama de flujo de una realización según la presente invención en la forma de un banco de filtros de síntesis de valor real muestreado de manera descendente, que puede emplearse por ejemplo en el caso de un banco de filtros de SBR de baja potencia. La realización y el diagrama de flujo mostrados en la figura 8d difiere del diagrama de flujo mostrado en la figura 8c del banco de filtros de síntesis de valor complejo muestreado de manera descendente sólo con respecto a la etapa S320, que se sustituye en el diagrama de flujo mostrado en la figura 8d por la etapa S322.
En la etapa S322, los 32 valores nuevos de subbanda de audio de valor real, o muestras de subbanda se multiplican por la matriz N_{r}, en la que los elementos de la matriz N_{r} vienen dados por
27
donde el resultado de esta operación se almacena en la posición de 0 a 64 de la disposición v.
La figura 9a muestra una implementación de un ejemplo comparativo en la forma de un método correspondiente a un banco de filtros de análisis de valor complejo para 64 subbandas. La figura 9a muestra una implementación como una implementación de MATLAB, que proporciona como resultado un vector e y un vector "estado". La función según se define en esta secuencia de comandos 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 "estado" como entrada. El nombre de la función LDFB80 es una abreviatura para banco de filtros de retardo bajo para 8 bloques que se extienden en el pasado y 0 bloques en el futuro.
En el lenguaje de programación MATLAB, el símbolo de porcentaje (%) indica observaciones, que no se llevan a cabo, sino que solamente sirven para el fin de comentar e ilustrar el código fuente. En la siguiente descripción, se explicarán diferentes segmentos del código fuente con respecto a sus funciones.
En la secuencia de código S400, la memoria intermedia que se representa por el vector "estado" se actualiza de modo que el contenido del vector "estado" que tiene los índices 577 a 640 se sustituyen por los contenidos del vector x que comprende las muestras de entrada de audio de dominio de tiempo recientes. En la secuencia de código S410, los coeficientes de ventana de la función de ventana de análisis tal como se almacenan en la variable LDFB80_win se transfieren al vector win_ana.
En la etapa S420, que supone que las muestras más recientes están alineadas hacia el lado derecho de la memoria intermedia, se realiza la división en ventanas real. En el bloque S420, el contenido del vector estado se multiplica elemento a elemento (.*) con los elementos del vector win_ana que comprende la función de ventana de análisis. El resultado de esta multiplicación se almacena entonces en el vector x_win_orig.
En la etapa S430, se reconforma el contenido del vector x_win_orig para formar una matriz de un tamaño de 128 . 5 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.
En la etapa S450, la pila x_stack se pliega 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 el resultado de nuevo a los diversos x_stack.
En el segmento de código S460, la transformación desde el dominio de tiempo al dominio de frecuencia se lleva a cabo calculando una transformada rápida de Fourier compleja (FFT) del contenido multiplicado elemento a elemento de la pila x_stack multiplicado con la función exponencial compleja a la que se proporciona el argumento (-i \cdot \pi \cdot n/128), con los índices y en el intervalo desde 0 hasta -127 y la unidad imaginaria i.
En el segmento de código S470, se aplica un factor twiddle posterior definiendo la variable m = (64 + 1)/2 y calculando el bloque que comprende los valores de subbanda de audio como un vector y según la ecuación
28
El índice k cubre el intervalo de números enteros desde 1-64 en la implementación mostrada en la figura 9a. El vector y se proporciona entonces como el vector o bloque que comprende los valores de subbanda de audio 180 de la figura 1. La barra por encima de la segunda ecuación de factorización (26) así como la función conj() del segmento de codificación S417 en la figura 9a se refieren al conjugado complejo del argumento del número complejo respectivo.
En un segmento de código final S480, el vector de estado se desplaza 64 elementos. El vector de estado en su forma desplazada puede proporcionarse entonces a la función LDFB80 como entrada de nuevo en un bucle adicional de la función.
La figura 9b muestra una implementación de MATLAB según una realización de la presente invención en la forma de un método correspondiente a un banco de filtros de análisis de valor complejo para 32 subbandas. Por consiguiente, se hace referencia a la función definida como LDFB80_32 que indica que la implementación representa un banco de filtros de retardo bajo para 32 subbandas basándose en un solapamiento adicional de 8 bloques en el pasado y 0 bloques en el futuro.
La implementación de la figura 9b difiere de la implementación mostrada en la figura 9a, sólo con respecto a unas pocas secuencias de código, tal como se comentará en la siguiente descripción. Las secuencias de código S400, S430, S460, S470 y S480 se sustituyen por secuencias de código S400', S430', S460', S470' y S480' correspondientes que tienen en cuenta principalmente el hecho de que el número de subbandas, o el número de valores de subbanda proporcionados por la función LDFB80_32, se reduce por un factor de 2. Por consiguiente, la etapa S400' se refiere al vector estado que está actualizándose con respecto a las 32 últimas entradas correspondientes a los índices 289 a 320 con las 32 muestras de entrada de audio de dominio de tiempo correspondientes del bloque 220 reciente tal como se muestra en la figura 1.
Sin embargo, la principal diferencia entre las implementaciones tal como se muestra en las figuras 9a y 9b aparece en la secuencia de código S410 de la figura 9a, que se sustituye por una secuencia de código S412 en la implementación mostrada en la figura 9b. La secuencia de código para S412 de la figura 9b comprende en primer lugar el copiado de los 640 coeficientes de ventana que comprenden ventanas almacenadas en el vector LDFB80_win para el vector local win_ana. A continuación, tiene lugar una interpolación según la ecuación (15), en la que dos coeficientes de ventana consecutivos representados por los elementos de vector del vector win_ana se añaden y se dividen por 2 y a continuación se almacenan de nuevo en el vector win_ana.
La siguiente secuencia de código S420 es idéntica a la secuencia de código S420 tal como se muestra en la figura 9a, que lleva a cabo la multiplicación elemento a elemento (.*) real de la división en ventanas de los valores, o elementos, del vector estado con los elementos del vector win_ana que comprende los coeficientes de ventana interpolados de la función de ventana interpolada. El resultado de esta operación se almacena en el vector x_win_orig. Sin embargo, la diferencia entre la secuencia de código S420 de la figura 9b y la secuencia de código S420 correspondiente de la figura 9a, es que en el caso de la figura 9b, se llevan a cabo no 640 sino sólo 320 multiplicaciones en el marco de la división en ventanas.
En la secuencia de código S430' que sustituye a la secuencia de código S430, la pila x_stack se prepara reconformando el vector x_win_orig. Sin embargo, como el vector X_win_orig sólo comprende 320 elementos, en comparación con el vector correspondiente de la figura 9a que comprende 640 elementos, la matriz x_stack sólo es una matriz de 64 \cdot 5 elementos.
Las secuencias de código S440 del cambio de signo y la secuencia de código S450 de plegado de la pila son idénticas en ambas implementaciones según las figuras 9a y 9b, aparte del número de elementos reducido (320 en comparación con 640).
En la secuencia de código S460' que sustituye a la secuencia de código S460 se lleva a cabo una transformada rápida de Fourier (FFT) compleja impar de datos de ventana, que es 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, al vector temp se le proporciona el resultado de una transformada rápida de Fourier, de la multiplicación elemento a elemento de los elementos de la pila x_stack y de la función exponencial compleja del argumento (-i \cdot \pi \cdot n/64), en la que el índice n está en el intervalo entre 0 y 63.
Posteriormente, en la secuencia de código S470' modificada, se realiza la aplicación de un factor twiddle posterior definiendo la variable m = (32+1)/2 y generando el vector de salida y según la ecuación (26), donde el índice k sólo cubre el intervalo desde 1 hasta 32 y donde el número 128 que aparece en el argumento de la función exponencial compleja se sustituye por el número 64.
En la secuencia de código S480' final, el estado de memoria intermedia se desplaza 32 elementos en el caso de la implementación mostrada en la figura 9b, en la que en la secuencia de código S480 correspondiente, la memoria intermedia se desplaza 64 elementos.
La figura 10a muestra una secuencia de comandos de MATLAB que ilustra una implementación según un ejemplo comparativo en la forma de un método correspondiente a un banco de filtros de síntesis de valor complejo para 64 subbandas. La secuencia de comandos mostrada en la figura 10a define la función ILDFB80 a la que se proporciona el vector x que representa el bloque 320 de valores de subbanda de audio de la figura 2a y un vector estado "estado" como parámetros de entrada. El nombre ILDFB80 indica que la función definida es un banco de filtros de retardo bajo inverso correspondiente a 8 bloques de datos de audio del pasado y 0 bloques del futuro. La función proporciona un vector e y un vector estado "estado" redefinido o nuevo como resultado, donde el vector y corresponde al bloque 410 de muestras de audio de dominio de tiempo de la figura 2a.
En una secuencia de código S500, se realiza una aplicación de un factor twiddle anterior, donde 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
29
donde la barra por encima del elemento del vector x(n) y la función conj() representan el complejo conjugado, exp() representa la función exponencial compleja, i representa la unidad imaginaria y n es un índice en el intervalo desde 1 hasta 64.
En la secuencia de código S510, el vector temp se expande 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. Por lo tanto, en la secuencia de código S510 se establece una simetría impar de la matriz temp basándose en el vector temp.
En una secuencia de código S52O se realiza una transformada rápida de Fourier (FFT) impar basándose en la matriz temp. En esta secuencia de código, se realiza la parte real de la multiplicación elemento a elemento del resultado de la transformada de Fourier inversa de la matriz temp con la función exponencial que tiene el argumento de (i \cdot \pi/128) y se proporciona a un vector y_knl, en el que el índice n está en el intervalo de 0 a 127.
En la secuencia de código S530, se forma una extensión de los datos y un cambio de signo alternante. Para conseguir esto, se invierte el orden de los elementos del vector_knl y al mismo tiempo se lleva a cabo un cambio de signo. Entonces, se define una matriz tmp, que comprende la primera, tercera y quinta columna del vector_knl, en el que la segunda y la cuarta columna comprenden el vector_knl con signo cambiado.
En una secuencia de código S540, los coeficientes de ventana almacenados en el vector LDFB80_win se copian en primer lugar al vector win_ana. Entonces, se determinan los coeficientes de ventana de síntesis basándose en los coeficientes de ventana de análisis almacenados en el vector win_ana generando una versión invertida en tiempo de la función de ventana de análisis según
30
donde N \cdot T es el número total de coeficientes de ventana y n es el índice de los coeficientes de ventana.
En una secuencia de código S550, se aplica la ventana de síntesis al vector tmp mediante una multiplicación elemento a elemento del vector con la función de ventana de síntesis. En una secuencia de código S560, se actualiza la memoria intermedia estableciendo los elementos del vector estado con los índices 577 a 640 a 0 y sumando el contenido del vector tmp dividido en ventanas al estado del vector estado.
En una secuencia de código S570, se extrae el vector de salida y que comprende muestras de audio de dominio de tiempo del vector estado extrayendo los elementos del vector estado extrayendo los elementos del vector estado con los índices 1 a 64.
En una secuencia de código S580, la secuencia de código final de la función tal como se muestra en la figura 10a, el estado del vector estado está desplazado 64 elementos de modo que los elementos con índices desde 65 hasta 640 se copian a los primeros 576 elementos del vector estado.
La figura 10b muestra una secuencia de comandos de MATLAB de una implementación según una realización de la presente invención en forma de un banco de filtros de síntesis de valor complejo para 32 valores de subbanda. El nombre de la función tal como se define por la secuencia de comandos mostrada en la figura 10b ilustra esto como la función definida y se denomina ILDFB80_32 que indica que la función es un banco de filtros de retardo bajo inverso para 32 bandas con 8 bloques que se solapan del pasado y 0 bloques que se solapan del futuro.
Como se ha tratado con respecto a la comparación de la implementación mostrada en las figuras 9a y 9b, la implementación según la secuencia de comandos de la figura 10b también está estrechamente relacionada con la implementación del banco de filtros de síntesis de 64 subbandas según la figura 10a. En consecuencia, se proporcionan a la función los mismos vectores y se proporcionan mediante la función que, sin embargo, comprenden sólo la mitad del número de elementos en comparación con la implementación de la figura 10a. La implementación para un banco de filtros de síntesis de 32 bandas para 32 bandas difiere de la versión de 64 subbandas ilustrada en la figura 10a, principalmente con respecto a dos aspectos. Las secuencias de código S500, S510, S520, S53\beta, S560, S570 y S580 se sustituyen por secuencias de código en las que el número de elementos que van a tratarse y el número adicional de parámetros relacionados con elementos se dividen entre 2. Además, la secuencia de código S540 de generar la función de ventana de síntesis se sustituye por una secuencia de código S542, en la que la función de ventana de síntesis se genera como función de ventana de síntesis interpolada de manera lineal según la ecuación (15).
En la secuencia de código S500' que sustituye a la secuencia de código S500, se define la variable m para ser igual a m = (32+1)/2 y se define el vector temp según la ecuación (27), en la que el índice n sólo cubre 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.
Por consiguiente, en la secuencia de código S510' que sustituye a la secuencia de código S510, el intervalo de índices sólo cubre los índices de los 32 elementos que comprenden el vector temp. En otras palabras, el índice sólo cubre los valores desde 1 hasta 32. Por consiguiente, en la secuencia de código S520' que sustituye a la secuencia de código S520, el argumento de la función exponencial se sustituye por (i \cdot \pi \cdot n/64), en el que el índice n está en el intervalo desde 0 hasta 63. En el marco de la secuencia de código S530', el intervalo de índices también se reduce en un factor de 2 en comparación con la secuencia de código S530.
La secuencia de código S542 que sustituye a la secuencia de código S540 de la figura 10a también copia la función de ventana almacenada en el vector LDFB80 win al vector win_ana y genera una versión invertida en tiempo win_syn según la ecuación (28). Sin embargo, la secuencia de 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 win_syn redefinido 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.
La secuencia de código S550 de aplicar la ventana al vector tmp y sustituir los elementos tmp por la versión dividida en ventanas de los mismos es idéntica en cuanto al código como comparación directa de las secuencias de código respectivas en las figuras 10a y 10b. Sin embargo, debido al menor tamaño del vector tmp en la implementación de la figura 10b, durante una implementación, sólo se lleva a cabo la mitad del número de multiplicaciones.
También en el marco de las secuencias de código S560', S570' y S580' que sustituyen a las secuencias de 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 de código final sólo difieren de las secuencias de código de la implementación mostrada en la figura 10a con respecto al tamaño de los vectores estado tmp e y.
Como han ilustrado las realizaciones descritas hasta ahora, el divisor en ventanas de análisis así como el divisor en ventanas de síntesis están adaptados para dividir en ventanas las muestras respectivas en el dominio de tiempo comprendido en las tramas respectivas multiplicando éstas elemento a elemento con coeficientes de ventana de una función de ventana.
Antes de describir con más precisión una función de ventana, que puede emplearse 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 tiempo, se comentarán con más detalles las ventajas de las realizaciones según la presente invención, especialmente en vista de una implementación en el marco de un sistema o herramienta de SBR tal como muestran las figuras 5 y 6.
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 ofrecer una reducción significativa del retardo según otros bancos de filtros. Sin embargo, esta propiedad de retardo bajo se tratará en el contexto de las figuras 13 y 14 con más detalle. Un aspecto importante en este contexto es observar que la longitud de la función de ventana, en otras palabras, el número de coeficientes de ventana que va a aplicarse a una trama o a un bloque de muestras de dominio de tiempo es independiente del retardo.
Las realizaciones según la presente invención ofrecen la ventaja adicional de mejorar la calidad de los datos de audio (reconstruidos). La interpolación empleada en las realizaciones según la presente invención ofrece una distorsión reducida de manera significativa en comparación con otros esquemas de reducción con respecto al número de coeficientes de ventana.
Además, como se comentará en el contexto de las figuras 17 y 18 con más detalle, en cuanto a la psicoacústica, las realizaciones según la presente invención utilizan a menudo las propiedades de enmascaramiento temporal del oído humano mejor que muchos otros bancos de filtros. Además, como se comentará con más precisión en el contexto de las figuras 15, 16 y 19, las realizaciones según la presente invención ofrecen una respuesta de frecuencia excelente.
Además, en muchos bancos de filtros según una realización de la presente invención, puede alcanzarse una reconstrucción perfecta si un banco de filtros de análisis y el banco de filtros de síntesis están interconectados. En otras palabras, las realizaciones según la presente invención no sólo ofrecen una salida indistinguible de manera audible en comparación con la entrada de un conjunto interconectado de este tipo de un banco de filtros de análisis y un banco de filtros de síntesis, sino (aparte de errores de cuantificación, errores de redondeo computacional y otros efectos causados por la discretización necesaria) una salida idéntica en comparación con la entrada.
Una integración en el módulo de SBR de bancos de filtros según la presente invención puede alcanzarse fácilmente. Aunque normalmente los módulos de SBR operan en el modo de tasa dual, los bancos de filtros de retardo bajo de valor complejo según realizaciones de la presente invención pueden proporcionar una reconstrucción perfecta en el modo de tasa única, mientras que los bancos de filtros QMF de SBR pueden proporcionar sólo una reconstrucción casi perfecta. En el modo de tasa dual, se obtiene la versión de 32 bandas de la respuesta de impulso mediante interpolación lineal a la que también se hace referencia como muestreo descendente de dos coeficientes de ventana o coeficientes de filtro adyacentes de la respuesta de impulso de 64 bandas o función de ventana como se explica en el contexto de la figura 3.
En caso de una implementación de valor complejo de un banco de filtros, puede alcanzarse un retardo de análisis (o síntesis) reducido significativo para bancos de filtros muestreados de manera crítica, en los que la frecuencia de procesamiento o muestreo corresponde a la frecuencia límite según la teoría de Nyquist-Shannon. En caso de una implementación de valor real de un banco de filtros, puede conseguirse una implementación eficaz empleando algoritmos optimizados, como se ilustra por ejemplo en el contexto de la implementación de MATLAB mostrada en las figuras 9 y 10. Estas implementaciones pueden emplearse por ejemplo para el modo de baja potencia de la herramienta de SBR como se describe en el contexto de las figuras 5 y 6.
Como se explica en el contexto de las figuras 5 y 6, es posible alcanzar una reducción adicional con respecto al retardo en el caso de un sistema de SBR usando un banco de filtros de retardo bajo de valor complejo según una realización de la presente invención. Como se comentó anteriormente, en el decodificador 610 de SBR tal como se muestra en la figura 5, el banco 620 de filtros de análisis de QMF se sustituye por un banco de filtros de retardo bajo complejo (CLDFB) según una realización de la presente invención. Esta sustitución puede realizarse de manera computable manteniendo el número de bandas (64), la longitud de la respuesta (640) de impulso y usando una modulación compleja. El retardo alcanzado mediante esta herramienta se minimiza hasta el punto que se consigue un retardo global lo suficientemente bajo para una comunicación bidireccional sin sacrificar un nivel de calidad alcanzable.
En comparación, por ejemplo, con un sistema que comprende una MDCT y una MDST para formar un sistema de tipo MDCT de valor complejo, una realización según la presente invención proporciona una respuesta de frecuencia mucho mejor. En comparación con el banco de filtros QMF, por ejemplo, usado en la SBR de MPEG-4 en la actualidad, un sistema que comprende uno o más bancos de filtros según realizaciones de la presente invención proporciona un retardo significativamente más bajo.
Incluso en comparación con un banco de filtros QMF de retardo bajo, las realizaciones según la presente invención ofrecen la ventaja de una reconstrucción perfecta combinada con el retardo más bajo. Las ventajas que surgen de la propiedad de 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, es necesaria una atenuación de banda suprimida alta para atenuar la distorsión hasta un nivel lo suficientemente bajo. Esto limita la posibilidad de alcanzar un retardo muy bajo en el diseño del filtro. Por el contrario, el empleo de una realización según la presente invención tiene ahora la posibilidad de diseñar independientemente el filtro de modo que no sea necesaria una atenuación de banda suprimida alta para atenuar la distorsión hasta niveles lo suficientemente bajos. La atenuación de banda suprimida sólo tiene que ser lo suficientemente baja para permitir una distorsión reducida suficiente para la aplicación de procesamiento de señal deseada. Por tanto, puede alcanzarse un mejor equilibrio hacia un retardo más bajo en el diseño del
filtro.
La figura 11 muestra una comparación de una función 700 de ventana tal como puede emplearse, por ejemplo, en una realización según la presente invención junto con la función 710 de ventana de seno. La función 700 de ventana, a la que también se hace referencia como ventana de CMLDFB de "síntesis" (CMLDFB = complex modulated low-delay filterbank, banco de filtros de retardo bajo modulado complejo), comprende 640 coeficientes de ventana basados en los valores dados en la tabla en el anexo 1. Con respecto a la magnitud de las funciones de ventana, debe observarse que en lo sucesivo no se consideran factores de amortiguación o factores de amplificación generales para ajustar una amplitud de la señal dividida en ventanas. Las funciones de ventana pueden normalizarse, por ejemplo, con respecto a un valor correspondiente al centro del retardo, como se comenta en el contexto de la figura 13, o con respecto a un valor n = N, n = N - 1 o n = N + 1, donde N es la longitud de bloque y n es el índice de los coeficientes de ventana. En comparación, la función 710 de ventana de seno está definida sólo por 128 muestras y, por ejemplo, se emplea en el caso de un módulo de MDCT o MDST.
Sin embargo, dependiendo de los detalles de implementación, para obtener los coeficientes de ventana basándose en los valores dados en la tablas en los anexos 1 y 3, deberán considerarse 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 el factor (-1)) según las ecuaciones (16a) y (16b).
Antes de tratar las diferencias de las dos funciones 700, 710 de ventana, debe observarse que ambas funciones de ventana comprenden sólo coeficientes de ventana de valor real. Además, en ambos casos, un valor absoluto del coeficiente de ventana correspondiente a un índice n = 0 es menor que 0,1. En caso de una ventana 700 de CMLDFB, el valor respectivo es incluso menor que 0,02.
Considerando las dos funciones 700, 710 de ventana con respecto a sus conjuntos de definición, son evidentes varias diferencias significativas. Mientras que la función 710 de ventana de seno es simétrica, la función 700 de ventana muestra un comportamiento asimétrico. Para definir esto con más claridad, la función de ventana de seno es simétrica puesto que existe un valor no de valor real de modo que con respecto a todos los números n reales, de modo que la función 710 de ventana se define para (n_{0}+n) y (n_{0}-n), la relación
\vskip1.000000\baselineskip
31
se cumple hasta un margen deseable (\varepsilon \geq 0; el valor absoluto de la diferencia de los términos en los dos lados de la ecuación (29) es menor que o igual a \varepsilon), donde w(n) representa el coeficiente de ventana correspondiente al índice n. En el caso de la ventana de seno el índice respectivo no está exactamente en el medio de los dos coeficientes de ventana más superiores. En otras palabras, para la ventana 710 de seno el índice es no = 63,5. La función de ventana de seno está definida para los índices n = 0, ..., 127.
Por el contrario, la función 700 de ventana está definida por el conjunto de índices n = 0, ..., 639. La función 700 de ventana es claramente asimétrica en el sentido de que para todos los números n_{0} de valor real existe siempre al menos un número real de modo que (n_{0}+n) y (n_{0}-n) pertenecen al conjunto de definición de la función de ventana, para la que la desigualdad
\vskip1.000000\baselineskip
32
mantiene un margen (casi deliberadamente) definible (\varepsilon \geq 0; el valor absoluto de la diferencia de los términos en los dos lados de la ecuación (29) es mayor que o igual a \varepsilon), donde de nuevo w(n) es el coeficiente de ventana correspondiente al índice n.
\newpage
Otras diferencias entre las dos funciones de ventana, refiriéndose ambas a tamaños de bloque de N = 64 muestras, es que el valor máximo de la función 700 de ventana es mayor que 1 y se adquiere para índices en el intervalo de
33
para la ventana de síntesis. En caso de la función 700 de ventana mostrada en la figura 11, el valor máximo adquirido es mayor que 1,04 adquirido en el índice n = 77 de muestra. Por el contrario, los valores máximos de la ventana 710 de seno son menores que o iguales a 1, que se adquiere en n = 63 y n = 64.
Sin embargo, también la función 700 de ventana adquiere un valor de aproximadamente 1 en índices de muestra de alrededor de n = N. Para ser más precisos, el valor absoluto o el propio valor del coeficiente de ventana w(N-1) correspondiente al índice n = N-1 es menor que 1, mientras que el valor absoluto o el propio valor del coeficiente de ventana w(N) correspondiente al índice n = N es mayor que 1. En algunas realizaciones según la presente invención, estos dos coeficientes de ventana obedecen a las relaciones
34
que es un resultado de optimizar la calidad de audio de los bancos de filtros según realizaciones de la presente invención. En muchos casos es deseable tener un coeficiente de ventana w(0) que comprenda un valor absoluto lo más pequeño posible. En este caso, un determinante de los coeficientes de ventana
35
debería ser lo más próximo a 1 para alcanzar una calidad de audio, que está optimizada con respecto a los posibles parámetros. El signo del determinante como se da mediante la ecuación (33) es, sin embargo, de libre elección. Como consecuencia de que el coeficiente de ventana w(0) es menor que o aproximadamente 0, el producto de w(N-1) \cdot w(N) o sus valores absolutos deberían estar lo más próximos a +/- 1. En este caso, el coeficiente de ventana w(2N-1) puede elegirse entonces casi libremente. La ecuación (33) es un resultado de emplear la técnica de matrices de retardo cero como se describe en "New Framework for Modulated Perfect Reconstruction Filter Banks" de G.D.T. Schuller y M.J.T. Smith, IEEE Transactions on Signal Processing, vol. 44, n.º 8, agosto de 1996.
Además, como se comentará con más detalle en el contexto de la figura 13, los coeficientes de ventana correspondientes a los índices N-1 y N están comprendidos en el medio del núcleo de modulación y por lo tanto corresponden a la muestra que tiene un valor de aproximadamente 1,0 y que coincide con el retardo del banco de filtros según se define mediante la función de ventana o función de filtro prototipo.
La función 700 de ventana de síntesis tal como se muestra en la figura 11 muestra además un comportamiento oscilante con coeficientes de ventana crecientes estrictamente monótonos a partir del coeficiente de ventana de la secuencia de coeficientes de ventana correspondientes al índice (n = 0) usados para dividir en ventanas la muestra de audio de dominio de tiempo más reciente hasta el coeficiente de ventana que comprende el valor absoluto más alto de todos los coeficientes de ventana de la función 700 de ventana de síntesis. Naturalmente, en el caso de la función de ventana de análisis invertida en tiempo, el comportamiento oscilante comprende una disminución estrictamente monótona de los coeficientes de ventana a partir del 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 (de inversión en tiempo) correspondiente a los coeficientes de ventana de la secuencia de coeficientes de ventana correspondientes a un índice (n = 639) usados para dividir en ventanas la muestra de audio de dominio de tiempo más reciente.
Como consecuencia del comportamiento oscilante, el desarrollo de la función 700 de ventana de síntesis comienza con un coeficiente de ventana correspondiente al índice n = 0 que tiene un valor absoluto menor que 0,02 y un valor absoluto del coeficiente de ventana correspondiente al índice n = 1 inferior a 0,03, que adquiere un valor de aproximadamente 1 a un índice n = N, que adquiere un valor máximo de más de 1,04 a un índice según la ecuación (31), que adquiere un valor adicional de aproximadamente 1 a un índice n = 90 y 91, un primer cambio de signo a los valores de índice de n = 162 y n = 163, que adquieren un valor mínimo de menos de -0,1 o ­ 0,12755 a un índice de aproximadamente n = 3N y un cambio de signo adicional a valores de índice n = 284 y n = 285. Sin embargo, la función 700 de ventana de síntesis puede comprender cambios de signo adicionales a valores de índice n adicionales. Cuando se comparan los coeficientes de ventana con los valores dados en las tablas en los anexos 1 y 3, 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)) deberían considerarse según las ecuaciones (16a) y (16b).
\newpage
El comportamiento oscilante de la función 700 de ventana de síntesis es similar al de una oscilación muy amortiguada, lo que se ilustra mediante el valor máximo de aproximadamente 1,04 y el valor mínimo de aproximadamente -0,12. En consecuencia, más del 50% de todos los coeficientes de ventana comprenden valores absolutos que son menores que o iguales a 0,1. Como se explica en el contexto de 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), en los que el primer grupo 420 comprende una primera parte consecutiva de coeficientes de ventana y el segundo grupo 430 comprende una segunda parte consecutiva de coeficientes de ventana. Como ya se comentó anteriormente, la secuencia de coeficientes de ventana de la ventana comprende sólo el primer grupo 420 de coeficientes de ventana y el segundo grupo de funciones 430 de ventana, en los que el primer grupo 420 de coeficientes de ventana comprende exactamente la primera secuencia consecutiva de coeficientes de ventana, y en los que el segundo grupo 430 comprende exactamente la segunda parte consecutiva de coeficientes de ventana. Por lo tanto, los términos primer grupo 420 y primera parte de coeficientes de ventana así como los términos segundo grupo 430 y segunda parte de coeficientes de ventana pueden usarse como sinónimos.
El más del 50% de todos los coeficientes de ventana que tienen valores absolutos menores que o iguales a 0,1 están comprendidos en el segundo grupo o segunda parte 430 de coeficientes de ventana como consecuencia del comportamiento oscilatorio muy amortiguado de la función 700 de ventana. Además, asimismo más del 5,0% de todos los coeficientes de ventana comprendidos en el segundo grupo o segunda parte 430 de coeficientes de ventana comprenden valores absolutos de menos de o igual a 0,01.
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 caso de procesar un número total de bloques T en una de las tramas 120, 150, 330, 380 de más de cuatro bloques, la primera parte normalmente comprende 3/2 \cdot N coeficientes de ventana, donde N es el número de muestras de dominio de tiempo de un bloque. Por consiguiente, la segunda parte comprende el resto de los coeficientes de ventana o, para ser más precisos, (T-3/2)N coeficientes de ventana. En caso de T = 10 bloques por trama tal como se muestra en la figura 11, la primera parte comprende 3/2 \cdot N coeficientes de ventana, mientras que la segunda parte 210 comprende 8,5 \cdot N coeficientes de ventana. En caso de un tamaño de bloque de N = 64 muestras de audio de dominio de tiempo por bloque, la primera parte comprende 96 coeficientes de ventana, mientras que la segunda parte comprende 544 coeficientes de ventana. La función 700 de ventana de síntesis tal como se muestra en la figura 11 adquiere un valor de aproximadamente 0,96 en el límite de la primera parte y la segunda parte a un índice de aproximadamente n = 95 o 96.
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 total de energía de coeficientes de ventana correspondientes difieren significativamente entre sí. El valor de energía según se define mediante
\vskip1.000000\baselineskip
36
donde w(n) es un coeficiente de ventana y el índice n por el que se evalúa la suma en la ecuación (34) corresponde a los índices de las partes 420, 430 respectivas, todo el conjunto de coeficientes de ventana o cualquier otro conjunto de coeficientes de ventana al que correspondan los valores de energía E respectivos. A pesar de la diferencia significativa de coeficientes de ventana, el valor de energía de la primera parte 420 es igual a o mayor que 2/3 del valor de energía global de todos los coeficientes de ventana. Por consiguiente, el valor de energía de la segunda parte 430 es menor que o igual a 1/3 del valor de energía global de todos los coeficientes de ventana.
Para ilustrar esto, el valor de energía de la primera parte 420 de los coeficientes de ventana de la función 700 de ventana 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 700 de ventana es de aproximadamente 78,03, de modo que el valor de energía de la primera parte 420 es de aproximadamente el 71,6% del valor de energía global, mientras que el valor de energía de la segunda parte 430 es de aproximadamente el 28,4% del valor de energía global de todos los coeficientes de ventana.
Naturalmente, la ecuación (34) puede plantearse en una versión normalizada dividiendo el valor de energía E entre un factor de normalización E_{0}, que en principio puede ser cualquier valor de energía. El factor de normalización E_{0} puede ser, por ejemplo, el valor de energía global de todos los coeficientes de ventana de la secuencia de coeficientes de ventana calculado según la ecuación (34).
Basándose en los valores absolutos de los coeficientes de ventana o basándose en los valores de energía de los coeficientes de ventana respectivos, puede determinarse también un punto central o un "centro de masas" de la secuencia de coeficientes de ventana. El centro de masas o el punto central de la secuencia de coeficientes de ventana es un número real y normalmente se sitúa en el intervalo de índices de la primera parte 420 de los coeficientes de ventana. En caso de tramas respectivas que comprenden más de cuatro bloques de muestras de audio de dominio de tiempo (T > 4), el centro de masas n_{ca} basado en los valores absolutos de los coeficientes de ventana o el centro de masas n_{ce} basado en los valores de energía de los coeficientes de ventana es menor que 3/2 \cdot N. En otras palabras, en caso de T = 10 bloques por trama, el centro de masas se sitúa plenamente dentro de la región de índices de la primera parte 200.
El centro de masas n_{ca} basado en los valores absolutos de los coeficientes de ventana w(n) se define según
37
y el centro de masas n_{ce} en vista de los valores de energía de los coeficientes de ventana w(n) se define según
38
donde N y T son números enteros positivos que indican el número de muestras de audio de dominio de tiempo por bloque y el número de bloques por trama, respectivamente. Naturalmente, los puntos centrales según las ecuaciones (35) y (36) también pueden calcularse con respecto a un conjunto limitado de coeficientes de ventana sustituyendo los límites de las sumas anteriores en consecuencia.
Para la función 700 de ventana tal como se muestra en la figura 1, el centro de masas n_{ca} basado en los valores absolutos de los coeficientes de ventana w(n) es igual a un valor de n_{ca} \approx 87,75 y el punto central o centro de masas n_{ce} con respecto a los valores de energía de los coeficientes de ventana w(n) es n_{ce} \approx 80,04. Como la primera parte 200 de coeficientes de ventana de la función 700 de ventana comprende 96 (= 3/2 \cdot N; N = 64) coeficientes de ventana, ambos puntos centrales se sitúan plenamente dentro de la primera parte 200 de los coeficientes de ventana, como se explicó anteriormente.
Los coeficientes de ventana w(n) de la función 700 de ventana están basados en los valores dados en la tabla en el anexo 1. Sin embargo, para alcanzar, por ejemplo, la propiedad de retardo bajo del banco de filtros como se comentó 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, es más que suficiente que los coeficientes de ventana de una función de ventana que comprenden 640 coeficientes de ventana cumplan cualquiera de las relaciones o ecuaciones dadas en las tablas de los anexos 2 a 4. Los coeficientes de ventana o coeficientes de filtro dados en la tabla en el anexo 1 representan valores preferidos, que pueden adaptarse según las ecuaciones (16a) y (16b) en algunas implementaciones. Sin embargo, como se ha indicado, por ejemplo, mediante las tablas adicionales dadas en los anexos adicionales, los valores preferidos pueden variarse desde el segundo, tercer, cuarto, quinto dígito después de la coma decimal de modo que las funciones de ventana o filtros resultantes aún tengan las ventajas de las realizaciones según la presente invención. Sin embargo, dependiendo de los detalles de implementación, para obtener los coeficientes de ventana basándose en los valores dados en la tablas en los anexos 1 y 3, deberían considerarse 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 las ecuaciones (16a) y (16b).
Naturalmente, pueden definirse igualmente funciones de ventana adicionales que comprenden un número diferente de coeficientes de ventana y usarse en el marco de las realizaciones según la presente invención. En este contexto debería observarse que tanto el número de muestras de audio de dominio de tiempo por bloque como el número de bloques por trama así como la distribución de los bloques con respecto a muestras del pasado y muestras del futuro puede variarse por un amplio intervalo de parámetros.
La figura 12 muestra una comparación de una ventana 700 de banco de filtros de retardo bajo modulada compleja (ventana CMLDFB) tal como se muestra en la figura 11 y el filtro 720 prototipo QMF de SBR original como se puede emplear, por ejemplo, en la herramienta de SBR según las normas MPEG. Tal como se muestra en la figura 11, la ventana 700 CMLDFB es de nuevo la ventana de síntesis según una realización de la presente invención.
Aunque la función 700 de ventana según una realización de la presente invención es claramente asimétrica según se define en el contexto de la ecuación (30), el filtro 720 prototipo QMF de SBR original es simétrico con respecto a los índices n = 319 y 320, ya que la función 700 de ventana así como el filtro 720 prototipo QMF de SBR están definidos cada uno con respecto a 640 índices. En otras palabras, con respecto a la ecuación (29) el "valor de índice" no que representa el índice del centro de simetría viene dado por no = 319,5 en caso del filtro 720 prototipo QMF de SBR.
Además, debido a la simetría del filtro 720 prototipo QMF de SBR, también el punto central n_{ca} y n_{ce} según las ecuaciones (35) y (36), respectivamente, son idénticos al centro de simetría no. El valor de energía del filtro 720 prototipo QMF de SBR es de 64,00 ya que el filtro prototipo es un filtro ortogonal. Por el contrario, la función 700 de ventana claramente asimétrica comprende un valor de energía de 78,0327 como se comentó anteriormente.
En las siguientes secciones de la descripción, se considerarán sistemas de SBR como se explica en el contexto de las figuras 5 y 6, en las que el decodificador 610 de SBR comprende realizaciones según la presente invención en forma de un banco de filtros de análisis como banco 620 de filtros y una realización según la presente invención en forma de banco de filtros de síntesis para el banco 640 de filtros de síntesis. Como se comentará con más detalle, el retardo global de un banco de filtros de análisis según la presente invención que emplea la función 700 de ventana tal como se muestra en las figuras 11 y 12 comprende un retardo global de 127 muestras, mientras que la herramienta de SBR basada en filtros prototipo QMF de SBR original da como resultado un retardo global de 640 muestras.
La sustitución de los bancos de filtros QMF en el módulo de SBR, por ejemplo en el decodificador 610 de SBR, por un banco de filtros de retardo bajo de valor complejo (CLDFB) da como resultado una reducción del retardo de 42 ms a 31,3 ms sin introducir una degradación de la calidad de audio o complejidad computacional adicional. Con el nuevo banco de filtros se soportan tanto el modo de SBR convencional (modo de alta calidad) como el modo de baja potencia que emplea sólo bancos de filtros de valor real, como ha mostrado la descripción de las realizaciones según la presente invención con respecto a las figuras 7 a 10.
Especialmente en el campo de la telecomunicación y comunicación bidireccional, un retardo bajo es de gran importancia. Aunque el AAC de retardo bajo mejorado ya puede alcanzar un retardo lo suficientemente bajo para aplicaciones de comunicación de 42 ms, su retardo algorítmico sigue siendo mayor que el códec de núcleo AAC de retardo bajo, que puede alcanzar retardos de hasta 20 ms y el de otros códecs de telecomunicación. En el decodificador 610 de SBR, las fases de análisis y síntesis de QMF aún provocan un retardo de reconstrucción de 12 ms. Un enfoque prometedor para reducir ese retardo es utilizar una técnica de banco de filtros de retardo bajo según una realización de la presente invención y sustituir los bancos de filtros QMF actuales por una versión de retardo bajo respectiva según las realizaciones de la presente invención. En otras palabras, se alcanza una reducción de retardo adicional simplemente sustituyendo los bancos de filtros regulares usados en el módulo 610 de SBR por un banco de filtros de retardo bajo complejo según las realizaciones de la presente invención.
Para su uso en el módulo 610 de SBR, los nuevos bancos de filtros según realizaciones de la presente invención, a los que también se hace referencia como CLDFB, están diseñados para ser lo más similar posible a los bancos de filtros QMF usados originalmente. Esto incluye, por ejemplo, el uso de 64 subbandas o bandas, una misma longitud de las respuestas de impulso y una compatibilidad con modos de tasa dual como se emplea en sistemas de SBR.
La figura 13 ilustra la comparación de la forma 700 de ventana CLDFB según una realización de la presente invención y el filtro 720 prototipo QMF de SBR original. Además, ilustra el retardo de bancos de filtros modulados, que puede determinarse analizando el retardo de solapamiento introducido por la función de ventana o filtro prototipo además del retardo de entramado del núcleo de modulación que tiene una longitud de N muestras en caso de un sistema basado en DCT-IV. La situación mostrada en la figura 13 se refiere de nuevo al caso de un banco de filtros de síntesis. La función 700 de ventana y la función 720 de filtro prototipo también representan respuestas de impulso de los filtros prototipo de síntesis de los dos bancos de filtros implicados.
Con respecto al análisis del retardo tanto para el banco de filtros QMF de SBR como para el CLDFB propuesto según una realización de la presente invención, en el análisis y la síntesis sólo el solapamiento hacia el lado derecho y el lado izquierdo del núcleo de modulación, respectivamente, añade un retardo.
Para ambos bancos de filtros, el núcleo de modulación se basa en una DCT-IV que introduce un retardo de 64 muestras, que está marcado en la figura 13 como el retardo 750. En caso del filtro 720 prototipo QMF de SBR debido a la simetría el retardo 750 del núcleo de modulación está dispuesto simétricamente con respecto al centro de masas o punto central de la función 720 de filtro prototipo respectiva como se indica en la figura 13. El motivo para este comportamiento es que la memoria intermedia del banco de filtros QMF de SBR necesita rellenarse hasta un punto en el que la función 720 de filtro prototipo tiene la contribución más significativa en cuanto a que los valores de energía respectivos de los valores prototipo de filtro se considerarán en el procesamiento. Debido a la forma de la función 720 de filtro prototipo, esto requiere rellenar la memoria intermedia al menos hasta el punto central o centro de masas de la función de filtro prototipo respectiva.
Para ilustrar esto adicionalmente, comenzando desde una memoria intermedia inicializada del banco de filtros QMF de SBR correspondiente, es necesario rellenar la memoria intermedia hasta un punto en el que un procesamiento de datos dará como resultado un procesamiento de datos significativos, lo que requiere que la función de filtro prototipo o función de ventana respectiva tenga una contribución significativa. En el caso de la función de filtro prototipo QMF de SBR, la forma simétrica del filtro 720 prototipo produce un retardo, que es del orden del centro de masas o punto central de la función de filtro prototipo.
Sin embargo, como el retardo introducido por el núcleo de modulación del sistema basado en DCT-IV de N = 64 para muestras siempre está presente y el sistema también comprende un retardo de un bloque, puede observarse que el prototipo de síntesis para el QMF de SBR introduce un retardo de solapamiento de 288 muestras.
Como se indicó anteriormente, en el caso de los bancos de filtros de síntesis a los que se refiere la figura 13, este solapamiento 760 izquierdo adicional provoca el retardo, mientras que el solapamiento 770 derecho se refiere a muestras del pasado y por lo tanto no introduce un retardo adicional en el caso de un banco de filtros de síntesis.
Por el contrario, comenzando con una memoria intermedia inicializada del CLDFB según una realización de la presente invención, el banco de filtros de síntesis así como el banco de filtros de análisis puede proporcionar datos "significativos" antes en comparación con el banco de filtros QMF de SBR debido a la forma de la función de ventana. En otras palabras, debido a la forma de la función 700 de ventana de análisis o de síntesis, las muestras procesadas por funciones de ventana indicativas de la contribución significativa son posibles antes. En consecuencia, la función de ventana de síntesis o prototipo de síntesis del CLDFB introduce sólo un retardo de solapamiento de 32 muestras teniendo en cuenta el retardo ya introducido por el núcleo 750 de modulación. La primera parte 420 o primer grupo 420 de coeficientes de ventana de la función 700 de ventana, según una realización de la presente invención, comprende en una realización preferida según la presente invención los 96 coeficientes de ventana correspondientes al retardo provocado por el solapamiento 760 de lado izquierdo junto con el retardo 750 del núcleo de modulación.
El mismo retardo se introduce por el banco de filtros de análisis o la función prototipo de análisis. El motivo es que el banco de filtros de análisis se basa en la versión de inversión de tiempo de la función de ventana de síntesis o función prototipo. Por tanto, el retardo de solapamiento se introduce en el lado derecho que comprende el mismo tamaño de solapamiento que para el banco de filtros de síntesis. Por lo tanto, en caso de un banco de filtros prototipo QMF original, también se introduce un retardo de 288 muestras mientras que para un banco de filtros de análisis según una realización de la presente invención sólo se introducen 32 muestras como retardo.
La tabla mostrada en la figura 14a proporciona una perspectiva general del retardo con diferentes fases de modificación suponiendo una longitud de trama de 480 muestras y una tasa de muestreo de 48 kHz. En una configuración convencional que comprende un códec AAC-LD junto con una herramienta de SBR convencional, los bancos de filtros de MDCT e IMDCT en el modo de tasa dual provocan un retardo de 40 ms. Además, la propia herramienta de QMF provoca un retardo de 12 ms. Además, debido a un solapamiento de SBR, se genera un retardo adicional de 8 ms de modo que el retardo global de este códec está en el intervalo de 60 ms.
En comparación, un códec AAC-ELD que comprende versiones de retardo bajo de la MDCT y la IMDCT genera en el enfoque de tasa dual un retardo de 30 ms. En comparación con el banco de filtros QMF original de una herramienta de SBR, el empleo de un banco de filtros de retardo bajo de valor complejo según una realización de la presente invención dará como resultado un retardo de sólo 1 ms en comparación con los 12 ms de la herramienta de QMF original. Evitando el solapamiento de SBR puede evitarse completamente el solapamiento adicional de 8 ms de una combinación sencilla de un AAC-LD y la herramienta de SBR. Por lo tanto, el códec AAC de retardo bajo mejorado es capaz de un retardo algorítmico global de 31 ms en vez de de 60 ms para la combinación sencilla comentada anteriormente. Por lo tanto, puede observarse que la combinación de los procedimientos de reducción de retardo descritos da como resultado, de hecho, un ahorro de retardo total de 29 ms.
La tabla en la figura 14b proporciona una perspectiva general adicional del retardo de códec global provocado por las versiones de banco de filtros original y propuesta en un sistema tal como se muestra en las figuras 5 y 6. Los datos y valores dados en la figura 14b se basan en una tasa de muestreo de 48 kHz y un tamaño de trama de codificador núcleo de 480 muestras. Debido al enfoque de tasa dual de un sistema de SBR tal como se muestra y trata en las figuras 5 y 6, el codificador de núcleo funciona de manera eficaz a una tasa de muestreo de 24 kHz. Puesto que el retardo de entramado de 64 muestras para el núcleo de modulación ya está introducido por el codificador de núcleo, puede restarse de los valores de retardo independientes de los dos bancos de filtros tal como se describe en el contexto de la figura 13.
La tabla en la figura 14b destaca que es posible reducir el retardo global del códec AAC de retardo bajo mejorado que comprende las versiones de retardo bajo de la MDCT y de la IMDCT (MDCT de LD e IMDCT de LD). Aunque un retardo algorítmico global de 42 ms puede conseguirse sólo empleando las versiones de retardo bajo de la MDCT y la IMDCT así como los bancos de filtros QMF originales, usando bancos de filtros de retardo bajo de valor complejo según realizaciones de la presente invención en lugar de los bancos de filtros QMF convencionales, puede reducirse significativamente el retardo algorítmico global hasta sólo 31,3 ms.
Para evaluar la calidad de los bancos de filtros según realizaciones de la presente invención y sistemas que comprenden uno o más bancos de filtros, se han llevado a cabo pruebas de escucha, a partir de las que puede concluirse que los bancos de filtros según realizaciones de la presente invención conservan la calidad de audio de AAC-ELD al mismo nivel y no introducen ninguna degradación, ni para el modo de SBR complejo ni para el modo de SBR de baja potencia de valor real. Por tanto, los bancos de filtros de retardo optimizado según realizaciones de la presente invención no introducen ninguna carga en la calidad del audio aunque pueden reducir el retardo en más de 10 ms. Para los elementos transitorios puede observarse incluso que pueden conseguirse algunas ligeras mejoras, aunque no estadísticamente significativas. Las mejoras anteriormente mencionadas se han observado durante pruebas de escucha de castañuelas y carillón.
Con el fin de verificar adicionalmente que el muestreo descendente en el caso de un banco de filtros de 32 bandas según una realización de la presente invención funciona igualmente bien para los bancos de filtros según la presente invención en comparación con los bancos de filtros QMF, se realizó la siguiente evaluación. En primer lugar, se analizó un barrido de seno logarítmico con un banco de filtros de 32 bandas muestreado de manera descendente, en el que se añadieron las 32 bandas superiores, inicializadas con ceros. A continuación, se sintetizó el resultado mediante un banco de filtros de 64 bandas, se volvió a muestrear de manera descendente y se comparó con la señal original. El uso de un filtro prototipo QMF de SBR convencional da como resultado una relación señal a ruido (SNR) de 59,5 dB. Un banco de filtros según la presente invención, sin embargo, alcanza un valor de SNR de 78,5 dB, que ilustra que los bancos de filtros según realizaciones de la presente invención también rinden en la versión muestreada de manera descendente al menos tan bien como los bancos de filtros QMF originales.
Con el fin de mostrar que este enfoque de banco de filtros no simétrico, de retardo optimizado tal como se emplea en realizaciones según la presente invención proporciona un valor adicional 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 los prototipos simétricos que tienen el mismo retardo.
La figura 15a muestra una comparación de una respuesta de frecuencia en una ilustración de campo lejano de un banco de filtros según la presente invención que emplea una ventana de retardo bajo (gráfica 800) en comparación con la respuesta de frecuencia de un banco de filtros que emplea una ventana de seno que tiene una longitud de 128 coeficientes de filtro (gráfica 810). La figura 15b muestra una ampliación de la respuesta de frecuencia en el campo cercano de los mismos bancos de filtros que emplean las mismas funciones de ventana tal como se comentó anteriormente.
Una comparación directa de las dos gráficas 800, 810 muestra que la respuesta de frecuencia del banco de filtros que emplea un banco de filtros de retardo bajo según una realización de la presente invención es significativamente mejor que la respuesta de frecuencia correspondiente de un banco de filtros que emplea una ventana de seno de 128 coeficientes de filtro que tienen el mismo retardo.
Además, la figura 16a muestra una comparación de diferentes funciones de ventana con un retardo global de 127 muestras. El banco de filtros (CLDFB) con 64 bandas comprende un retardo global de 127 muestras que incluye el retardo de entramado y el retardo de solapamiento. Un banco de filtros modulado con un prototipo simétrico y el mismo retardo tendría, por lo tanto, un prototipo de una longitud de 128, como ya se ilustró en el contexto de las figuras 15a y 15b. Para estos bancos de filtros con un solapamiento del 50%, tal como, por ejemplo, la MDCT, las ventanas de seno o ventanas derivadas de Kaiser-Bessel proporcionan generalmente una buena elección para prototipos. Por lo tanto, en la figura 16a se compara una vista global de una respuesta de frecuencia de un banco de filtros que emplea una ventana de retardo bajo como prototipo según una realización de la presente invención con las respuestas de frecuencia de prototipos simétricos alternativos con el mismo retardo. La figura 16a muestra, aparte de la respuesta de frecuencia del banco de filtros según la presente invención (gráfica 800) y la respuesta de frecuencia de un banco de filtros que emplea una ventana de seno (gráfica 810), como ya se ha mostrado en las figuras 15a y 15b, además dos ventanas KBD basadas en los parámetros \alpha = 4 (gráfica 820) y \alpha = 6 (gráfica 830). Tanto la figura 16a como el primer plano de la figura 16a mostrado en la figura 16b, muestran claramente que puede conseguirse una respuesta de frecuencia mucho mejor con un banco de filtros según una realización de la presente invención que tiene una función de ventana no simétrica o una función de filtro prototipo con el mismo retardo.
Para ilustrar esta ventaja de una manera más general, en la figura 17 se comparan dos prototipos de banco de filtros con valores de retardo diferentes del banco de filtros previamente descrito. Aunque el banco de filtros según la presente invención, que se consideró en las figuras 15 y 16, tiene un retardo global de 127 muestras, que corresponde a un solapamiento de 8 bloques en el pasado y 0 bloques en el futuro (CLDFB 80), la figura 17 muestra una comparación de las respuestas de frecuencia de dos prototipos de banco de filtros diferentes con un mismo retardo de 383 muestras. Para ser más precisos, la figura 17 muestra una respuesta de frecuencia de un banco de filtros simétrico no prototipo (gráfica 840) según una realización de la presente invención, que está basada en un solapamiento de 6 bloques de muestras de dominio de tiempo en el pasado y 2 bloques de muestras de dominio de tiempo en el futuro (CLDFB 62). Además, la figura 17 también muestra la respuesta de frecuencia (gráfica 850) de una función de filtro prototipo simétrica correspondiente que también tiene un retardo de 383 muestras. Puede observarse que con el mismo valor de retardo una función de ventana o prototipo no simétrica consigue una mejor respuesta de frecuencia que un banco de filtros con un filtro prototipo o función de ventana simétrica. Esto demuestra la posibilidad de un mejor equilibrio entre retardo y calidad, tal como se indicó anteriormente.
La figura 18 ilustra el efecto de enmascaramiento temporal del oído humano. Cuando aparece un sonido o un tono en un momento en el tiempo indicado por una línea 860 en la figura 18, se produce un efecto de enmascaramiento con respecto a la frecuencia del tono o el sonido y frecuencias vecinas aproximadamente 20 ms antes de que comience el sonido real. Este efecto se denomina enmascaramiento previo y es un aspecto de las propiedades psicoacústicas del oído humano.
En la situación ilustrada en la figura 18, el sonido permanece audible durante aproximadamente 200 ms hasta un momento en el tiempo ilustrado por una línea 870. Durante este tiempo, está activo un enmascarador del oído humano, que también se denomina enmascaramiento simultáneo. Después de detenerse el sonido (ilustrado por la línea 870), el enmascaramiento de la frecuencia en la frecuencia vecina del tono disminuye lentamente durante un periodo de tiempo de aproximadamente 150 ms tal como se ilustra en la figura 18. A este efecto psicoacústico también se hace referencia como enmascaramiento posterior.
La figura 19 ilustra una comparación de un comportamiento de eco previo de una señal codificada HE-AAC convencional y una señal codificada HEAAC que se basa en un banco de filtros que emplea un banco de filtros de retardo bajo (CMLDFB) según una realización de la presente invención. La figura 19a ilustra la señal de tiempo original de las castañuelas, que se ha procesado con un sistema que comprende un códec HE-AAC (HE-AAC = códec de audio avanzado de alta eficacia). La salida del sistema basado en el HE-AAC convencional se ilustra en la figura 19b. Una comparación directa de las dos señales, la señal de tiempo original y la señal de salida del códec HE-AAC muestra que antes de comenzar el sonido de las castañuelas en la zona ilustrada por una flecha 880 la señal de salida del códec HE-AAC comprende efectos de eco previo perceptibles.
La figura 19c ilustra una señal de salida de un sistema que comprende un HE-AAC basado en bancos de filtros que comprenden ventanas de CMLDFB según una realización de la presente invención. Las mismas señales de tiempo originales indicadas en la figura 19a y procesadas usando bancos de filtros según una realización de la presente invención muestran una aparición significativamente reducida de efectos de eco previo justo antes de comenzar una señal de castañuelas tal como se indica por una flecha 890 en la figura 19c. Debido al efecto de enmascaramiento previo como se describe en el contexto de la figura 18, el efecto de eco previo indicado por la flecha 890 de la figura 19c se enmascarará mucho mejor que los efectos de eco previo indicados por la flecha 880 en caso del códec HE-AAC convencional. Por lo tanto, el comportamiento de eco previo de bancos de filtros según la presente invención, que también es un resultado del retardo significativamente reducido en comparación con los bancos de filtros convencionales, hace que la salida se ajuste mucho mejor a las propiedades de enmascaramiento temporal y la psicoacústica del oído humano. En consecuencia, como ya se indicó cuando se describieron las pruebas de escucha, el empleo de bancos de filtros según una realización de la presente invención puede llevar incluso a una mejora con respecto a la calidad producida por el retardo reducido.
Las realizaciones según la presente invención no aumentan la complejidad computacional en comparación con los bancos de filtros convencionales. Los bancos de filtros de retardo bajo usan la misma longitud de filtro y el mismo modo de modulación que, por ejemplo, los bancos de filtros QMF en el caso de sistemas de SBR de modo que la complejidad computacional no aumenta. En cuanto a requisitos de memoria debidos a la naturaleza asimétrica de los filtros prototipo, el requisito de memoria ROM (memoria de sólo lectura) para el banco de filtros de síntesis aumenta aproximadamente 320 palabras en el caso de un banco de filtros basado en N = 64 muestras por bloque y T = 10 bloques por trama. Además, en el caso de un sistema relacionado con SBR, el requisito de memoria aumenta adicionalmente otras 320 palabras si el filtro de análisis se almacena por separado.
Sin embargo, como los requisitos de ROM actuales para un núcleo de AAC-ELD son de aproximadamente 2,5 k palabras (kilo palabras) y para la implementación de SBR otras 2,5 k palabras, el requisito de ROM sólo se aumenta de forma moderada en aproximadamente el 10%. Como un posible equilibrio entre memoria y complejidad, si es primordial un consumo bajo de memoria, puede usarse una interpolación lineal para generar el filtro de análisis a partir del filtro de síntesis como se explica en el contexto de la figura 3 y la ecuación (15). Esta operación de interpolación aumenta el número de instrucciones necesarias en sólo aproximadamente el 3,6%. Por lo tanto, una sustitución de los bancos de filtros convencionales de QMF en el marco de módulos de SBR por bancos de filtros de retardo bajo según realizaciones de la presente invención, el retardo puede reducirse en algunas realizaciones en más de 10 ms sin una degradación de calidad de audio o un aumento perceptible de la complejidad.
Las realizaciones según la presente invención se refieren, por lo tanto, a una ventana de análisis o síntesis o a un aparato o un método para dividir en ventanas. Además, se describe un banco de filtros de análisis o síntesis o un método para analizar o sintetizar una señal usando una ventana. Naturalmente, también se da a conocer el programa informático que implementa uno de los métodos anteriores.
La implementación según realizaciones de la presente invención puede llevarse a cabo como implementaciones de hardware, implementaciones de software o una combinación de ambos. Los datos, vectores y variables generados, recibidos o almacenados de otro modo que van a procesarse pueden almacenarse en diferentes tipos de memorias tales como memorias de acceso aleatorio, memorias intermedias, memorias de sólo lectura, memorias no volátiles (por ejemplo EEPROM, memorias tipo flash) u otras memorias tales como memorias magnéticas u ópticas. Una posición de almacenamiento puede ser, por ejemplo, una o más unidades de memoria requeridas para almacenar o guardar las cantidades de datos respectivas, tales como variables, parámetros, vectores, matrices, coeficientes de ventana u otros fragmentos de información y datos.
Las implementaciones de software pueden hacerse funcionar en diferentes ordenadores, sistemas similares a un ordenador, procesadores, ASIC (circuitos integrados para aplicaciones específicas) u otros circuitos integrados (IC).
Dependiendo de ciertos requisitos de implementación de realizaciones de los métodos de la invención, las realizaciones de los métodos de la invención pueden implementarse en hardware, software o en una combinación de ambos. La implementación puede realizarse usando un medio de almacenamiento digital, en particular un disco CD, un DVD u otro disco que tenga una señal de control legible electrónicamente almacenada en el mismo que funcione conjuntamente con un sistema de ordenador programable, procesador o circuito integrado de modo que se realice una realización del método de la invención. En general, una realización de la presente invención es, por lo tanto, un producto de programa informático con un código de programa almacenado en un soporte legible por máquina, haciéndose funcionar el código de programa para llevar a cabo una realización de los métodos de la invención cuando el producto de programa informático se ejecuta en un ordenador, procesador o circuito integrado. En otras palabras, las realizaciones de los métodos de la invención son, por lo tanto, un programa informático que tiene un código de programa para llevar a cabo al menos una realización de los métodos de la invención cuando el programa informático se ejecuta en un ordenador, procesador o circuito integrado.
Un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención comprende un divisor (110) en ventanas de análisis para dividir en ventanas una trama (120) de muestras de entrada de audio de dominio de tiempo que están en una secuencia de tiempo que se extiende desde una muestra temprana hasta una muestra posterior usando una función (190) de ventana de análisis que comprende una secuencia de coeficientes de ventana para obtener muestras divididas en ventanas, comprendiendo la función (190) de ventana de análisis un primer grupo (200) de coeficientes de ventana que comprende una primera parte de la secuencia de coeficientes de ventana y un segundo grupo (210) de coeficientes de ventana que comprende una segunda parte de la secuencia de coeficientes de ventana, comprendiendo la primera parte menos coeficientes de ventana que la segunda parte, en el que un valor de energía de los coeficientes de ventana en la primera parte es mayor que un valor de energía de los coeficientes de ventana de la segunda parte, en el que se usa el primer grupo de coeficientes de ventana para dividir en ventanas muestras de dominio de tiempo posteriores y se usa el segundo grupo de coeficientes de ventana para dividir en ventanas muestras de dominio de tiempo más tempranas, y una calculadora (170) para calcular los valores de subbanda de audio usando las muestras divididas en ventanas.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que la función (190) de ventana de análisis es asimétrica con respecto a la secuencia de coeficientes de ventana.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que un valor de energía de los coeficientes de ventana de la primera parte es igual a o mayor que 2/3 de un valor de energía de todos los coeficientes de ventana de la secuencia de coeficientes de ventana y un valor de energía de los coeficientes de ventana de la segunda parte de coeficientes de ventana es menor que o igual a 1/3 de un valor de energía de todos los coeficientes de ventana de la secuencia de coeficientes de ventana.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que la primera parte de coeficientes de ventana comprende 1/3 o menos de 1/3 de un número total de coeficientes de ventana de la secuencia de coeficientes de ventana y la segunda parte comprende 2/3 o más de 2/3 del número total de coeficientes de ventana de la secuencia de coeficientes de ventana.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que un punto central de los coeficientes de ventana de la función (190) de ventana de análisis corresponde a un valor real en un intervalo de índices de la primera parte de coeficientes de ventana.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que la función (190) de ventana de análisis comprende un decrecimiento estrictamente monótono a partir del coeficiente de ventana que comprende el valor absoluto más alto de todos los coeficientes de ventana de la función (190) de ventana de análisis hasta un coeficiente de ventana de la secuencia de coeficientes de ventana usados para dividir en ventanas la muestra de audio de dominio de tiempo más reciente.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que la función (190) de ventana de análisis comprende un comportamiento oscilante.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que el coeficiente de ventana correspondiente a un índice n = (T-1) - N comprende un valor absoluto en el intervalo de 0,9 a 1,1, en el que un índice de la secuencia de coeficientes de ventana es un número entero en el intervalo de 0 a N \cdot T- 1, en el que el coeficiente de ventana usado para dividir en ventanas la muestra de entrada de audio de dominio de tiempo más reciente de la trama 120 es el coeficiente de ventana correspondiente al índice N - T - 1, en el que el divisor (110) en ventanas de análisis está adaptado de modo que la trama (120) de muestras de entrada de audio de dominio de tiempo comprende una secuencia de T bloques (130) de muestras de entrada de audio de dominio de tiempo que se extienden desde las muestras de entrada de audio de dominio de tiempo más tempranas hasta las más recientes de la trama (120), comprendiendo cada bloque N muestras de entrada de audio de dominio de tiempo, y en el que T y N son números enteros positivos y T es mayor que 9.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que el coeficiente de ventana correspondiente al índice de los coeficientes de ventana n - N \cdot T - 1 comprende un valor absoluto de menos de 0,02.
\newpage
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, la ventana (110) de análisis está adaptada de modo que dividir en ventanas comprende multiplicar las muestras de entrada de audio de dominio de tiempo x(n) de la trama (120) para obtener las muestras divididas en ventanas z(n) de la trama dividida en ventanas basándose en la ecuación
39
donde n es un número entero que indica un índice de la secuencia de coeficientes de ventana en el intervalo de 0 a
T \cdot N-1, donde c(n) es el coeficiente de ventana de la función de ventana de análisis correspondiente al índice n, donde x(N T-1) es la muestra de entrada de audio de dominio de tiempo más reciente de una trama (120) de muestras de entrada de audio de dominio de tiempo, donde el divisor (110) en ventanas de análisis está adaptado de modo que la trama (120) de muestras de entrada de audio de dominio de tiempo comprende una secuencia de T bloques (130) de muestras de entrada de audio de dominio de tiempo que se extienden desde las muestras de entrada de audio de dominio de tiempo más tempranas hasta las más recientes de la trama (120), comprendiendo cada bloque N muestras de entrada de audio de dominio de tiempo, y en el que T y N son números enteros positivos y T es mayor que 4.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que los coeficientes de ventana
c(n) obedecen a las relaciones dadas en la tabla en el anexo 4.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el aparato (100) está adaptado para usar una función (190) de ventana de análisis que es una versión invertida en tiempo o invertida en índice de una función (370) de ventana de síntesis que va a usarse para los valores de subbanda de audio.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que la primera parte de la función de ventana de análisis comprende un coeficiente de ventana que tiene un valor máximo absoluto que es mayor que 1.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que todos los coeficientes de ventana de la secuencia de coeficientes de ventana son coeficientes de ventana de valor real.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que la trama (120) de muestras de entrada de audio de dominio de tiempo comprende una secuencia de T bloques (130) de muestras de entrada de audio de dominio de tiempo que se extienden desde las muestras de entrada de audio de dominio de tiempo más tempranas hasta las más recientes de la trama (120), comprendiendo cada bloque N muestras de entrada de audio de dominio de tiempo, en el que T y N son números enteros positivos y T es mayor que 4.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que la división en ventanas comprende una multiplicación elemento a elemento de las muestras de entrada de audio de dominio de tiempo de la trama (120) con los coeficientes de ventana de la secuencia de coeficientes de ventana.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que cada muestra de entrada de audio de dominio de tiempo se multiplica elemento a elemento con un coeficiente de ventana de la función de ventana de análisis según una secuencia de muestras de entrada de audio de dominio de tiempo y la secuencia de coeficientes de ventana.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que para cada muestra de entrada de audio de dominio de tiempo de la trama (120) de muestras de entrada de audio de dominio de tiempo se genera exactamente una muestra dividida en ventanas.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que el coeficiente de ventana correspondiente a un índice de los coeficientes de ventana n = (T-3) . N comprende un valor de menos de -0,1, en el que el índice de la secuencia de coeficientes de ventana es un número entero en el intervalo de 0 a N T-1, y en el que el coeficiente de ventana usado para dividir en ventanas la muestra de entrada de audio de dominio de tiempo más reciente es el coeficiente de ventana correspondiente al índice N \cdot T-1.
\newpage
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que la primera parte de coeficientes de ventana comprende 3/2 \cdot N coeficientes de ventana y la segunda parte de coeficientes de ventana comprende (T-3/2) \cdot N coeficientes de ventana de la secuencia de coeficientes de ventana.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que los coeficientes de ventana
c(n) cumplen las relaciones dadas en la tabla en el anexo 3.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que los coeficientes de ventana
c(n) cumplen las relaciones dadas en la tabla en el anexo 2.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el divisor (110) en ventanas de análisis está adaptado de modo que los coeficientes de ventana
c(n) comprenden los valores dados en la tabla en el anexo 1.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el aparato (100) está adaptado de modo que la trama (120) actual de muestras de entrada de audio de dominio de tiempo que va a procesarse se genera desplazando (T-1) bloques posteriores de una trama (120) directamente precedente de muestras de entrada de audio de dominio de tiempo un bloque hacia las muestras de entrada de audio de dominio de tiempo más tempranas y añadiendo un bloque (220) de muestras de audio de dominio de tiempo recientes como el bloque que comprende las muestras de entrada de audio de dominio de tiempo más recientes de la trama (120) actual.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el aparato (100) está adaptado de modo que la trama (120) actual de muestras de entrada de audio de dominio de tiempo x(n) que va a procesarse se genera basándose en un desplazamiento de las muestras de entrada de audio de dominio de tiempo x_{prev}(n) de la trama (120) directamente precedente de muestras de entrada de audio de dominio de tiempo basándose en la ecuación
40
durante un tiempo o índice de muestra n = 32, ..., 319, y en el que el aparato (100) está adaptado además para generar las muestras de entrada de audio de dominio de tiempo x(n) de la trama (120) actual de muestras de entrada de audio de dominio de tiempo incluyendo 32 muestras de entrada de dominio de tiempo entrantes siguientes según un orden de las muestras de entrada de audio de dominio de tiempo entrantes de tiempo decreciente o índices de muestra n para las muestras de entrada de audio de dominio de tiempo x(n) de la trama (120) actual comenzando en el momento o índice de muestra n = 31.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, la calculadora (170) comprende un convertidor de 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 divididas en ventanas representan una representación espectral de las muestras divididas en ventanas de la trama (150) de muestras divididas en ventanas.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el convertidor de tiempo/frecuencia está adaptado para generar los valores de subbanda de audio de valor complejo o valor real.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, la calculadora (170) está adaptada para calcular un valor de subbanda de audio para cada muestra de entrada de audio de dominio de tiempo de un bloque (130) de muestras de entrada de audio de dominio de tiempo, en el que el cálculo de cada valor de subbanda de audio o cada una de las muestras de entrada de audio de dominio de tiempo de un bloque (130) de muestras de entrada de audio de dominio de tiempo se basa en las muestras divididas en ventanas de la trama (150) dividida en ventanas.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, la calculadora (170) está adaptada para calcular los valores de subbanda de audio basándose en multiplicar las muestras (150) divididas en ventanas con una función armónicamente oscilante para cada valor de subbanda y sumar las muestras divididas en ventanas multiplicadas, en el que una frecuencia de la función armónicamente oscilante se basa en una frecuencia central de una subbanda correspondiente de los valores de subbanda.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, la calculadora (170) está adaptada de modo que la función armónicamente oscilante es una función exponencial compleja, una función seno o una función coseno.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, la calculadora (170) está adaptada para calcular los valores de subbanda de audio w_{k1} basándose en la ecuación
41
para n = 0, ..., 63 y
42
para k = 0, ..., 31, donde z(n) es una muestra dividida en ventanas correspondiente a un índice n, donde k es un índice de subbanda, donde 1 es un índice de un bloque (180) de valores de subbanda de audio y donde f_{osc}(x) es una función oscilante que depende de una variable x de valor real.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, la calculadora (170) está adaptada de modo que la función oscilante f_{osc}(x) es
43
o
44
o
45
donde i es la unidad imaginaria.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el aparato (100) está adaptado para procesar una trama (120) de muestras de entrada de audio de dominio de tiempo de valor real.
En un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención, el aparato (100) está adaptado para proporcionar una señal indicativa de una función (370) de ventana de síntesis que va a usarse con los valores de subbanda de audio o indicativa de la función (190) de ventana de análisis usada para generar los valores de subbanda de audio.
Un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención comprende una calculadora (310) para calcular una secuencia (330) de muestras de dominio de tiempo intermedias a partir de valores de subbanda de audio en canales de subbanda de audio, comprendiendo la secuencia muestras de dominio de tiempo intermedias más tempranas y muestras de dominio de tiempo más recientes, un divisor (360) en ventanas de síntesis para dividir en ventanas la secuencia (330) de muestras de dominio de tiempo intermedias usando una función (370) de ventana de síntesis que comprende una secuencia de coeficientes de ventana para obtener muestras de dominio de tiempo intermedias divididas en ventanas, comprendiendo la función (370) de ventana de síntesis un primer grupo (420) de coeficientes de ventana que comprende una primera parte de la secuencia de coeficientes de ventana y un segundo grupo (430) de coeficientes de ventana que comprende una segunda parte de la secuencia de coeficientes de ventana, comprendiendo la primera parte menos coeficientes de ventana que la segunda parte, en el que un valor de energía de los coeficientes de ventana en la primera parte es mayor que un valor de energía de los coeficientes de ventana de la segunda parte, en el que se usa el primer grupo de coeficientes de ventana para dividir en ventanas muestras de dominio de tiempo intermedias posteriores y se usa el segundo grupo de coeficientes de ventana para dividir en ventanas muestras de dominio de tiempo intermedias más tempranas, y una fase (400) de salida de sumador-solapamiento para procesar las muestras de dominio de tiempo intermedias divididas en ventanas para obtener las muestras de dominio de tiempo.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el divisor (360) en ventanas de síntesis está adaptado de modo que un valor de energía de los coeficientes de ventana de la primera parte de coeficientes de ventana es mayor que o igual a 2/3 de un valor de energía de todos los coeficientes de ventana de la función (370) de ventana de síntesis y un valor de energía de la segunda parte de coeficientes de ventana es menor que, o igual a 1/3 del valor de energía de todos los coeficientes de ventana de la función de ventana de síntesis.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el divisor (360) en ventanas de síntesis está adaptado de modo que la primera parte de coeficientes de ventana comprende 1/3 o menos de 1/3 del número total de todos los coeficientes de ventana de la secuencia de coeficientes de ventana y la segunda parte de coeficientes de ventana comprende 2/3 o más de 2/3 del número total de coeficientes de ventana de la secuencia de coeficientes de ventana.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el divisor (360) en ventanas de síntesis está adaptado de modo que un punto central de los coeficientes de ventana de la función (370) de ventana de síntesis corresponde a un valor real en un intervalo de índices de la primera parte de coeficientes de ventana.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el divisor (360) en ventanas de síntesis está adaptado de modo que la función de ventana de síntesis comprende un aumento estrictamente monótono desde el coeficiente de ventana de la secuencia de coeficientes de ventana usada para dividir en ventanas la muestra de dominio de tiempo intermedia más reciente hasta el coeficiente de ventana que comprende el valor absoluto más alto de todos los coeficientes de ventana de la función de ventana de síntesis.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el divisor (360) en ventanas de síntesis está adaptado de modo que la función (370) de ventana de síntesis comprende un comportamiento oscilante.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el coeficiente de ventana correspondiente a un índice n = N comprende un valor absoluto en el intervalo entre 0,9 y 1,1, en el que el índice n de la secuencia de coeficientes de ventana es un número entero en el intervalo de 0 a T \cdot N-1, en el que el coeficiente de ventana usado para dividir en ventanas la muestra de dominio de tiempo intermedia más reciente es el coeficiente de ventana correspondiente al índice n = 0, en el que T es un número entero mayor que 4 que indica el número de bloques comprendido en la trama (330) de muestras de dominio de tiempo intermedias, en el que el aparato (300) está adaptado para generar un bloque (410) de muestras de audio de dominio de tiempo, comprendiendo el bloque (410) de muestras de audio de dominio de tiempo N muestras de audio de dominio de tiempo, en el que N es un número entero positivo.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el divisor (360) en ventanas de síntesis está adaptado de modo que el coeficiente de ventana correspondiente al índice n=0 comprende un valor absoluto menor que o igual a 0,02.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el divisor (360) en ventanas de síntesis está adaptado de modo que el coeficiente de ventana correspondiente a un índice n = 3N es menor que -0,1, en el que el aparato (300) está adaptado para generar un bloque (410) de muestras de audio de dominio de tiempo, comprendiendo el bloque (410) de muestras de audio de dominio de tiempo N muestras de audio de dominio de tiempo, en el que N es un número entero positivo. En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, la ventana (360) de síntesis está adaptada de modo que la división en ventanas comprende multiplicar las muestras de dominio de tiempo intermedias g(n) de la secuencia de muestras de dominio de tiempo intermedias para obtener las muestras divididas en ventanas z(n) de la trama (380) dividida en ventanas basándose en la ecuación
46
para n = 0, ..., T \cdot N - 1.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el divisor (360) en ventanas de síntesis está adaptado de modo que el coeficiente de ventana c(n) cumple las relaciones dadas en la tabla en el anexo 4.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el aparato (300) está adaptado para usar la función (370) de ventana de síntesis que es una versión con inversión en tiempo o invertida en índice de una función (190) de ventana de análisis usada para generar los valores de subbanda de audio.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el aparato (300) está adaptado para generar un bloque (410) de muestras de audio de dominio de tiempo, comprendiendo el bloque (410) de muestras de audio de dominio de tiempo N muestras de audio de dominio de tiempo, en el que N es un número entero positivo.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el aparato (300) está adaptado para generar el bloque (410) de muestras de audio de dominio de tiempo, basándose en un bloque (320) de valores de subbanda de audio que comprende N valores de subbanda de audio y en el que la calculadora (310) está adaptada para calcular la secuencia (330) de muestras de audio de dominio de tiempo intermedias que comprenden T \cdot N muestras de audio de dominio de tiempo intermedias, en el que T es un número entero positivo.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el divisor (360) en ventanas de síntesis está adaptado de modo que la función de ventana de síntesis es asimétrica con respecto al coeficiente de ventana de secuencia.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el divisor (360) en ventanas de síntesis está adaptado de modo que la primera parte comprende un valor máximo de todos los coeficientes de ventana de la función de ventana de síntesis con un valor absoluto mayor que 1.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el divisor (360) en ventanas de síntesis está adaptado de modo que la primera parte comprende 3/2\cdotN coeficientes de ventana y la segunda parte de coeficientes de ventana comprende (T-3/2)\cdotN coeficientes de ventana, en el que T es un índice mayor o igual a 4 que indica un número de bloques 340 comprendidos en la trama (330) de muestras de dominio de tiempo intermedias.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el divisor (360) en ventanas de síntesis está adaptado de modo que la división en ventanas de la secuencia de muestras de dominio de tiempo intermedias comprende una multiplicación elemento a elemento de las muestras de dominio de tiempo intermedias con un coeficiente de ventana.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el divisor (360) en ventanas de síntesis está adaptado de modo que cada muestra de dominio de tiempo intermedia se multiplica elemento a elemento con el coeficiente de ventana de la función (370) de ventana de síntesis según la secuencia de muestras de dominio de tiempo intermedias y la secuencia de coeficientes de ventana.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, la ventana (360) de síntesis está adaptada de modo que los coeficientes de ventana de la función (370) de ventana de síntesis son valores de valor real.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el divisor (360) en ventanas de síntesis está adaptado de modo que el coeficiente de ventana c(n) cumple las relaciones dadas en la tabla en el anexo 3.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el divisor (360) en ventanas de síntesis está adaptado de modo que los coeficientes de ventana c(n) cumplen las relaciones dadas en la tabla en el anexo 2.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el divisor (360) en ventanas de síntesis está adaptado de modo que los coeficientes de ventana c(n) comprenden los valores dados en la tabla en el anexo 1.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, la calculadora (310) está adaptada para calcular las muestras de dominio de tiempo intermedias de la secuencia de muestras de dominio de tiempo intermedias basándose en multiplicar los valores de subbanda de audio con una función oscilante armónica y sumar los valores de subbanda de audio multiplicados, en el que la frecuencia de la función armónicamente oscilante se basa en una frecuencia central de la subbanda correspondiente.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, la calculadora (310) está adaptada de modo que la función armónicamente oscilante es una función exponencial compleja, una función seno o una función coseno.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, la calculadora (310) está adaptada para calcular muestras de dominio de tiempo intermedias de valor real basándose en los valores de subbanda de audio de valor complejo o valor real.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, la calculadora (310) está adaptada para calcular la secuencia de muestras de dominio de tiempo intermedias de valor real z(i,n) basándose en la ecuación
47
para un número entero n en el intervalo de 0 a N \cdot T-1, donde Re(x) es la parte real del número de valor complejo x, n = 3,14... es el número circular y f_{osc}(x) es una función armónicamente oscilante, donde
48
cuando los valores de subbanda de audio proporcionados a la calculadora son valores complejos, donde I es la unidad imaginaria, y donde
49
cuando los valores de subbanda de audio proporcionados a la calculadora (310) son valores reales.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, la calculadora (310) comprende un convertidor de frecuencia/tiempo adaptado para generar la secuencia de muestras de dominio de tiempo intermedias, de modo que los valores de subbanda de audio proporcionados a la calculadora (310) representan una representación espectral de la secuencia de muestras de dominio de tiempo intermedias.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el convertidor de frecuencia/tiempo está adaptado para generar la secuencia de muestras de tiempo/dominio intermedias basándose en valores de subbanda de audio de valor complejo o valor real.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, la calculadora (310) está adaptada para calcular la secuencia de muestras de dominio de tiempo intermedias g(n) a partir de los valores de subbanda de audio X(k) basándose en la ecuación
50
para un número entero n en el intervalo de 20N - 1 y 2N,
51
para el número entero n en el intervalo de 0 y 2N-1 y
52
para un número entero j en el intervalo de 0 y 4 y para un número entero k en el intervalo de 0 y N-1, donde N es un número entero que indica el número de valores de subbanda de audio y el número de las muestras de audio de dominio de tiempo, donde v es un vector de valor real, donde v_{prev} es un vector v de valor real de la generación directamente previa de muestras de audio de dominio de tiempo, donde i es la unidad imaginaria y \pi es el número circular.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, la calculadora (310) está adaptada para calcular la secuencia de muestras de dominio de tiempo intermedias g(n) a partir de los valores de subbanda de audio X(k) basándose en la ecuación
53
para un número entero n en el intervalo de 20N - 1 y 2N,
54
para el número entero n en el intervalo de 0 y 2N-1 y
55
para un número entero j en el intervalo de 0 y 4 y para un número entero k en el intervalo de 0 y N-1, donde N es un número entero que indica el número de valores de subbanda de audio y el número de las muestras de audio de dominio de tiempo, donde v es un vector de valor real, donde v_{prev} es un vector de valor real v de la generación directamente previa de muestras de audio de dominio de tiempo y donde n es el número circular.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, la fase (400) de salida de solapamiento-suma está adaptada para procesar las muestras de dominio de tiempo intermedias divididas en ventanas de manera solapante, basándose en T bloques (320) proporcionados consecutivamente de valores de subbanda de audio.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, la fase (400) de salida de solapamiento-suma está adaptada para proporcionar las muestras de dominio de tiempo
out_{1}(n), donde n es un número entero que indica un índice de muestra basándose en la ecuación
56
donde z_{l,n} es una muestra de dominio de tiempo intermedia dividida en ventanas correspondiente a un índice de muestra n y un índice 1 de secuencia o trama en el intervalo desde 0 hasta T - 1, donde 1 = 0 corresponde a la secuencia o trama más reciente y valores menores de 1 a tramas o secuencias generadas previamente.
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, la fase (400) de salida de solapamiento-suma está adaptada para proporcionar las muestras de dominio de tiempo
out(k) basándose en la ecuación
57
donde w es un vector que comprende las muestras de dominio de tiempo intermedias divididas en ventanas y k es un número entero que indica un índice en el intervalo entre 0 y (N-1).
En un aparato para generar muestras de audio de dominio de tiempo según una realización de la presente invención, el aparato (300) está adaptado para recibir una señal indicativa de la función (190) de ventana de análisis usada para generar los valores de subbanda de audio, o indicativa de la función (370) de ventana de síntesis que va a usarse para generar las muestras de audio de dominio de tiempo.
Según una realización de la presente invención, un codificador (510) comprende un aparato (560) para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención.
Según una realización de la presente invención, un codificador (510) comprende además un cuantificador y un codificador (570) acoplados al aparato (560) para generar valores de subbanda de audio y adaptados para cuantificar y codificar la salida de valores de subbanda de audio mediante el aparato (560) y emitir los valores de subbanda de audio codificados cuantificados.
Según una realización de la presente invención, un decodificador (580) comprende un aparato (600) para generar muestras de audio de dominio de tiempo según una realización de la presente invención.
Según una realización de la presente invención, un decodificador (580) comprende además un decodificador y un decuantificador (590) adaptados para recibir valores de subbanda de audio codificados y cuantificados, acoplados al aparato (600) para generar muestras de audio de dominio de tiempo y adaptados para proporcionar los valores de subbanda de audio decodificados y decuantificados como los valores de subbanda de audio al aparato (600).
Según una realización de la presente invención, un codificador (520) de SBR comprende un aparato (530) para generar valores de subbanda de audio en canales de subbanda de audio, basándose en una trama de muestras de entrada de audio de dominio de tiempo proporcionadas al codificador (520) de SBR y un módulo (540) de extracción de parámetros de SBR acoplado al aparato (530) para generar valores de subbanda de audio y adaptado para extraer y emitir parámetros de SBR basándose en los valores de subbanda de audio.
Según una realización de la presente invención, un sistema (610) comprende un aparato (620) para generar valores de subbanda de audio a partir de una trama de muestras de entrada de audio de dominio de tiempo proporcionadas al sistema (610); y un aparato (640) para generar muestras de audio de dominio de tiempo basándose en los valores de subbanda de audio generados por el aparato (640) para generar valores de subbanda de audio.
Según una realización de la presente invención, un sistema (610) es un decodificador de SBR.
Según una realización de la presente invención, un sistema comprende además un generador (630) de HF interconectado entre el aparato (620) para generar valores de subbanda de audio y el aparato (640) para generar muestras de audio de dominio de tiempo y adaptado para recibir datos de SBR adaptados para modificar o añadir valores de subbanda de audio basándose en los datos de SBR y los valores de subbanda de audio desde el aparato (620) para generar valores de subbanda de audio.
Con respecto a todos los aparatos y métodos según realizaciones de la presente invención, dependiendo de los detalles de implementación, para obtener los coeficientes de ventana basándose en los valores dados en la tablas en los anexos 1 y 3, puede implementarse un cambio de signo adicional con respecto a los coeficientes de ventana correspondientes a los índices 128 a 255 y 384 a 511 (multiplicación con factor (-1)). En otras palabras, los coeficientes de ventana de la función de ventana se basan en los coeficientes de ventana dados en la tabla en el anexo 1. Para obtener los coeficientes de ventana de la función de ventana mostrada en las figuras, los coeficientes de ventana en la tabla correspondientes a los índices 0 a 127, 256 a 383 y 512 a 639 deben multiplicarse por (+1) (es decir sin cambio de signo) y los coeficientes de ventana correspondientes a los índices 128 a 255 y 384 a 511 deben multiplicarse por (-1) (es decir, un cambio de signo) para obtener los coeficientes de ventana de la función de ventana mostrada. Por consiguiente las relaciones dadas en la tabla en el anexo 3 deben tratarse en consecuencia.
Un aparato para generar valores de subbanda de audio en canales de subbanda de audio según una realización de la presente invención comprende un divisor 110 en ventanas de análisis para dividir en ventanas una trama 120 de muestras de entrada de audio de dominio de tiempo que están en una secuencia de tiempo que se extiende desde una muestra temprana hasta una muestra posterior usando una función 190 de ventana de análisis que comprende una secuencia de coeficientes de ventana para obtener muestras divididas en ventanas, comprendiendo la función de ventana de análisis un primer número de coeficientes de ventana derivados de una función de ventana más grande que comprende una secuencia de un segundo número de coeficientes de ventana más grande, en el que los coeficientes de ventana de la función de ventana se derivan mediante una interpolación de coeficientes de ventana de la función de ventana más grande, y en el que el segundo número es un número par. Comprende además una calculadora 170 para calcular los valores de subbanda de audio usando las muestras divididas en ventanas.
Opcionalmente una realización de este tipo de la presente invención en forma de un aparato 100 puede adaptarse para interpolar los coeficientes de ventana de la función de ventana más grande para obtener los coeficientes de ventana de la función de ventana.
Algunas realizaciones de la presente invención en forma de un aparato 100 pueden adaptarse de modo que el divisor 110 en ventanas de análisis esté adaptado de modo que la división en ventanas comprenda multiplicar las muestras de entrada de audio de dominio de tiempo x (n) de la trama (120) para obtener las muestras divididas en ventanas z(n) de la trama dividida en ventanas basándose en la ecuación
58
donde n es un número entero que indica un índice de la secuencia de coeficientes de ventana en el intervalo de 0 a T \cdot N-1, donde c(n) es el coeficiente de ventana de la función de ventana de análisis correspondientes al índice n, donde x(N T-1) es la muestra de entrada de audio de dominio de tiempo más reciente de una trama (120) de muestras de entrada de audio de dominio de tiempo, donde el divisor (110) en ventanas de análisis está adaptado de modo que la trama (120) de muestras de entrada de audio de dominio de tiempo comprende una secuencia de T bloques (130) de muestras de entrada de audio de dominio de tiempo que se extienden desde las muestras de entrada de audio de dominio de tiempo más tempranas hasta las más recientes de la trama (120), comprendiendo cada bloque N muestras de entrada de audio de dominio de tiempo, y donde T y N son números enteros positivos y T es mayor que 4.
\global\parskip0.850000\baselineskip
Algunas realizaciones de la presente invención en forma de un aparato 100 pueden adaptarse además de modo que el divisor 110 en ventanas de análisis esté adaptado de modo que la función 190 de ventana de análisis comprenda un primer grupo 200 de coeficientes de ventana que comprenda una primera parte de la secuencia de coeficientes de ventana y un segundo grupo 210 de coeficientes de ventana que comprenda una segunda parte de la secuencia de coeficientes de ventana, en el que la primera parte comprenda menos coeficientes de ventana que la segunda parte, en el que un valor de energía de los coeficientes de ventana en la primera parte sea mayor que un valor de energía de los coeficientes de ventana de la segunda parte, y en el que se use el primer grupo de coeficientes de ventana para dividir en ventanas muestras de dominio de tiempo posteriores y se use el segundo grupo de coeficientes de ventana para dividir en ventanas muestras de dominio de tiempo más tempranas.
Algunas realizaciones de la presente invención en forma de un aparato 100 también pueden adaptarse para usar una función (190) de ventana de análisis que sea una versión invertida en tiempo o invertida en índice de una función (370) de ventana de síntesis que va a usarse para los valores de subbanda de audio.
Un aparato 300 según una realización de la presente invención para generar muestras de audio de dominio de tiempo comprende una calculadora 310 para calcular una secuencia 330 de muestras de dominio de tiempo intermedias a partir de valores de subbanda de audio en canales de subbanda de audio, comprendiendo la secuencia muestras de dominio de tiempo intermedias más tempranas y muestras de dominio de tiempo posteriores, y un divisor 360 en ventanas de síntesis para dividir en ventanas la secuencia 330 de muestras de dominio de tiempo intermedias usando una función 370 de ventana de síntesis que comprende una secuencia de coeficientes de ventana para obtener muestras de dominio de tiempo intermedias divididas en ventanas, comprendiendo la función de ventana de síntesis un primer número de coeficientes de ventana derivados de una función de ventana más grande que comprende una secuencia de un segundo número de coeficientes de ventana más grande, en el que los coeficientes de ventana de la función de ventana se derivan mediante una interpolación de coeficientes de ventana de la función de ventana más grande, y en el que el segundo número es par. Comprende además una fase 400 de salida de sumador-solapamiento para procesar las muestras de dominio de tiempo intermedias divididas en ventanas para obtener las muestras de dominio de tiempo.
Algunas realizaciones de la presente invención en forma de un aparato 300 pueden adaptarse para interpolar los coeficientes de ventana de la función de ventana más grande para obtener los coeficientes de ventana de la función de ventana.
Algunas realizaciones de la presente invención en forma de un aparato 300 pueden adaptarse de modo que el divisor 360 en ventanas de síntesis esté adaptado de modo que la división en ventanas comprenda multiplicar las muestras de dominio de tiempo intermedias g(n) de la secuencia de muestras de dominio de tiempo intermedias para obtener las muestras divididas en ventanas z(n) de la trama 380 dividida en ventanas basándose en la ecuación
59
para n = 0, ..., T \cdot N - 1.
Algunas realizaciones de la presente invención en forma de un aparato 300 pueden adaptarse de modo que el divisor 360 en ventanas de síntesis esté adaptado de modo que la función 370 de ventana de síntesis comprenda un primer grupo 420 de coeficientes de ventana que comprenda una primera parte de la secuencia de coeficientes de ventana y un segundo grupo 430 de coeficientes de ventana que comprenda una segunda parte de la secuencia de coeficientes de ventana, comprendiendo la primera parte menos coeficientes de ventana que la segunda parte, en el que un valor de energía de los coeficientes de ventana en la primera parte sea mayor que un valor de energía de los coeficientes de ventana de la segunda parte, y en el que se use el primer grupo de coeficientes de ventana para dividir en ventanas muestras de dominio de tiempo intermedias posteriores y se use el segundo grupo de coeficientes de ventana para dividir en ventanas muestras de dominio de tiempo intermedias más tempranas.
Algunas realizaciones de la presente invención en forma de un aparato 300 pueden adaptarse para usar la función 370 de ventana de síntesis que es una versión con inversión en tiempo o invertida en índice de una función 190 de ventana de análisis usada para generar los valores de subbanda de audio.
Debe observarse, que en el marco de la presente solicitud se entiende en una ecuación que se basa en una ecuación una introducción de retardos adicionales, factores, coeficientes adicionales y una introducción de otra función simple. Además, pueden omitirse constantes simples, sumandos constantes, etc. Además, también se incluyen transformaciones algebraicas, transformaciones de equivalencia y aproximaciones (por ejemplo una aproximación de Taylor) que no cambian en absoluto o de una manera significativa el resultado de la ecuación. En otras palabras, se incluyen, tanto ligeras modificaciones como transformaciones que lleven esencialmente a un resultado idéntico, en el caso de que una ecuación o expresión esté basada en una ecuación o expresión.
Aunque lo anterior se ha mostrado y descrito en particular con referencia a realizaciones particulares de ello, los expertos en la técnica entenderán que pueden realizarse diversos otros cambios en la forma y los detalles sin apartarse del alcance de ello. Debe entenderse que pueden realizarse diversos cambios en la adaptación a diferentes realizaciones sin apartarse del concepto más amplio dado a conocer en el presente documento y abarcado por las reivindicaciones que siguen.
\global\parskip1.000000\baselineskip
Anexo 1
60
61
62
63
64
65
66
Anexo 2
67
68
680
69
70
71
72
\vskip1.000000\baselineskip
Anexo 3
73
74
75
76
77
78
79
Anexo 4
80
81
82
83
84
85
86

Claims (15)

1. Aparato para generar valores de subbanda de audio en canales de subbanda de audio, que comprende:
\quad
un divisor (110) en ventanas de análisis para dividir en ventanas una trama (120) de muestras de entrada de audio de dominio de tiempo que están en una secuencia de tiempo que se extiende desde una muestra temprana hasta una muestra posterior usando una función (190) de ventana de análisis que comprende una secuencia de coeficientes de ventana para obtener muestras divididas en ventanas, comprendiendo la función de ventana de análisis un primer número de coeficientes de ventana derivados de una función de ventana más grande que comprende una secuencia de un segundo número de coeficientes de ventana más grande,
en el que los coeficientes de ventana de la función de ventana se derivan mediante una interpolación de coeficientes de ventana de la función de ventana más grande; y
en el que el segundo número es un número par; y
una calculadora (170) para calcular los valores de subbanda de audio usando las muestras divididas en ventanas.
2. Aparato (100) según la reivindicación 1, en el que el aparato (100) o el divisor (110) en ventanas de análisis está adaptado de modo que los coeficientes de ventana de la función de ventana se interpolan de manera lineal.
3. Aparato (100) según cualquiera de las reivindicaciones anteriores, en el que el aparato (100) o el divisor (110) en ventanas de análisis está adaptado 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 más grande según la secuencia de los coeficientes de ventana de la función de ventana más grande para obtener un coeficiente de ventana de la función de ventana.
4. Aparato (100) según cualquiera de las reivindicaciones anteriores, en el que el aparato (100) o el divisor (110) en ventanas de análisis está adaptado para obtener los coeficientes de ventana c(n) de la función de ventana de análisis basándose en la ecuación
87
en la que n es un número entero que indica un índice de los coeficientes de ventana c(n), y c_{2}(n) es un coeficiente de ventana de la función de ventana más grande.
5. Aparato (100) según la reivindicación 4, en el que el aparato (100) o el divisor (110) en ventanas de análisis está adaptado de modo que los coeficientes de ventana c_{2}(n) de la función de ventana más grande obedecen a las relaciones dadas en la tabla en el anexo 4.
6. Aparato (100) según cualquiera de las reivindicaciones anteriores, en el que el divisor (110) en ventanas de análisis está adaptado de modo que la función de ventana más grande es asimétrica con respecto a la secuencia de coeficientes de ventana.
7. Aparato (300) para generar muestras de audio de dominio de tiempo, que comprende:
\quad
una calculadora (310) para calcular una secuencia (330) de muestras de dominio de tiempo intermedias a partir de valores de subbanda de audio en canales de subbanda de audio, comprendiendo la secuencia muestras de dominio de tiempo intermedias más tempranas y muestras de dominio de tiempo posteriores;
\quad
un divisor (360) en ventanas de síntesis para dividir en ventanas la secuencia (330) de muestras de dominio de tiempo intermedias usando una función (370) de ventana de síntesis que comprende una secuencia de coeficientes de ventana para obtener muestras de dominio de tiempo intermedias divididas en ventanas, comprendiendo la función de ventana de síntesis un primer número de coeficientes de ventana derivados de una función de ventana más grande que comprende una secuencia de un segundo número de coeficientes de ventana más grande,
en el que los coeficientes de ventana de la función de ventana se derivan mediante una interpolación de coeficientes de ventana de la función de ventana más grande; y
en el que el segundo número es par; y
una fase (400) de salida de sumador-solapamiento para procesar las muestras de dominio de tiempo intermedias divididas en ventanas para obtener las muestras de dominio de tiempo.
8. Aparato (300) según la reivindicación 7, en el que el aparato (300) está adaptado de modo que los coeficientes de ventana de la función de ventana de síntesis se interpolan de manera lineal.
9. Aparato (300) según cualquiera de las reivindicaciones 7 u 8, en el que el aparato (300) está adaptado de modo que los coeficientes de ventana de la función de ventana de síntesis se interpolan basándose en dos coeficientes de ventana consecutivos de la función de ventana más grande según la secuencia de coeficientes de ventana de la función de ventana más grande para obtener un coeficiente de ventana de la función de ventana.
10. Aparato (300) según cualquiera de las reivindicaciones 7 a 9, en el que el aparato (300) está adaptado para obtener los coeficientes de ventana c(n) de la función de ventana de síntesis basándose en la ecuación
88
en la que c_{2}(n) son coeficientes de ventana de una función de ventana más grande correspondientes al índice n.
11. Aparato (300) según la reivindicación 10, en el que el aparato (300) está adaptado de modo que el coeficiente de ventana c_{2} (n) cumple las relaciones dadas en la tabla en el anexo 4.
12. Aparato (300) según cualquiera de las reivindicaciones 7 a 11, en el que el divisor (360) en ventanas de síntesis está adaptado de modo que la función de ventana más grande es asimétrica con respecto a una secuencia de coeficientes de ventana.
13. Método para generar valores de subbanda de audio en canales de subbanda de audio, que comprende:
\quad
dividir en ventanas una trama de muestras de entrada de audio de dominio de tiempo que están en una secuencia de tiempo que se extiende desde una muestra temprana hasta una muestra posterior usando una función de ventana de análisis para obtener muestras divididas en ventanas, comprendiendo la función de ventana de análisis un primer número de coeficientes de ventana derivados de una función de ventana más grande que comprende una secuencia de un segundo número de coeficientes de ventana más grande,
en el que los coeficientes de ventana de la función de ventana se derivan mediante una interpolación mediante coeficientes de ventana de la función de ventana más grande; y
en el que el segundo número es un número par; y
se calculan los valores de subbanda de audio usando las muestras divididas en ventanas.
14. Método para generar muestras de audio de dominio de tiempo, que comprende:
\quad
calcular una secuencia de muestras de dominio de tiempo intermedias a partir de valores de subbanda de audio en canales de subbanda de audio, comprendiendo la secuencia muestras de dominio de tiempo intermedias más tempranas y muestras de dominio de tiempo intermedias posteriores;
\quad
dividir en ventanas la secuencia de muestras de dominio de tiempo intermedias usando una función de ventana de síntesis para obtener muestras de dominio de tiempo divididas en ventanas, comprendiendo la función de ventana de síntesis un primer número de coeficientes de ventana derivados de una función de ventana más grande que comprende una secuencia de un segundo número de coeficientes de ventana más grande,
en el que los coeficientes de ventana de la función de ventana se derivan mediante una interpolación de coeficientes de ventana de la función de ventana más grande; y
en el que el segundo número es par; y
se solapa-suma las muestras de dominio de tiempo divididas en ventanas para obtener las muestras de dominio de tiempo.
15. Programa con un código de programa para llevar a cabo, cuando se ejecuta en un procesador, un método según la reivindicación 13 o según la reivindicación 14.
ES07819260T 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. Active ES2328187T3 (es)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
ES2328187T3 true ES2328187T3 (es) 2009-11-10

Family

ID=39048961

Family Applications (6)

Application Number Title Priority Date Filing Date
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.
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
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
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

Family Applications After (5)

Application Number Title Priority Date Filing Date
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
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
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

Country Status (26)

Country Link
US (3) US8452605B2 (es)
EP (10) EP4325723A3 (es)
JP (2) JP5083779B2 (es)
KR (2) KR101056253B1 (es)
CN (2) CN101405791B (es)
AR (2) AR063400A1 (es)
AT (1) ATE435480T1 (es)
AU (2) AU2007308416B2 (es)
BR (2) BRPI0716315A2 (es)
CA (2) CA2667505C (es)
DE (1) DE602007001460D1 (es)
DK (2) DK3848928T3 (es)
ES (6) ES2328187T3 (es)
FI (1) FI3848928T3 (es)
HK (2) HK1119824A1 (es)
HU (1) HUE064482T2 (es)
IL (2) IL193786A (es)
MX (2) MX2009004477A (es)
MY (2) MY148715A (es)
NO (3) NO341567B1 (es)
PL (6) PL4207189T3 (es)
PT (5) PT2109098T (es)
RU (2) RU2420815C2 (es)
TW (2) TWI355649B (es)
WO (2) WO2008049590A1 (es)
ZA (2) ZA200810308B (es)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10770084B2 (en) 2015-09-25 2020-09-08 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

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PT2109098T (pt) 2006-10-25 2020-12-18 Fraunhofer Ges Forschung Aparelho e método para gerar amostras de áudio de domínio de tempo
JP5238512B2 (ja) * 2006-12-13 2013-07-17 パナソニック株式会社 オーディオ信号符号化方法及び復号化方法
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
WO2010013754A1 (ja) * 2008-07-30 2010-02-04 ヤマハ株式会社 オーディオ信号処理装置、オーディオ信号処理システム、およびオーディオ信号処理方法
US9384748B2 (en) 2008-11-26 2016-07-05 Electronics And Telecommunications Research Institute Unified Speech/Audio Codec (USAC) processing windows sequence based mode switching
EP4224474B1 (en) * 2008-12-15 2023-11-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio bandwidth extension decoder, corresponding method and computer program
CA3107567C (en) 2009-01-28 2022-08-02 Dolby International Ab Improved harmonic transposition
PL3751570T3 (pl) 2009-01-28 2022-03-07 Dolby International Ab Ulepszona transpozycja harmonicznych
TWI597939B (zh) 2009-02-18 2017-09-01 杜比國際公司 具相位偏移之複數值合成濾波器組
US8392200B2 (en) 2009-04-14 2013-03-05 Qualcomm Incorporated Low complexity spectral band replication (SBR) filterbanks
CN102422531B (zh) * 2009-06-29 2014-09-03 三菱电机株式会社 音频信号处理装置
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
KR101701759B1 (ko) 2009-09-18 2017-02-03 돌비 인터네셔널 에이비 입력 신호를 전위시키기 위한 시스템 및 방법, 및 상기 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터 판독가능 저장 매체
BR122020007866B1 (pt) 2009-10-21 2021-06-01 Dolby International Ab Sistema configurado para gerar um componente de alta frequência de um sinal de áudio, método para gerar um componente de alta frequência de um sinal de áudio e método para projetar um transpositor de harmônicos
JP5575149B2 (ja) * 2009-11-30 2014-08-20 三菱電機株式会社 分波装置、合波装置および中継装置
ES2836756T3 (es) 2010-01-19 2021-06-28 Dolby Int Ab Transposición armónica basada en bloque de sub bandas mejorada
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
CA3203400C (en) 2010-07-19 2023-09-26 Dolby International Ab Processing of audio signals during high frequency reconstruction
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.
BR112012029132B1 (pt) 2011-02-14 2021-10-05 Fraunhofer - Gesellschaft Zur Förderung Der Angewandten Forschung E.V Representação de sinal de informações utilizando transformada sobreposta
CA2827249C (en) * 2011-02-14 2016-08-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for processing a decoded audio signal in a spectral domain
JP5849106B2 (ja) 2011-02-14 2016-01-27 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 低遅延の統合されたスピーチ及びオーディオ符号化におけるエラー隠しのための装置及び方法
JP5625126B2 (ja) 2011-02-14 2014-11-12 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン スペクトル領域ノイズ整形を使用する線形予測ベースコーディングスキーム
PL3239978T3 (pl) 2011-02-14 2019-07-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Kodowanie i dekodowanie pozycji impulsów ścieżek sygnału audio
KR101525185B1 (ko) 2011-02-14 2015-06-02 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 트랜지언트 검출 및 품질 결과를 사용하여 일부분의 오디오 신호를 코딩하기 위한 장치 및 방법
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
JP6155274B2 (ja) 2011-11-11 2017-06-28 ドルビー・インターナショナル・アーベー 過剰サンプリングされたsbrを使ったアップサンプリング
JP5494677B2 (ja) 2012-01-06 2014-05-21 ヤマハ株式会社 演奏装置及び演奏プログラム
EP2717262A1 (en) * 2012-10-05 2014-04-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder, decoder and methods for signal-dependent zoom-transform in spatial audio object coding
KR102238376B1 (ko) 2013-02-05 2021-04-08 텔레폰악티에볼라겟엘엠에릭슨(펍) 오디오 프레임 손실 은폐를 제어하기 위한 방법 및 장치
BR122020020698B1 (pt) 2013-04-05 2022-05-31 Dolby International Ab Método para decodificação, meio legível por computador não transitório para decodificação, decodificador, e método de codificação de áudio para codificação em forma de onda intercalada
TWI557727B (zh) * 2013-04-05 2016-11-11 杜比國際公司 音訊處理系統、多媒體處理系統、處理音訊位元流的方法以及電腦程式產品
CA2997882C (en) 2013-04-05 2020-06-30 Dolby International Ab Audio encoder and decoder
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
EP2830065A1 (en) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for decoding an encoded audio signal using a cross-over filter around a transition frequency
CN111292757A (zh) 2013-09-12 2020-06-16 杜比国际公司 基于qmf的处理数据的时间对齐
EP3806498B1 (en) * 2013-09-17 2023-08-30 Wilus Institute of Standards and Technology Inc. Method and apparatus for processing audio signal
CN105874819B (zh) 2013-10-22 2018-04-10 韩国电子通信研究院 生成用于音频信号的滤波器的方法及其参数化装置
KR102244613B1 (ko) * 2013-10-28 2021-04-26 삼성전자주식회사 Qmf 필터링 방법 및 이를 수행하는 장치
KR101627661B1 (ko) 2013-12-23 2016-06-07 주식회사 윌러스표준기술연구소 오디오 신호 처리 방법, 이를 위한 파라메터화 장치 및 오디오 신호 처리 장치
CN106105269B (zh) 2014-03-19 2018-06-19 韦勒斯标准与技术协会公司 音频信号处理方法和设备
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
WO2017153300A1 (en) * 2016-03-07 2017-09-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Error concealment unit, audio decoder, and related method and computer program using characteristics of a decoded representation of a properly decoded audio frame
EP3475944B1 (en) * 2016-06-22 2020-07-15 Dolby International AB Audio decoder and method for transforming a digital audio signal from a first to a second frequency domain
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 瑞昱半導體股份有限公司 音訊處理方法與音訊等化器
WO2020178322A1 (en) * 2019-03-06 2020-09-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for converting a spectral resolution
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
WO1998035339A2 (en) * 1997-01-27 1998-08-13 Entropic Research Laboratory, Inc. A system and methodology for prosody modification
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
JP4106624B2 (ja) 2001-06-29 2008-06-25 株式会社ケンウッド 信号の周波数成分を補間するための装置および方法
JP4012506B2 (ja) * 2001-08-24 2007-11-21 株式会社ケンウッド 信号の周波数成分を適応的に補間するための装置および方法
DE10228103A1 (de) 2002-06-24 2004-01-15 Bayer Cropscience Ag Fungizide Wirkstoffkombinationen
US7069212B2 (en) * 2002-09-19 2006-06-27 Matsushita Elecric Industrial Co., Ltd. Audio decoding apparatus and method for band expansion with aliasing adjustment
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
CN1270290C (zh) * 2003-11-26 2006-08-16 联发科技股份有限公司 子带分析/合成滤波方法
CN100573666C (zh) * 2003-11-26 2009-12-23 联发科技股份有限公司 子带分析/合成滤波方法
WO2005073959A1 (en) * 2004-01-28 2005-08-11 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
WO2006000020A1 (en) 2004-06-29 2006-01-05 European Nickel Plc Improved leaching of base metals
MX2007012187A (es) 2005-04-01 2007-12-11 Qualcomm Inc Sistemas, metodos y aparatos para deformacion en tiempo de banda alta.
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
PT2109098T (pt) 2006-10-25 2020-12-18 Fraunhofer Ges Forschung Aparelho e método para gerar amostras de áudio de domínio de tempo
TW200922334A (en) 2007-11-02 2009-05-16 Univ Nat Chunghsing Low complexity frequency field motion estimation method adapted to wavelet video coding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10770084B2 (en) 2015-09-25 2020-09-08 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

Also Published As

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

Similar Documents

Publication Publication Date Title
ES2328187T3 (es) Aparato y metodo para generar valores de subbanda de audio y aparato ymetodo para generar muestras de audio de dominio de tiempo.
ES2374014T3 (es) Banco de filtros de análisis, banco de filtros de síntesis, codificador, descodificador, mezclador y sistema de conferencia.
ES2278338T3 (es) Dispositivo y procedimiento para procesar una señal.