ES2386206T3 - Banco de filtros de análisis, banco de filtros de síntesis, codificador, descodificador, mezclador y sistema de conferencia - Google Patents

Banco de filtros de análisis, banco de filtros de síntesis, codificador, descodificador, mezclador y sistema de conferencia Download PDF

Info

Publication number
ES2386206T3
ES2386206T3 ES07801974T ES07801974T ES2386206T3 ES 2386206 T3 ES2386206 T3 ES 2386206T3 ES 07801974 T ES07801974 T ES 07801974T ES 07801974 T ES07801974 T ES 07801974T ES 2386206 T3 ES2386206 T3 ES 2386206T3
Authority
ES
Spain
Prior art keywords
frame
window
windows
samples
output
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
ES07801974T
Other languages
English (en)
Inventor
Bernhard Grill
Markus Schnell
Ralf Geiger
Gerald Schuller
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 Foerderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Foerderung 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 Foerderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Application granted granted Critical
Publication of ES2386206T3 publication Critical patent/ES2386206T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech 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 orthogonal transformation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech 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 predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • G10L19/135Vector sum excited linear prediction [VSELP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Facsimile Transmission Control (AREA)
  • Telephonic Communication Services (AREA)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Image Processing (AREA)
  • Noise Elimination (AREA)
  • Investigating Or Analysing Biological Materials (AREA)
  • Monitoring And Testing Of Transmission In General (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

Banco de filtros de sintesis para filtrar una pluralidad de tramas de entrada, comprendiendo cada trama de entrada un numero de valores de entrada ordenados, que comprende: un convertidor (210) de frecuencia/tiempo configurado para proporcionar una secuencia de tramas (240) de salida, comprendiendo una trama de salida un numero de muestras de salida ordenadas, siendo una trama de salida una representacion temporal de una trama de entrada; un formador (220) de ventanas configurado para procesar cada trama de salida para generar una trama en ventanas a partir de la trama de salida respectiva ponderando las muestras de salida de la trama de salida respectiva basandose en una funcion (280) de ponderacion de modo que cada trama en ventanas comprende una pluralidad de muestras en ventanas; y en el que el formador de ventanas esta configurado para proporcionar la pluralidad de muestras en ventanas para un procesamiento de manera solapante basandose en un valor por adelantado de muestra, siendo el numero de muestras de salida ordenadas mas grande que dos veces el valor por adelantado de muestra; un solapador/sumador (230) configurado para proporcionar una trama (290) sumada para cada trama en ventanas, comprendiendo la trama sumada una pluralidad de tramas sumadas un numero de las cuales es igual al valor por adelantado de muestra, en el que el solapador/sumador esta configurado de manera que la trama sumada comprende al menos una seccion (300) de partida correspondiente a al menos el valor de salida mas anterior segun el orden de las muestras de salida ordenadas y una seccion (310) restante, en el que el solapador/sumador esta configurado para, al proporcionar la trama sumada, sumar al menos tres muestras en ventanas a partir de al menos tres tramas en ventanas generadas consecutivamente incluyendo la trama en ventanas respectiva y al menos dos tramas del pasado, para una muestra sumada en la seccion restante y sumar al menos dos muestras en ventanas a partir de las al menos dos tramas en ventanas del pasado para una muestra sumada en la seccion de partida, en el que el numero de muestras en ventanas sumadas para obtener una muestra sumada en la seccion restante es al menos una muestra mas alta en comparacion con el numero de muestras en ventanas sumadas para obtener una muestra sumada en la seccion de partida, o el formador de ventanas esta configurado para ajustar las muestras en ventanas correspondientes, correspondientes a la seccion de partida, a un valor predeterminado o a por lo menos un valor en el intervalo predeterminado para cada trama en ventanas de la pluralidad de tramas en ventanas, estando configurado el solapador sumador para utilizar las muestras en ventanas correspondientes asi ajustadas de la trama en ventanas respectiva en la suma con las al menos dos muestras en ventanas de las al menos dos tramas en ventanas del pasado.

Description

Banco de filtros de analisis, banco de filtros de sintesis, codificador, descodificador, mezclador y sistema de conferencia.
Antecedentes
La presente invencion se refiere a un banco de filtros de analisis, un banco de filtros de sintesis y sistemas que comprenden cualquiera de los bancos de filtros mencionados anteriormente que, por ejemplo, pueden implementarse en el campo de la codificacion de audio, descodificacion de audio u otras aplicaciones relacionadas con la transmision de audio modernas. Ademas, la presente invencion tambien se refiere a un mezclador y un sistema de conferencia.
El procesamiento de audio digital moderno se basa comunmente en esquemas de codificacion que permiten una reduccion significativa en terminos de tasas de transmision de bits, anchos de banda de transmision y espacio de almacenamiento, en comparacion con un almacenamiento o transmision directa de los respectivos datos de audio. Esto se consigue codificando los datos de audio en el sitio del emisor y descodificando los datos codificados en el sitio del receptor antes de, por ejemplo, proporcionar los datos de audio descodificados a un oyente.
Tales sistemas de procesamiento de audio digital pueden implementarse con respecto a una amplia gama de parametros que comprenden un espacio de almacenamiento tipico para un flujo potencialmente normalizado tipico de datos de audio, tasas de transmision de bits, complejidad computacional especialmente en terminos de eficiencia de implementacion, calidades obtenibles apropiadas para diferentes aplicaciones y en terminos del retardo provocado tanto durante la codificacion como la descodificacion de los datos de audio y los datos de audio codificados, respectivamente. En otras palabras, los sistemas de audio digitales pueden aplicarse en muchos campos de aplicaciones diferentes que fluctuan desde una transmision de calidad ultra baja a una transmision de extremo alto y almacenamiento de datos de audio (por ejemplo, para una experiencia de escucha de musica de alta calidad).
Sin embargo, en muchos casos se tienen que tomar soluciones intermedias en terminos de los diferentes parametros tales como la tasa de transmision de bits, la complejidad computacional, calidad y retardo. Por ejemplo, un sistema de audio digital que comprende un retardo bajo puede requerir una tasa de transmision de bits mas alta de un ancho de banda transmision en comparacion con un sistema de audio con un retardo mas alto a un nivel de calidad comparable.
El documento WO 98/02971 A1 se refiere a un metodo para codificar y descodificar senales de audio. El metodo de codificacion de senales de audio discretas en el tiempo comprende las etapas de ponderar la senal de audio discreta en el tiempo por medio de funciones ventana que se solapan entre si para formar bloques, produciendo las funciones ventana bloques de una primera longitud para senales que varian de manera debil con el tiempo y bloques de una segunda longitud para senales que varian considerablemente con el tiempo. Se selecciona una secuencia de ventana de inicio para la transicion desde la formacion de ventanas con bloques de la primera longitud hasta la formacion de ventanas con bloques de la segunda longitud, mientras que se selecciona una secuencia de ventana de detencion para la transicion opuesta. La secuencia de ventana de inicio se selecciona de al menos dos secuencias de ventana de inicio diferentes que tienen longitudes diferentes, mientras que la secuencia de ventana de detencion se selecciona de al menos dos secuencias de ventana de detencion diferentes que tienen longitudes diferentes. El metodo de descodificacion de bloques de senales de audio codificadas selecciona una transformacion inversa adecuada asi como una ventana de sintesis adecuada como una reaccion a informacion secundaria asociada con cada bloque.
Sumario
Una realizacion de un banco de filtros de analisis para filtrar una pluralidad de tramas de entrada de dominio de tiempo, en el que una trama de entrada comprende un numero de muestras de entrada ordenadas, comprende un formador de ventanas configurado para generar una pluralidad de tramas en ventanas, en el que una trama en ventanas comprende una pluralidad de muestras en ventanas, en el que el formador de ventanas esta configurado para procesar la pluralidad de tramas de entrada de manera solapante utilizando un valor por adelantado de muestra, en el que el valor por adelantado de muestra es menor que el numero de muestras de entrada ordenadas de una trama de entrada dividido por dos, y un convertidor de tiempo/frecuencia configurado para proporcionar una trama de salida que comprende un numero de valores de salida, en el que una trama de salida es una representacion espectral de una trama en ventanas.
Una realizacion de un banco de filtros de sintesis segun la reivindicacion 1 para filtrar una pluralidad de tramas de entrada, en el que cada trama de entrada comprende un numero de valores de entrada ordenados, comprende un convertidor de frecuencia/tiempo configurado para proporcionar una pluralidad de tramas de salida, en el que una trama de salida comprende un numero de muestras de salida ordenadas, en el que una trama de salida es una representacion temporal de una trama de entrada, estando configurado un formador de ventanas para generar una pluralidad de tramas en ventanas. Una trama en ventanas comprende una pluralidad de muestras en ventanas. El formador de ventanas esta configurado ademas para proporcionar la pluralidad de muestras en ventanas para un procesamiento de manera solapante basandose en un valor por adelantado de muestra. La realizacion del banco de filtros de sintesis comprende ademas un solapador/sumador configurado para proporcionar una trama sumada que comprende una seccion de inicio y una seccion restante, en el que una trama sumada comprende una pluralidad de muestras sumadas sumando por lo menos tres muestras en ventanas de por lo menos tres tramas en ventanas para una muestra sumada en la seccion restante de una trama sumada y sumando por lo menos dos muestras en ventanas de por lo menos dos tramas en
ventanas diferentes para una muestra sumada en la seccion de inicio. El numero de muestras en ventanas sumadas para obtener una muestra sumada en la seccion restante es por lo menos una muestra mas alta en comparacion con el numero de muestras en ventanas sumadas para obtener una muestra sumada en la seccion de inicio o el formador de ventanas esta configurado para ignorar por lo menos el valor de salida mas anterior segun el orden de las muestras de salida ordenadas o establecer las muestras en ventanas correspondientes a un valor predeterminado o a por lo menos un valor en un intervalo predeterminado para cada trama en ventanas de la pluralidad de tramas en ventanas. El solapador/sumador (230) esta configurado para proporcionar la muestra sumada en la seccion restante de una trama sumada basandose en por lo menos tres muestras en ventanas de por lo menos tres tramas en ventanas diferentes y una muestra sumada en la seccion de inicio basandose en por lo menos dos muestras en ventanas de por lo menos dos tramas en ventanas diferentes.
Una realizacion de un banco de filtros de sintesis para filtrar una pluralidad de tramas de entrada, en el que cada trama de entrada comprende M valores de entrada ordenados yk(0),...,yk(M-l), donde M es un numero entero positivo, y donde k es un numero entero que indica un indice de trama, comprende un convertidor de frecuencia/tiempo de transformada de coseno discreta tipo-IV inversa configurado para proporcionar una pluralidad de tramas de salida, una trama de salida que comprende 2M muestras de salida ordenadas xk(0),...,xk (2M-1) basandose en los valores de entrada yk(0),...,yk (M-1), un formador de ventanas configurado para generar una pluralidad de tramas en ventanas, una trama en ventanas que comprende una pluralidad de muestras en ventanas zk(0),..., zk(2M-1) basandose en la ecuacion
para n = 0,...,2M-1,
donde n es un numero entero que indica un indice de muestra y donde w(n) es un coeficiente de funcion ventana de valor real correspondiente al indice de muestra n, un solapador/sumador configurado para proporcionar una trama intermedia que comprende una pluralidad de muestras intermedias mk (0),...,mk(M-1) basandose en la ecuacion
para n = 0,...,M-1,
y un elevador configurado para proporcionar una trama sumada que comprende una pluralidad de muestras sumadas outk(0),..., outk (M-1) basandose en la ecuacion
para n = M/2,...,M-1 y
para n=0,...,M/2-1,
donde 1 (0),..., 1 (M-1) son coeficientes de elevacion de valor real.
Una realizacion de un codificador comprende un banco de filtros de analisis para filtrar una pluralidad de tramas de entrada de dominio de tiempo, en el que una trama de entrada comprende un numero de muestras de entrada ordenadas, comprende un formador de ventanas configurado para generar una pluralidad de tramas en ventanas, comprendiendo una trama en ventanas una pluralidad de muestras en ventanas, en el que el formador de ventanas esta configurado para procesar la pluralidad de tramas de entrada de manera solapante utilizando un valor por adelantado de muestra, en el que el valor por adelantado de muestra es menor que el numero de muestras de entrada ordenadas de una trama de entrada dividido por 2 y un convertidor de tiempo/frecuencia configurado para proporcionar una trama de salida que comprende un numero de valores de salida, siendo una trama de salida una representacion espectral de una trama en ventanas.
Una realizacion de un descodificador comprende un banco de filtros de sintesis para filtrar una pluralidad de tramas de entrada, en el que cada trama de entrada comprende un numero de valores de entrada ordenados, comprende un convertidor de frecuencia/tiempo configurado para proporcionar una pluralidad de tramas de salida, comprendiendo una trama de salida un numero de muestras de salida ordenadas, siendo una trama de salida una representacion temporal de una trama de entrada, un formador de ventanas configurado para generar una pluralidad de tramas en ventanas, comprendiendo una trama en ventanas una pluralidad de muestras en ventanas, y en el que el formador de ventanas esta configurado para proporcionar la pluralidad de muestras en ventanas para un procesamiento de manera solapante basandose en un valor por adelantado de muestra, un solapador/sumador configurado para proporcionar una trama sumada que comprende una seccion de inicio y una seccion restante, comprendiendo una trama sumada una pluralidad
de muestras sumadas sumando por lo menos tres muestras en ventanas de por lo menos tres tramas en ventanas para una muestra sumada en la seccion restante de una trama sumada y sumando por lo menos dos muestras en ventanas de por lo menos dos tramas en ventanas diferentes para una muestra sumada en la seccion de inicio, en el que el numero de muestras en ventanas sumadas para obtener una muestra sumada en la seccion restante es por lo menos una muestra mas alta en comparacion con el numero de muestras en ventanas sumadas para obtener una muestra sumada en la seccion de inicio o en el que el formador de ventanas esta configurado para ignorar por lo menos el valor de salida mas anterior segun el orden de las muestras de salida ordenadas o establecer las muestras en ventanas correspondiente a un valor predeterminado o a por lo menos un valor en un intervalo predeterminado para cada trama en ventanas de la pluralidad de tramas en ventanas; y en el que el solapador/sumador esta configurado para proporcionar la muestra sumada en la seccion restante de una trama sumada basandose en por lo menos tres muestras en ventanas de por lo menos tres tramas en ventanas diferentes y una muestra sumada en la seccion de inicio basandose en por lo menos dos muestras en ventanas de por lo menos dos tramas en ventanas diferentes.
Una realizacion adicional de un descodificador comprende un banco de filtros de sintesis para filtrar una pluralidad de tramas de entrada, en el que cada trama de entrada comprende M valores de entrada ordenados yk(0),...,yk(M-1), donde M es un numero entero positivo, y donde k es un numero entero que indica un indice de trama, comprende un convertidor de frecuencia/tiempo de transformada de coseno discreta tipo-IV inversa configurado para proporcionar una pluralidad de tramas de salida, comprendiendo una trama de salida 2M muestras de salida ordenadas xk(0),...,xk(2M-1) basandose en los valores de entrada yk(0),...,yk(M-1), un formador de ventanas configurado para generar una pluralidad de tramas en ventanas, comprendiendo una trama en ventanas una pluralidad de muestras en ventanas zk(0),..., zk(2M1) basandose en la ecuacion
para n = 0,...,2M-1,
donde n es un numero entero que indica un indice de muestra, y donde w(n) es un coeficiente de funcion ventana de valor real correspondiente al indice de muestra n, un solapador/sumador configurado para proporcionar una trama intermedia que comprende una pluralidad de muestras intermedias mk(0),...,mk (M-1) basandose en la ecuacion
para n = 0,...,M-1,
y un elevador configurado para proporcionar una trama sumada que comprende una pluralidad de muestras sumadas outk(0),..., outk (M-1) basandose en la ecuacion
para n = M/2,...,M-1 y
para n=0,..., M/2-1,
donde 1 (0),..., 1 (M-1) son coeficientes de elevacion de valor real.
Una realizacion de un mezclador para mezclar una pluralidad de tramas de entrada, en el que cada trama de entrada es una representacion espectral de una trama de dominio de tiempo correspondiente y cada trama de entrada de la pluralidad de tramas de entrada se proporciona de una fuente diferente, comprende un descodificador de entropia configurado para descodificar por entropia una pluralidad de tramas de entrada, un escalador configurado para escalar la pluralidad de tramas de entrada descodificadas por entropia en el dominio de frecuencia y configurado para obtener una pluralidad de tramas escaladas en el dominio de frecuencia, en el que cada trama escalada corresponde a una trama codificada por entropia, un sumador configurado para sumar las tramas escaladas en el dominio de frecuencia para generar una trama sumada en el dominio de frecuencia y un codificador de entropia configurado para codificar por entropia la trama sumada para obtener una trama mezclada.
Una realizacion de un sistema de conferencia comprende un mezclador para mezclar una pluralidad de tramas de entrada, en el que cada trama de entrada es una representacion espectral de una trama de dominio de tiempo correspondiente y cada trama de entrada de la pluralidad de tramas de entrada se proporciona de una fuente diferente, comprende un descodificador de entropia configurado para descodificar por entropia la pluralidad de tramas de entrada, un escalador configurado para escalar la pluralidad de tramas de entrada descodificadas por entropia en el dominio de frecuencia y configurado para obtener una pluralidad de tramas escaladas en el dominio de frecuencia, correspondiendo Breve descripcion de los dibujos
Las realizaciones de la presente invencion se describen a continuacion en el presente documento haciendo referencia a los dibujos adjuntos. La figura 1 muestra un diagrama de bloques de un banco de filtros de analisis; la figura 2 muestra una representacion esquematica de tramas de entrada que se procesan por una realizacion de un
banco de filtros de analisis; la figura 3 muestra un diagrama de bloques de una realizacion de un banco de filtros de sintesis; la figura 4 muestra una representacion esquematica de tramas de salida en el marco de su procesamiento por una
realizacion de un banco de filtros de sintesis;
la figura 5 muestra una representacion esquematica de una funcion ventana de analisis y una funcion ventana de sintesis de una realizacion de un banco de filtros de analisis y de un banco de filtros de sintesis; la figura 6 muestra una comparacion de una funcion ventana de analisis y una funcion ventana de sintesis en
comparacion con una funcion ventana de signo; la figura 7 muestra una comparacion adicional de diferentes funciones ventana; la figura 8 muestra una comparacion de un comportamiento de pre-eco para las tres funciones ventana diferentes
mostradas en la figura 7; la figura 9 muestra esquematicamente la propiedad de enmascaramiento temporal general del oido humano; la figura 10 muestra una comparacion de la respuesta de frecuencia de una ventana de signo y una ventana de bajo
retardo;
la figura 11 muestra una comparacion de una respuesta de frecuencia de una ventana seno y una ventana de
solapamiento bajo;
la figura 12 muestra una realizacion de un codificador;
la figura 13 muestra una realizacion de un descodificador;
la figura 14a muestra un sistema que comprende un codificador y un descodificador;
la figura 14b muestra fuentes diferentes para retardos comprendidos en el sistema mostrado en la figura 14a;
la figura 15 muestra una tabla que comprende una comparacion de retardos;
la figura 16 muestra una realizacion de un sistema de conferencia que comprende una realizacion de un mezclador;
la figura 17 muestra una realizacion adicional de un sistema de conferencia como un servidor o una unidad de control de
medios; la figura 18 muestra un diagrama de bloques de una unidad de control de medios; la figura 19 muestra una realizacion de un banco de filtros de sintesis como una implementacion eficaz; la figura 20 muestra una tabla que comprende una evaluacion de la eficiencia computacional de una realizacion de un
banco de filtros de sintesis o un banco de filtros de analisis (codec AAC ELD); la figura 21 muestra una tabla que comprende una evaluacion de la eficiencia computacional de un codec AAC LD; la figura 22 muestra una tabla que comprende una evaluacion de la complejidad computacional de un codec AAC LC; las figuras 23a y 23b muestran tablas que comprenden una comparacion de la evaluacion de la eficiencia de memoria
de RAM y ROM para tres codecs diferentes; y la figura 24 muestra una tabla que comprende una lista de codec usados para una prueba de MUSHRA.
Descripcion detallada de las realizaciones
Las figuras 1 a 24 muestran diagramas de bloques y diagramas adicionales que describen las propiedades funcionales y caracteristicas de realizaciones diferentes de un banco de filtros de analisis, un banco de filtros de sintesis, un codificador, un descodificador, un mezclador, un sistema de conferencia y otras realizaciones de la presente invencion. Sin embargo, antes de describir una realizacion de un banco de filtros de sintesis con respecto a las figuras 1 y 2, se describira en mas detalle una realizacion de un banco de filtros de analisis y una representacion esquematica de tramas de entrada que se procesan por una realizacion de un banco de filtros de analisis.
La figura 1 muestra una primera realizacion de un banco 100 de filtros de analisis que comprende un formador 110 de ventanas y el convertidor 120 de tiempo/frecuencia. Para ser mas precisos, el formador 110 de ventanas esta configurado para recibir una pluralidad de tramas de entrada de dominio de tiempo, comprendiendo cada trama de entrada un numero de muestras de entrada ordenadas en una entrada 110i. El formador 110 de ventanas esta adaptado ademas para generar una pluralidad de tramas en ventanas, que se proporcionan por el formador de ventanas en la salida ll0o del formador 110 de ventanas. Cada una de las tramas en ventanas comprende una pluralidad de muestras en ventanas, estando configurado ademas el formador 110 de ventanas para procesar la pluralidad de tramas en ventanas de manera solapante utilizando un valor por adelantado de muestra como se explicara en mas detalle en el contexto de la figura 2.
El convertidor 120 de tiempo/frecuencia puede recibir las tramas en ventanas tal como se envian por el formador 110 de ventanas y esta configurado para proporcionar una trama de salida que comprende un numero de valores de salida, de tal manera que una trama de salida es una representacion espectral de una trama en ventanas.
Con el fin de ilustrar y explicar las propiedades funcionales y caracteristicas de una realizacion de un banco 100 de filtros de analisis, la figura 2 muestra una representacion esquematica de cinco tramas 130 de entrada-(k-3), 130-(k-2), 130-(k-1), 130-k y 130-(k+1) como una funcion del tiempo, tal como se indica por la flecha 140 en la parte inferior de la figura 2.
A continuacion, se describira en mas detalle la operacion de una realizacion de un banco 100 de filtros de analisis con referencia a la trama de entrada 130-k, tal como se indica por la linea discontinua en la figura 2. Con respecto a esta trama de entrada 130-k, la trama de entrada 103-(k+1) es una trama de entrada futura, mientras que las tres tramas 130 de entrada-(k-1), 130-(k-2) y 130-(k-3) son tramas de entrada del pasado. En otras palabras, k es un numero entero que indica un indice de trama, de tal manera que cuanto mas grande sea el indice de trama, mas lejos estara ubicada la trama de entrada respectiva "en el futuro". Asi, cuanto mas pequeno sea el indice k, mas lejos estara ubicada la trama de entrada "en el pasado".
Cada una de las tramas 130 de entrada comprende por lo menos dos subsecciones 150, que son igual de largas. Para ser mas precisos, en el caso de una realizacion de un banco 100 de filtros de analisis, en la que se basa la representacion esquematica mostrada en la figura 2, la trama de entrada 130-k asi como las otras tramas 130 de entrada comprenden subsecciones 150-2, 150-3 y 150-4 que son iguales en longitud en terminos de muestras de entrada. Cada una de estas subsecciones 150 de la trama 130 de entrada comprende M muestras de entrada, donde M es un numero entero positivo. Ademas, la trama 130 de entrada tambien comprende una primera subseccion 150-1 que puede comprender tambien M tramas de entrada. En este caso, la primera subseccion 150-1 comprende una seccion 160 inicial de la trama 130 de entrada, que puede comprender muestras de entrada u otros valores, como se explicara en mas detalle en una etapa posterior. Sin embargo, dependiendo de la implementacion concreta de la realizacion de un banco de filtros de analisis, no es necesario que la primera subseccion 150-1 comprenda una seccion 160 inicial. En otras palabras, la primera subseccion 150-1 puede comprender en principio un numero mas bajo de muestras de entrada en comparacion con las otras subsecciones 150-2, 150-3, 150-4. Ejemplos de este caso tambien se ilustraran mas tarde.
Opcionalmente, aparte de la primera subseccion 150-1, las otras subsecciones 150-2, 150-3, 150-4 comprenden comunmente el mismo numero de muestras de entrada M, que es igual al denominado valor 170 por adelantado de muestra, que indica un numero de muestras de entrada mediante por el que dos tramas 130 de entrada consecutivas se mueven con respecto al tiempo y entre si. En otra palabras, como el valor por adelantado de muestra M, tal como se indica por una flecha 170, en el caso de una realizacion de un banco 100 de filtros de analisis, como se ilustra en las figuras 1 y 2, es igual a la longitud de las subsecciones 150-2, 150-3, 150-4, las tramas 130 de entrada se generan y procesan por el formador 110 de ventanas de manera solapante. Ademas, el valor por adelantado de muestra M (flecha 170) es tambien identico a la longitud de las subsecciones 150-2 a 150-4.
Las tramas de entrada 130-k y 130-(k+1) son, por tanto, en terminos de un numero significativo de muestras de entrada, iguales en el sentido de que ambas tramas de entrada comprenden estas muestras de entrada, en tanto que estan desplazadas con respecto a las subsecciones 150 individuales de las dos tramas 130 de entrada. Para ser mas precisos, la tercera subseccion 150-3 de la trama de entrada 130-k es igual a la cuarta subseccion 150-4 de la trama de entrada 130-(k+1). Asi, la segunda subseccion 150-2 de la trama de entrada 130-k es identica a la tercera subseccion 150-3 de la trama de entrada 130-(k+1).
Las dos tramas de entrada 130-k y 130-(k+1) mencionadas anteriormente comparten ademas por lo menos una muestra de la primera subseccion 150-1 de la trama de entrada 130-k. Para ser mas precisos, en el caso de la realizacion mostrada en la figura 2, todas las muestras de entrada en la primera subseccion 150-1 de la trama de entrada 130-k, que no son parte de la seccion 160 inicial, aparecen como parte de la segunda subseccion 150-2 de la trama de entrada 130-(k+1). Sin embargo, las muestras de entrada de la segunda subseccion 150-2 correspondientes a la seccion 160 inicial de la trama de entrada 130-k anterior, pueden estar basadas o no en los valores de entrada o muestras de entrada de la seccion 160 inicial de la trama 130 de entrada respectiva, dependiendo de la implementacion concreta de una realizacion de un banco de filtros de analisis.
En el caso de la seccion 160 inicial existente de tal manera que el numero de tramas de entrada en la primera subseccion 150-1 es igual al numero de muestras de entrada en las otras subsecciones 150-2 a 150-4, en principio tienen que considerarse dos casos diferentes, aunque tambien son posibles casos adicionales entre estos dos casos "extremos", que se explicaran.
Si la seccion 160 inicial comprende muestras de entrada codificadas "significativas" en el sentido de que las muestras de entrada en la seccion 160 inicial representan una senal de audio en el dominio de tiempo, estas muestras de entrada tambien seran parte de la subseccion 150-2 de la siguiente trama de entrada 130-(k+1). Este caso, sin embargo, en muchas aplicaciones de una realizacion de un banco de filtros de analisis, no es una implementacion optima, ya que esta opcion podria provocar retardo adicional.
Sin embargo, en el caso de que la seccion 160 inicial no comprenda muestras de entrada "significativas", que en este caso tambien pueden denominarse valores de entrada, los valores de entrada correspondientes de la seccion 160 inicial pueden comprender valores aleatorios, un valor adaptable o programable, fijo, predeterminado que por ejemplo puede proporcionarse en terminos de un calculo algoritmico, determinacion u otra fijacion por una unidad o modulo, que puede estar acoplado a la entrada 110i del formador 110 de ventanas de la realizacion del banco de filtros de analisis. En este caso, sin embargo, este modulo se requiere comunmente para proporcionar como la trama de entrada 130-(k+1), una trama de entrada que comprende en la segunda subseccion 150-2 en el area correspondiente a la seccion 160 inicial de la trama de entrada anterior muestras de entrada "significativas", que corresponden a la senal de audio correspondiente. Ademas, la unidad o modulo acoplado a la entrada 110i del formador 110 de ventanas tambien se requiere comunmente para proporcionar muestras de entrada significativas correspondientes a la senal de audio en el marco de la primera subseccion 150-1 de la trama de entrada 130-(k+1).
En otras palabras, en este caso, la trama de entrada 130-k correspondiente al indice de trama k se proporciona para la realizacion de un banco 100 de filtros de analisis despues de haber recopilado suficientes muestras de entrada, de tal manera que la subseccion 150-1 de esta trama de entrada puede rellenarse con estas muestras de entrada. El resto de la primera subseccion 150-1, concretamente la seccion 160 inicial se rellena entonces con muestras de entrada o valores de entrada, que pueden comprender valores aleatorios o cualquier otro valor tal como un valor adaptable o programable, fijo, predeterminado o cualquier otra combinacion de valores. Ya que esto se puede hacer en principio a una velocidad muy alta en comparacion con una frecuencia de muestreo tipica, proporcionar a la seccion 160 inicial de la trama de entrada 130-k tales muestras de entrada "sin significado", no requiere un periodo de tiempo significativo en la escala presentada por una frecuencia de muestreo tipica, tal como una frecuencia de muestreo en el intervalo entre unos pocos kHz y hasta varios cientos de kHz.
Sin embargo, la unidad o modulo continua recopilando muestras de entrada basandose en la senal de audio para incorporar estas muestras de entrada en la siguiente trama de entrada 130-(k+1) correspondiente al indice de trama k+1. En otras palabras, aunque el modulo o unidad no haya terminado de recopilar suficientes muestras de entrada para proporcionar la trama de entrada 130-k en terminos de la primera subseccion 150-1 con suficientes muestras de entrada para rellenar completamente la primera subseccion 150-1 de esta trama de entrada, proporciona esta trama de entrada para la realizacion del banco 100 de filtros de analisis tan pronto como estan disponibles suficientes muestras de entrada, de tal manera que la primera subseccion 150-1 puede rellenarse con las muestras de entrada sin la seccion 160 inicial.
Las siguientes muestras de entrada se usaran para rellenar las muestras de entrada restantes de la segunda subseccion 150-2 de la siguiente trama de entrada 130-(k+1) hasta que se hayan recopilado suficientes muestras de entrada, de tal manera que la primera subseccion 150-1 de esta siguiente trama de entrada tambien pueda rellenarse hasta que la seccion 160 inicial de esta trama comience. A continuacion, una vez mas, la seccion 160 inicial se rellenara con numeros aleatorios u otras muestras de entrada "sin significado" o valores de entrada.
Como consecuencia, aunque el valor 170 por adelantado de muestra, que es igual a la longitud de la subseccion 150-2 a 150-4 en el caso de la realizacion mostrada en la figura 2 se indica en la figura 2 y el error que representa el valor 170 por adelantado de muestra se muestra en la figura 2 desde el comienzo de la seccion 160 inicial de la trama de entrada 130-k hasta el comienzo de la seccion 160 inicial de la siguiente trama de entrada 130-(k+1).
En otras palabras, muchas realizaciones de un banco 100 de filtros de analisis pueden proporcionar una trama de salida con un retardo reducido ya que las muestras de entrada correspondientes a la seccion 160 inicial no son parte de la trama de entrada 130-k respectiva sino que solamente influiran en la ultima trama de entrada 130-(k+1). En otras palabras, una realizacion de un banco de filtros de analisis puede ofrecer en muchas aplicaciones e implementaciones la ventaja de proporcionar la trama de salida basandose en la trama de entrada antes, ya que no es necesario que la primera subseccion 150-1 comprenda el mismo numero de muestras de entrada que la otra subseccion 150-2 a 150-4. Sin embargo, la informacion comprendida en la "seccion faltante" esta comprendida en la siguiente trama 130 de entrada en el marco de la segunda subseccion 150-2 de esa trama 130 de entrada respectiva.
Sin embargo, como se indica anteriormente, tambien puede existir el caso, en el cual ninguna de las tramas 130 de entrada comprende la seccion 160 inicial. En este caso, la longitud de cada una de las tramas 130 de entrada ya no es un multiplo entero del valor 170 por adelantado de muestra o la longitud de la subseccion 150-2 a 150-4. Para ser mas precisos, en este caso, la longitud de cada una de las tramas 130 de entrada difiere de los multiplos enteros correspondientes del valor por adelantado de muestra por el numero de muestras de entrada, con el que el modulo o unidad que proporciona el formador 110 de ventanas con las tramas de entrada respectivas se detiene poco antes de proporcionar la primera subseccion 150-1 completa. En otras palabras, la longitud global de tal trama 130 de entrada difiere del numero entero respectivo de valores por adelantado de muestra por la diferencia entre las longitudes de la primera subseccion 150-1 en comparacion con la longitud de las otras subsecciones 150-2 a 150-4.
Sin embargo, en los ultimos dos casos mencionados, el modulo o unidad, que por ejemplo puede comprender un muestreador, una etapa de muestreo y retencion, un muestreador y retenedor o un cuantificador, puede empezar a proporcionar la trama 130 de entrada correspondiente poco despues de un numero predeterminado de muestras de entrada, de tal manera que cada una de las tramas 130 de entrada puede proporcionarse para la realizacion de un banco 100 de filtros de analisis con un retardo mas corto en comparacion con el caso en el cual la primera subseccion 150-1 completa se rellena con muestras de entrada correspondientes.
Como ya se indico, tal unidad o modulo que puede acoplarse a la entrada 110i del formador 110 de ventanas puede comprender por ejemplo un muestreador y/o cuantificador tal como un convertidor analogico/digital (convertidor A/D). Sin embargo, dependiendo de la implementacion concreta, tal modulo o unidad puede comprender ademas algo de memoria o registros para almacenar las muestras de entrada correspondientes a la senal de audio.
Ademas, tal unidad o modulo puede proporcionar cada una de las tramas de entrada de manera solapante, basandose en un valor por adelantado de muestra M. En otras palabras, una trama de entrada comprende mas de dos veces el numero de muestras de entrada en comparacion con el numero de muestras recopiladas por trama o bloque. Tal unidad
o modulo esta en muchas realizaciones adaptado de tal manera que dos tramas de entrada generadas consecutivamente se basen en una pluralidad de muestras que estan desplazadas con respecto al tiempo por el valor por adelantado de muestra. En este caso, la ultima trama de entrada de las dos tramas de entrada generadas consecutivamente se basa en por lo menos una muestra de salida nueva ya que la muestra de salida mas anterior y la pluralidad de muestras mencionada anteriormente se desplaza mas tarde por el valor por adelantado de muestra en la trama de entrada mas anterior de las dos tramas de entrada.
Aunque, hasta ahora se ha descrito una realizacion de un banco 100 de filtros de analisis en terminos de cada trama 130 de entrada que comprende cuatro subsecciones 150, en el que no es necesario que la primera subseccion 150 comprenda el mismo numero de muestras de entrada que las otras subsecciones, no es necesario que sea igual a cuatro como en el caso mostrado en la figura 2. Para ser mas precisos, una trama 130 de entrada puede comprender en principio, un numero arbitrario de muestras de entrada, que es mayor de dos veces el tamano del valor por adelantado de muestra M (flecha 170), en el que es necesario que el numero de valores de entrada de la seccion 160 inicial, si esta presente, se incluya en este numero, ya que podria ser util considerar algunas implementaciones de una realizacion basandose en un sistema que utiliza tramas, en el que cada trama comprende un numero de muestras que es identico al valor por adelantado de muestra. En otras palabras, puede usarse cualquier numero de subsecciones, teniendo cada una una longitud identica al valor por adelantado de muestra M (flecha 170) en el marco de una realizacion de un banco 100 de filtros de analisis, que es mayor o igual a tres en el caso de un sistema basado en tramas. Si este no es el caso, en principio, puede utilizarse cualquier numero de muestras de entrada por trama 130 de entrada siendo mayor de dos veces el valor por adelantado de muestra.
El formador 110 de ventanas de una realizacion de un banco 100 de filtros de analisis, como se muestra en la figura 1, esta configurado para generar una pluralidad de tramas en ventanas basandose en las correspondientes tramas 130 de entrada basandose en el valor por adelantado de muestra M (flecha 170) de manera solapante como se explico previamente. Para ser mas precisos, dependiendo de la implementacion concreta de un formador 110 de ventanas, el formador 110 de ventanas esta configurado para generar la trama en ventanas, basandose en una funcion de ponderacion, que por ejemplo puede comprender una dependencia logaritmica para modelar las caracteristicas de audicion del oido humano. Sin embargo, tambien pueden implementarse otras funciones de ponderacion, tales como modelado de funcion de ponderacion, de las caracteristicas psicoacusticas del oido humano. Sin embargo, la funcion de Un ejemplo para tal implementacion se muestra en la figura 2. Para ser mas precisos, la figura 2 muestra una representacion aproximada esquematica de una funcion ventana posible o una funcion 180 de formacion de ventanas, mediante la cual el formador 110 de ventanas, como se muestra en la figura 1 genera las tramas en ventanas, basandose en las tramas 130 de entrada correspondientes. Dependiendo de la implementacion concreta de un banco 100 de filtros de analisis, el formador 110 de ventanas puede proporcionar ademas tramas en ventanas al convertidor 120 de tiempo/frecuencia de manera diferente.
Basandose en cada una de las tramas 130 de entrada, el formador 110 de ventanas esta configurado para generar una trama en ventanas, comprendiendo cada una de las tramas en ventanas una pluralidad de muestras en ventanas. Para ser mas precisos, el formador 110 de ventanas puede estar configurado de maneras diferentes. Dependiendo de la longitud de una trama 130 de entrada y dependiendo de la longitud de la trama en ventanas que va a proporcionarse al proveedor 120 de tiempo/frecuencia, pueden realizarse varias posibilidades de como el formador 110 de ventanas se implementa para generar las tramas en ventanas.
Si, por ejemplo, una trama 130 de entrada comprende una seccion 160 inicial, de tal manera que en el caso de la realizacion mostrada en la figura 2 la primera subseccion 150-1 de cada una de las tramas 130 de entrada comprende tantos valores de entrada o muestras de entrada como las otras subsecciones 150-2 a 150-4, el formador 110 de ventanas puede por ejemplo estar configurado de tal manera que la trama en ventanas tambien comprenda el mismo numero de muestras en ventanas que la trama 130 de entrada comprende muestras de entrada de valores de entrada. En este caso, debido a la estructura de las tramas 130 de entrada, como se describio anteriormente, todas las muestras de entrada de la trama de entrada aparte de los valores de entrada de las tramas 130 de entrada en la seccion 160 inicial pueden procesarse por el formador 110 de ventanas basandose en la funcion de formacion de ventanas o la funcion ventana como se describio previamente. Los valores de entrada de la seccion 160 inicial pueden en este caso, ajustarse a un valor predeterminado o a por lo menos un valor en un intervalo predeterminado.
El valor predeterminado puede por ejemplo ser una realizacion de algun banco 100 de filtros de analisis igual al valor 0 (cero), mientras que en otras realizaciones, pueden ser deseables diferentes valores. Por ejemplo, es posible usar, en principio, cualquier valor con respecto a la seccion 160 inicial de las tramas 130 de entrada, que indique que los valores correspondientes no son significativos en terminos de la senal de audio. Por ejemplo, el valor predeterminado puede ser un valor que este fuera de un intervalo tipico de muestras de entrada de una senal de audio. Por ejemplo, las muestras en ventanas dentro de una seccion de la trama en ventanas correspondiente a la seccion 160 inicial de la trama 130 de entrada pueden ajustarse a un valor de dos veces o mas la amplitud maxima de una senal de audio de entrada indicando que estos valores no corresponden a senales que va a procesarse adicionalmente. Tambien pueden usarse otros valores, por ejemplo valores negativos de un valor absoluto especifico de la implementacion.
Ademas, en realizaciones de un banco 100 de filtros de analisis, las muestras en ventanas de las tramas en ventanas correspondientes a la seccion 160 inicial de una trama 130 de entrada tambien pueden ajustarse a uno o mas valores en un intervalo predeterminado. En principio, tal intervalo predeterminado, puede por ejemplo ser un intervalo de valores pequenos, que en terminos de una experiencia de audio carecen de significado, de tal manera que el resultado sea indistinguible de manera audible o de tal manera que la experiencia de escucha no se vea alterada significativamente. En este caso, el intervalo predeterminado puede expresarse por ejemplo como un conjunto de valores que tienen un valor absoluto, que es menor o igual a un umbral maximo adaptable o fijo, programable, predeterminado. Tal umbral puede expresarse por ejemplo como una potencia de 10 o una potencia o dos como 10s o 2s, donde s es un valor entero dependiendo de la implementacion concreta.
Sin embargo, en principio el intervalo predeterminado tambien puede comprender valores que sean mayores que algunos valores significativos. Para ser mas precisos, el intervalo predeterminado tambien puede comprender valores, que comprendan un valor absoluto que es mayor o igual a un umbral minimo predeterminado o fijo, programable. Tal umbral minimo puede expresarse en principio otra vez en terminos de una potencia de dos o una potencia de diez, como 2s o 10s, donde s es una vez mas un numero entero dependiendo de la implementacion concreta de una realizacion de un banco de filtros de analisis.
En el caso de una implementacion digital, el intervalo predeterminado por ejemplo puede comprender valores que pueden expresarse ajustando o no ajustando el bit menos significativo o la pluralidad de bits menos significativos en el caso de un intervalo predeterminado que comprende valores pequenos. En el caso de que el intervalo predeterminado comprenda valores mas grandes, como se explico previamente, el intervalo predeterminado puede comprender valores, que pueden representarse ajustando o no ajustando el bit mas significativo o una pluralidad de bits mas significativos. Sin embargo, el valor predeterminado asi como los intervalos predeterminados pueden tambien comprender otros valores, que por ejemplo pueden crearse basandose en los valores y umbrales mencionados anteriormente multiplicando estos con un factor.
Dependiendo de la implementacion concreta de una realizacion de un banco 100 de filtros de analisis, el formador 110 de ventanas tambien puede estar adaptado de tal manera que las tramas en ventanas proporcionadas en la salida 110o no comprendan muestras en ventanas correspondientes a las tramas de entrada de las secciones 160 iniciales de las tramas 130 de entrada. En este caso, la longitud de la trama en ventanas y la longitud de las tramas 130 de entrada correspondientes, pueden diferir por ejemplo por la longitud de la seccion 160 inicial. En otras palabras, en este caso, el formador 110 de ventanas puede estar configurado o adaptado para ignorar por lo menos una ultima muestra de entrada segun el orden de las muestras de entrada como se describio previamente en terminos de tiempo. En otras palabras, en algunas realizaciones de un banco 100 de filtros de analisis, el formador 110 de ventanas puede estar configurado de tal manera que uno o mas o incluso todos los valores de entrada o muestras de entrada de la seccion 160 inicial de una trama 130 de entrada se ignoren. En este caso, la longitud de la trama en ventanas es igual a la diferencia entre las longitudes de la trama 130 de entrada y la longitud de la seccion 160 inicial de la trama 130 de entrada.
Como una opcion adicional, cada una de las tramas 130 de entrada puede no comprender una seccion 160 inicial, como se indico anteriormente. En este caso, la primera subseccion 150-1 difiere en terminos de la longitud de la subseccion 150 respectiva o en terminos del numero de muestras de entrada de las otras subsecciones 150-2 a 150-4. En este caso, la trama en ventanas puede comprender o no muestras en ventanas o valores en ventanas de tal manera que una primera subseccion similar de la trama en ventanas correspondiente a la primera subseccion 150-1 de la trama 130 de entrada comprende el mismo numero que muestras en ventanas o valores en ventanas que las otras subsecciones correspondientes a las subsecciones 150 de la trama 130 de entrada. En este caso, las muestras en ventanas o valores en ventanas adicionales pueden ajustarse a un valor predeterminado o por lo menos un valor en el intervalo predeterminado, como se indico anteriormente.
Ademas, el formador 110 de ventanas puede estar configurado en realizaciones de un banco 100 de filtros de analisis de tal manera que tanto la trama 130 de entrada como la trama en ventanas resultante comprenden el mismo numero de valores o muestras y en el que ambas, la trama 130 de entrada y las tramas en ventanas resultantes no comprenden la seccion 160 inicial o muestras correspondientes a la seccion 160 inicial. En este caso, la primera subseccion 150-1 de la trama 130 de entrada asi como la subseccion correspondiente de la trama en ventanas comprenden menos valores o muestras en comparacion con las otras subsecciones 150-2 a 150-4 de la trama 130 de entrada de las subsecciones correspondientes de la trama en ventanas.
Debe indicarse que, en principio, no es necesario que la trama en ventanas corresponda o bien a una longitud de una trama 130 de entrada que comprende una seccion 160 inicial o bien a una trama 130 de entrada que no comprende una seccion 160 inicial. En principio, el formador 110 de ventanas puede estar adaptado tambien de tal manera que la trama en ventanas comprende uno o mas valores o muestras correspondientes a valores de la seccion 160 inicial de una trama 130 de entrada.
En este contexto, tambien debe indicarse que en algunas realizaciones de un banco 100 de filtros de analisis, la seccion 160 inicial representa o por lo menos comprende un subconjunto conectado de indices de muestra n correspondientes a un subconjunto conectado de valores de entrada o muestras de entrada de una trama 130 de entrada. Por tanto, si es aplicable, tambien las tramas en ventanas que comprenden una seccion inicial correspondiente comprenden un subconjunto conectado de indices de muestra n de muestras en ventanas correspondientes a la seccion inicial respectiva de la trama en ventanas, que tambien se denomina seccion de partida o seccion de inicio de la trama en ventanas. El resto de la trama en ventanas sin la seccion inicial o seccion de partida, que a veces tambien se denomina seccion restante.
Como ya se indico previamente, el formador 110 de ventanas en realizaciones de un banco 100 de filtros de analisis puede estar adaptado para generar las muestras en ventanas de valores en ventanas de una trama en ventanas no correspondiente a la seccion 160 inicial de una trama 130 de entrada, si esta presente, basandose en una funcion ventana que puede incorporar modelos psicoacusticos, por ejemplo, en terminos de generar las muestras en ventanas basandose en un calculo logaritmico basado en las muestras de entrada correspondientes. Sin embargo, el formador 110 de ventanas tambien puede estar adaptado en realizaciones diferentes de un banco 100 de filtros de analisis, de tal manera que cada una de las muestras en ventanas se genere multiplicando una muestra de entrada correspondiente con un coeficiente de ventana especifico de muestra de la funcion ventana definida sobre un conjunto de definicion.
En muchas realizaciones de un banco 100 de filtros de analisis, el formador 110 de ventanas correspondiente esta adaptado de tal manera que la funcion ventana, como por ejemplo, descrita por los coeficientes de ventana, es asimetrica sobre el conjunto de definicion con respecto a un punto medio del conjunto de definicion. Ademas, en muchas realizaciones de un banco 100 de filtros de analisis, los coeficientes de ventana de la funcion ventana comprenden un valor absoluto de mas del 10%, 20% o 30%, 50% de un valor absoluto maximo de todos los coeficientes de ventana de la funcion ventana en la primera mitad del conjunto de definicion con respecto al punto medio, en el que la funcion ventana comprende menos coeficientes de ventana que tienen un valor absoluto de mas del porcentaje mencionado anteriormente del valor absoluto maximo de los coeficientes de ventana en la segunda mitad del conjunto de definicion, con respecto al punto medio. Tal funcion ventana se muestra esquematicamente en el contexto de cada una de las tramas 130 de entrada en la figura 2 como la funcion 180 ventana. Mas ejemplos de funciones ventana se describiran en el contexto de las figuras 5 a 11, incluyendo una breve discusion de las propiedades espectrales y otras propiedades y oportunidades ofrecidas por algunas realizaciones de un banco de filtros de analisis, asi como un banco Aparte del formador 110 de ventanas, una realizacion de un banco 100 de filtros de analisis tambien comprende el convertidor 120 de tiempo/frecuencia, al que se le proporcionan las tramas en ventanas desde el formador 110 de ventanas. El convertidor 120 de tiempo/frecuencia esta a su vez adaptado para generar una trama de salida o una pluralidad de tramas de salida para cada una de las tramas en ventanas, de tal manera que la trama de salida es una representacion espectral de la trama en ventanas correspondiente. Como se explicara en mas detalle posteriormente, el convertidor 120 de tiempo/frecuencia esta adaptado de tal manera que la trama de salida comprende menos de la mitad del numero de valores de salida en comparacion con el numero de muestras de entrada de una trama de entrada o en comparacion con la mitad del numero de muestras en ventanas de una trama en ventanas.
Ademas, el convertidor 120 de tiempo/frecuencia puede implementarse de tal manera que este basado en una transformada de coseno discreta y/o una transformada de seno discreta, de tal manera que el numero de muestras de salida de una trama de salida es menor de la mitad del numero de muestras de entrada de una trama de entrada. Sin embargo, mas detalles de implementacion de posibles realizaciones de un banco 100 de filtros de analisis se explicaran brevemente.
En algunas realizaciones de un banco de filtros de analisis, el convertidor 120 de tiempo/frecuencia esta configurado de tal manera que emite un numero de muestras de salida, que es igual al numero de muestras de entrada de una seccion de partida 150-2, 150-3, 150-4, que no es la seccion de partida de la primera subseccion 150-1 de la trama 130 de entrada o que es identica al valor 170 por adelantado de muestra. En otras palabras, en muchas realizaciones de un banco 100 de filtros de analisis, el numero de muestras de salida es igual al numero entero M que representa el valor por adelantado de muestra de una longitud de la subseccion 150 mencionada anteriormente de la trama 130 de entrada. Valores tipicos del valor por adelantado de muestra o M son en muchas realizaciones 480 o 512. Sin embargo, debe indicarse que en realizaciones de un banco de filtros de analisis tambien pueden implementarse facilmente diferentes numeros enteros M, tal como M = 360.
Ademas, debe indicarse que en algunas realizaciones de un banco de filtros de analisis la seccion 160 inicial de una trama 130 de entrada o la diferencia entre el numero de muestras en las otras subsecciones 150-2, 150-3, 150-4 y la primera subseccion 150-1 de una trama 130 de entrada es igual a M/4. En otras palabras, en el caso de una realizacion de un banco 100 de filtros de analisis en el que M = 480, la longitud de la seccion 160 inicial o la diferencia mencionada anteriormente es igual a 120 (=M/4) muestras, mientras que en el caso de M = 512, la longitud de la seccion 160 inicial de la diferencia mencionada anteriormente es igual a 128 (=M/4) en algunas realizaciones de un banco 100 de filtros de analisis. Sin embargo, debe indicarse que tambien en este caso tambien pueden implementarse diferentes longitudes y no representan un limite en terminos de una realizacion de un banco 100 de filtros de analisis.
Como tambien se indico anteriormente, como el convertidor 120 de tiempo/frecuencia puede basarse por ejemplo en una transformada de coseno discreta o una transformada de seno discreta, las realizaciones de un banco de filtros de analisis tambien se discuten y explican a veces en terminos del parametro N = 2M que representa una longitud de una trama de entrada de un convertidor de transformada de coseno discreta modificada (MDCT). En las realizaciones mencionadas anteriormente de un banco 100 de filtros de analisis, el parametro N es por tanto igual a 960 (M = 480) y 1024 (M = 512).
Como se explicara en mas detalle posteriormente, las realizaciones de un banco 100 de filtros de analisis pueden ofrecer como ventaja un retardo mas bajo de un procesamiento de audio digital sin reducir la calidad de audio, o en cierto modo de manera significativa. En otras palabras, una realizacion de un banco de filtros de analisis ofrece la oportunidad de implementar un modo de codificacion de bajo retardo mejorado, por ejemplo en el marco de un codec (de audio) (codec = codificador/descodificador o codificacion/descodificacion), que ofrece un retardo mas bajo, que tiene por lo menos una respuesta de frecuencia comparable y un comportamiento de pre-eco mejorado en comparacion con muchos codecs disponibles. Ademas, como se explicara en el contexto de las realizaciones de un sistema de conferencia en mas detalle, solo una sola funcion ventana unica para todas las clases de senales puede obtener los beneficios mencionados anteriormente en algunas realizaciones de un banco de filtros de analisis y realizaciones de sistemas que comprenden una realizacion de un banco 100 de filtros de analisis.
Para enfatizar, no es necesario que las tramas de entrada de realizaciones de un banco 100 de filtros de analisis comprendan las cuatro subsecciones 150-1 a 150-4 como se ilustra en la figura 2. Esto representa solamente una posibilidad que se ha elegido con fines de simplicidad. Por consiguiente, tampoco es necesario que el formador de ventanas este adaptado de tal manera que las tramas en ventanas tambien comprendan cuatro subsecciones correspondientes o que el convertidor 120 de tiempo/frecuencia este adaptado de tal manera que pueda proporcionar la trama de salida basandose en una trama en ventanas que comprende cuatro subsecciones. Esto simplemente se ha elegido en el contexto de la figura 2 para poder explicar algunas realizaciones de un banco 100 de filtros de analisis de una manera concisa y clara. Sin embargo, las afirmaciones en el contexto de la trama de entrada en terminos de la longitud de las tramas 130 de entrada tambien pueden transferirse a la longitud de las tramas en ventanas como se explica en el contexto de las diferentes opciones sobre la seccion 160 inicial y su presencia en las tramas 130 de entrada.
A continuacion, se explicara una posible implementacion de una realizacion de un banco de filtros de analisis en vista de una implementacion de bajo retardo de codec de audio avanzado con elasticidad de errores (ER AAC LD) con respecto a modificaciones con el fin de adaptar el banco de filtros de analisis del ER AAC LD para llegar a una realizacion de un banco 100 de filtros de analisis que a veces tambien se denomina (banco de filtros de analisis de) bajo retardo. En otras palabras, con el fin de llegar a un retardo suficientemente reducido o bajo, pueden ser utiles algunas modificaciones de un codificador estandar en el caso de un ER AAC LD, como se define a continuacion.
En este caso, el formador 110 de ventanas de una realizacion de un banco 100 de filtros de analisis esta configurado para generar las muestras en ventanas zin, basandose en la ecuacion o expresion
donde i es un numero entero que indica un indice de trama o un indice de bloque de una trama en ventanas y/o de una trama de entrada, y donde n es el numero entero que indica un indice de muestra en el intervalo entre -N y N-1.
En otras palabras, en realizaciones que comprenden una secuencia 160 inicial en el marco de las tramas 130 de salida, la formacion de ventanas se extiende al pasado implementando la expresion o ecuacion anterior para los indices de muestra n = -N,..., N-1, donde w(n) es un coeficiente de ventana correspondiente a una funcion ventana como se explicara en mas detalle en el contexto de las figuras 5 a 11. En el contexto de una realizacion del banco 100 de filtros de analisis, la funcion ventana de sintesis w se usa como la funcion ventana de analisis invirtiendo el orden, como puede observarse comparando el argumento de la funcion ventana w(n-1-n). La funcion ventana para una realizacion de un banco de filtros de sintesis, como se explica en el contexto de las figuras 3 y 4, puede construirse o generarse basandose en la funcion ventana de analisis mediante creacion de reflejo (por ejemplo, con respecto al punto medio del conjunto de definicion) para obtener una version reflejada. En otras palabras, la figura 5 muestra una grafica de las funciones ventana de bajo retardo, en la que la ventana de analisis es simplemente una replica inversa en el tiempo de la ventana de sintesis. En este contexto, tambien debe indicarse que x'i,n representa una muestra de entrada o valor de entrada correspondiente al indice de bloque i y el indice de muestra n.
En otras palabras, en comparacion con la implementacion de ER AAC LD mencionada anteriormente (por ejemplo, en forma de un codec), que se basa en una longitud de ventana N de 1024 o 960 valores basandose en la ventana seno, la longitud de ventana de la ventana de bajo retardo comprendida en la ventana 110 de la realizacion del banco 100 de filtros de analisis es 2N(=4M), extendiendo la formacion de ventanas al pasado.
Como se explicara en mas detalle en el contexto de las figuras 5 a 11, los coeficientes de ventana w(n) para n=0,...,2N-l puede obedecer a las relaciones dadas en la tabla 1 en el anexo y la tabla 3 en el anexo para N=960 y N=1024 en algunas realizaciones, respectivamente. Ademas, los coeficientes de ventana pueden comprender los valores dados en las tablas 2 y 4 en el anexo para N=960 y N=1024 en el caso de algunas realizaciones, respectivamente.
En terminos del convertidor 120 de tiempo/frecuencia, el algoritmo MDCT central (MDCT = transformada de coseno discreta modificada) como se implementa en el marco del codec ER AAC LD esta en su mayoria sin cambios, pero comprende la ventana mas grande como se explica, de tal manera que n va ahora de -N a N-1 en lugar de ir de cero a N-. Los coeficientes espectrales o valores de salida de la trama de salida Xi,k se generan basandose en la siguiente ecuacion o expresion
para
donde zi,n es una muestra en ventanas de una trama en ventanas o una secuencia de entrada en ventanas de un convertidor 120 de tiempo/frecuencia correspondiente al indice de muestra n y el indice de bloque i como se explico previamente. Ademas, k es un numero entero que indica el indice de coeficiente espectral y N es un numero entero que indica dos veces el numero de valores de salida de una trama de salida o como se explico previamente, la longitud de ventana de una ventana de transformada basandose en el valor secuencia ventanas como se implementa en el codec ER AAC LD. El numero entero no es un valor de desplazamiento y dado por
Dependiendo de la longitud concreta de una trama 130 de entrada como se explica en el contexto de la figura 2, el convertidor de tiempo/frecuencia puede implementarse basandose en una trama en ventanas que comprende muestras en ventanas correspondientes a la seccion 160 inicial de las tramas 130 de entrada. En otras palabras, en el caso de M=480 o N=960, las ecuaciones anteriores estan basadas en tramas en ventanas que comprenden una longitud de 1920 muestras en ventanas. En el caso de una realizacion de un banco 100 de filtros de analisis en el que las tramas en ventanas no comprenden muestras en ventanas correspondientes a la seccion 160 inicial de las tramas de entrada, 130, las tramas en ventanas comprenden la longitud de 1800 muestras en ventanas en el caso mencionado anteriormente de M=480. En este caso, las ecuaciones dadas anteriormente pueden estar adaptadas de tal manera que se lleven a cabo las ecuaciones correspondientes. En el caso del formador 110 de ventanas, este puede llevar por ejemplo al indice de muestra n que se va desde -N,..., 7N/8-1 en el caso de M/4 = N/8 muestras en ventanas faltantes en la primera subseccion, en comparacion con las otras subsecciones de la trama en ventanas como se explico previamente.
Por consiguiente, en el caso de un convertidor 120 de tiempo/frecuencia, la ecuacion dada anteriormente puede adaptarse facilmente modificando los indices de suma de manera correspondiente para no incorporar las muestras en ventanas de la seccion inicial o seccion de partida de la trama en ventanas. Por supuesto, pueden obtenerse facilmente modificaciones adicionales de manera correspondiente en el caso de una longitud diferente de la seccion 160 inicial de las tramas 130 de entrada o en el caso de la diferencia entre la longitud de la primera subseccion y las otras subsecciones de la trama en ventanas, como tambien se explico previamente.
En otras palabras, dependiendo de la implementacion concreta de una realizacion de un banco 100 de filtros de analisis, no es necesario llevar a cabo todos los calculos tal como se indica por las expresiones y ecuaciones anteriores. Realizaciones adicionales de un banco de filtros de analisis tambien pueden comprender una implementacion en la que el numero de calculos puede ser incluso mas reducido, en principio, llevando a una eficiencia computacional mas alta. Un ejemplo en el caso del banco de filtros de sintesis se describira en el contexto de la figura 19.
En particular, como tambien se explicara en el contexto de una realizacion de un banco de filtros de sintesis, una realizacion de un banco 100 de filtros de analisis puede implementarse en el marco de un denominado bajo retardo mejorado de codec de audio avanzado con elasticidad de errores (ER AAC ELD) que se deriva del codec ER AAC LD mencionado anteriormente. Como se describe, el banco de filtros de analisis del codec ER AAC LD se modifica para llegar a una realizacion de un banco 100 de filtros de analisis con el fin de adoptar el banco de filtros de bajo retardo como una realizacion de un banco 100 de filtros de analisis. Como se explicara en mas detalle, el codec ER AAC ELD que comprende una realizacion de un banco 100 de filtros de analisis y/o una realizacion de un banco de filtros de sintesis, que se explicara en mas detalle posteriormente, proporciona la capacidad de extender el uso de codificacion de audio de baja tasa de transmision de bits generica a aplicaciones que requieren un retardo muy bajo de la cadena de codificacion/descodificacion. Ejemplos proceden por ejemplo del campo de las comunicaciones en tiempo real completamente duplex, en las que pueden incorporarse diferentes realizaciones, tales como realizaciones de un banco de filtros de analisis, banco de filtros de sintesis, un descodificador, y codificador, un mezclador y un sistema de conferencia.
Antes de describir realizaciones adicionales de la presente invencion en mas detalle, debe indicarse que los objetos, estructuras y componentes con la misma propiedad funcional o propiedad funcional similar se designan con los mismos signos de referencia. A no ser que se indique explicitamente de otra manera, la descripcion con respecto a los objetos, estructuras y componentes con propiedades funcionales similares o propiedades funcionales iguales y elementos similares o iguales pueden intercambiarse entre si. Ademas, a continuacion se usaran los signos de referencia de resumen para los objetos, estructuras o componentes que son identicos o similares en una realizacion o en una estructura mostrados en una de las figuras, a no ser que se discutan las propiedades o elementos de un objeto, estructura o componente especifico. Como un ejemplo, en el contexto de las tramas 130 de entrada los signos de referencia de resumen ya se han incorporado. En la descripcion relativa a las tramas de entrada en la figura 2, si se ha hecho referencia a una trama de entrada especifica, se uso el signo de referencia especifico de esa trama de entrada, por ejemplo 130-k, mientras que en el caso de hacer referencia a todas las tramas de entrada o una trama de entrada, que no se distingue especificamente de las otras, se han usado los signos de referencia de resumen 130. El uso de signos de referencia de resumen permiten de este modo una descripcion mas compacta y mas clara de realizaciones de la presente invencion.
Ademas, en este contexto debe indicarse que en el marco de la presente solicitud, un primer componente que esta acoplado a un segundo componente puede conectarse directamente o conectarse a traves de circuitos adicionales o un componente adicional al segundo componente. En otras palabras, en el marco de la presente solicitud, dos componentes cercanos entre si comprenden las dos alternativas de los componentes que estan conectados directamente entre si o a traves de circuitos adicionales de un componente adicional.
La figura 3 muestra una realizacion de un banco 200 de filtros de sintesis para filtrar una pluralidad de tramas de entrada, en el que cada trama de entrada comprende un numero de valores de entrada ordenados. La realizacion del banco 200 de filtros de sintesis comprende un convertidor 210 de frecuencia/tiempo, un formador 220 de ventanas y un solapador/sumador 230 acoplados en serie.
Una pluralidad de tramas de entrada proporcionada a la realizacion del banco 200 de filtros de sintesis se procesara primero por el convertidor 210 de frecuencia/tiempo. Puede generar una pluralidad de tramas de salida basandose en las tramas de entrada, de tal manera que cada trama de salida es una representacion temporal de la trama de entrada correspondiente. En otras palabras, el convertidor 210 de frecuencia/tiempo efectua una transicion para cada trama de entrada del dominio de frecuencia al dominio de tiempo.
El formador 220 de ventanas, que esta acoplado al convertidor 210 de frecuencia/tiempo, puede a continuacion procesar cada trama de salida como se proporciona por el convertidor 210 de frecuencia/tiempo para generar una trama en ventanas basandose en esta trama de salida. En algunas realizaciones de un banco 200 de filtros de sintesis, el formador 220 de ventanas puede generar las tramas en ventanas procesando cada una de las muestras de salida de cada una de las tramas de salida, en el que cada trama en ventanas comprende una pluralidad de muestras en ventanas.
Dependiendo de la implementacion concreta de una realizacion del banco 200 de filtros de sintesis, el formador 220 de ventanas puede generar las tramas en ventanas basandose en las tramas de salida ponderando las muestras de salida basandose en una funcion de ponderacion. Como se explico previamente en el contexto del formador 110 de ventanas de la figura 1, la funcion de ponderacion puede basarse, por ejemplo, en un modelo psicoacustico que incorpora las capacidades o propiedades de audicion del oido humano, tal como la dependencia logaritmica del volumen de una senal de audio.
Adicional o alternativamente, el formador 220 de ventanas tambien puede generar la trama en ventanas basandose en la trama de salida multiplicando cada muestra de salida de una trama de salida por un valor especifico de muestra de una ventana, funcion de formacion de ventanas o funcion ventana. Estos valores tambien se denominan coeficientes de ventana o coeficientes de formacion de ventanas. En otras palabras, el formador 220 de ventanas puede estar adaptado en por lo menos algunas realizaciones de un banco 200 de filtros de sintesis para generar las muestras en ventanas de una trama en ventanas multiplicandolas por una funcion ventana que atribuye un coeficiente de ventana de valor real a cada uno de un conjunto de elementos de un conjunto de definicion.
Ejemplos de tales funciones ventana se discutiran en mas detalle en el contexto de las figuras 5 a 11. Ademas, debe indicarse que esta funcion ventana puede ser asimetrica o no simetrica con respecto a un punto medio del conjunto de definicion, que no es necesario que sea un elemento del propio conjunto de definicion.
Ademas, el formador 220 de ventanas genera la pluralidad de muestras en ventanas para un procesamiento adicional de manera solapante, basandose en un valor por adelantado de muestra por el solapador/sumador 230, como se explicara en mas detalle en el contexto de la figura 4. En otras palabras, cada una de las tramas en ventanas comprende mas de dos veces el numero de muestras en ventanas en comparacion con un numero de muestras sumadas como se proporciona por el solapador/sumador 230 acoplado a una salida del formador 220 de ventanas. Como consecuencia, el solapador/sumador puede a continuacion generar una trama sumada de manera solapante sumando por lo menos tres muestras en ventanas de por lo menos tres tramas en ventanas diferentes para por lo menos algunas de las muestras sumadas en realizaciones de un banco 200 de filtros de sintesis.
El solapador/sumador 230 acoplado al formador 220 de ventanas puede a continuacion generar o proporcionar una trama sumada para cada trama en ventanas recien recibida. Sin embargo, como se menciono previamente, el solapador/sumador 230 hace funcionar las tramas en ventanas de manera solapante para generar una sola trama sumada. Cada trama sumada comprende una seccion de partida y una seccion restante, como se explicara en mas detalle en el contexto de la figura 4, y comprende ademas una pluralidad de muestras sumadas sumando por lo menos tres muestras en ventanas de por lo menos tres tramas en ventanas diferentes para una sumada en la seccion restante de una trama sumada y sumando por lo menos dos muestras en ventanas de por lo menos dos tramas en ventanas diferentes para muestras sumadas en la seccion de partida. Dependiendo de la implementacion, el numero de muestras en ventanas sumadas para obtener una muestra sumada en la seccion restante puede ser por lo menos una muestra mas alta en comparacion con el numero de muestras en ventanas sumadas para obtener una muestra sumada en la seccion de partida.
Alternativa o adicionalmente y dependiendo de la implementacion concreta de una realizacion de un banco 200 de filtros de sintesis, el formador 220 de ventanas tambien puede estar configurado para ignorar el valor de salida mas anterior segun el orden de las muestras de salida ordenadas, para ajustar las muestras en ventanas correspondientes a un valor predeterminado o a por lo menos un valor en el intervalo predeterminado para cada trama en ventanas de la pluralidad de tramas en ventanas. Ademas, el solapador/sumador 230 en este caso puede proporcionar la muestra sumada en la seccion restante de una trama sumada, basandose en por lo menos tres muestras en ventanas de por lo menos tres tramas en ventanas diferentes y una muestra sumada en la seccion de partida basandose en por lo menos dos muestras en ventanas de por lo menos dos tramas en ventanas diferentes, como se explicara en el contexto de la figura
4.
La figura 4 muestra una representacion esquematica de cinco tramas 240 de salida correspondientes a los indices de trama k, k-1, k-2, k-3 y k+1, que se marcan de manera correspondiente. De manera similar a la representacion esquematica mostrada en la figura 2, las cinco tramas 240 de salida mostradas en la figura 4 estan dispuestas segun su orden con respecto al tiempo como se indica por una flecha 250. Con referencia a la trama 240 de salida-k, las tramas de salida 240-(k-1), 240-(k-2) y 240-(k-3) se refieren a tramas 240de salida del pasado. Por consiguiente, la trama 240 de salida-(k+1) es con respecto a la trama 240 de salida-k una trama de salida siguiente o futura.
Como ya se discutio en el contexto de las tramas 130 de entrada de la figura 2, tambien las tramas 240 de salida mostradas en la figura 4 comprenden, en el caso de la realizacion mostrada en la figura 4, cuatro subconjuntos 260-1, 260-2, 260-3 y 260-4 cada una. Dependiendo de la implementacion concreta de la realizacion de un banco 200 de filtros de sintesis, la primera subseccion 260-1 de cada una de las tramas 240 de salida, puede o no comprender una seccion 270 inicial, como ya se discutio en el marco de la figura 2 en el contexto de la seccion 160 inicial de las tramas 130 de entrada. Como consecuencia, la primera subseccion 260-1 puede ser mas corta en comparacion con las otras subsecciones 260-2, 260-3 y 260-4 en la realizacion ilustrada en la figura 4. Las otras subsecciones 260-2, 260-3 y 2604, sin embargo, comprenden cada una un numero de muestras de salida igual al valor por adelantado de muestra mencionado anteriormente M.
Como se describe en el contexto de la figura 3, al convertidor 210 de frecuencia/tiempo en la realizacion mostrada en la figura 3 se le proporciona una pluralidad de tramas de entrada en base a lo cual el convertidor 210 de frecuencia/tiempo genera una pluralidad de tramas de salida. En algunas realizaciones de un banco 200 de filtros de sintesis, la longitud de cada una de las tramas de entrada es identica al valor por adelantado de muestra M, donde M es una vez mas un numero entero positivo. Las tramas de salida generadas por el convertidor 210 de frecuencia/tiempo, sin embargo, comprenden por lo menos mas de dos veces el numero de valores de entrada de una trama de entrada. Para ser mas precisos, en una realizacion segun la situacion mostrada en la figura 4, las tramas 240 de salida comprenden incluso mas de tres veces el numero de muestras de salida en comparacion con el numero de valores de entrada, comprendiendo cada una tambien en realizaciones relacionadas con la situacion mostrada M valores de entrada. Como consecuencia, las tramas de salida pueden dividirse en subsecciones 260, comprendiendo cada una de las subsecciones 260 de las tramas 240 de salida (opcionalmente sin la primera subseccion 260-1, como se discutio anteriormente) M muestras de salida. Ademas, la seccion 270 inicial puede comprender en algunas realizaciones M/4 muestras. En otras palabras, en el caso de M = 480 o M = 512, la seccion 270 inicial, si esta presente, puede comprender 120 o 128 muestras o valores.
En todavia otras palabras, como se explico anteriormente en el contexto de las realizaciones del banco 100 de filtros de analisis, el valor por adelantado de muestra M es tambien identico a las longitudes de las subsecciones 260-2, 260-3 y 260-4 de las tramas 240 de salida. Dependiendo de la implementacion concreta de una realizacion de un banco 200 de filtros de sintesis, tambien la primera subseccion 260-1 de la trama 240 de salida puede comprender M muestras de salida. Sin embargo, si la seccion 270 inicial de la trama 240 de salida no existe, la primera subseccion 260-1 de cada una de las tramas 240 de salida es mas corta que las subsecciones restantes 260-2 a 260-4 de las tramas 240 de salida.
Como se menciono previamente, el convertidor 210 de frecuencia/tiempo proporciona al formador 220 de ventanas una pluralidad de las tramas 240 de salida, comprendiendo cada una de las tramas de salida un numero de muestras de salida que es mas grande que dos veces el valor por adelantado de muestra M. El formador 220 de ventanas puede a continuacion generar tramas en ventanas, basandose en la trama 240 de salida actual, como se proporciona por el convertidor 210 de frecuencia/tiempo. Mas explicitamente, cada una de las tramas en ventanas correspondientes a una trama 240 de salida se genera basandose en la funcion de ponderacion, como se menciono previamente. En una realizacion basada en la situacion mostrada en la figura 4, la funcion de ponderacion se basa a su vez en una funcion 280 ventana, que se muestra esquematicamente sobre cada una de las tramas 240 de salida. En este contexto, tambien debe indicarse que la funcion 280 ventana no produce ninguna contribucion para muestras de salida en la seccion 270 inicial de la trama 240 de salida, si esta presente.
Sin embargo, como consecuencia, dependiendo de las implementaciones concretas de diferentes realizaciones de un banco 200 de filtros de sintesis, deben considerarse una vez mas diferentes casos. Dependiendo del convertidor 210 de frecuencia/tiempo, el formador 220 de ventanas puede estar adaptado o configurado de manera bastante diferente.
Si, por ejemplo, por una parte, la seccion 270 inicial de las tramas 240 de salida esta presente de tal manera que tambien las primeras subsecciones 260-1 de las tramas 240 de salida comprenden M muestras de salida, el formador 220 de ventanas puede estar adaptado de tal manera que pueda o no generar tramas en ventanas basandose en las tramas de salida que comprenden el mismo numero de muestras en ventanas. En otras palabras, el formador 220 de ventanas puede implementarse de tal manera que genere tramas en ventanas que tambien comprenden una seccion 270 inicial, que puede implementarse, por ejemplo, ajustando las muestras en ventanas correspondientes a un valor predeterminado (por ejemplo, 0, dos veces una amplitud de senal permisible maxima, etc.) o a por lo menos un valor en un intervalo predeterminado, como se discutio previamente en el contexto de las figuras 1 y 2.
En este caso, tanto la trama 240 de salida como la trama en ventanas basandose en la trama 240 de salida, pueden comprender el mismo numero de muestras o valores. Sin embargo, las muestras en ventanas en la seccion 270 inicial de la trama en ventanas no dependen necesariamente de las muestras de salida correspondientes de la trama 240 de salida. La primera subseccion 260-1 de la trama en ventanas, sin embargo, con respecto a las muestras no esta en la seccion 270 inicial basandose en la trama 240 de salida como se proporciona por el convertidor 210 de frecuencia/tiempo.
Para resumir, si por lo menos un muestra de salida de la seccion 270 inicial de una trama 240 de salida esta presente, la muestra en ventanas correspondiente puede ajustarse a un valor predeterminado o a un valor en un intervalo predeterminado, como se explico en el contexto de la realizacion de un banco de filtros de analisis ilustrado en las figuras 1 y 2. En el caso de que la seccion 270 inicial comprenda mas de una muestra en ventanas, lo mismo tambien puede ser cierto para esta o estas otras muestras o valores en ventanas de la seccion 270 inicial.
En cualquiera de estos casos, dependiendo de la implementacion concreta de tal realizacion, la primera subseccion 260-1 de una trama en ventanas puede o no comprender la seccion 270 inicial. Si existe una seccion inicial de la trama en ventanas, no es necesario que las muestras o valores en ventanas de esta seccion dependan de las muestras de salida correspondientes de la trama de salida respectiva.
Por otra parte, si la trama 240 de salida no comprende la seccion 270 inicial, el formador 220 de ventanas puede estar configurado tambien para generar una trama en ventanas basandose en la trama 240 de salida que comprende o no comprende una seccion 270 inicial en si misma. Si el numero de muestras de salida de la primera subseccion 260-1 es menor que el valor por adelantado de muestra M, el formador 220 de ventanas en algunas realizaciones de un banco 200 de filtros de sintesis puede ajustar las muestras en ventanas correspondientes a las "muestras de salida faltantes" de la seccion 270 inicial de la trama en ventanas al valor predeterminado o a por lo menos un valor en el intervalo predeterminado. En otras palabras, el formador 220 de ventanas en este caso puede llenar la trama en ventanas con el valor predeterminado o por lo menos un valor en el intervalo predeterminado, de tal manera que la trama en ventanas resultante comprenda un numero de muestras en ventanas, que es un multiplo entero del valor por adelantado de muestra M, el tamano de una trama de entrada o la longitud de una trama sumada.
Sin embargo, como una opcion adicional, que podria implementarse, ambas de las tramas 240 de salida y las tramas en ventanas podrian no comprender una seccion 270 inicial. En este caso, el formador 220 de ventanas puede estar configurado para ponderar simplemente por lo menos algunas de las muestras de salida de la trama de salida para obtener la trama en ventanas. Adicional o alternativamente, el formador 220 de ventanas podria emplear una funcion 280 ventana o similar.
Como se explico previamente en el contexto de la realizacion del banco 100 de filtros de analisis mostrada en las figuras 1 y 2, la seccion 270 inicial de las tramas 240 de salida corresponde a las muestras mas anteriores en la trama 250 de salida en el sentido de que estos valores corresponden a las muestras "mas nuevas" que tienen el indice de muestra mas pequeno. En otras palabras, considerando todas las muestras de salida de la trama 240 de salida, estas muestras se refieren a muestras correspondiente a una cantidad mas pequena de tiempo que habra transcurrido cuando se reproduzca una muestra sumada correspondiente como se proporciona por el solapador/sumador 230 en comparacion con las otras muestras de salida de la trama 240 de salida. En otras palabras, dentro de la trama 240 de salida y dentro de cada una de las subsecciones 260 de la trama de salida, las muestras de salida mas nuevas corresponden a una posicion dejada en la trama 240 de salida o subseccion 260 respectiva. En todavia otras palabras, el tiempo como se indica por la flecha 250 corresponde a la secuencia de tramas 240 de salida y no a la secuencia de muestras de salida dentro de cada una de las tramas 240 de salida.
Sin embargo, antes de describir el procesamiento de las tramas 240 en ventanas por el solapador/sumador 230 en mas detalle, debe indicarse que en muchas realizaciones del banco 200 de filtros de sintesis, el convertidor 210 de frecuencia/tiempo y/o el formador 220 de ventanas estan adaptados de tal manera que la seccion 270 inicial de la trama 240 de salida y la trama en ventanas esten o bien completamente presentes o bien no esten presentes. En el primer caso, el numero de muestras de salida o muestras en ventanas en la primera subseccion 260-1 es por consiguiente igual al numero de muestras de salida en una trama de salida, que es igual a M. Sin embargo, tambien pueden implementarse realizaciones de un banco 200 de filtros de sintesis, en las que cualquiera o ambos del convertidor 210 de frecuencia/tiempo y el formador 220 de ventanas puede estar configurado de tal manera que la seccion 270 inicial este presente, pero el numero de muestras en la primera subseccion 260-1 es todavia mas pequeno que el numero de muestras de salida en una trama de salida de un convertidor 210 de frecuencia/tiempo. Ademas, debe indicarse que en muchas realizaciones todas las muestras o valores de cualquiera de las tramas se tratan como tal, aunque por supuesto puede utilizarse solo uno o una fraccion de los valores o muestras correspondientes.
El solapador/sumador 230 acoplado al formador 220 de ventanas puede proporcionar una trama 290 sumada, como se indica en la parte inferior de la figura 4, que comprende una seccion 300 de partida y una seccion 310 restante. Dependiendo de la implementacion concreta de una realizacion de un banco 200 de filtros de sintesis, el solapador/sumador 230 puede implementarse de tal manera que una muestra sumada como esta comprendida en la trama sumada en la seccion de partida se obtiene sumando por lo menos dos muestras en ventanas de por lo menos dos tramas en ventanas diferentes. Para ser mas precisos, como las realizaciones mostradas en la figura 4 estan basadas en cuatro subsecciones 260-1 a 260-4 en el caso de cada una de las tramas 240 de salida y las tramas en ventanas correspondientes, una muestra sumada en la seccion 300 de partida esta basada en tres o cuatro muestras o valores en ventanas de por lo menos tres o cuatro tramas en ventanas diferentes, respectivamente, como se indica por una flecha 320. La pregunta, de si se usaran tres o cuatro muestras en ventanas en el caso de la realizacion usada en la figura 4 depende de la implementacion concreta de la realizacion en terminos de la seccion 270 inicial de la trama en ventanas basandose en la trama de salida correspondiente 240-k.
A continuacion, con referencia a la figura 4, podria pensarse de las tramas 240 de salida como se muestra en la figura 4 como las tramas en ventanas proporcionadas por el formador 220 de ventanas basandose en las tramas 240 de salida En el caso del formador 220 de ventanas que esta adaptado de tal manera que las muestras en ventanas en una seccion 270 inicial existente se ajusta a un valor predeterminado o a un valor en el intervalo predeterminado, la muestra en ventanas o valor en ventanas en la seccion 270 inicial puede utilizarse sumando las tres muestras sumadas restantes de la segunda subseccion de la trama 240 en ventanas-(k-1) (correspondiente a la trama de salida 240-(k-1)), la tercera subseccion de la trama 240 en ventanas-(k-2) (correspondiente a la trama de salida 240-(k-2)) y la cuarta subseccion de la trama 240 en ventanas-(k-3) (correspondiente a la trama de salida 240-(k-3)), si el valor predeterminado o el intervalo predeterminado son de tal manera que la suma de la muestra en ventanas de la seccion 270 inicial de la trama 240 en ventanas-k (correspondiente a la trama de salida 240-k) no altera o perturba significativamente el resultado.
En el caso de que el formador 220 de ventanas este adaptado de tal manera que no exista una seccion 270 inicial en el caso de una trama en ventanas, la muestra sumada correspondiente en la seccion 300 de inicio se obtiene normalmente sumando las por lo menos dos muestras en ventanas de las por lo menos dos tramas en ventanas. Sin embargo, como la realizacion mostrada en la figura 4 esta basada en una trama en ventanas que comprende cuatro subsecciones 260 cada una, en este caso, la muestra sumada en la seccion de partida de la trama 290 sumada se obtiene sumando las tres muestras en ventanas mencionadas anteriormente de las tramas en ventanas 240-(k-1), 240-(k-2) y 240-(k-3).
Este caso puede provocarse, por ejemplo, por el formador 220 de ventanas adaptado de tal manera que una muestra de salida correspondiente de una trama de salida se ignore por el formador 220 de ventanas. Ademas, debe indicarse que si el valor predeterminado o el intervalo predeterminado comprende valores, que llevarian a una alteracion de la muestra sumada, el solapador/sumador 230 puede configurarse de tal manera que la muestra en ventanas correspondiente no se tenga en consideracion para sumar la muestra en ventanas respectiva para obtener la muestra sumada. En este caso, las muestras en ventanas en la seccion 270 inicial tambien pueden considerarse para ser ignoradas por el solapador/sumador, ya que las muestras en ventanas correspondientes no se usaran para obtener la muestra sumada en la seccion 300 de partida.
En terminos de una muestra sumada en la seccion 310 restante, como se indica por la flecha 330 en la figura 4, el solapador/sumador 230 esta adaptado para sumar por lo menos tres muestras en ventanas de por lo menos tres tramas 240 en ventanas diferentes (correspondientes a tres tramas 240 de salida diferentes). Una vez mas, debido al hecho de que una trama 240 en ventanas en la realizacion mostrada en la figura 4 comprende cuatro subsecciones 260, una muestra sumada en la seccion 310 restante se generara por el solapador/sumador 230 sumando cuatro muestras en ventanas de cuatro tramas 240 en ventanas diferentes. Para ser mas precisos, una muestra sumada en la seccion 310 restante de la trama 290 sumada se obtiene por el solapador/sumador 230 sumando la muestra en ventanas correspondiente de la primera seccion 260-1 de la trama en ventanas 240-k, de la segunda subseccion 260-2 de la trama en ventanas 240-(k-1) de la tercera subseccion 260-3 de la trama en ventanas 240-(k-2) y de la cuarta subseccion 260-4 de la trama en ventanas 240-(k-3).
Como consecuencia del solapamiento/suma descritos como se menciona descrito, la trama 290 sumada comprende M = N/2 muestras sumadas. En otras palabras, el valor por adelantado de muestra M es igual a la longitud de la trama 290 sumada. Ademas, por lo menos en terminos de algunas realizaciones de un banco 200 de filtros de sintesis, tambien la longitud de una trama de entrada es, como se menciono anteriormente, igual al valor por adelantado de muestra M.
El hecho de que en la realizacion mostrada en la figura 4, se utilicen por lo menos tres o cuatro muestras en ventanas para obtener una muestra sumada en la seccion 300 de partida y la seccion 310 restante de la trama sumada, respectivamente, se ha elegido con fines de simplicidad solamente. En la realizacion mostrada en la figura 4, cada una de las tramas 240 de salida/en ventanas comprende cuatro secciones de partida 260-1 a 260-4. Sin embargo, en principio, puede implementarse facilmente una realizacion del banco de filtros de sintesis en la que una trama de salida
o trama en ventanas solamente comprende una muestra en ventanas mas de dos veces el numero de muestras sumadas de una trama 290 sumada. En otras palabras, una realizacion de un banco 200 de filtros de sintesis puede estar adaptada de tal manera que cada trama en ventanas solamente comprenda 2M+1 muestras en ventanas.
Como se explica en el contexto de una realizacion de un banco 100 de filtros de analisis, una realizacion de un banco 200 de filtros de sintesis tambien puede incorporarse en el marco de un codec ER AAC ELD (codec = codificador / descodificador) mediante una modificacion de un codec ER AAC LD. Por consiguiente, puede usarse una realizacion de un filtro 200 de sintesis en el contexto de un codec AAC LD con el fin de definir un sistema de codificacion/descodificacion de audio de baja tasa de transmision de bits y bajo retardo. Por ejemplo, una realizacion de un banco de filtros de sintesis puede consistir en un descodificador para el codec ER AAC ELD junto con una herramienta SBR opcional (SBR = replicacion de banco espectral). Sin embargo, con el fin de obtener un retardo suficientemente bajo, podrian ser recomendables algunas modificaciones para su implementacion en comparacion con un codec ER AAC LD para llegar a una implementacion de una realizacion de un banco 200 de filtros de sintesis.
El banco de filtros de sintesis de los codecs mencionados anteriormente puede modificarse con el fin de adaptar una
realizacion de un banco de filtros (de sintesis) bajo, en el que el algoritmo de IMDCT de nucleo (IMDCT = transformada de coseno discreta modificada inversa) puede permanecer en su mayoria sin cambios en terminos del convertidor 210 de frecuencia/tiempo. Sin embargo, en comparacion con un convertidor de frecuencia/tiempo de IMDCT, el convertidor 210 de frecuencia/tiempo puede implementarse con una funcion ventana mas larga, de tal manera que el indice de muestra n va ahora hasta 2N-1, en lugar de hasta N-1.
Para ser mas precisos, el convertidor 210 de frecuencia/tiempo puede implementarse de tal manera que este configurado para proporcionar valores de salida xi,n basandose en la expresion
para 0:n<2N,
donde n es, como se menciono previamente, un numero entero que indica un indice de muestra, i es un numero entero que indica un indice de ventana, k es un indice de coeficiente espectral, N es una longitud de ventana basada en el parametro secuencia ventanas de una implementacion de codec ER AAC LD de tal manera que el numero entero N es dos veces el numero de muestras sumadas de una trama 290 sumada. Ademas, n0 es un valor de desplazamiento dado por
donde spec[i][k] es una valor de entrada correspondiente al indice de coeficiente espectral k y el indice de ventana I de la trama de entrada. En algunas realizaciones de un banco 200 de filtros de sintesis, el parametro N es igual a 960 o 1024. Sin embargo, en principio, el parametro N tambien puede adquirir cualquier valor. En otras palabras, realizaciones adicionales de un banco 200 de filtros de sintesis pueden funcionar basandose en un parametro N=360 u otros valores.
El formador 220 de ventanas y el solapador/sumador 230 tambien pueden modificarse en comparacion con la formacion de ventanas y el solapamiento/sumas implementados en el marco de un codec ER AAC LD. Para ser mas precisos, en comparacion con el codec mencionado anteriormente, la longitud N de una funcion ventana se reemplaza por una funcion ventana de longitud 2N con mas solapamiento en el pasado y menos solapamiento en el futuro. Como se explicara en el contexto de las siguientes figuras 5 a 11, en realizaciones de un banco 200 de filtros de sintesis, las funciones ventana que comprenden M/4 = N/8 valores o coeficientes de ventana pueden ajustarse realmente a cero. Como consecuencia, estos coeficientes de ventana corresponden a las secciones 160, 270 iniciales de las tramas respectivas. Como se explico previamente, no es necesario implementar esta seccion. Como posible alternativa, los modulos correspondientes (por ejemplo, los formadores 110, 220 de ventanas) pueden construirse de tal manera que no se requiera la multiplicacion por un valor cero. Como se explico anteriormente, las muestras en ventanas pueden ajustarse a cero o ignorarse, por mencionar solamente dos posibles diferencias de realizaciones relacionadas con la implementacion.
Asi, la formacion de ventanas efectuada por el formador 220 de ventanas en el caso de tal realizacion de un banco de filtros de sintesis que comprende tal funcion ventana de bajo retardo puede implementarse segun
donde la funcion ventana con coeficientes de ventana w(n) tiene ahora una longitud de 2N coeficientes de ventana. Por tanto, el indice de muestra va de N = 0 a N = 2N-2, donde las relaciones asi como los valores de los coeficientes de ventana de diferentes funciones ventana estan comprendidas en las tablas 1 a 4 en el anexo para diferentes realizaciones de un banco de filtros de sintesis.
Ademas, el solapador/sumador 230 puede implementarse ademas segun o en basandose en la expresion o ecuacion
para
donde las expresiones y las ecuaciones dadas anteriormente podrian alterarse ligeramente dependiendo de la implementacion concreta de una realizacion de un banco 200 de filtros de sintesis. En otras palabras, dependiendo de la implementacion concreta, especialmente en vista del hecho de que una trama en ventanas no comprende necesariamente una seccion inicial, las ecuaciones y expresiones dadas anteriormente podrian alterarse, por ejemplo, en terminos de los limites de los indices de suma para excluir las muestras en ventanas de la seccion inicial en el caso de que una seccion inicial no este presente o comprenda muestras en ventanas triviales (por ejemplo, muestras de valor cero). En otras palabras, implementando por lo menos una de una realizacion de un banco 100 de filtros de analisis o de un banco 200 de filtros de sintesis, puede implementarse un codec ER AAC LD opcionalmente con una herramienta de SBR apropiada para obtener un codec ER AAC ELD, que por ejemplo puede usarse para obtener un sistema de codificacion y descodificacion de audio de baja tasa de transmision de bits y/o bajo retardo. Una vista general de un codificador de extremo y un descodificador se daran en el marco de las figuras 12 y 13, respectivamente.
Como ya se indico varias veces, ambas realizaciones de un banco 100 de filtros de analisis y de un banco 200 de filtros de sintesis pueden ofrecer la ventaja de permitir un modo de codificacion de bajo retardo mejorado implementando una funcion ventana de bajo retardo en el marco de un banco 100, 200 de filtros de analisis/sintesis asi como en el marco de realizaciones de un codificador y descodificador. Implementando una realizacion de un banco de filtros de analisis o un banco de filtros de sintesis, que puede comprender una de la funciones ventana, que se describiran en mas detalle en el contexto de las figuras 5 a 11, pueden conseguirse varias ventajas dependiendo de la implementacion concreta de una realizacion de un banco de filtros que comprende una funcion ventana de bajo retardo. Con referencia al contexto de la figura 2, una implementacion de una realizacion de un banco de filtros puede producir el retardo en comparacion con el codec basandose en ventanas ortogonales, que se usan en todos los codecs del estado de la tecnica. Por ejemplo, en el caso del sistema basado en el parametro N=960, puede realizarse la reduccion de retardo de 960 muestras, que es igual a un retardo de 20 ms a una frecuencia de muestreo de 48 kHz, a 700 muestras, que es igual a un retardo de 15 ms a la misma frecuencia de muestreo. Ademas, como se mostrara, la respuesta de frecuencia de una realizacion de un banco de filtros de sintesis y/o de un banco de filtros de analisis es muy similar al banco de filtros que utiliza una ventana de signo. En comparacion con un banco de filtros que emplea la denominada ventana de solapamiento bajo, la respuesta de frecuencia es aun mucho mejor. Ademas, el comportamiento de pre-eco es similar a la ventana de solapamiento bajo, de tal manera que una realizacion de un banco de filtros de sintesis y/o de un banco de filtros de analisis puede representar una solucion intermedia excelente entre calidad y bajo retardo dependiendo de la implementacion concreta de una realizacion de los bancos de filtros. Como una ventaja adicional que puede emplearse, por ejemplo, en el marco de una realizacion de un sistema de conferencia, es que solamente puede usarse una funcion ventana para procesar todas las clases de senales.
La figura 5 muestra una representacion grafica de una posible funcion ventana que, por ejemplo, puede emplearse en el marco de un formador 110, 220 de ventanas en el caso de una realizacion de un banco 100 de filtros de analisis y en el caso de un banco 200 de filtros de sintesis. Para ser mas precisos, las funciones ventana mostradas en la figura 5 corresponden a una funcion ventana de analisis para M=480 bandas o un numero de muestras de salida en el caso de una realizacion de un banco de filtros de analisis en la grafica superior. La grafica inferior de la figura 5 muestra la funcion ventana de sintesis correspondiente para una realizacion de un banco de filtros de sintesis. Como ambas funciones ventana mostradas en la figura 5 corresponden a M=480 bandas o muestras de una trama de salida (banco de filtros de analisis) y una trama sumada (banco de filtros de sintesis), las funciones ventana mostradas en la figura 5 comprenden el conjunto de definicion de 1920 valores cada uno con indices n=0,... 1919.
Ademas, como las dos graficas en la figura 5 muestran claramente, con respecto a un punto medio del conjunto de definicion, que en este caso no forma parte del propio conjunto de definicion, ya que el punto medio se encuentra entre los indices N=959 y N=960, ambas funciones ventana comprenden un numero mas alto significativo de coeficientes de ventana en una mitad del conjunto de definicion con respecto al punto medio mencionado anteriormente que tiene valores absolutos de los coeficientes de ventana, que son mayores del 10%, 20%, 30% o 50% del valor absoluto maximo de todos los coeficientes de ventana. En el caso de la funcion ventana de analisis en la grafica superior de la figura 5, la mitad respectiva del conjunto de definicion es el conjunto de definicion que comprende los indices N=960,... 1919, mientras que en el caso de la funcion ventana de sintesis en la grafica inferior de la figura 5, la mitad respectiva del conjunto de definicion con respecto al punto medio comprende los indices N=0,..., 959. Como consecuencia, con respecto al punto medio, tanto la funcion ventana de analisis como la funcion ventana de sintesis son fuertemente asimetricas.
Como ya se mostro en el contexto tanto del formador 110 de ventanas de una realizacion del banco de filtros de analisis como en el caso del formador 220 de ventanas de la realizacion del banco de filtros de sintesis, la funcion ventana de analisis y la funcion ventana de sintesis son en terminos de los indices una inversa una de otra.
Un aspecto importante con respecto a la funcion ventana mostrada en las dos graficas en la figura 5 es que en el caso de la ventana de analisis mostrada en la grafica superior, los ultimos 120 coeficientes de formacion de ventanas y en el caso de la funcion ventana de sintesis en la grafica inferior en la figura 5, los primeros 120 coeficientes de ventana se ajustan a cero o comprenden un valor absoluto de tal manera que pueden considerarse iguales a 0 dentro de una exactitud razonable. En otras palabras, por consiguiente puede considerarse que los 120 coeficientes de formacion de ventanas mencionados anteriormente de las dos funciones ventana provocan que un numero apropiado de muestras se ajuste a por lo menos un valor en un intervalo predeterminado multiplicando los 120 coeficientes de ventana por las muestras respectivas. En otras palabras, dependiendo de la implementacion concreta de realizaciones de un banco 100 de filtros de analisis o un banco 200 de filtros de sintesis, los 120 coeficientes de ventana de valor cero daran como resultado la creacion de la seccion 160, 270 inicial de las tramas en ventanas en realizaciones de un banco de filtros de analisis y un banco de filtros de sintesis, si es aplicable, como se explico previamente. Sin embargo, aunque las secciones 160, 270 iniciales no esten presentes, los 120 coeficientes de ventana de valor cero pueden interpretarse por el formador 110 de ventanas por el convertidor 120 de tiempo/frecuencia, por el formador 220 de ventanas y por el solapador/sumador 230 en realizaciones de un banco 100 de filtros de analisis y un banco 200 de filtros de sintesis para tratar o procesar las diferentes tramas de manera correspondiente, incluso en el caso de que las secciones 160, 270 iniciales de las tramas apropiados no esten presentes.
Implementando una funcion ventana de analisis o una funcion ventana de sintesis como se muestra en la figura 5 que comprende 120 coeficientes de formacion de ventanas de valor cero en el caso de M=480 (N=960), se estableceran realizaciones apropiadas de un banco 100 de filtros de analisis y un banco 200 de filtros de sintesis en las que las secciones 160, 270 iniciales de las tramas correspondientes comprenden M/4 muestras o las primeras subsecciones 150-1, 260-1 correspondientes comprenden M/4 valores o muestras menos que las otras subsecciones, para explicarlo en terminos mas generales.
Como se menciono previamente, la funcion ventana de analisis mostrada en la grafica superior de la figura 5 y la funcion ventana de sintesis mostrada en la grafica inferior de la figura 5 representa funciones ventana de bajo retardo tanto para el banco de filtros de analisis como el banco de filtros de sintesis. Ademas, tanto la funcion ventana de analisis como la funcion ventana de sintesis como se muestran en la figura 5 son versiones reflejadas entre si con respecto al punto medio mencionado anteriormente del conjunto de definicion del que se definen ambas funciones ventana.
Debe indicarse que el uso de la ventana de bajo de retardo y/o el empleo de una realizacion de un banco de filtros de analisis o un banco de filtros de sintesis en muchos casos no dan como resultado ningun incremento perceptible de la complejidad computacional y solamente un incremento marginal de los requisitos de almacenamiento, como se explicara mas tarde durante el analisis de complejidad.
Las funciones ventana mostradas en la figura 5 comprenden los valores dados en la tabla 2 en el anexo, que se han proporcionado en la misma solo por motivos de simplicidad. Sin embargo, hasta ahora, no es necesario que una realizacion de un banco de filtros de analisis o un banco de filtros de sintesis que funciona en un parametro M=480 comprenda los valores exactos dados en la tabla 2 en el anexo. Naturalmente, la implementacion concreta de una realizacion de un banco de filtros de analisis o un banco de filtros de sintesis puede emplear facilmente coeficientes de ventana variables en el marco de funciones ventana apropiadas, de tal manera que, en muchos casos, el empleo de coeficientes de ventana sera suficiente, que emplean, en el caso de M=480, las relaciones dadas en la tabla 1 en el anexo.
Ademas, en muchas realizaciones que tienen coeficientes de filtro, coeficientes de ventana asi como coeficientes de elevacion, que se introduciran posteriormente, no es necesario que las figuras dadas se implementen como se da de manera precisa. En otras palabras, en otras realizaciones de un banco de filtros de analisis asi como un banco de filtros de sintesis y realizaciones relacionadas de la presente invencion, tambien pueden implementarse otras funciones ventana, que son coeficientes de filtro, coeficientes de ventana y otros coeficientes, tales como coeficientes de elevacion, que son diferentes de los coeficientes dados a continuacion en el anexo, siempre que las variaciones esten dentro del tercer digito a continuacion de la coma o en digitos superiores, tal como el cuarto, quinto, etc. digito.
Considerando la funcion ventana de sintesis en la grafica inferior de la figura 5, como se menciono previamente, los primeros M/4=120 coeficientes de ventana se ajustan a cero. Despues de esto, aproximadamente hasta el indice 350, la funcion ventana comprende una subida brusca, seguida por una subida mas moderada hasta un indice de aproximadamente 600. En este contexto, debe indicarse que alrededor de un indice de 480 (=M), la funcion ventana se vuelve mayor que la unidad o mayor de uno. A continuacion del indice 600 hasta aproximadamente la muestra 1100, la funcion ventana cae de nuevo de su valor maximo a un nivel de menos de 0,1. En el resto del conjunto de definicion, la funcion ventana comprende ligeras oscilaciones alrededor del valor 0.
La figura 6 muestra una comparacion de la funcion ventana como se muestra en la figura 5 en el caso de una funcion ventana de analisis en la grafica superior de la figura 6 y en el caso de una funcion ventana de sintesis en la grafica inferior de la figura 6. Ademas, como una linea discontinua, dos graficas tambien comprenden la denominada funcion ventana seno, que se emplea, por ejemplo, en los codecs ER AAC mencionados anteriormente AAC LC y AAC LD. La comparacion directa de la ventana seno y la funcion ventana de bajo retardo como se muestra en las dos graficas de la figura 6 ilustran los diferentes objetos de tiempo de la ventana de tiempo tal como se explica en el contexto de la figura
5. Aparte del hecho de que la ventana seno solamente se define en 960 muestras, la diferencia mas sorprendente entre las dos funciones ventana mostradas en el caso de una realizacion de un banco de filtros de analisis (grafica superior) y en el caso de un banco de filtros de sintesis (grafica inferior) es que la funcion de trama en ventanas seno es simetrica alrededor de su punto medio respectivo del conjunto de definicion acortado y comprende en los primeros 120 elementos del conjunto de definicion (en su mayoria) coeficientes de ventana que son mayores de cero. En contraste, como se explico previamente, la ventana de bajo retardo comprende 120 coeficientes de ventana de valor cero (idealmente) y es significativamente asimetrica con respecto a su punto medio respectivo del conjunto de definicion prolongado en comparacion con el conjunto de definicion de la ventana seno.
Hay una diferencia adicional, que distingue la ventana de bajo retardo de la ventana seno, mientras que ambas ventanas adquieren aproximadamente un valor de aproximadamente 1 y un indice de muestra de 480 (=M), la funcion ventana de bajo retardo llega a un maximo de mas de uno aproximadamente 120 muestras despues de volverse mayor de 1 y un indice de muestra de aproximadamente 600 (= M + M/4; M = 480), mientras que la ventana seno simetrica disminuye simetricamente hasta 0. En otras palabras, las muestras que se trataran, por ejemplo multiplicando por cero en una primera trama se multiplicaran en la siguiente trama por valores mayores de 1 debido al modo de operacion de solapamiento y el valor por adelantado de muestra de M=480 en estos casos.
Se dara una descripcion adicional de ventanas de bajo retardo adicionales, que por ejemplo pueden emplearse en otras realizaciones de un banco de filtros de analisis o un banco 200 de filtros de sintesis, el concepto de la reduccion de retardo que puede obtenerse con las funciones ventana mostradas en las figuras 5 y 6 se explicara con referencia al parametro M=480, teniendo N=960 M/4 = 120 valores de cero o valores suficientemente bajos. En la ventana de analisis mostrada en la grafica superior de la figura 6, las partes que acceden a valores de entrada futuros (indices de muestra 1800 a 1920) se reduce por 120 muestras. Correspondientemente, en la ventana de sintesis en la grafica inferior de la figura 6, el solapamiento con muestras de salida del pasado, que requeririan un retardo correspondiente en el caso de un banco de filtros de sintesis se reduce por otras 120 muestras. En otras palabras, en el caso de una ventana de sintesis el solapamiento con las muestras de salida del pasado, que es necesario para completar la operacion de solapamiento/suma o para terminar el solapamiento/suma junto con la reduccion de 120 muestras en el caso de una ventana de analisis dara como resultado una reduccion de retardo global de 240 muestras en el caso de un sistema que comprende ambas realizaciones de un banco de filtros de analisis y un banco de filtros de sintesis.
El solapamiento extendido, sin embargo, no da como resultado ningun retardo adicional ya que solamente implica sumar valores del pasado, que pueden almacenarse facilmente sin provocar retardo adicional, por lo menos a escala de la frecuencia de muestreo. Una comparacion del tiempo de conjuntos de la ventana seno tradicional y la ventana de bajo retardo mostradas en las figuras 5 y 6 lo ilustran.
La figura 7 comprende en tres graficas, tres funciones ventana diferentes. Para ser mas precisos, la grafica superior de la figura 7 muestra la ventana seno mencionada anteriormente, mientras que la grafica central muestra la denominada ventana de solapamiento bajo y la grafica inferior muestra la ventana de bajo retardo. Sin embargo, las tres ventanas mostradas en la figura 7 corresponden a un valor por adelantado de muestra o parametro M = 512 (N = 2M =1024). Una vez mas, la ventana seno asi como la ventana de solapamiento bajo en las dos graficas superiores en la figura 7 se definen solamente sobre conjuntos de definicion limitados o acortados que comprenden 1024 indices de muestra en comparacion con la funcion ventana de bajo retardo como se muestra en la grafica inferior de la figura 7, que se define sobre 2048 indices de muestra.
Las graficas de las formas de ventana de una ventana seno, la ventana de solapamiento bajo y la ventana de bajo retardo en la figura 7 comprenden mas o menos las mismas caracteristicas que las discutidas previamente en terminos de la ventana seno y la ventana de bajo retardo. Para ser mas precisos, la ventana seno (grafica superior en la figura 7) es una vez mas simetrica con respecto al punto medio apropiado del conjunto de definicion que se encuentra entre los indices 511 y 512. La ventana seno adquiere un valor maximo en aproximadamente el valor M = 512 y cae del valor maximo de nuevo a cero en el limite del conjunto de definicion.
En el caso de la ventana de bajo retardo mostrada en la grafica inferior de la figura 7, esta ventana de bajo retardo comprende 128 coeficientes de ventana de valor cero, que es una vez mas un cuarto del valor por adelantado de muestra M. Ademas, la ventana de bajo retardo adquiere un valor de aproximadamente 1 a un indice de muestra M, mientras que el valor maximo de los coeficientes de ventana se adquiere aproximadamente 128 indices de muestra n despues de volverse mas grande que uno en terminos de un indice de incremento (alrededor del indice 640). Tambien con respecto a los otros elementos de la grafica de la funcion ventana, la funcion ventana para M =512 en la grafica inferior de la figura 7 no difiere significativamente de las ventanas de bajo retardo para M = 480 mostradas en las figuras 5 y 6, aparte de un desplazamiento opcional debido a los conjuntos de definicion mas largos (2048 indices en comparacion con 1920 indices). La ventana de bajo retardo mostrada en la grafica inferior de la figura 7 comprende los valores dados en la tabla 4 en el anexo.
Sin embargo, como se explico previamente, no es necesario que las realizaciones de un banco de filtros de sintesis o un banco de filtros de analisis implementen la funcion ventana con los valores precisos como se dan en la tabla 4. En otras palabras, los coeficientes de ventana pueden diferir de los valores dados en la tabla 4, siempre que mantengan las relaciones dadas en la tabla 3 en el anexo. Ademas, en las realizaciones de la presente invencion tambien pueden implementarse facilmente variaciones con respecto a los coeficientes de ventana, siempre que las variaciones esten dentro del tercer digito a continuacion de la coma, o en digitos superiores tales como el cuarto, quinto, etc. digito, como se explico previamente.
En la grafica central de la figura 7 la ventana de solapamiento bajo no se ha descrito todavia. Como se menciono previamente, la ventana de bajo retardo tambien comprende un conjunto de definicion que comprende 1024 elementos. Ademas, la ventana de solapamiento bajo tambien comprende en el comienzo de un conjunto de definicion y al final de un conjunto de definicion, un subconjunto conectado en el que se desvanece la ventana de solapamiento bajo. Sin embargo, despues de este subconjunto conectado en el que se desvanece la ventana de solapamiento bajo, sigue una subida o caida brusca, que comprende solamente un poco mas de 100 indices de muestra en cada caso. Ademas, la ventana de solapamiento bajo simetrica no comprende valores mayores de 1 y puede comprender una atenuacion de banda de detencion menor en comparacion con las funciones ventana tal como se emplean en algunas realizaciones.
En otras palabras, la ventana de solapamiento bajo comprende un conjunto de definicion significativamente menor mientras que tiene el mismo valor por adelantado de muestra, como la ventana de bajo retardo y no adquiere valores mayores de uno. Ademas, tanto la ventana seno como la ventana de solapamiento bajo son con respecto a sus puntos medios respectivos del conjunto de definicion ortogonales o simetricas, mientras que la ventana de bajo retardo es asimetrica de la manera descrita con respecto al punto medio de su conjunto de definicion.
La ventana de solapamiento bajo se introdujo con el fin de eliminar los artefactos de pre-eco por transitorios. El solapamiento mas bajo evita el esparcimiento del ruido de cuantificacion antes del ataque de senal, como se ilustra en la figura 8. La nueva ventana de bajo retardo, sin embargo, tiene la misma propiedad, aunque ofrece una mejor respuesta de frecuencia, como sera evidente al comparar las respuestas de frecuencia mostradas en las figuras 10 y 11. Por consiguiente, la ventana de bajo retardo puede reemplazar ambas ventanas de AAC LD tradicionales, es decir, la ventana de signo en la ventana de solapamiento bajo, de tal manera que ya no es necesario implementar una adaptacion de forma de ventana dinamica.
La figura 8 muestra para las mismas funciones ventana mostradas en la figura 7 en el mismo orden de graficas un ejemplo de ruido de cuantificacion que se esparce para las diferentes formas de ventana de la ventana seno o la ventana de solapamiento bajo y la ventana de bajo retardo. El comportamiento de pre-eco de la ventana de bajo retardo como se muestra en la grafica inferior de la figura 8 es similar al comportamiento de la ventana de solapamiento bajo como se muestra en la grafica central de la figura 8, mientras que el comportamiento de pre-eco de la ventana seno en la grafica superior de la figura 8 comprende contribuciones significativas en las primeras 128 (M = 512) muestras.
En otras palabras, el empleo de una ventana de bajo retardo en una realizacion de un banco de filtros de sintesis o un banco de filtros de analisis, puede dar como resultado una ventaja sobre un comportamiento de pre-eco mejorado. En el caso de una ventana de analisis, la trayectoria que accede a valores de entrada futuros y asi requeriria un retardo, se reduce por mas de una muestra y preferiblemente por 120/128 muestras en el caso de una longitud de bloque o valor por adelantado de muestra de 480/512 muestras, de tal manera que reduzca el retardo en comparacion con la MDCT (transformada de coseno discreta modificada). Al mismo tiempo mejora los comportamientos de pre-eco, puesto que un posible ataque en la senal, que podria ser en esas 120/128 muestras, apareceria solamente un bloque o una trama mas tarde. Correspondientemente, en la ventana de sintesis el solapamiento con muestras de salida del pasado para terminar su operacion de solapamiento/suma, que tambien requeriria un retardo correspondiente, se reduce por otras 120/128 muestras, dando como resultado una reduccion de retardo global de 240/256 muestras. Esto tambien da como resultado un comportamiento de pre-eco mejorado, puesto que esas 120/128 muestras contribuirian de otra manera al esparcimiento de ruido al pasado, antes de un posible ataque. En general esto significa que un pre-eco aparece posiblemente un bloque o trama mas tarde y el pre-eco resultante del lado de sintesis solo es 120/128 muestras mas corto.
Tal reduccion, que puede conseguirse empleando tal ventana de bajo retardo, como se describe en las figuras 5 a 7, dependiendo de la implementacion concreta de una realizacion de un banco de filtros de sintesis o un banco de filtros de analisis puede ser especialmente util cuando se consideran las caracteristicas de audicion humanas, especialmente en terminos de enmascaramiento. Para ilustrar esto, la figura 9 muestra un bosquejo esquematico del comportamiento de enmascaramiento del oido humano. Para ser mas precisos, la figura 9 muestra una representacion esquematica del nivel de umbral de audicion del oido humano, como funcion del tiempo, cuando un sonido o un tono que tiene una frecuencia especifica esta presente durante un periodo de tiempo de aproximadamente 200 ms.
Sin embargo, poco antes de que el sonido o tono mencionado anteriormente este presente, como se indica por la flecha 350 en la figura 9, un pre-enmascaramiento esta presente por un corto periodo de tiempo de aproximadamente 20 ms, por consiguiente, permitiendo una transicion uniforme entre ningun enmascaramiento y enmascaramiento durante la presencia del tono o sonido, que a veces se denomina enmascaramiento simultaneo. Durante el tiempo en el que el sonido o tono esta presente, el enmascaramiento esta activado. Sin embargo, cuando el tono o sonido desaparece, como se indica por la flecha 360 en la figura 9, el enmascaramiento no se eleva inmediatamente, sino durante un periodo de tiempo de aproximadamente 150 ms, el enmascaramiento se reduce lentamente, que a veces tambien se denomina post-enmascaramiento.
Esto es, la figura 9 muestra una propiedad de enmascaramiento temporal general de la audicion humana, que comprende una fase de pre-enmascaramiento asi como una fase de post-enmascaramiento antes y despues de un sonido o tono que esta presente. Debido a la reduccion del comportamiento de pre-eco al incorporar una ventana de bajo retardo en una realizacion de un banco 100 de filtros de analisis y/o un banco 200 de filtros de sintesis, las distorsiones audibles se limitaran considerablemente en muchos casos ya que los pre-ecos audibles caeran, por lo menos en cierta medida, al periodo de pre-enmascaramiento del efecto de enmascaramiento temporal del oido humano como se muestra en la figura 9.
Ademas, el empleo de una funcion ventana de bajo retardo como se ilustra en las figuras 5 a 7, descrita en mas detalle con respecto a relaciones y valores en las tablas 1 a 4 en el anexo, ofrece una respuesta de frecuencia, que es similar a la de una ventana seno. Para ilustrar esto, la figura 10 muestra una comparacion de la respuesta de frecuencia entre la ventana seno (linea discontinua) y un ejemplo de una ventana de bajo retardo (linea continua). Como puede observarse al comparar las dos respuestas de frecuencia de las dos ventanas mencionadas anteriormente en la figura 10, la ventana de bajo retardo es comparable en terminos de la selectividad de frecuencia con la ventana seno. La respuesta Para ser mas precisos, la figura 11 muestra una comparacion de las respuestas de frecuencia entre la ventana seno (linea discontinua) y la ventana de solapamiento bajo (linea continua). Como puede observarse la linea continua de la respuesta de frecuencia de la ventana de solapamiento bajo es significativamente mas grande que la respuesta de frecuencia correspondiente de la ventana seno. Como la ventana de bajo retardo y la ventana seno muestran respuestas de frecuencia comparables, que pueden observarse comparando las dos respuestas de frecuencia mostradas en la figura 10, tambien puede deducirse facilmente una comparacion entre la ventana de solapamiento bajo y la ventana de bajo retardo, como la grafica mostrada en las figuras 10 y 11 ambas muestran la respuesta de frecuencia de la ventana seno y comprenden las mismas escalas con respecto al eje de frecuencia y al eje de intensidad (db). Asi, puede concluirse facilmente que la ventana seno que puede implementarse facilmente en una realizacion de un banco de filtros de sintesis asi como en una realizacion de un banco de filtros de analisis ofrece en comparacion con la ventana de solapamiento bajo una respuesta de frecuencia significativamente mejor.
En cuanto a la comparacion del comportamiento de pre-eco mostrado en la figura 8 tambien se muestra que la ventana de bajo retardo ofrece una ventaja considerable en comparacion con el comportamiento de pre-eco, mientras que el comportamiento de pre-eco de la ventana de bajo retardo es comparable con el de una ventana de solapamiento bajo, la ventana de bajo retardo representa una solucion intermedia excelente entre las dos ventanas mencionadas anteriormente.
Como consecuencia, la ventana de bajo retardo, que puede implementarse en el marco de una realizacion de un banco de filtros de analisis asi como una realizacion de un banco de filtros de sintesis y realizaciones relacionadas, debido a esta solucion intermedia, puede usarse la misma funcion ventana para senales transitorias, asi como senales tonales, de tal manera que no es necesario ningun cambio entre diferentes longitudes de bloque o entre diferentes ventanas. En otras palabras, las realizaciones de un banco de filtros de analisis, un banco de filtros de sintesis y realizaciones relacionadas ofrecen la posibilidad de construir un codificador, un descodificador y sistemas adicionales que no requieren conmutacion entre diferentes conjuntos de parametros operacionales, tales como diferentes tamanos de bloque o longitudes de bloque o diferentes ventanas o formas de ventana. En otras palabras, empleando una realizacion de un banco de filtros de analisis o un banco de filtros de sintesis con la ventana de bajo retardo, la construccion de una realizacion de un codificador, descodificador y sistemas relacionados puede simplificarse considerablemente. Como una oportunidad adicional, debido al hecho de que no se requiere conmutacion entre diferentes conjuntos de parametros, pueden procesarse senales de diferentes fuentes en el dominio de frecuencia en lugar del dominio de tiempo, lo que requiere un retardo adicional como se explicara en las siguientes secciones.
En todavia otras palabras, el empleo de una realizacion de un banco de filtros de sintesis o un banco de filtros de analisis ofrece la posibilidad de beneficiarse de una ventaja de baja complejidad computacional en algunas realizaciones. Para compensar el retardo mas bajo en comparacion con MDCT con por ejemplo una ventana seno, se introduce un solapamiento mas largo sin crear un retardo adicional. A pesar del solapamiento mas largo y correspondientemente, una ventana de aproximadamente dos veces la longitud de la ventana seno correspondiente con dos veces la cantidad de solapamiento y asi beneficios de la selectividad de frecuencia como se explico anteriormente, puede obtenerse una implementacion con solamente una complejidad adicional menor, debido a un posible tamano incrementado de multiplicaciones de longitud de bloque y elementos de memoria. Sin embargo, los detalles adicionales de tal implementacion se explicaran en el contexto de las figuras 19 a 24.
La figura 12 muestra un diagrama de bloques esquematico de una realizacion de un codificador 400. El codificador 400 comprende una realizacion de un banco 100 de filtros de analisis y como componente opcional, un codificador 410 de entropia, que esta configurado para codificar la pluralidad de tramas de salida proporcionadas por el banco 100 de filtros de analisis y configurado para emitir una pluralidad de tramas codificadas basandose en las tramas de salida. Por ejemplo, el codificador 410 de entropia puede implementarse como un codificador de Huffman u otro codificador de entropia que utilice un esquema de codificacion eficaz de entropia, tal como el esquema de codificacion aritmetico.
Debido al empleo de una realizacion de un banco 100 de filtros de analisis en el marco de una realizacion de un codificador 400, el codificador ofrece una salida del numero de bandas N mientras que tiene un retardo de reconstruccion de menos de 2N o 2N-1. Ademas, en principio una realizacion de un codificador tambien representa un filtro, una realizacion de un codificador 400 ofrece una respuesta de impulso finita de mas de 2N muestras. Esto es, una realizacion de un codificador 400 representa un codificador que puede procesar datos (de audio) de manera eficaz en cuanto al retardo.
Dependiendo de la implementacion concreta de una realizacion de un codificador 400 como se muestra en la figura 12, tal realizacion tambien puede comprender un cuantificador, filtro o componentes adicionales para preprocesar las tramas de entrada proporcionadas a la realizacion del banco 100 de filtros de analisis o para procesar las tramas de salida antes de la codificacion por entropia de las tramas respectivas. Como un ejemplo, un cuantificador adicional puede proporcionarse a una realizacion de un codificador 400 antes del banco 100 de filtros de analisis para cuantificar los datos o para recuantificar los datos, dependiendo de la implementacion concreta y el campo de aplicacion. Como un ejemplo para el procesamiento detras del banco de filtros de analisis, puede implementarse una ecualizacion u otro La figura 13 muestra una realizacion de un descodificador 450 que comprende un descodificador 460 de entropia asi como una realizacion de un banco 200 de filtros de sintesis, como se describio previamente. El descodificador 460 de entropia de la realizacion del descodificador 450 representa un componente opcional, que, por ejemplo, puede estar configurado para descodificar una pluralidad de tramas codificadas, que por ejemplo podrian proporcionarse por una realizacion de un codificado 400. Por consiguiente, el descodificador 460 de entropia podria ser un descodificador de Huffman o algoritmico u otro descodificador de entropia basado en un esquema de codificacion/descodificacion por entropia, que es apropiado para la aplicacion del descodificador 450 de manera sencilla. Ademas, el descodificador 460 de entropia puede estar configurado para proporcionar una pluralidad de tramas de entrada al banco 200 de filtros de sintesis, que a su vez, proporciona una pluralidad de tramas sumadas en una salida del banco 200 de filtros de sintesis
o en una salida del descodificador 450.
Sin embargo, dependiendo de la implementacion concreta, el descodificador 450 tambien puede comprender componentes adicionales, tales como un descuantificador u otros componentes tales como un ajustador de ganancia. Para ser mas precisos, entre el descodificador 460 de entropia y el banco de filtros de sintesis, un ajustador de ganancia puede implementarse como componente opcional para permitir un ajuste de ganancia o ecualizacion en el dominio de frecuencia antes de que los datos de audio se transfieran por el banco 200 de filtros de sintesis al dominio de tiempo. Asi, un cuantificador adicional puede implementarse en un descodificador 450 despues del banco 200 de filtros de sintesis para ofrecer la oportunidad de recuantificar las tramas sumadas antes de proporcionar las tramas sumadas opcionalmente recuantificadas a un componente externo del descodificador 450.
Las realizaciones de un codificador 400 como se muestra en la figura 12 y las realizaciones de un descodificador 450 como se muestra en la figura 13 pueden aplicarse en muchos campos de codificacion/descodificacion de audio asi como procesamiento de audio. Tales realizaciones de un codificador 400 y un descodificador 450 pueden emplearse por ejemplo en el campo de las comunicaciones de alta calidad.
Tanto una realizacion de un codificador asi como una realizacion para un descodificador ofrecen la oportunidad de hacer funcionar dicha realizacion sin tener que implementar un cambio de parametro tal como una conmutacion de la longitud del bloque o conmutacion entre diferentes ventanas. En otras palabras, en comparacion con otros codificadores y descodificadores, una realizacion de la presente invencion en forma de un banco de filtros de sintesis, un banco de filtros de analisis y realizaciones relacionadas en gran medida no se requiere para implementar diferentes longitudes de bloque y/o diferentes funciones ventana.
Inicialmente definido en la version 2 de la especificacion de audio MPE�-4, un codificador AAC de bajo retardo (AAC LD), con el paso del tiempo, tiene una adaptacion en aumento tal como un codificador de comunicaciones de alta calidad de ancho de banda completo, que no esta sometido a las limitaciones de los codificadores de voz habituales, tales como enfoque en altavoces individuales, material de habla, mal rendimiento para senales musicales, y asi sucesivamente. Este codec particular se usa ampliamente para video/teleconferencia en otras aplicaciones de comunicacion, que por ejemplo han disparado la creacion de un perfil de AAC de bajo retardo debido a la demanda industrial. No obstante, una mejora en la eficiencia de codificacion de los codificadores es de gran interes para la comunidad de usuarios y es el tema de la contribucion, que pueden proporcionar algunas realizaciones de la presente invencion.
Actualmente, el codec ER AAC LD de MPE�-4 produce buena calidad de audio a un intervalo de tasa de transmision de bits de 64 kbit/s a 48 kbit/s por canal. Con el fin de incrementar la eficiencia de codificacion de los codificadores para ser competitivos con codificadores de voz el uso de la herramienta de replicacion de banda espectral probada (SBR) es una eleccion excelente. Una propuesta previa en este tema, sin embargo, no se persiguio adicionalmente en el curso de la estandarizacion.
Con el fin de no perder el retardo de codec bajo que es crucial para muchas aplicaciones, tales como dar servicio a aplicaciones de telecomunicacion, tienen que tomarse medidas adicionales. En muchos casos, como requisito para el desarrollo de codificadores respectivos, se definio que tal codificador debia poder proporcionar un retardo algoritmico de hasta 20 ms. Afortunadamente, solo tienen que aplicarse modificaciones menores a las especificaciones existentes con el fin de cumplir con este objetivo. Especificamente, solamente se vuelven necesarias dos modificaciones simples de las que una se presenta en este documento. Un reemplazo del banco de filtros de codificador AAC LD por una realizacion de un banco 100, 200 de filtros de bajo retardo alivia un incremento de retardo significativo en muchas aplicaciones. Ademas mediante una ligera modificacion de la herramienta de SBR se reduce el retardo sumado mediante su introduccion en el codificador, tal como la realizacion del codificador 400 como se muestra en la figura 12.
Como resultado, el codificador de AAC ELD o el descodificador de AAC EL mejorado que comprenden realizaciones de bancos de filtros de bajo retardo, muestran un retardo comparable al de un codificador AAC LD plano, pero puede ahorrar una cantidad significativa de la tasa de transmision de bits al mismo nivel de calidad, dependiendo de la implementacion concreta. Para ser mas precisos, un codificador de AAC ELD puede ahorrar hasta un 25% o incluso hasta un 33% de la tasa de transmision de bits al mismo nivel de calidad comparado con un codificador de AAC LD.
Realizaciones de un banco de filtros de sintesis o un banco de filtros de analisis pueden implementarse en un denominado codec AAC de bajo retardo mejorado (AAC ELD), que puede extender el intervalo de funcionamiento a 24 kbit/s por canal, dependiendo de la implementacion concreta y especificacion de aplicacion. En otras palabras, las realizaciones de la presente invencion pueden implementarse en el marco de una codificacion como una extension del esquema de AAC LD utilizando herramientas de codificacion opcionalmente adicionales. Tal herramienta de codificacion opcional es la herramienta de replicacion de banda espectral (SBR), que puede estar integrada o emplearse adicionalmente en el marco tanto de una realizacion de un codificador como de una realizacion de un descodificador. Especificamente en el campo de la codificacion de baja tasa de transmision de bits, SBR es una mejora atractiva, ya que permite una implementacion de un codificador de velocidad doble, donde la frecuencia de muestreo para una parte menor del espectro de frecuencia se codifica solamente con la mitad de la frecuencia de muestreo del muestreador original. Al mismo tiempo, SBR puede codificar un intervalo espectral mas alto de frecuencias basandose en la parte inferior, de tal manera que la frecuencia de muestreo global, en principio, puede reducirse por un factor de 2.
En otras palabras, el empleo de herramientas de SBR hace una implementacion de los componentes optimizados en retardo especialmente atractiva y beneficiosa, ya que debido a la frecuencia de muestreo reducida del codificador de nucleo doble, el retardo ahorrado puede en principio, reducir el retardo global del sistema por un factor de 2 del retardo ahorrado.
Asi, una simple combinacion de AAC LD y SBR daria como resultado, sin embargo, un retardo algoritmico total de 60 ms, como se explicara en mas detalle posteriormente. Asi, tal combinacion haria que el codec resultante no fuera apropiado para aplicaciones de comunicacion, ya que en general, un retardo del sistema para comunicaciones bidireccionales interactivas no debe superar los 50 ms.
El empleo de una realizacion de un banco de filtros de analisis y/o de un banco de filtros de sintesis, y por consiguiente, el reemplazo del banco de filtros de MDCT por uno de estos bancos de filtro de bajo retardo dedicados puede por consiguiente aliviar el incremento de retardo provocado por la implementacion de un codificador de velocidad doble como se explico previamente. Mediante el empleo de las realizaciones mencionadas anteriormente, un codificador de AAC ELD puede mostrar el retardo dentro del intervalo aceptable para la comunicacion bidireccional, mientras que ahorra hasta del 25% al 33% de la velocidad en comparacion con un codificador de AAC LD regular, mientras que mantiene el nivel de calidad de audio.
Por consiguiente, en terminos de sus realizaciones de un banco de filtros de sintesis, un banco de filtros de analisis y las otras realizaciones relacionadas, la presente solicitud proporciona una descripcion de posibles modificaciones tecnicas junto con una evaluacion de un rendimiento de codificador obtenible, por lo menos en terminos de algunas de las realizaciones de la presente invencion. Tal banco de filtros de bajo retardo puede obtener una reduccion de retardo sustancial mediante la utilizacion de una funcion ventana diferente, como se explico previamente, con multiples solapamientos en lugar del empleo de una MDCT o IMDCT, mientras que al mismo tiempo ofrece la posibilidad de una reconstruccion perfecta, dependiendo de la implementacion concreta. Una realizacion de tal banco de filtros de bajo retardo puede reducir el retardo de reconstruccion sin reducir la longitud del filtro, pero todavia mantiene la propiedad de reconstruccion perfecta bajo algunas circunstancias en el caso de algunas realizaciones.
Los bancos de filtros resultantes tienen la misma funcion de modulacion coseno que la MDCT tradicional, pero puede tener funciones ventana mas largas, que pueden ser no simetricas o asimetricas con un retardo generalizado o retardo de baja reconstruccion. Como se explico previamente, una realizacion de tal banco de filtros de bajo retardo nuevo que emplea una nueva ventana de bajo retardo puede reducir el retardo de MDCT de 960 muestras en el caso de un tamano de trama de M = 480 muestras a 720 muestras. En general, una realizacion del banco de filtros puede reducir el retardo de 2M a (2M -M/2) muestras implementando M/4 coeficientes de ventana de valor cero o adaptando los componentes apropiados, como se explico previamente, de manera correspondiente de tal manera que las primeras subsecciones 150-1, 260-1 de las tramas correspondientes comprenden M/4 muestras menos que las otras subsecciones. Ejemplos de estas funciones ventana de bajo retardo se han mostrado en el contexto de las figuras 5 a 7, en el que las figuras 6 y 7 comprenden tambien la comparacion con la ventana de signo tradicional. Sin embargo, debe indicarse que la ventana de analisis es simplemente una replica inversa en el tiempo de la ventana de sintesis como se explico previamente.
A continuacion, se proporcionara una descripcion tecnica de una combinacion de una herramienta de SBR con un codificador de AAC LD con el fin de obtener un sistema de codificacion de audio de baja tasa de transmision de bits y bajo retardo. Se usa un sistema de velocidad doble para obtener una ganancia de codificacion mas alta en comparacion con un sistema de una sola velocidad, como se explico anteriormente. Empleando un sistema de velocidad doble, se proporcionara la codificacion mas eficaz en cuanto a la energia posible con menos bandas de frecuencia por el codificador correspondiente, lo que lleva a una reduccion por bits en cierta medida, eliminando la informacion redundante de las tramas proporcionadas por el codificador. Para ser mas precisos, se usa una realizacion de un banco de filtros de bajo retardo como se describio previamente en el marco del codificador central de AAC LD para llegar a un retardo global que es aceptable para aplicaciones de comunicacion. En otras palabras, a continuacion, se describira el retardo en terminos tanto de nucleo de AAC LD como de codificador central AAC ELD.
Mediante el empleo de una realizacion de un banco de filtros de sintesis o un banco de filtros de analisis, puede obtenerse una reduccion de retardo implementando una ventana/banco de filtros de MDCT modificada. Se consigue una reduccion de retardo sustancial utilizando las diferentes funciones ventana mencionadas anteriormente y descritas con multiple solapamiento para extender la MDCT y la IMDCT para obtener un banco de filtros de bajo retardo. La tecnica de La ventana de bajo retardo para un tamano de trama de M = 480 muestras reduce el retardo de MDCT de 960 muestras a 720 muestras, como se explico previamente.
Para resumir, en contraste con un codec ER AAC LD de MPE�-4, una realizacion de un codificador y una realizacion de un descodificador 450 puede producir en ciertas circunstancias una buena calidad de audio a un intervalo de bits muy pequeno. Mientras que el codec ER AAC LD mencionado anteriormente produce una buena calidad de audio como un intervalo de bits de 64 kb/s a 48 kb/s por canal, las realizaciones del codificador 400 y el descodificador 450, como se describe en el presente documento, pueden proporcionar un codificador y descodificador de audio, que en ciertas circunstancias puede producir una calidad de audio igual a tasas de transmision de bits aun mas bajas de aproximadamente 32 kb/s por canal. Ademas, realizaciones de un codificador y descodificador tienen un retardo algoritmico suficientemente pequeno para utilizarse para sistemas de comunicacion bidireccionales, que pueden implementarse en la tecnologia existente utilizando solo modificaciones minimas.
Realizaciones de la presente invencion, especialmente en forma de un codificador 400 y un descodificador 450, lo consiguen combinando la tecnologia de audio de MPE�-4 existente con una adaptacion de numeros minima necesaria para operaciones de bajo retardo para la operacion de bajo retardo para llegar a realizaciones de la presente invencion. Especificamente, el codificador de bajo retardo de ER AAC de MPE�-4 puede combinarse con una herramienta de replicacion de banda espectral (SBR) de MPE�-4 para implementar realizaciones de un codificador 400 y un descodificador 450 considerando las modificaciones descritas. El incremento resultante en retardo algoritmico se alivia mediante modificaciones menores de la herramienta de SPR, que no se describiran en la presente solicitud, y el uso de una realizacion de un banco de filtros de codificador central de bajo retardo y una realizacion de un banco de filtros de analisis o un banco de filtros de sintesis. Dependiendo de la implementacion concreta, tal codificador de AAC LD mejorado puede ahorrar hasta un 33% de la tasa de transmision de bits al mismo nivel de calidad en comparacion con un codificador de ACC LD normal mientras que mantiene un retardo suficientemente bajo para una aplicacion de comunicacion bidireccional.
Antes de presentar un analisis de retardo mas detallado con referencia a la figura 14, se describe un sistema de codificacion que comprende una herramienta de SBR. En otras palabras, en esta seccion, se analizan todos los componentes de un sistema 500 de codificacion mostrado en la figura 14a con respecto a su contribucion al retardo del sistema global. La figura 14a da una vista general detallada del sistema completo, en el que la figura 14b pone enfasis en las fuentes del retardo.
El sistema mostrado en la figura 14a comprende un codificador 500, que a su vez comprende un convertidor de tiempo/frecuencia de MDCT, funciona en el enfoque de velocidad doble como un codificador de velocidad doble. Ademas, el codificador 500 tambien comprende un banco 520 de filtros de analisis de �M�, que es parte de la herramienta de SBR. Tanto el convertidor 510 de tiempo/frecuencia de MDCT como el banco de filtros de analisis de �M� (�M� = filtro espejo en cuadratura) estan relacionados entre si tanto en terminos de sus entradas como de sus salidas. En otras palabras, tanto al convertidor 510 de MDCT como al banco 520 de filtros de analisis de �M� es provisto se le proporcionan los mismos datos de entrada. Sin embargo, mientras que el convertidor 510 de MDCT proporciona la informacion de baja banda, el banco 520 de filtros de analisis de �M� proporciona los datos de SBR. Ambos datos se combinan para dar un flujo de bits y se proporcionan a un descodificador 530.
El descodificador 530 comprende un convertidor 540 de frecuencia/tiempo de IMDCT, que puede descodificar el flujo de bits para obtener, por lo menos en terminos de las partes de banda baja, una senal de dominio de tiempo, que se proporcionara a una salida del descodificador a traves de un retardador 550. Ademas, una salida del convertidor 540 de IMDCT esta acoplada a un banco 560 de filtros de analisis de �M� adicional, que es parte de una herramienta de SBR del descodificador 530. Ademas, la herramienta de SBR comprende un generador 570 de H�, que esta acoplada a una salida del banco 560 de filtros de analisis de �M� y puede generar las componentes de frecuencia mas alta basandose en los datos de SBR del banco 520 de filtros de analisis de �M� del codificador 500. Una salida del generador 570 de H� esta acoplada a un banco 580 de filtros de sintesis de �M�, que transforma las senales en el dominio de �M� de nuevo al dominio de tiempo en el que se combinan las senales de banda baja retardadas con las senales de banda alta, tal como se proporciona por la herramienta de SBR del descodificador 530. Los datos resultantes se proporcionaran a continuacion como datos de salida del descodificador 530.
En comparacion con la figura 14a, la figura 14b enfatiza las fuentes de retardo del sistema mostrado en la figura 14a. Para ser incluso mas precisos, dependiendo de la implementacion concreta del codificador 500 y el descodificador 530, la figura 14b ilustra las fuentes de retardo del sistema de ER AAC LD de MPE�-4 que comprende una herramienta de SBR. El codificador apropiado de este sistema de audio utiliza un banco de filtros de MDCT/IMDCT para una transformacion o conversion de tiempo/frecuencia/tiempo con un tamano de trama de 512 o 480 muestras. Los resultados en retardos de reconstruccion, por consiguiente, que son iguales a 1024 son 960 muestras, dependiendo de la implementacion concreta. En el caso de usar el codec ER AAC LD de MPE�-4 en combinacion con SBR en un modo de velocidad doble, el valor de retardo tiene que duplicarse debido a la conversion de velocidad de muestreo.
Un analisis y requisito de retardo global mas detallado muestra que en el caso de un codec de AAC LD en combinacion con una herramienta de SBR, un retardo algoritmico global de 16 ms a una velocidad de muestreo de 48 kHz y el tamano de trama del codificador central de 480 muestras sera el resultado. La figura 15 comprende una tabla, que da una vista general del retardo producido por los diferentes componentes suponiendo una velocidad de muestreo de 48 kHz y el tamano de trama del codificador central de 480 muestras, donde el codificador central funciona de manera eficaz a una velocidad de muestreo de 24 kHz debido al enfoque de velocidad doble.
La vista general de las fuentes de retardo en la figura 15 muestra que en el caso de un codec AAC LD junto con una herramienta de SBR, se obtendria un retardo algoritmico global de 16 ms, que es sustancialmente mas alto de lo que es permisible para aplicaciones de telecomunicaciones. Esta evaluacion comprende la combinacion estandar del codificador de AAC LD junto con la herramienta de SBR, que incluye las contribuciones de retardo de componentes de velocidad doble de MDCT/IMDCT, componentes de �M� y componentes de solapamiento de SBR.
Sin embargo, utilizando las adaptaciones descritas previamente y mediante el empleo de realizaciones como se describio anteriormente, puede obtenerse un retardo global de solamente 42 ms, que incluye las contribuciones de retardo de las realizaciones de los bancos de filtros de bajo retardo en el modo de velocidad doble (ELD MDCT + IMDCT) y componentes de �M�.
Con respecto a algunas fuentes de retardo en el marco del codificador central de AAC asi como con respecto al modulo de SBR, el retardo algoritmico del nucleo de AAC LD puede describirse como de 2M muestras, donde una vez mas, M es la longitud de trama basica del codificador central. En contraste, el banco de filtros de bajo retardo reduce el numero de muestras por M/2 debido a la introduccion de las secciones 160, 270 iniciales o la introduccion de un numero apropiado de valores cero u otros valores en el marco de las funciones ventana apropiadas. En el caso del uso de un nucleo de AAC en combinacion con una herramienta de SBR, el retardo se duplica debido a la conversion de velocidad de muestreo de un sistema de velocidad doble.
Como aclaracion, algunos de los numeros dados en la tabla en la figura 15, en el marco de un descodificador de SBR tipico, pueden identificarse dos fuentes de retardo. Por una parte, los componentes de �M� comprenden un retardo de reconstruccion del banco de filtros de 640 muestras. Sin embargo, puesto que el retardo de trama de 64-1 = 63 muestras ya se ha introducido por el propio codificador central, puede restarse para obtener el valor retardado dado en la tabla en la figura 15 de 577 muestras.
Por otra parte, la reconstruccion de H� de SBR provoca un retardo adicional con una herramienta de SBR estandar de 6 ranuras de �M� debido a la rejilla de tiempo variable. Asi, el retardo es en la SBR estandar, seis veces 64 muestras de 384 muestras.
Implementando realizaciones de bancos de filtros e implementando una herramienta de SBR mejorada, puede obtenerse un ahorro de retardo de 18 ms no implementando una combinacion directa de un codificador de AAC LD junto con una herramienta de SBR que tiene un retardo global de 60 ms, pero puede obtenerse un retardo global de 42 ms. Como se menciono previamente, estas cifras se basan en una velocidad de muestreo de 48 kHz y en una longitud de trama de M = 480 muestras. En otras palabras, aparte del denominado retardo de trama de M = 480 muestras en el ejemplo mencionado anteriormente, el retardo de solapamiento, que es un segundo aspecto importante en terminos de optimizacion de retardo, puede reducirse significativamente introduciendo una realizacion de un banco de filtros de sintesis o un banco de filtros de analisis para obtener un sistema de codificacion de audio de baja tasa de transmision de bits y de bajo retardo.
Realizaciones de la presente invencion pueden implementarse en muchos campos de aplicacion, tales como sistemas de conferencia y otros sistemas de comunicacion bidireccionales. En el momento de su concepcion alrededor de 1997, los requisitos retardados establecidos para un esquema de codificacion de audio general de bajo retardo, que llevan al diseno del codificador de AAC LD, eran obtener un retardo algoritmico de 20 ms, que se satisface por el AAC LD cuando funciona a una velocidad de muestra de 48 kHz y un tamano de trama de M = 480. En contraste con esto, muchas aplicaciones practicas de este codec, tales como teleconferencia, emplean una velocidad de muestreo de 32 kHz y asi, trabajan con un retardo de 30 ms. Similarmente, debido a la importancia creciente de las comunicaciones basadas en IP, los requisitos de retardo del codec de telecomunicacion de ITU modernos permiten un retardo de, aproximadamente, 40 ms. Diferentes ejemplos incluyen el codificador C anexo �.722.1 reciente con un retardo algoritmico de 40 ms y el codificador �.729.1 con un retardo algoritmico de 48 ms. Asi, puede conseguirse que el retardo global obtenido por un codificador de AAC LD mejorado o codificador de AAC ELD que comprende una realizacion de un banco de filtros de bajo retardo este por completo dentro del intervalo de retardo de los codificadores de telecomunicacion comunes.
La figura 16 muestra un diagrama de bloques de una realizacion de un mezclador 600 para mezclar una pluralidad de tramas de entrada, en el que cada trama de entrada es una representacion espectral de una trama de dominio de tiempo correspondiente que se proporciona de una fuente diferente. Por ejemplo, cada trama de entrada para el mezclador 600 puede proporcionarse por una realizacion de un codificador 400 u otro sistema o componente apropiado. Debe indicarse que en la figura 16, el mezclador 600 esta adaptado para recibir tramas de entrada de tres fuentes diferentes. Sin embargo, esto no representa ninguna limitacion. Para ser mas precisos, en principio, una realizacion de un mezclador 600 puede estar adaptada o configurada para procesar y recibir un numero arbitrario de tramas de La realizacion del mezclador 600 mostrado en la figura 16 comprende un descodificador 610 de entropia, que puede descodificar por entropia la pluralidad de tramas de entrada proporcionadas por las diferentes fuentes. Dependiendo de la implementacion concreta, el descodificador 610 de entropia puede implementarse, por ejemplo, como un descodificador de entropia de Huffman o como un descodificador de entropia que emplea otro algoritmo de descodificacion por entropia, tal como la denominada codificacion aritmetica, codificacion unaria, codificacion de Elias �amma, codificacion de �ibonacci, codificacion de �olomb o codificacion de Rice.
Las tramas de entrada descodificadas por entropia se proporcionan a continuacion a un descuantificador 620 opcional, que puede estar adaptado de tal manera que las tramas de entrada descodificadas por entropia pueden descuantificarse para adaptarse a circunstancias especificas de la aplicacion, tal como la caracteristica de volumen del oido humano. Las tramas de entrada descodificadas por entropia y opcionalmente descuantificadas se proporcionan a continuacion a un escalador 630, que puede escalar la pluralidad de tramas de entropia en el dominio de frecuencia. Dependiendo de la implementacion concreta de una realizacion de un mezclador 600, el escalador 630 puede por ejemplo, escalar cada una de las tramas de entrada descodificadas por entropia y opcionalmente descuantificadas multiplicando cada uno de los valores por un factor constante 1/P, donde P es un numero entero que indica el numero de diferentes fuentes o codificadores 400.
En otras palabras, el escalador 630 en este caso puede escalar hacia abajo las tramas proporcionadas por el descuantificador 620 o el descodificador 610 de entropia para escalarlas hacia abajo para impedir que las senales correspondientes se vuelvan demasiado grandes con el fin de impedir un desbordamiento u otro error computacional, o para impedir distorsiones audibles como chasquidos. Tambien pueden implementarse diferentes implementaciones del escalador 630, tal como un escalador que pueda escalar la trama proporcionada en una manera de conservacion de energia, por ejemplo, evaluando la energia de cada una de las tramas de entrada, dependiendo de una o mas bandas de frecuencia espectrales. En tal caso, en cada una de estas bandas de frecuencia espectrales, los valores correspondientes en el dominio de frecuencia pueden multiplicadores por un factor constante, de tal manera que la energia global con respecto a todos los intervalos de frecuencia sea identica. Adicional o alternativamente, el escalador 630 puede estar adaptado tambien de tal manera que la energia de cada uno de los subgrupos espectrales sea identica con respecto a todas las tramas de entrada de todas las fuentes diferentes, o que la energia global de cada una de las tramas de entrada sea constante.
A continuacion el escalador 630 se acopla a un sumador 640, que puede sumar las tramas proporcionadas por el escalador, que tambien se denominan tramas escaladas en el dominio de frecuencia para generar una trama sumada tambien en el dominio de frecuencia. Esto puede conseguirse por ejemplo sumando todos los valores correspondientes al mismo indice de muestra de todas las tramas escaladas proporcionadas por el escalador 630.
El sumador 640 puede sumar las tramas proporcionadas por el escalador 630 en el dominio de frecuencia para obtener una trama sumada, que comprende la informacion de todas las fuentes como se proporciona por el escalador 630. Como un componente opcional adicional, una realizacion de un mezclador 600 tambien puede comprender un cuantificador 650 al que puede proporcionarse la trama sumada del sumador 640. Segun los requisitos especificos de la aplicacion, el cuantificador 650 opcional puede usarse por ejemplo para adaptar la trama sumada para satisfacer algunas condiciones. Por ejemplo, el cuantificador 650 puede estar adaptado de tal manera que el tacto del descuantificador 620 pueda invertirse. En otras palabras, si por ejemplo, una caracteristica especial radica en las tramas de entrada tal como se proporcionan al mezclador, que se ha eliminado o alterado por el descuantificador 620, el cuantificador 650 puede adaptarse entonces para proporcionar estos requisitos o condiciones especiales a la trama sumada. Como ejemplo, el cuantificador 650 puede estar adaptado por ejemplo para adaptarse a las caracteristicas del oido humano.
Como componente adicional, la realizacion del mezclador 600 puede comprender ademas un codificador 660 de entropia, que puede codificar por entropia la trama sumada opcionalmente cuantificada y proporcionar una trama mezclada a uno o mas receptores, por ejemplo, que comprenden una realizacion de un codificador 450. Una vez mas, el codificador 660 de entropia puede estar adaptado para codificar por entropia la trama sumada basandose en el algoritmo de Huffman u otro de los algoritmos mencionados anteriormente.
Mediante el empleo de una realizacion de un banco de filtros de analisis, un banco de filtros de sintesis u otra realizacion relacionada en el marco de un codificador y un descodificador, puede establecerse e implementarse un mezclador que puede mezclar senales en el dominio de frecuencia. En otras palabras, implementando una realizacion de uno de los codecs de AAC de bajo retardo mejorados descritos previamente, puede implementarse un mezclador, que puede mezclar directamente una pluralidad de tramas de entrada en el dominio de frecuencia, sin tener que transformar las tramas de entrada respectivas al dominio de tiempo para compensar la posible conmutacion de parametros, que se implementan en los codecs del estado de la tecnica para comunicaciones de voz. Como se explico en el contexto de las realizaciones de un banco de filtros de analisis y un banco de filtros de sintesis, estas realizaciones permiten un funcionamiento sin conmutar parametros, como la conmutacion de las longitudes de bloque o conmutacion entre ventanas diferentes.
La figura 17 muestra una realizacion de un sistema 700 de conferencia en forma de una MCU (unidad de control de medios), que puede implementarse por ejemplo en el marco de un servidor. El sistema 700 de conferencia o MCU 700 comprende una pluralidad de flujos de bits, de los que en la figura 17, se muestran dos. Un descodificador 610 de entropia y un descuantificador 620 combinados asi como una unidad 630, 640 combinada se marcan en la figura 17 como "mezclador". Ademas, la salida de la unidad 630, 640 combinada se proporciona a la unidad combinada que comprende un cuantificador 650 y el codificador 660 de entropia, que proporciona como tramas mezcladas una flujo de bits saliente.
En otras palabras, la figura 17 muestra una realizacion de un sistema 700 de conferencia que puede mezclar una pluralidad de flujos de bits entrantes en el dominio de frecuencia, porque el flujo de bits entrante y los flujos de bits salientes se han creado utilizando una ventana de bajo retardo en el lado del codificador, mientras que los flujos de bits salientes estan previstos para y pueden procesarse, basandose en la misma ventana de bajo retardo en el lado del descodificador. En otras palabras, la MCU 700 mostrada en la figura 17 esta basada en el uso de la ventana de bajo retardo universal solamente.
Una realizacion de un mezclador 600 asi como una realizacion de un sistema 700 de conferencia es por consiguiente apropiada para aplicarse en el marco de las realizaciones de la presente invencion en forma de un banco de filtros de analisis, un banco de filtros de sintesis y las otras realizaciones relacionadas. Para ser mas precisos, una aplicacion tecnica de una realizacion de un codec de bajo retardo con solamente una ventana permite la mezcla en el dominio de frecuencia. Por ejemplo, en escenarios de (tele)conferencia con mas de dos participantes o fuentes, a menudo puede ser deseable recibir varias senales de codec, mezclarlas para dar una senal y transmitir adicionalmente la senal codificada resultante. Mediante el empleo de una realizacion de la presente invencion en el lado del codificador y el lado del descodificador, en algunas realizaciones de un sistema 700 de conferencia y el mezclador 600, el metodo de implementacion puede reducirse en comparacion con una manera directa de descodificar las senales entrantes, mezclar las senales descodificadas en el dominio de tiempo y recodificar la senal mezclada otra vez al dominio de frecuencia.
La implementacion de tal mezclador directo en forma de una MCU se muestra en la figura 18 como un sistema 750 de conferencia. El sistema 750 de conferencia tambien comprende un modulo 760 combinado para cada uno de los flujos de bits entrantes que funcionan en el dominio de frecuencia y que puede realizar descodificacion por entropia y descuantificacion de los flujo de bits entrantes. Sin embargo, en el sistema 750 de conferencia mostrado en la figura 18, los modulos 760 estan acoplados al convertidor 770 de IMDCT cada uno, de los que uno funciona en el modo de funcionamiento de ventana seno, mientras que el otro funciona actualmente en el modo de funcionamiento de ventana de solapamiento bajo. En otras palabras, los dos convertidores 770 de IMDCT transforman los flujos de bits entrantes del dominio de frecuencia al dominio de tiempo, que es necesario en el caso de un sistema 750 de conferencia porque los flujos de bits entrantes se basan en un codificador, que usa tanto la ventana seno como la ventana de solapamiento bajo, dependiendo de la senal de audio para codificar las senales respectivas.
El sistema 750 de conferencia comprende ademas un mezclador 780, que mezcla en el dominio de tiempo las dos senales entrantes de los dos convertidores 770 de IMDCT y proporciona una senal de dominio de tiempo mezclada a un convertidor 790 de MDCT, que transfiere la senal del dominio de tiempo al dominio de frecuencia.
La senal mezclada en el domicilio de frecuencia como se proporciona por la MDCT 790 se proporciona a continuacion a un modulo 795 combinado, que a continuacion puede cuantificar una codificacion de entropia de la senal para formar el flujo de bits saliente.
Sin embargo, el enfoque segun el sistema 750 de conferencia tiene dos desventajas. Debido a la descodificacion y codificacion completa por los dos convertidores 770 de IMDCT y la MDCT 790, el alto coste computacional debe pagarse implementando el sistema 750 de conferencia. Sin embargo, debido a la introduccion de la descodificacion y codificacion, se introduce un retardo adicional que puede ser alto en ciertas circunstancias.
Mediante el empleo de los sitios de descodificador y codificador, realizaciones de la presente invencion, o para ser mas precisos, implementando la nueva ventana de bajo retardo, pueden superarse o eliminarse estas desventajas dependiendo de la implementacion concreta en el caso de algunas realizaciones. Esto se consigue realizando la mezcla en el dominio de frecuencia como se explica en el contexto del sistema 700 de conferencia en la figura 17. Como consecuencia, la realizacion de un sistema 700 de conferencia como se muestra en la figura 17 no comprende transformadas y/o bancos de filtros que tengan que implementarse en el marco del sistema 750 de conferencia para descodificar y codificar las senales con el fin de transformar las senales del dominio de frecuencia al dominio de tiempo y al reves otra vez. En otras palabras, la mezcla de flujo de bits en el caso de diferentes formas de ventana da como resultado un coste adicional de un bloque de retardo adicional debido al convertidor de 770, 790 MDCT/IMDCT.
Como consecuencia, en algunas realizaciones del mezclador 600 y en algunas realizaciones del sistema 700 de conferencia como ventajas adicionales, pueden implementarse costes computacionales mas bajos y una limitacion con respecto a un retardo adicional, de tal manera que en algunos casos pueda conseguirse incluso ningun retardo adicional.
La figura 19 muestra una realizacion de una implementacion eficaz de un banco de filtros de bajo retardo. Para ser mas precisos, antes de discutir la complejidad computacional y aspectos adicionales relacionados con la aplicacion, en el marco de la figura 19, se describira en mas detalle una realizacion de un banco 800 de filtros de sintesis, que puede implementarse por ejemplo en una realizacion de un descodificador. La realizacion de un banco 800 de filtros de analisis de bajo retardo, por tanto, simboliza una inversa de una realizacion de un banco de filtros de sintesis o un codificador.
El banco 800 de filtros de sintesis comprende un convertidor 810 de frecuencia/tiempo de transformada de coseno discreta tipo iv inversa, que puede proporcionar una pluralidad de tramas de salida a un modulo 820 combinado que comprende un formador de ventanas y un solapador/sumador. Para ser mas precisos, el convertidor 810 de tiempo/frecuencia es un convertidor de transformada de coseno discreta tipo iv inversa, al que se proporciona una trama de entrada que comprende M valores de entrada ordenados yk (0),..., yk (M-1), donde M es una vez mas un numero entero positivo y donde k es un numero entero que indica un indice de trama. El convertidor 810 de tiempo/frecuencia proporciona 2M muestras de salida ordenadas xk(0),..., xk(2M-1) basandose en los valores de entrada y proporciona estas muestras de salida al modulo 820 que a su vez comprende el formador de ventanas y el solapador/sumador mencionados anteriormente.
El formador de ventanas del modulo 820 puede generar una pluralidad de tramas en ventanas, en el que cada una de las tramas en ventanas comprende una pluralidad de muestras en ventanas zk(0),..., zk(2M-1) basandose en la ecuacion
o expresion
para n = 0,...,2M-1,
donde n es una vez mas un numero entero que indica un indice de muestra y w(n) es un coeficiente de funcion ventana de valor real correspondiente al indice de muestra n. El solapador/sumador tambien comprendido en el modulo 820, lo proporciona o genera en la trama intermedia que comprende una pluralidad de muestras intermedias Mk(0),...Mk(M-1) basandose en la ecuacion o expresion
para n = 0,...,M-l .
La realizacion del banco 800 de filtros de sintesis comprende ademas un elevador 850, que produce una trama sumada que comprende una pluralidad de muestras sumadas outk(0),...,outk(m-1) basandose en la ecuacion o expresion
para n = M/2,...,M-1, y
para n=0,...,M/2-1,
donde 1(M-1-n),..., 1(M-1) son coeficientes de elevacion de valor real. En la figura 19, la realizacion de la implementacion computacionalmente eficaz de un banco 800 de filtros de bajo retardo comprende en el marco del elevador 830, una pluralidad de retardadores y multiplicadores 840 combinados asi como una pluralidad de sumadores 850 para llevar a cabo los calculos mencionados anteriormente en el marco del elevador 830.
Dependiendo de la implementacion concreta de una realizacion de un banco 800 de filtros de sintesis, los coeficientes de ventana o coeficientes de funcion ventana w(n) obedecen a las relaciones dadas en la tabla 5 del anexo en el caso de una realizacion con M = 512 valores de entrada por trama de entrada. La tabla 9 del anexo comprenden un conjunto de relaciones, que obedecen los coeficientes de ventana w(n), en el caso de M = 480 valores de entrada por trama de entrada. Ademas, las tablas 6 y 10 comprenden relaciones para los coeficientes de elevacion 1(n) para realizaciones con M = 512 y M = 480, respectivamente.
Sin embargo, en algunas realizaciones de un banco 800 de filtros de sintesis, los coeficientes de ventana w(n) comprenden los valores dados en la tabla 7 y 11, para realizaciones con M = 512 y M = 480 valores de entrada por trama de entrada, respectivamente. Asi, las tablas 8 y 12 en el anexo comprenden los valores para el coeficiente de elevacion 1(n) para realizaciones con M = 512 y M = 480 muestras de entrada por trama de entrada, respectivamente.
En otras palabras, una realizacion de un banco 800 de filtros de bajo retardo puede implementarse de manera suficiente como un convertidor de MDCT regular. La estructura general de tal realizacion se ilustra en la figura 19. La DCT-IV inversa y el solapamiento/suma de ventana inverso se realizan de la misma manera que las ventanas tradicionales, sin embargo, empleando los coeficientes de formacion de ventanas mencionados anteriormente, dependiendo de la implementacion concreta de la realizacion. Como en el caso de los coeficientes de formacion de ventanas en el marco de la realizacion del banco 200 de filtros de sintesis, tambien en este caso M/4 coeficientes de ventana son coeficientes de ventana de valor cero, que asi en principio no implican ninguna operacion. Para el solapamiento extendido al pasado, solamente se requieren M operaciones de multiplicador-suma adicionales, como puede observarse en el marco del elevador 830. Estas operaciones adicionales se denominan a veces tambien "matrices de retardo cero". A veces estas operaciones tambien se conocen como "etapas de elevacion".
La implementacion eficaz mostrada en la figura 19 puede en algunas circunstancias ser mas eficaz como implementacion directa de un banco 200 de filtros de sintesis. Para ser mas precisos, dependiendo de la implementacion concreta, tal implementacion mas eficaz puede dar como resultado un ahorro de M operaciones, como En terminos de una valoracion sobre la complejidad de una realizacion de un banco de filtros de bajo retardo, especialmente en terminos de la complejidad computacional, la figura 20 comprende una tabla que ilustra la complejidad aritmetica de una realizacion de una implementacion de una realizacion de un banco 800 de filtros de sintesis segun la figura 19 en el caso de M = 512 valores de entrada por trama de entrada. Para ser mas precisos, la tabla en la figura 20 comprende un valor estimativo del numero global resultante de operaciones en el caso de un convertidor de IMDCT (modificado) junto con una formacion de ventanas en el caso de una funcion ventana de bajo retardo. El numero de operaciones global es 9600.
En comparacion, la figura 21 comprende una tabla de la complejidad aritmetica de IMDCT junto con la complejidad requerida para la formacion de ventanas basandose en la ventana seno para un parametro M=512, que da el numero total de operaciones para el codec, tal como el codec AAC LD. Para ser mas precisos, la complejidad aritmetica de este convertidor de IMDCT junto con la formacion de ventanas para la ventana seno es de 9216 operaciones, que es del mismo orden de magnitud que el numero de operaciones global resultante en el caso de la realizacion del banco 800 de filtros de sintesis mostrado en la figura 19.
Como una comparacion adicional, la figura 22 comprende una tabla para un codec de AAC LC, que tambien se conoce como codec de audio por adelantado con baja complejidad. La complejidad aritmetica de este convertidor de IMDCT, incluyendo las operaciones para solapamiento de ventanas para el AAC LC (M = 1024) es 19968.
Una comparacion de estas cifras muestra que en resumen, la complejidad del codificador central que comprende una realizacion de un banco de filtros de bajo retardo mejorado es esencialmente comparable a la de un codificador central, utilizando un banco de filtros de MDCT-IMDCT regular. Ademas, el numero de operaciones es aproximadamente la mitad del numero de operaciones de un codec de AAC LC.
La figura 23 comprende dos tablas, donde la figura 23a comprende una comparacion de los requisitos de memoria de diferente codecs, mientras que la figura 23b comprende el mismo valor estimativo con respecto al requisito de ROM. Para ser mas precisos, las tablas en ambas figuras 23a y 23b comprenden cada una para los codecs mencionados anteriormente AAC LD, AAC ELD y AAC LC informacion sobre la longitud de trama, la memoria intermedia de trabajo y sobre la memoria intermedia de estado en terminos del requisito de RAM (figura 23a) e informacion sobre la longitud de trama, el numero de coeficientes de ventana y la suma, en terminos de los requisitos de memoria ROM (figura 23b). Como se menciono previamente en las tablas en las figuras 23a y 23b, la abreviatura AAC, ELD se refieren a una realizacion de un banco de filtros de sintesis, un banco de filtros de analisis, codificador, descodificador o una realizacion posterior. Para resumir, en comparacion con la IMDCT con ventana seno, la implementacion eficaz descrita segun la figura 19 de una realizacion del banco de filtros de bajo retardo requiere una memoria de estado adicional de longitud M y M coeficientes adicionales, los coeficientes de elevacion 1(0),..., 1 (M-1). Asi como una longitud de trama del AAC LD es la mitad de la longitud de trama de AAC LC, el requisito de memoria resultante esta en el intervalo del del AAC LC.
En terminos de requisitos de memoria, las tablas mostradas en la figura 23a y 23b, por tanto, comparan los requisitos de RAM y ROM para los tres codecs mencionados anteriormente. Puede observarse que el incremento de memoria para el banco de filtros de bajo retardo es solamente moderado. El requisito de memoria global es todavia mucho mas bajo en comparacion con un codec o una implementacion de AAC LC.
La figura 24 comprende una lista de codecs usados para una prueba de MUSHRA usada en el marco de una valoracion de rendimiento. En la tabla mostrada en la figura 24, la abreviatura AOT significa tipo de objeto de audio, donde la entrada "X" significa la cinta de objeto de audio ER AAC ELD que tambien puede ajustarse a 39. En otras palabras, el AOT, X o AOT 39 identifica una realizacion de un banco de filtros de sintesis o un banco de filtros de analisis. La abreviatura AOT significa en este contexto "tipo de objeto de audio".
En el marco de una prueba de MUSHRA, la influencia de usar una realizacion del banco de filtros de bajo retardo sobre el codificador descrito previamente se sometio a prueba llevando a cabo una prueba de escucha para todas las combinaciones en la lista. Para ser mas precisos, el resultado de estas pruebas permite las siguientes conclusiones. El descodificador de AAC ELD a 32 kbit/s por canal, funciona significativamente mejor que el descodificador de AAC LD original a 32 kb/s. Ademas, el descodificador de AAC ELD a 32 kb/s por canal funciona estadisticamente de manera indistinguible del descodificador de AAC LD original a 48 kb/s por canal. Como un codificador de punto de verificacion, que se enlaza a AAC LD y el banco de filtros de bajo retardo funciona estadisticamente de manera indistinguible de un codificador de AAC LD original funcionando ambos a 48 kb/s. Esto confirma la conveniencia de un banco de filtros de bajo retardo.
Asi, el rendimiento del codificador global sigue siendo comparable, mientras que se obtiene un ahorro significativo en retardo de codec. Ademas, fue posible mantener el rendimiento de presion del codificador.
Como se explico previamente, los escenarios de aplicacion prometedores o aplicaciones de realizaciones de la presente invencion, tales como una realizacion de un codec de AAC ELD son la video-teleconferencia de alta fidelidad y aplicaciones de voz sobre IP de la siguiente generacion. Esto incluye la transmision de senales de audio arbitrarias, tales como voz o musica, o en el contexto de una presentacion multimedia, a altos niveles de calidad y tasas de Ademas, el presente documento ha descrito la construccion de un descodificador de AAC ELD mejorado que opcionalmente puede combinarse con una herramienta de replicacion de banda espectral (SBR). Con el fin de restringir el incremento asociado en retardo, pueden ser necesarias modificaciones minimas en terminos de una implementacion directa real en la herramienta de SBR y los modulos de codificador central. El rendimiento de la descodificacion de audio de bajo retardo mejorado resultado basandose en la tecnologia mencionada anteriormente se incrementa significativamente, en comparacion con lo que se proporciona actualmente por el estandar de audio de MPE�-4. La complejidad del esquema de codificacion central sigue siendo, sin embargo, esencialmente identico. Ademas, las realizaciones de la presente invencion comprenden un banco de filtros de analisis o banco de filtros de sintesis que incluye una ventana de analisis de bajo retardo o un filtro de sintesis de bajo retardo. Ademas, una realizacion de un metodo para analizar una senal o sintetizar una senal que tiene una etapa de filtracion de analisis de bajo retardo o una etapa de filtracion de sintesis de bajo retardo. Tambien se describen realizaciones de un filtro de analisis de bajo retardo
o filtro de sintesis de bajo retardo. Ademas, se dan a conocer programas informaticos que tienen un codigo de programa para implementar uno de los metodos anteriores cuando se ejecutan en un ordenador. Una realizacion de la presente invencion comprende tambien un codificador que tiene un filtro de analisis de bajo retardo, o un descodificador que tiene un filtro de sintesis de bajo retardo, o uno de los metodos correspondientes.
Dependiendo de ciertos requisitos de implementacion de las realizaciones de los metodos de la invencion, las realizaciones de los metodos de la invencion pueden implementarse en hardware, o en software. La implementacion puede realizarse utilizando un medio de almacenamiento digital, en particular, un disco, un CD o un DVD que tiene senales de control legibles electronicamente almacenadas en el mismo, que actuan conjuntamente con el ordenador programable o un procesador, de tal manera que se realice una realizacion de los metodos de la invencion. En general, una realizacion de la presente invencion es por consiguiente un producto de programa informatico con un codigo de programa almacenado en un soporte legible a maquina, siendo operativo el codigo de programa para realizar una realizacion de los metodos de la invencion cuando el producto de programa informatico se ejecuta en el ordenador o procesador. En otras palabras, realizaciones de los metodos de la invencion son por consiguiente, un programa informatico que tiene un codigo de programa para realizar por lo menos una de las realizaciones de los metodos de la invencion, cuando el programa informatico se ejecuta en el ordenador o procesador. En este contexto, los procesadores comprenden CPU (unidad de procesamiento central), ASIC (circuitos integrados especificos de aplicacion) o circuitos integrados (IC) adicionales.
Aunque lo anterior se ha mostrado y descrito particularmente con referencia a realizaciones particulares de, se comprendera por los expertos en la tecnica que pueden realizarse diversos otros cambios en la forma y detalles sin apartarse del alcance del mismo. Debe entenderse que pueden realizarse diversos cambios en la adaptacion a diferentes realizaciones sin apartarse del concepto mas amplio dado a conocer en el presente documento, como esta comprendido en las siguientes reivindicaciones.
Anexo
Tabla 1 (coeficientes de ventana w(n); N = 960)
(continuacion)
Tabla 2 (coeficientes de ventana w(n); N = 960)
Tabla 3 (coeficientes de ventana w(n); N = 1024)
Tabla 4 (coeficientes de ventana w(n); N = 1024)
Tabla 5 (coeficientes de ventana w(n); M = 512)
Tabla 6 (coeficientes elevacion 1(n); M = 512)
Tabla 7 (coeficientes de ventana w(n); M = 512)
Tabla 8 (coeficientes de elevacion 1(n); M = 512)
Tabla 9 (coeficientes de ventana w(n); M = 480)

Claims (39)

  1. REIVINDICACIONES
    1. Banco de filtros de sintesis para filtrar una pluralidad de tramas de entrada, comprendiendo cada trama de entrada un numero de valores de entrada ordenados, que comprende:
    un convertidor (210) de frecuencia/tiempo configurado para proporcionar una secuencia de tramas (240) de salida, comprendiendo una trama de salida un numero de muestras de salida ordenadas, siendo una trama de salida una representacion temporal de una trama de entrada;
    un formador (220) de ventanas configurado para procesar cada trama de salida para generar una trama en ventanas a partir de la trama de salida respectiva ponderando las muestras de salida de la trama de salida respectiva basandose en una funcion (280) de ponderacion de modo que cada trama en ventanas comprende una pluralidad de muestras en ventanas; y
    en el que el formador de ventanas esta configurado para proporcionar la pluralidad de muestras en ventanas para un procesamiento de manera solapante basandose en un valor por adelantado de muestra, siendo el numero de muestras de salida ordenadas mas grande que dos veces el valor por adelantado de muestra;
    un solapador/sumador (230) configurado para proporcionar una trama (290) sumada para cada trama en ventanas, comprendiendo la trama sumada una pluralidad de tramas sumadas un numero de las cuales es igual al valor por adelantado de muestra,
    en el que el solapador/sumador esta configurado de manera que la trama sumada comprende al menos una seccion (300) de partida correspondiente a al menos el valor de salida mas anterior segun el orden de las muestras de salida ordenadas y una seccion (310) restante,
    en el que el solapador/sumador esta configurado para, al proporcionar la trama sumada, sumar al menos tres muestras en ventanas a partir de al menos tres tramas en ventanas generadas consecutivamente incluyendo la trama en ventanas respectiva y al menos dos tramas del pasado, para una muestra sumada en la seccion restante y sumar al menos dos muestras en ventanas a partir de las al menos dos tramas en ventanas del pasado para una muestra sumada en la seccion de partida,
    en el que el numero de muestras en ventanas sumadas para obtener una muestra sumada en la seccion restante es al menos una muestra mas alta en comparacion con el numero de muestras en ventanas sumadas para obtener una muestra sumada en la seccion de partida, o
    el formador de ventanas esta configurado para ajustar las muestras en ventanas correspondientes, correspondientes a la seccion de partida, a un valor predeterminado o a por lo menos un valor en el intervalo predeterminado para cada trama en ventanas de la pluralidad de tramas en ventanas, estando configurado el solapador sumador para utilizar las muestras en ventanas correspondientes asi ajustadas de la trama en ventanas respectiva en la suma con las al menos dos muestras en ventanas de las al menos dos tramas en ventanas del pasado.
  2. 2.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el convertidor de frecuencia/tiempo esta configurado para proporcionar tramas de salida que comprenden mas de dos veces el numero de valores de salida en comparacion con el numero de muestras de entrada de una trama de entrada.
  3. 3.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el convertidor de frecuencia/tiempo esta configurado para proporcionar tramas de salida que comprenden un numero de muestras de salida, que es igual a un numero de muestras de entrada de una trama de entrada multiplicado por un numero entero mayor de 2.
  4. 4.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el convertidor de frecuencia/tiempo esta configurado para proporcionar una trama de salida que comprende un numero de muestras de salida, que es igual al numero de valores de entrada de una trama de entrada multiplicado por 4.
  5. 5.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el convertidor de frecuencia/tiempo esta basado en por lo menos una de una transformada de coseno discreta y una transformada de seno discreta.
  6. 6.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el convertidor de frecuencia/tiempo esta configurado para proporcionar muestras de salida xi,n basandose en la expresion
    para 0 : k < N/2, donde i es un numero entero que indica un indice de ventana, indice de bloque o indice de trama, donde n es un numero entero que indica un indice de muestra, donde k es un numero entero que indica un indice de coeficiente espectral, donde N es un numero entero que indica la mitad del numero de muestras de salida de una trama de salida, donde
    es un valor de desplazamiento, y donde spec[i][k] es una valor de entrada correspondiente al indice de coeficiente espectral k y el indice de ventana i.
  7. 7.
    Banco de filtros de sintesis segun la reivindicacion 6, en el que el convertidor de frecuencia/tiempo esta configurado de modo que N es igual a 960 o 1024.
  8. 8.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el formador de ventanas esta configurado para ignorar una pluralidad de muestras de salida de una trama de salida, correspondiente a la seccion de partida, o ajustar las muestras en ventanas correspondientes, correspondientes a la seccion de partida, al valor predeterminado o a por lo menos un valor en el intervalo predeterminado.
  9. 9.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el formador de ventanas esta configurado para generar una trama en ventanas basandose en una trama de salida y una funcion de ponderacion ponderando al menos una muestra de salida de la trama de salida basandose en la funcion de ponderacion.
  10. 10.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el formador de ventanas esta configurado para generar una trama en ventanas basandose en una trama de salida multiplicando una muestra de salida de la trama de salida por un valor basandose en la funcion ventana.
  11. 11.
    Banco de filtros de sintesis segun la reivindicacion 10, en el que el formador de ventanas esta configurado para multiplicar por lo menos una pluralidad de muestras de salida de la trama de salida por un coeficiente de formacion de ventanas especifico de muestra de salida de la funcion ventana.
  12. 12.
    Banco de filtros de sintesis segun la reivindicacion 11, en el que el formador de ventanas esta configurado para multiplicar cada muestra de salida de la trama de salida por un coeficiente de formacion de ventanas especifico de muestra de la funcion ventana.
  13. 13.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el formador de ventanas esta configurado para generar una muestra en ventanas zi,n basandose en una expresion
    donde i es un numero entero que indica un indice de trama o un indice de bloque de una trama en ventanas y/o de una trama de salida, donde n = 0,..., 2N-1 es un numero entero que indica un indice de muestra, donde N es un numero entero que indica dos veces el numero de los valores de entrada de una trama de entrada y/o la mitad del numero de muestra de salida de una trama de salida y/o de las muestras en ventanas de una trama en ventanas, donde w(n) es la funcion ventana y donde xi,n es una muestra de salida con un indice de muestra n y el indice de trama i.
  14. 14.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el formador de ventanas esta configurado para generar una muestra en ventanas zi,n basandose en una expresion
    donde i es un numero entero que indica un indice de trama o un indice de bloque de una trama en ventanas y/o de una trama de salida, donde n = N/8,..., 2N-1 es un numero entero que indica un indice de muestra, donde N es un numero entero que indica dos veces el numero de los valores de entrada de una trama de entrada y/o la mitad del numero de muestras de salida de una trama de salida y/o de las muestras en ventanas de una trama en ventanas, donde w(n) es la funcion ventana y donde xi,n es una muestra de salida con un indice de muestra n y el indice de trama i.
  15. 15.
    Banco de filtros de sintesis segun la reivindicacion 13, en el que el formador de ventanas esta configurado de tal manera que N es igual a 960 y los coeficientes de ventana w(0) a w(2N-l) obedecen las relaciones dadas en la tabla 1 en el anexo.
  16. 16.
    Banco de filtros de sintesis segun la reivindicacion 15, en el que el formador de ventanas esta configurado de tal manera que los coeficientes de ventana w(0) a w(2N-l) comprenden los valores dados en la tabla 2 en el
    anexo.
  17. 17.
    Banco de filtros de sintesis segun la reivindicacion 13, en el que el formador de ventanas esta configurado de tal manera que N es igual a 1024 y los coeficientes de ventana w(0) a w(2N-l) obedecen las relaciones dadas en la tabla 3 en el anexo.
  18. 18.
    Banco de filtros de sintesis segun la reivindicacion 17, en el que el formador de ventanas esta configurado de tal manera que los coeficientes de ventana w(0) a w(2N-l) comprenden los valores dados en la tabla 4 del anexo.
  19. 19.
    Banco de filtros de sintesis segun la reivindicacion 10, en el que el formador de ventanas esta configurado de tal manera que la funcion ventana atribuye coeficientes de ventana de valor real a elementos de un conjunto de definicion.
  20. 20.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el formador de ventanas esta configurado de tal manera que la funcion ventana es asimetrica sobre el conjunto de definicion con respecto a un punto medio de un conjunto de definicion.
  21. 21.
    Banco de filtros de sintesis segun la reivindicacion 20, en el que el formador de ventanas esta configurado de tal manera que la funcion ventana comprende mas coeficientes de ventana con un valor absoluto del 10% de un valor absoluto maximo de los coeficientes de ventana de la funcion ventana en una primera mitad del conjunto de definicion que en la segunda mitad del conjunto de definicion con respecto al punto medio del conjunto de definicion, en el que la primera mitad corresponde a la mitad mas anterior de los valores de salida.
  22. 22.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el formador de ventanas esta configurado de tal manera que la funcion ventana esta basada en una variante reflejada de o identica a una funcion ventana basandose en lo cual se generan las tramas de entrada para el banco de filtros de sintesis.
  23. 23.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el formador de ventanas esta configurado de tal manera que la funcion ventana es una funcion ventana reflejada con respecto a un punto medio del conjunto de definicion de la funcion ventana en comparacion con una funcion ventana basandose en lo cual se generan las tramas de entrada para el banco de filtros de sintesis.
  24. 24.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el formador de ventanas esta configurado de tal manera que el valor predeterminado es 0.
  25. 25.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el formador de ventanas esta configurado para ajustar una muestra en ventanas a un valor en el intervalo predeterminado por al menos uno de ajustar la muestra en ventanas correspondiente a un valor que comprende un valor absoluto menos que un umbral minimo y ajustar la muestra en ventanas correspondiente a un valor que comprende un valor absoluto mas que un umbral maximo.
  26. 26.
    Banco de filtros de sintesis segun la reivindicacion 25, en el que el umbral minimo o el umbral maximo viene dado por 10s o 2s, donde s es un numero entero.
  27. 27.
    Banco de filtros de sintesis segun la reivindicacion 25, en el que el umbral minimo viene determinado por un valor absoluto maximo que puede representarse por un bit menos significativo o una pluralidad de bits menos significativos o el umbral maximo viene determinado por un valor absoluto minimo que puede representarse por un bit mas significativo o una pluralidad de bits mas significativos en el caso de una representacion binaria de por lo menos uno de los valores de entrada, las muestras de salida y las muestras en ventanas.
  28. 28.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el formador de ventanas esta configurado de tal manera que la seccion de partida corresponde a un numero de muestras de salida que es mayor o igual al numero de muestras de salida de una trama de salida dividido por 64.
  29. 29.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el formador de ventanas esta configurado de tal manera que el numero de valores de salida ignorados o el numero de muestras en ventanas ajustadas al valor predeterminado o a por lo menos un valor en el intervalo predeterminado es mayor o igual al numero de muestras sumadas de una trama sumada dividido por 16.
  30. 30.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que la seccion de partida corresponde a un numero de muestras de salida que es 128 o 120.
  31. 31.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el solapador/sumador esta configurado de manera que el numero de las por lo menos tres tramas en ventanas generadas consecutivamente es por lo menos 4 y un numero de las por lo menos dos tramas en ventanas del pasado de por lo menos 3.
  32. 32.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el solapador/sumador esta configurado para proporcionar una tramas sumadas, que es menor que el numero de valores de salida de una trama de salida dividido por 2.
  33. 33.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el solapador/sumador esta configurado para proporcionar tramas sumadas que comprenden un numero de muestras sumadas, que es igual al numero de muestras de salida de una trama de salida dividido por un numero entero mayor de 2.
  34. 34.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el solapador/sumador esta configurado para proporcionar tramas sumadas que comprenden un numero de muestras sumadas, que es igual al numero de muestras de salida de una trama de salida dividido por 4.
  35. 35.
    Banco de filtros de sintesis segun la reivindicacion 1, en el que el solapador/sumador esta configurado para proporcionar una muestra sumada outi,n basandose en la expresion
    para 0 : n < N/2,
    donde i es un numero entero que indica un indice de trama o un indice de bloque de una trama en ventanas y/o de una trama sumada, donde n es un numero entero que indica un indice de muestra, donde N es un numero entero que indica la mitad del numero de las muestras de salida de una trama de salida y/o de las muestras en ventanas de la trama en ventanas, donde zi,n es la muestra en ventanas correspondiente a un indice de muestra n y el indice de trama i.
  36. 36.
    Banco de filtros de sintesis segun cualquiera de las reivindicaciones 1 a 35, en el que el banco de filtros de sintesis esta comprendido en un descodificador.
  37. 37.
    Banco de filtros de sintesis segun la reivindicacion 36, en el que el descodificador comprende ademas un descodificador de entropia configurado para descodificar una pluralidad de tramas codificados, y en el que el codificador de entropia esta configurado para proporcionar una pluralidad de tramas de entrada basandose en las tramas codificadas al banco de filtros de sintesis.
  38. 38.
    Metodo para filtrar una pluralidad de tramas de entrada de audio, comprendiendo cada trama de entrada un numero de valores de entrada ordenados, que comprende:
    realizar una conversion de frecuencia/tiempo y proporcionar una secuencia de tramas (240) de salida, comprendiendo una trama de salida un numero de muestras de salida ordenadas, siendo una trama de salida una representacion temporal de una trama de entrada;
    generar una pluralidad de tramas en ventanas procesando cada trama de salida para generar una trama en ventanas a partir de la trama de salida respectiva ponderando las muestras de salida de la trama de salida respectiva basandose en una funcion (280) de ponderacion de modo que cada trama en ventanas comprende una pluralidad de muestras en ventanas, proporcionando la pluralidad de muestras en ventanas para un procesamiento de las tramas en ventanas de manera solapante basandose en un valor por adelantado de muestra;
    generar una trama sumada que comprende una seccion de partida correspondiente a por lo menos el valor de salida mas anterior segun el orden de las muestras de salida ordenadas y una seccion restante para cada trama en ventanas, y comprendiendo la trama sumada una pluralidad de muestras sumadas, siendo un numero de estas igual al valor por adelantado de muestra,
    en el que la generacion de la trama sumada comprende sumar por lo menos tres muestras en ventanas de por lo menos tres tramas en ventanas diferentes generadas consecutivamente incluyendo la respectiva trama en ventanas y por lo menos dos tramas del pasado, para una muestra sumada en la seccion restante y sumar por lo menos dos muestras en ventanas de por lo menos dos tramas en ventanas del pasado para una muestra sumada en la seccion de partida,
    en el que
    el numero de muestras en ventanas sumadas para obtener una muestra sumada esta en la seccion restante por lo menos una muestra mas alta en comparacion con el numero de muestras en ventanas sumadas para obtener una muestra sumada en la seccion de partida, o
    generar la pluralidad de tramas en ventanas comprende ajustar las muestras en ventanas correspondientes, correspondientes a la seccion de partida, a un valor predeterminado a por lo menos un valor en un intervalo predeterminado para cada trama en ventanas de la pluralidad de tramas en ventanas, comprendiendo la generacion de la trama sumada la utilizacion de las muestras en ventanas correspondientes asi ajustadas de la trama en ventanas respectiva en la suma con las por lo menos dos muestras en ventanas de las por lo menos dos tramas en ventanas del pasado.
  39. 39. Programa informatico para realizar, cuando se ejecuta en un ordenador, un metodo segun la reivindicacion 38.
    177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201
ES07801974T 2006-10-18 2007-08-29 Banco de filtros de análisis, banco de filtros de síntesis, codificador, descodificador, mezclador y sistema de conferencia Active ES2386206T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US86203206P 2006-10-18 2006-10-18
US862032P 2006-10-18
US744641 2007-05-04
US11/744,641 US8036903B2 (en) 2006-10-18 2007-05-04 Analysis filterbank, synthesis filterbank, encoder, de-coder, mixer and conferencing system
PCT/EP2007/007553 WO2008046468A2 (en) 2006-10-18 2007-08-29 Analysis filterbank, synthesis filterbank, encoder, decoder, mixer and conferencing system

Publications (1)

Publication Number Publication Date
ES2386206T3 true ES2386206T3 (es) 2012-08-13

Family

ID=38904615

Family Applications (5)

Application Number Title Priority Date Filing Date
ES09010179T Active ES2380177T3 (es) 2006-10-18 2007-08-29 Banco de filtros de análisis, banco de filtros de síntesis, codificador, descodificador, mezclador y sistema de conferencia
ES11173652.6T Active ES2531568T3 (es) 2006-10-18 2007-08-29 Banco de filtro de análisis, banco de filtro de síntesis, codificador, decodificador, mezclador y sistema de conferencia
ES07801974T Active ES2386206T3 (es) 2006-10-18 2007-08-29 Banco de filtros de análisis, banco de filtros de síntesis, codificador, descodificador, mezclador y sistema de conferencia
ES09010178T Active ES2374014T3 (es) 2006-10-18 2007-08-29 Banco de filtros de análisis, banco de filtros de síntesis, codificador, descodificador, mezclador y sistema de conferencia.
ES14199155.4T Active ES2592253T3 (es) 2006-10-18 2007-08-29 Banco de filtros de análisis, banco de filtros de síntesis, codificador, descodificador, mezclador y sistema de conferencia

Family Applications Before (2)

Application Number Title Priority Date Filing Date
ES09010179T Active ES2380177T3 (es) 2006-10-18 2007-08-29 Banco de filtros de análisis, banco de filtros de síntesis, codificador, descodificador, mezclador y sistema de conferencia
ES11173652.6T Active ES2531568T3 (es) 2006-10-18 2007-08-29 Banco de filtro de análisis, banco de filtro de síntesis, codificador, decodificador, mezclador y sistema de conferencia

Family Applications After (2)

Application Number Title Priority Date Filing Date
ES09010178T Active ES2374014T3 (es) 2006-10-18 2007-08-29 Banco de filtros de análisis, banco de filtros de síntesis, codificador, descodificador, mezclador y sistema de conferencia.
ES14199155.4T Active ES2592253T3 (es) 2006-10-18 2007-08-29 Banco de filtros de análisis, banco de filtros de síntesis, codificador, descodificador, mezclador y sistema de conferencia

Country Status (21)

Country Link
US (6) US8036903B2 (es)
EP (5) EP2378516B1 (es)
JP (5) JP5546863B2 (es)
KR (3) KR101162462B1 (es)
CN (4) CN102243875B (es)
AT (3) ATE525720T1 (es)
AU (3) AU2007312696B2 (es)
BR (2) BR122019020171B1 (es)
CA (3) CA2782476C (es)
ES (5) ES2380177T3 (es)
IL (4) IL197757A (es)
MX (1) MX2009004046A (es)
MY (4) MY153289A (es)
NO (5) NO342445B1 (es)
PL (5) PL2074615T3 (es)
PT (1) PT2884490T (es)
RU (1) RU2426178C2 (es)
SG (2) SG174835A1 (es)
TW (1) TWI355647B (es)
WO (1) WO2008046468A2 (es)
ZA (1) ZA200901650B (es)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7422840B2 (en) * 2004-11-12 2008-09-09 E.I. Du Pont De Nemours And Company Apparatus and process for forming a printing form having a cylindrical support
US7916711B2 (en) * 2005-03-24 2011-03-29 Siport, Inc. Systems and methods for saving power in a digital broadcast receiver
GB2439685B (en) 2005-03-24 2010-04-28 Siport Inc Low power digital media broadcast receiver with time division
US7945233B2 (en) * 2005-06-16 2011-05-17 Siport, Inc. Systems and methods for dynamically controlling a tuner
US8335484B1 (en) 2005-07-29 2012-12-18 Siport, Inc. Systems and methods for dynamically controlling an analog-to-digital converter
PL3848928T3 (pl) 2006-10-25 2023-07-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Urządzenie i sposób do generowania wartości podpasm audio o wartościach zespolonych
USRE50158E1 (en) 2006-10-25 2024-10-01 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for generating audio subband values and apparatus and method for generating time-domain audio samples
KR101016224B1 (ko) * 2006-12-12 2011-02-25 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 인코더, 디코더 및 시간 영역 데이터 스트림을 나타내는 데이터 세그먼트를 인코딩하고 디코딩하는 방법
US8015368B2 (en) * 2007-04-20 2011-09-06 Siport, Inc. Processor extensions for accelerating spectral band replication
US8199769B2 (en) 2007-05-25 2012-06-12 Siport, Inc. Timeslot scheduling in digital audio and hybrid audio radio systems
US20090099844A1 (en) * 2007-10-16 2009-04-16 Qualcomm Incorporated Efficient implementation of analysis and synthesis filterbanks for mpeg aac and mpeg aac eld encoders/decoders
WO2009078681A1 (en) * 2007-12-18 2009-06-25 Lg Electronics Inc. A method and an apparatus for processing an audio signal
RU2562395C2 (ru) 2008-03-04 2015-09-10 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. Микширование входящих информационных потоков
RU2621965C2 (ru) 2008-07-11 2017-06-08 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. Передатчик сигнала активации с деформацией по времени, кодер звукового сигнала, способ преобразования сигнала активации с деформацией по времени, способ кодирования звукового сигнала и компьютерные программы
TWI559786B (zh) * 2008-09-03 2016-11-21 杜比實驗室特許公司 增進多聲道之再生
MX2011007925A (es) 2009-01-28 2011-08-17 Dten Forschung E V Fraunhofer Ges Zur Foeerderung Der Angewan Codificador de audio, decodificador de audio, información de audio codificada, métodos para la codificación y decodificación de una señal de audio y programa de computadora.
TWI458258B (zh) 2009-02-18 2014-10-21 杜比國際公司 低延遲調變濾波器組及用以設計該低延遲調變濾波器組之方法
US8320823B2 (en) * 2009-05-04 2012-11-27 Siport, Inc. Digital radio broadcast transmission using a table of contents
US8971551B2 (en) 2009-09-18 2015-03-03 Dolby International Ab Virtual bass synthesis using harmonic transposition
US8831318B2 (en) * 2009-07-06 2014-09-09 The Board Of Trustees Of The University Of Illinois Auto-calibrating parallel MRI technique with distortion-optimal image reconstruction
EP2486654B1 (en) * 2009-10-09 2016-09-21 DTS, Inc. Adaptive dynamic range enhancement of audio recordings
WO2011044700A1 (en) * 2009-10-15 2011-04-21 Voiceage Corporation Simultaneous time-domain and frequency-domain noise shaping for tdac transforms
EP2372704A1 (en) * 2010-03-11 2011-10-05 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Signal processor and method for processing a signal
SG187743A1 (en) 2010-08-12 2013-03-28 Fraunhofer Ges Forschung Resampling output signals of qmf based audio codecs
US8489053B2 (en) 2011-01-16 2013-07-16 Siport, Inc. Compensation of local oscillator phase jitter
WO2012110448A1 (en) 2011-02-14 2012-08-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for coding a portion of an audio signal using a transient detection and a quality result
MY165853A (en) 2011-02-14 2018-05-18 Fraunhofer Ges Forschung Linear prediction based coding scheme using spectral domain noise shaping
EP2676267B1 (en) 2011-02-14 2017-07-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoding and decoding of pulse positions of tracks of an audio signal
KR101699898B1 (ko) 2011-02-14 2017-01-25 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 스펙트럼 영역에서 디코딩된 오디오 신호를 처리하기 위한 방법 및 장치
TWI564882B (zh) * 2011-02-14 2017-01-01 弗勞恩霍夫爾協會 利用重疊變換之資訊信號表示技術(一)
EP3441967A1 (en) * 2011-04-05 2019-02-13 Nippon Telegraph and Telephone Corporation Decoding method, decoder, program, and recording medium
WO2012158333A1 (en) 2011-05-19 2012-11-22 Dolby Laboratories Licensing Corporation Forensic detection of parametric audio coding schemes
EP2898506B1 (en) * 2012-09-21 2018-01-17 Dolby Laboratories Licensing Corporation Layered approach to spatial audio coding
EP2907324B1 (en) * 2012-10-15 2016-11-09 Dolby International AB System and method for reducing latency in transposer-based virtual bass systems
CN111292757B (zh) * 2013-09-12 2024-05-24 杜比国际公司 基于qmf的处理数据的时间对齐
DE102014214143B4 (de) 2014-03-14 2015-12-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Verarbeiten eines Signals im Frequenzbereich
EP2980791A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Processor, method and computer program for processing an audio signal using truncated analysis or synthesis window overlap portions
CN104732979A (zh) * 2015-03-24 2015-06-24 无锡天脉聚源传媒科技有限公司 一种音频数据的处理方法及装置
CN106297813A (zh) 2015-05-28 2017-01-04 杜比实验室特许公司 分离的音频分析和处理
EP3107096A1 (en) 2015-06-16 2016-12-21 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Downscaled decoding
WO2017050398A1 (en) * 2015-09-25 2017-03-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder, decoder and methods for signal-adaptive switching of the overlap ratio in audio transform coding
US10762911B2 (en) * 2015-12-01 2020-09-01 Ati Technologies Ulc Audio encoding using video information
JP2018101826A (ja) * 2016-12-19 2018-06-28 株式会社Cri・ミドルウェア 音声通話システム、音声通話方法およびプログラム
US11071843B2 (en) 2019-02-18 2021-07-27 Bose Corporation Dynamic masking depending on source of snoring
US10991355B2 (en) * 2019-02-18 2021-04-27 Bose Corporation Dynamic sound masking based on monitoring biosignals and environmental noises
US11282492B2 (en) 2019-02-18 2022-03-22 Bose Corporation Smart-safe masking and alerting system
US12512713B2 (en) 2021-10-22 2025-12-30 Nidec Motor Corporation Motor magnetic composite encoder

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297236A (en) * 1989-01-27 1994-03-22 Dolby Laboratories Licensing Corporation Low computational-complexity digital filter bank for encoder, decoder, and encoder/decoder
CN1062963C (zh) * 1990-04-12 2001-03-07 多尔拜实验特许公司 用于产生高质量声音信号的解码器和编码器
US5869819A (en) 1994-08-17 1999-02-09 Metrologic Instuments Inc. Internet-based system and method for tracking objects bearing URL-encoded bar code symbols
US5408580A (en) * 1992-09-21 1995-04-18 Aware, Inc. Audio compression system employing multi-rate signal analysis
FI935609L (fi) 1992-12-18 1994-06-19 Lonza Ag Dihydrofuroimidatsolijohdannaisten asymmetrinen hydraus
JP3531177B2 (ja) * 1993-03-11 2004-05-24 ソニー株式会社 圧縮データ記録装置及び方法、圧縮データ再生方法
US5570363A (en) 1994-09-30 1996-10-29 Intel Corporation Transform based scalable audio compression algorithms and low cost audio multi-point conferencing systems
US5867819A (en) * 1995-09-29 1999-02-02 Nippon Steel Corporation Audio decoder
US5890106A (en) * 1996-03-19 1999-03-30 Dolby Laboratories Licensing Corporation Analysis-/synthesis-filtering system with efficient oddly-stacked singleband filter bank using time-domain aliasing cancellation
US5848391A (en) * 1996-07-11 1998-12-08 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Method subband of coding and decoding audio signals using variable length windows
SG54379A1 (en) * 1996-10-24 1998-11-16 Sgs Thomson Microelectronics A Audio decoder with an adaptive frequency domain downmixer
US5946352A (en) * 1997-05-02 1999-08-31 Texas Instruments Incorporated Method and apparatus for downmixing decoded data streams in the frequency domain prior to conversion to the time domain
JP4174859B2 (ja) * 1998-07-15 2008-11-05 ヤマハ株式会社 デジタルオーディオ信号のミキシング方法およびミキシング装置
US6226608B1 (en) * 1999-01-28 2001-05-01 Dolby Laboratories Licensing Corporation Data framing for adaptive-block-length coding system
JP2000267682A (ja) * 1999-03-19 2000-09-29 Victor Co Of Japan Ltd 畳み込み演算装置
US6687663B1 (en) * 1999-06-25 2004-02-03 Lake Technology Limited Audio processing method and apparatus
JP3518737B2 (ja) * 1999-10-25 2004-04-12 日本ビクター株式会社 オーディオ符号化装置、オーディオ符号化方法、及びオーディオ符号化信号記録媒体
JP2001134274A (ja) * 1999-11-04 2001-05-18 Sony Corp ディジタル信号処理装置および処理方法、ディジタル信号記録装置および記録方法、並びに記録媒体
FR2802329B1 (fr) 1999-12-08 2003-03-28 France Telecom Procede de traitement d'au moins un flux binaire audio code organise sous la forme de trames
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
US6707869B1 (en) * 2000-12-28 2004-03-16 Nortel Networks Limited Signal-processing apparatus with a filter of flexible window design
US6963842B2 (en) 2001-09-05 2005-11-08 Creative Technology Ltd. Efficient system and method for converting between different transform-domain signal representations
US7912708B2 (en) * 2002-09-17 2011-03-22 Koninklijke Philips Electronics N.V. Method for controlling duration in speech synthesis
JP2004184536A (ja) * 2002-11-29 2004-07-02 Mitsubishi Electric Corp 畳み込み演算装置及び畳み込み演算プログラム
US7318027B2 (en) 2003-02-06 2008-01-08 Dolby Laboratories Licensing Corporation Conversion of synthesized spectral components for encoding and low-complexity transcoding
US6982377B2 (en) * 2003-12-18 2006-01-03 Texas Instruments Incorporated Time-scale modification of music signals based on polyphase filterbanks and constrained time-domain processing
US7516064B2 (en) * 2004-02-19 2009-04-07 Dolby Laboratories Licensing Corporation Adaptive hybrid transform for signal analysis and synthesis
US7639823B2 (en) 2004-03-03 2009-12-29 Agere Systems Inc. Audio mixing using magnitude equalization
JP4355745B2 (ja) * 2004-03-17 2009-11-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ オーディオ符号化
US7630902B2 (en) * 2004-09-17 2009-12-08 Digital Rise Technology Co., Ltd. Apparatus and methods for digital audio coding using codebook application ranges
ATE537536T1 (de) * 2004-10-26 2011-12-15 Panasonic Corp Sprachkodierungsvorrichtung und sprachkodierungsverfahren
JP2006243664A (ja) * 2005-03-07 2006-09-14 Nippon Telegr & Teleph Corp <Ntt> 信号分離装置、信号分離方法、信号分離プログラム及び記録媒体
GB2426168B (en) * 2005-05-09 2008-08-27 Sony Comp Entertainment Europe Audio processing

Also Published As

Publication number Publication date
CN102243875B (zh) 2013-04-03
KR101162455B1 (ko) 2012-07-04
RU2009109129A (ru) 2010-11-27
EP2884490A1 (en) 2015-06-17
NO20170985A1 (no) 2009-05-14
MY155487A (en) 2015-10-30
CA2782609C (en) 2016-10-04
MY153289A (en) 2015-01-29
CA2782609A1 (en) 2008-04-24
CN102243874A (zh) 2011-11-16
IL226224A (en) 2016-02-29
KR20110049885A (ko) 2011-05-12
US20080097764A1 (en) 2008-04-24
AU2007312696B2 (en) 2011-04-21
EP2074615B1 (en) 2012-04-18
JP5546863B2 (ja) 2014-07-09
EP2378516A1 (en) 2011-10-19
NO20170988A1 (no) 2009-05-14
CN102243875A (zh) 2011-11-16
ATE525720T1 (de) 2011-10-15
NO20170982A1 (no) 2009-05-14
JP2010507111A (ja) 2010-03-04
PT2884490T (pt) 2016-10-13
TW200832357A (en) 2008-08-01
JP5520994B2 (ja) 2014-06-11
HK1138423A1 (en) 2010-08-20
NO342445B1 (no) 2018-05-22
BR122019020171B1 (pt) 2021-05-25
CN102243873A (zh) 2011-11-16
WO2008046468A3 (en) 2008-06-26
BRPI0716004B1 (pt) 2020-11-17
USRE45526E1 (en) 2015-05-19
USRE45277E1 (en) 2014-12-02
US8036903B2 (en) 2011-10-11
EP2378516B1 (en) 2015-01-07
KR20110049886A (ko) 2011-05-12
RU2426178C2 (ru) 2011-08-10
EP2113911A2 (en) 2009-11-04
CN101529502B (zh) 2012-07-25
IL226225A (en) 2016-02-29
ES2380177T3 (es) 2012-05-09
AU2007312696A8 (en) 2009-05-14
BRPI0716004A2 (pt) 2013-07-30
EP2074615A2 (en) 2009-07-01
SG174835A1 (en) 2011-10-28
NO20091900L (no) 2009-05-14
CN101529502A (zh) 2009-09-09
IL226223A0 (en) 2013-06-27
KR101209410B1 (ko) 2012-12-10
CA2667059C (en) 2014-10-21
EP2884490B1 (en) 2016-06-29
IL226224A0 (en) 2013-06-27
EP2113911B1 (en) 2011-12-28
WO2008046468A2 (en) 2008-04-24
KR101162462B1 (ko) 2012-07-04
CA2782476A1 (en) 2008-04-24
PL2378516T3 (pl) 2015-06-30
EP2113910B1 (en) 2011-09-21
JP5700713B2 (ja) 2015-04-15
JP2012150507A (ja) 2012-08-09
HK1138674A1 (en) 2010-08-27
USRE45294E1 (en) 2014-12-16
AU2007312696A1 (en) 2008-04-24
HK1163332A1 (en) 2012-09-07
PL2113911T3 (pl) 2012-06-29
ES2531568T3 (es) 2015-03-17
ES2374014T3 (es) 2012-02-13
JP2013210656A (ja) 2013-10-10
JP2014059570A (ja) 2014-04-03
CN102243874B (zh) 2013-04-24
PL2113910T3 (pl) 2012-02-29
USRE45276E1 (en) 2014-12-02
KR20090076924A (ko) 2009-07-13
TWI355647B (en) 2012-01-01
IL226225A0 (en) 2013-06-27
CA2667059A1 (en) 2008-04-24
ES2592253T3 (es) 2016-11-29
NO342476B1 (no) 2018-05-28
MX2009004046A (es) 2009-04-27
ZA200901650B (en) 2010-03-31
HK1128058A1 (en) 2009-10-16
ATE539432T1 (de) 2012-01-15
EP2113911A3 (en) 2009-11-18
BRPI0716004A8 (pt) 2019-10-08
NO342514B1 (no) 2018-06-04
NO342516B1 (no) 2018-06-04
ATE554480T1 (de) 2012-05-15
NO342515B1 (no) 2018-06-04
AU2011201331A1 (en) 2011-04-14
USRE45339E1 (en) 2015-01-13
MY155486A (en) 2015-10-30
JP5859504B2 (ja) 2016-02-10
IL226223A (en) 2016-02-29
AU2011201330A1 (en) 2011-04-14
AU2011201331B2 (en) 2012-02-09
JP2013228740A (ja) 2013-11-07
SG174836A1 (en) 2011-10-28
IL197757A0 (en) 2009-12-24
JP5700714B2 (ja) 2015-04-15
NO20170986A1 (no) 2009-05-14
PL2884490T3 (pl) 2016-12-30
CA2782476C (en) 2016-02-23
CN102243873B (zh) 2013-04-24
PL2074615T3 (pl) 2012-10-31
AU2011201330B2 (en) 2011-08-25
EP2113910A1 (en) 2009-11-04
MY164995A (en) 2018-02-28
IL197757A (en) 2014-09-30

Similar Documents

Publication Publication Date Title
ES2386206T3 (es) Banco de filtros de análisis, banco de filtros de síntesis, codificador, descodificador, mezclador y sistema de conferencia
USRE50009E1 (en) Apparatus and method for generating audio subband values and apparatus and method for generating time-domain audio samples
HK1163332B (en) Analysis filterbank, synthesis filterbank, encoder, decoder, mixer and conferencing system
HK1128058B (en) Analysis filterbank, synthesis filterbank, encoder, decoder, mixer and conferencing system
HK1138423B (en) Analysis filterbank, synthesis filterbank, encoder, decoder, mixer and conferencing system
HK1138674B (en) Analysis filterbank, synthesis filterbank, encoder, decoder, mixer and conferencing system