ES2380177T3 - 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 PDFInfo
- Publication number
- ES2380177T3 ES2380177T3 ES09010179T ES09010179T ES2380177T3 ES 2380177 T3 ES2380177 T3 ES 2380177T3 ES 09010179 T ES09010179 T ES 09010179T ES 09010179 T ES09010179 T ES 09010179T ES 2380177 T3 ES2380177 T3 ES 2380177T3
- Authority
- ES
- Spain
- Prior art keywords
- window
- frame
- input
- frames
- samples
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 204
- 230000015572 biosynthetic process Effects 0.000 title claims description 202
- 238000003786 synthesis reaction Methods 0.000 title claims description 184
- 238000000034 method Methods 0.000 claims abstract description 36
- 230000003595 spectral effect Effects 0.000 claims abstract description 32
- 230000008569 process Effects 0.000 claims abstract description 18
- 241001503987 Clematis vitalba Species 0.000 claims description 17
- 238000005303 weighing Methods 0.000 claims description 6
- 238000001914 filtration Methods 0.000 abstract description 14
- 239000000523 sample Substances 0.000 description 252
- 230000006870 function Effects 0.000 description 153
- 230000004044 response Effects 0.000 description 23
- 230000014509 gene expression Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 17
- 238000005070 sampling Methods 0.000 description 17
- 230000006399 behavior Effects 0.000 description 14
- 230000000873 masking effect Effects 0.000 description 14
- 230000006854 communication Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 12
- 238000012986 modification Methods 0.000 description 12
- 230000009467 reduction Effects 0.000 description 12
- 230000002829 reductive effect Effects 0.000 description 12
- 230000005236 sound signal Effects 0.000 description 12
- 230000015654 memory Effects 0.000 description 11
- 230000008901 benefit Effects 0.000 description 9
- 230000002441 reversible effect Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 239000000203 mixture Substances 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 4
- 230000010076 replication Effects 0.000 description 4
- 230000007175 bidirectional communication Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000002860 competitive effect Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000000481 breast Anatomy 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 238000002592 echocardiography Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/0212—Speech 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination 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/135—Vector sum excited linear prediction [VSELP]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computational Linguistics (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)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
- Noise Elimination (AREA)
- Monitoring And Testing Of Transmission In General (AREA)
- Circuit For Audible Band Transducer (AREA)
- Investigating Or Analysing Biological Materials (AREA)
Abstract
Mezclador (600) para mezclar una pluralidad de tramas de entrada, siendo cada trama de entrada una representación espectral de una trama de dominio de tiempo correspondiente y proporcionándose cada trama de entrada de la pluralidad de tramas de entrada desde una fuente diferente, que comprende: un descodificador (610) de entropía configurado para descodificar por entropía la pluralidad de tramas de entrada; un escalador (630) configurado para escalar la pluralidad de tramas de entrada descodificadas por entropía en el dominio de frecuencia y configurado para obtener una pluralidad de tramas escaladas en el dominio de frecuencia, correspondiendo cada trama escalada a una trama de entrada descodificada por entropía; un sumador (640) configurado para agregar las tramas escaladas en el dominio de frecuencia para generar una trama agregada en el dominio de frecuencia; y un codificador (660) de entropía configurado para codificar por entropía la trama agregada para obtener una trama mezclada, estando el mezclador (600) configurado para generar la trama mezclada en base a la pluralidad de tramas de entrada, donde cada una de las tramas de entrada de la pluralidad de tramas de entrada se genera por un codificador (400) que comprende un banco (200, 800) de filtros de análisis para filtrar una pluralidad de tramas de entrada en el dominio de tiempo, comprendiendo una trama de entrada varias muestras de entrada ordenadas, que comprenden un formador (110) de ventana configurado para generar una pluralidad de tramas de ventana, comprendiendo una trama de ventana una pluralidad de muestras de ventana, estando el formador (110) de ventana configurado para procesar la pluralidad de tramas de entrada de manera solapada usando un valor por adelantado de la muestra, estando el formador de ventana configurado para generar consecutivamente dos tramas de ventana basadas en dos tramas de entrada, para cada trama de entrada, pesando al menos una pluralidad de muestras de entrada de la respectiva trama de entrada con una función de ventana, con las dos tramas de entrada solapadas en varias muestras de entrada ordenadas que es mayor que la mitad del número de muestras de entrada ordenadas de las tramas de entrada y el valor por adelantado de la muestra es menor que el número de muestras de entrada ordenadas de una trama de entrada dividido por 2; y un convertidor (120) de tiempo/frecuencia configurado para proporcionar una trama de salida que comprende un número de valores de salida, siendo una trama de salida un representación espectral de una trama de ventana.
Description
Banco de filtros de análisis, banco de filtros de síntesis, codificador, descodificador, mezclador y sistema de conferencia.
ANTECEDENTES DE LA INVENCIÓN
La presente invención se refiere a un banco de filtros de análisis, un banco de filtros de síntesis y sistemas que comprenden cualquiera de los bancos de filtros mencionados anteriormente que pueden ser, por ejemplo, implementados en el campo de codificación de audio moderna, descodificación de audio u otras aplicaciones relacionadas con la transmisión de audio. Además, la presente invención también se refiere a un mezclador y un sistema de conferencia.
El procesamiento de audio digital moderno está basado habitualmente en esquemas de codificación que permiten una reducción significativa en cuanto a velocidades de bits, anchos de banda de transmisión y espacio de almacenamiento, en comparación con la transmisión directa o almacenamiento de los respectivos datos de audio. Esto se obtiene al codificar los datos de audio en el sitio de remitente y al descodificar los datos codificados en el sitio de 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 un amplio intervalo de parámetros que comprenden un espacio de almacenamiento típico para un flujo potencialmente estandarizado típico de datos de audio, velocidades de bits, complejidad computacional especialmente en cuanto a eficiencia de implementación, calidades obtenibles apropiadas para diferentes aplicaciones y en cuanto al retardo provocado tanto durante la codificación como durante la descodificación de los datos de audio y los datos de audio codificados, respectivamente. En otras palabras, los sistemas de audio digitales pueden ser aplicados en muchos campos de aplicaciones diferentes que van desde una transmisión de ultra-baja calidad a una transmisión de extremo alto y almacenamiento de datos de audio (por ejemplo, para una experiencia de escuchar música de alta calidad).
Sin embargo, en muchos casos se tienen que tomar soluciones intermedias en cuanto a los diferentes parámetros tales como la velocidad de bits, la complejidad computacional, calidad y retardo. Por ejemplo, un sistema de audio digital que comprende un bajo retardo puede requerir una velocidad de bits más alta de un ancho de banda transmisión en comparación con un sistema de audio con un retardo más alto a un nivel de calidad comparable. En el documento US 2001/0027393 se describe un mezclador de audio que permite mezclar tramas codificadas por entropía.
SUMARIO
Una realización de un banco de filtros de análisis que no es parte de la invención para filtrar pluralidad de tramas de entrada de dominio de tiempo, donde una trama de entrada comprende un número de muestras de entrada ordenadas, comprende un formador de ventanas configurado para generar una pluralidad de tramas de ventana, donde una trama de ventana comprende una pluralidad de muestras de ventana, donde el formador de ventanas está configurado para procesar la pluralidad de tramas de entrada de manera solapada utilizando un valor por adelantado de la muestra, donde el valor por adelantado de la muestra es menor que el número 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 número de valores de salida, donde una trama de salida es una representación espectral de una trama de ventana.
Una realización de un banco de filtros de síntesis que no es parte de la invención para filtrar una pluralidad de tramas de entrada, donde cada trama de entrada comprende un número de valores de entrada ordenados, comprende un convertidor de frecuencia/tiempo configurado para proporcionar una pluralidad de tramas de salida, donde una trama de salida comprende un número de muestras de salida ordenadas, donde una trama de salida es una representación temporal de una trama de entrada, un formador de ventanas configurado para generar una pluralidad de tramas de ventana. Una trama de ventana comprende una pluralidad de muestras de ventana. El formador de ventanas está configurado además para proporcionar la pluralidad de muestras de ventana para procesar de manera solapada en base a un valor por adelantado de la muestra. La realización del banco de filtros de síntesis comprende además un solapamiento/sumador configurado para proporcionar una trama agregada que comprende una sección de inicio y una sección restante, donde una trama agregada comprende una pluralidad de muestras agregadas al agregar al menos tres muestras de ventana de al menos tres tramas de ventana para una muestra agregada en la sección restante de una trama agregada y al agregar al menos dos muestras de ventana de al menos dos tramas de ventana diferentes para una muestra agregada en la sección de inicio. El número de muestras de ventana agregadas para obtener una muestra agregada en la sección restante es al menos una muestra más alta en comparación con el número de muestras de ventana agregadas para obtener una muestra agregada en la sección de inicio, o de otra manera el formador de ventanas está configurado para omitir al menos el valor de salida más anterior de acuerdo con el orden de las muestras de salida ordenadas o para fijar las muestras de ventana correspondientes a un valor predeterminado o a al menos un valor en un intervalo predeterminado para cada trama de ventana de la pluralidad de tramas de ventana. El solapamiento/sumador (230) está configurado para proporcionar la muestra agregada en la sección restante de una trama agregada en base a al menos tres muestras de ventana de al menos tres tramas de ventana diferentes y una muestra agregada en la sección de inicio basada en al menos dos muestras de ventana de al menos dos tramas de ventana diferentes.
Una realización de un banco de filtros de síntesis que no es parte de la invención para filtrar una pluralidad de tramas de entrada, donde cada trama de entrada comprende M valores de entrada ordenados yk(0),…,yk(M-1), donde M es un número entero positivo y donde k es un número entero que indica un índice de trama, comprende un convertidor de frecuencia/tiempo de transformada de coseno discreto tipo IV inverso 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) en base a los valores de entrada yk(0),…,yk (M-1), un formador de ventanas configurado para generar una pluralidad de tramas de ventana, una trama de ventana que comprende una pluralidad de muestras de ventana zk(0),…, zk(2M-1) en base a la ecuación
zk (n) = w(n) · Xk (n)
para n = 0,…,2M-1,
donde n es un número entero que indica un índice de muestra y donde w(n) es un coeficiente de función de ventana de valor real correspondiente al índice de muestra n, un solapamiento/sumador configurado para proporcionar una trama intermedia que comprende una pluralidad de muestras intermedias mk (0),…,mk(M-1) en base a la ecuación
mk (n) = zk(n) + Zk-1(n+M)
para n = 0,…,M-1,
y un elevador configurado para proporcionar una trama agregada que comprende una pluralidad de muestras agregadas outk(0),…, outk (M-1) en base a la ecuación
outk(n) = mk(n)+l(n-M/2) · mk-1(M-1-n)
para n = M/2,…,M-1
y
outk (n) = mk(n) + l(M-1-n) · outk-i(M-1-n)
para n=0,…,M/2-1,
donde 1(0),…,1(M-1) son coeficientes de elevación de valor real.
Una realización de un codificador que no es parte de la invención comprende un banco de filtros de análisis para filtrar una pluralidad de tramas de entrada de dominio de tiempo, donde una trama de entrada comprende un número de muestras de entrada ordenadas, comprende un formador de ventanas configurado para generar una pluralidad de tramas de ventana, una trama de ventana que comprende una pluralidad de muestras de ventana, donde el formador de ventanas está configurado para procesar la pluralidad de tramas de entrada de manera solapada utilizando un valor por adelantado de la muestra, donde el valor por adelantado de la muestra es menor que el número 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 número de valores de salida, siendo una trama de salida una representación espectral de una trama de ventana.
Una realización de un descodificador que no es parte de la invención comprende un banco de filtros de síntesis para filtrar una pluralidad de tramas de entrada, donde cada trama de entrada que comprende un número de valores de entrada ordenados comprende un convertidor de frecuencia/tiempo configurado para proporcionar una pluralidad de tramas de salida, una trama de salida que comprende un número de muestras de salida ordenadas, siendo una trama de salida una representación temporal de una trama de entrada, estando configurado el formador de ventanas para generar una pluralidad de tramas de ventana, una trama de ventana que comprende una pluralidad de muestras de ventana, y donde el formador de ventanas está configurado para proporcionar la pluralidad de muestras de ventana para el procesamiento de manera solapada en base a un valor por adelantado de la muestra, un solapamiento/sumador configurado para proporcionar una trama agregada que comprende una sección de inicio y una sección restante, una trama agregada que comprende una pluralidad de muestras agregadas al agregar al menos tres muestras de ventana de al menos tres tramas de ventana para una muestra agregada en la sección restante de una trama agregada y al agregar al menos dos muestras de ventana de al menos dos tramas de ventana diferentes para una muestra agregada en la sección de inicio, donde el número de muestras de ventana agregadas para obtener una muestra agregada en la sección restante es al menos una muestra más alta en comparación con el número de muestras de ventana agregadas para obtener una muestra agregada en la sección de inicio, o donde el formador de ventanas está configurado para omitir al menos el valor de salida más anterior de acuerdo con el orden de las muestras de salida ordenadas o para fijar las muestras de ventana correspondientes en un valor predeterminado o en al menos un valor en un intervalo predeterminado para cada trama de ventana de la pluralidad de tramas de ventana; y donde el solapamiento/sumador está configurado para proporcionar la muestra agregada en la sección restante de una trama agregada en base a al menos tres muestras de ventana de al menos tres tramas de ventana diferentes y una muestra agregada en la sección de inicio basada en al menos dos muestras de ventana de al menos dos tramas de ventana diferentes.
Una realización adicional de un descodificador que no es parte de la invención comprende un banco de filtros de síntesis para filtrar una pluralidad de tramas de entrada, donde cada trama de entrada que comprende M valores de entrada ordenados yk(0),…,yk(M-1), donde M es un número entero positivo, y donde k es un número entero que indica un índice 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) en base a los valores de entrada yk(0),…,yk(M-1), un formador de ventanas configurado para generar una pluralidad de tramas de ventana, una trama de ventana que comprende una pluralidad de muestras de ventana zk(0),…,zk(2M-1) en base a la ecuación
zk(n) = w(n) · Xk(n)
para n = 0,…,2M-1,
donde n es un número entero que indica un índice de muestra, y donde w(n) es un coeficiente de función de ventana de valor real correspondiente al índice de muestra n, un solapamiento/sumador configurado para proporcionar una trama intermedia que comprende una pluralidad de muestras intermedias mk(0),…,mk(M-1) en base a la ecuación
mk(n) = zk(n) + zk-1(n+M)
para n = 0,…,M-1,
y un elevador configurado para proporcionar una trama agregada que comprende una pluralidad de muestras agregadas outk(0),…, outk(M-1) en base a la ecuación
outk(n) = mk(n) + l(n-M/2) · mk-1(M-1-n)
para n = M/2,…,M-1
y
outk (n) = mk (n) + 1 (M-1-n) · outk-1(M-1-n)
para n=0,…, M/2-1,
donde l(0),…, 1 (M-1) son coeficientes de elevación de valor real.
Una realización de un mezclador según la reivindicación 1 para mezclar una pluralidad de tramas de entrada, donde cada trama de entrada es una representación espectral de una trama de dominio de tiempo correspondiente y cada trama de entrada de la pluralidad de tramas de entrada está proporcionada desde una fuente diferente, comprende un descodificador de entropía configurado para descodificar por entropía una pluralidad de tramas de entrada, un escalador configurado para escalar la pluralidad de tramas de entrada descodificadas por entropía en el dominio de frecuencia y configurado para obtener una pluralidad de tramas escaladas en el dominio de frecuencia, donde cada trama escalada corresponde a una trama codificada por entropía, un sumador configurado para agregar las tramas escaladas en el dominio de frecuencia para generar una trama agregada en el dominio de frecuencia, y un codificador de entropía configurado para codificar por entropía la trama agregada para obtener una trama mezclada.
Una realización de un sistema de conferencia comprende un mezclador para mezclar una pluralidad de tramas de entrada, donde cada trama de entrada es una representación espectral de una trama de dominio de tiempo correspondiente y estando cada trama de entrada de la pluralidad de tramas de entrada proporcionada desde una fuente diferente, comprende un descodificador de entropía configurado para descodificar por entropía la pluralidad de tramas de entrada, un escalador configurado para escalar la pluralidad de tramas de entrada descodificados por entropía en el dominio de frecuencia y configurado para obtener una pluralidad de tramas escaladas en el dominio de frecuencia, correspondiendo cada trama escalada a una trama de entrada descodificada por entropía, un sumador configurado para agregar las tramas escaladas en el dominio de frecuencia para generar una trama agregada en el dominio de frecuencia y un codificador de entropía configurado para codificar por entropía la trama agregada para obtener una trama mezclada.
BREVE DESCRIPCIÓN DE LAS FIGURAS
Se describen a continuación las realizaciones de la presente invención haciendo referencia a las figuras adjuntas.
La figura 1 muestra un diagrama de bloques de un banco de filtros de análisis;
La figura 2 muestra una representación esquemática de tramas de entrada siendo procesadas por una realización de un banco de filtros de análisis;
La figura 3 muestra un diagrama de bloques de una realización de un banco de filtros de síntesis;
La figura 4 muestra una representación esquemática de tramas de salida en el marco de ser procesado por una realización de un banco de filtros de síntesis;
La figura 5 muestra una representación esquemática de una función de ventana de análisis y una función de ventana de síntesis de una realización de un banco de filtros de análisis y de un banco de filtros de síntesis;
La figura 6 muestra una comparación de una función de ventana de análisis y una función de ventana de síntesis en comparación con una función de ventana de señal:
La figura 7 muestra una comparación adicional de diferentes funciones de ventana;
La figura 8 muestra una comparación del comportamiento de pre-eco para las tres funciones de ventana diferentes mostradas en la figura 7;
La figura 9 muestra esquemáticamente la propiedad de enmascaramiento temporal general del oído humano;
La figura 10 muestra una comparación de la respuesta de frecuencia de una ventana de señal y una ventana de bajo retardo;
La figura 11 muestra una comparación de una respuesta de frecuencia de una ventana de seno y una ventana de solapamiento bajo;
La figura 12 muestra una realización de un codificador;
La figura 13 muestra una realización 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 comparación de retardos;
La figura 16 muestra una realización de un sistema de conferencia que comprende una realización de un mezclador;
La figura 17 muestra una realización 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 realización de un banco de filtros de síntesis como una implementación eficiente;
La figura 20 muestra una tabla que comprende una evaluación de la eficiencia computacional de una realización de un banco de filtros de síntesis o un banco de filtros de análisis (codec AAC ELD);
La figura 21 muestra una tabla que comprende una evaluación de la eficiencia computacional de un codec AAC LD;
La figura 22 muestra una tabla que comprende una evaluación de la complejidad computacional de un codec AAC LC;
Las figuras 23a y 23b muestran tablas que comprenden una comparación de la evaluación de eficiencia de memoria de RAM y ROM para tres codecs diferentes; y
La figura 24 muestra una tabla que comprende una lista de codecs usados para una prueba de MUSHRA. DESCRIPCIÓN DETALLADA DE UNAS REALIZACIONES
Las figuras 1 a 24 muestran diagramas de bloques y diagramas adicionales que describen las propiedades y características funcionales de distintas realizaciones de un banco de filtros de análisis, un banco de filtros de síntesis, un codificador, un descodificador, un mezclador, un sistema de conferencia y otras realizaciones de la presente invención. Sin embargo, antes de describir una realización de un banco de filtros de síntesis con respecto a las figuras 1 y 2, se describirá en más detalle una realización de un banco de filtros de análisis y una representación esquemática de tramas de entrada siendo procesadas por una realización de un banco de filtros de análisis.
La figura 1 muestra una primera realización de un banco 100 de filtros de análisis que comprende un formador 110 de ventanas y el convertidor 120 de tiempo/frecuencia. Para ser más preciso, el formador 110 de ventanas está configurado para recibir una pluralidad de tramas de entrada de dominio de tiempo, comprendiendo cada trama de entrada un número de muestras de entrada ordenadas en una entrada 110i. El formador 110 de ventanas está adaptado además para generar una pluralidad de tramas de ventana, que son proporcionadas por el formador de ventanas en la salida ll0o del formador 110 de ventanas. Cada uno de las tramas de ventana comprende una pluralidad de muestras de ventana, donde el formador 110 de ventanas está configurado además para procesar la pluralidad de tramas de ventana de manera solapada utilizando un valor por adelantado de la muestra como se explicará en más detalle en el contexto de la figura 2.
El convertidor 120 de tiempo/frecuencia es capaz de recibir las tramas de ventana tal como son producidas por el formador 110 de ventanas y configurado para proporcionar una trama de salida que comprende un número de valores de salida, de tal manera que una trama de salida es una representación espectral de una trama de ventana.
Con el fin de ilustrar y describir en líneas generales las propiedades y características funcionales de una realización de un banco 100 de filtros de análisis, la figura 2 muestra una representación esquemática de cinco tramas de entrada 130-(k-3), 130-(k-2), 130-(k-1), 130-k y 130-(k+1) como función del tiempo, tal como se indica por la flecha 140 en la parte inferior de la figura 2.
Se describirá a continuación el funcionamiento de una realización de un banco 100 de filtros de análisis en más detalle con referencia a la trama 130-k de entrada, tal como se indica por la línea discontinua en la figura 2. Con respecto a esta trama 130-k de entrada, la trama 103-(k+1) de entrada es una trama de entrada futura, mientras que las tres tramas 130-(k-1), 130-(k-2) y 130-(k-3) de entrada son tramas de entrada del pasado. En otras palabras, k es un número entero que indica un índice de trama, de tal manera que mientras más grande es el índice de trama, más lejos está la trama de entrada respectiva ubicada “en el futuro”. Así, mientras más pequeño es el índice k, más lejos está la trama de entrada ubicada “en el pasado”.
Cada una de las tramas 130 de entrada comprende al menos dos subsecciones 150, que son igualmente largas. Para ser más preciso, en el caso de una realización de un banco 100 de filtros de análisis, sobre el cual se basa la representación esquemática mostrada en la figura 2, tanto la trama 130-k de entrada como las otras tramas 130 de entrada comprende subsecciones 150-2, 150-3 y 150-4 que son iguales en longitud en cuanto a muestras de entrada. Cada una de estas subsecciones 150 de la trama 130 de entrada comprende M muestras de entrada, donde M es un número entero positivo. Además, la trama 130 de entrada también comprende una primera subsección 150-1 que puede comprender también M tramas de entrada. En este caso, la primera subsección 150-1 comprende una sección 160 inicial de la trama 130 de entrada, que puede comprender muestras de entrada u otros valores, como se explicará en más detalle más adelante. Sin embargo, dependiendo de la implementación concreta de la realización de un banco de filtros de análisis, no se requiere que la primera subsección 150-1 comprenda una sección 160 inicial. En otras palabras, la primera subsección 150-1 puede en principio comprender un número más bajo de muestras de entrada en comparación con las otras subsecciones 150-2, 150-3, 150-4. Ejemplos para este caso también serán ilustrados más adelante.
Opcionalmente, aparte de la primera subsección 150-1, las otras subsecciones 150-2, 150-3, 150-4 habitualmente comprenden el mismo número de muestras de entrada M, que es igual al llamado valor 170 por adelantado de muestra, que indica un número de muestras de entrada mediante las cuales se mueven dos tramas 130 de entrada consecutivas entre sí y con respecto al tiempo. En otra palabras, a medida que el valor por adelantado de la muestra M, tal como se indica por una flecha 170, en el caso de una realización de un banco 100 de filtros de análisis, tal y 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 son generadas y procesadas por el formador 110 de ventanas de manera solapada. Además, el valor por adelantado de la muestra M (flecha 170) es también idéntico con la longitud de las subsecciones 150-2 a 150-4.
De ahí las tramas 130-k y 130-(k+1) de entrada son, en cuanto a un número significativo de muestras de entrada, iguales en el sentido de que ambas tramas de entrada comprenden estas muestras de entrada, mientras que están desplazadas con respecto a las subsecciones individuales 150 de las dos tramas 130 de entrada. Para ser más preciso, la tercera subsección 150-3 de la trama 130-k de entrada es igual a la cuarta subsección 150-4 del trama 130(k+1) de entrada. Así, la segunda subsección 150-2 de la trama 130-k de entrada es idéntica a la tercera subsección 150-3 de la trama 130-(k+1) de entrada.
En todavía otras palabras, las dos tramas 130-k, 130-(k+1) de entrada correspondientes a los índices k y (k+1) de trama son en cuanto a dos subsecciones 150 en el caso de las realizaciones mostradas en la figura 2, idénticas, aparte del hecho de que en cuanto a la trama de entrada con la trama (k+1) de índice, las muestras son movidas.
Las dos tramas 130-k y 130-(k+1) de entrada mencionadas anteriormente comparten además al menos una muestra de la primera subsección 150-1 de la trama 130-k de entrada. Para ser más preciso, en el caso de la realización mostrada en la figura 2, todas las muestras de entrada en la primera subsección 150-1 de la trama 130-k de entrada, que no son parte de la sección 160 inicial, aparecen como parte de la segunda subsección 150-2 de la trama 130-(k+1) de entrada. Sin embargo, la muestras de entrada de la segunda subsección 150-2 correspondientes a la sección 160 inicial de la trama 130-k de entrada antes pueden o pueden no estar basados en los valores de entrada o muestras de entrada de la sección 160 inicial de la trama 130 de entrada respectivo, dependiendo de la implementación concreta de una realización de un banco de filtros de análisis.
En el caso de la sección 160 inicial existente de tal manera que el número de tramas de entrada en la primera subsección 150-1 es igual al número de muestras de entrada en las otras subsecciones 150-2 a 150-4, en principio dos casos diferentes tienen que ser considerados, aunque también además casos entre estos dos “extremos”, que serán explicados, son posibles.
Si la sección 160 inicial comprende muestras de entrada codificadas “significativas” en el sentido de que las muestras de entrada en la sección 160 inicial representan una señal de audio en el dominio de tiempo, estas muestras de entrada también serán parte de la subsección 150-2 de la siguiente trama 130-(k+1) de entrada. Este caso es, sin embargo, en muchas aplicaciones de una realización de un banco de filtros de análisis, no una implementación óptima, ya que esta opción podría provocar retardo adicional.
Sin embargo, en el caso de que la sección 160 inicial no comprenda muestras de entrada “significativas”, que en este caso pueden también ser denominadas como valores de entrada, los valores de entrada correspondientes de la sección 160 inicial pueden comprender valores aleatorios, un valor adaptable, predeterminado, fijo o programable, que puede por ejemplo ser proporcionado en cuanto a un cálculo algorítmico, determinación u otra fijación por una unidad o módulo, que puede ser acoplado a la entrada 110i del formador 110 de ventanas de la realización del banco de filtros de análisis. En este caso, sin embargo, este módulo es comúnmente requerido para proporcionar como la trama 130-(k+1) de entrada, una trama de entrada que comprende en la segunda subsección 150-2 en el área correspondiente a la sección 160 inicial de la trama de entrada antes de muestras de entrada “significativas”, que corresponden a la señal de audio correspondiente. Además, la unidad o módulo acoplado a la entrada 110i del formador 110 de ventanas también se requiere habitualmente para proporcionar muestras de entrada significativas correspondientes a la señal de audio en el marco de la primera subsección 150-1 de la trama 130-(k+1) de entrada.
En otras palabras, en este caso, la trama 130-k de entrada correspondiente al índice k de trama está proporcionada a la realización de un banco 100 de filtros de análisis después de que suficientes muestras de entrada son recogidas, de tal manera que la subsección 150-1 de esta trama de entrada puede estar llena de estas muestras de entrada. El resto de la primera subsección 150-1, es decir la sección 160 inicial se llena después con muestras de entrada o valores de entrada, que pueden comprender valores aleatorios o cualquier otros valores tales como un valor predeterminado, fijo, adaptable o programable o cualquier otra combinación de valores. Ya que esto se puede realizar en principio a una velocidad muy alta en comparación con una frecuencia de toma de muestras típica, el proporcionar la sección 160 inicial de la trama 130-k de entrada con tales muestras de entrada “sin significado”, no requiere un período de tiempo significativo en la escala presentada por una frecuencia de toma de muestras típica, tal como una frecuencia de toma de muestras en el intervalo de entre unos pocos kHz y hasta varios cientos de kHz.
Sin embargo, la unidad o módulo continúa recogiendo muestras de entrada en base a la señal de audio para incorporar estas muestras de entrada a la siguiente trama 130-(k+1) de entrada correspondiente al índice k+1 de trama. En otras palabras, aunque el módulo o unidad no terminó de recoger suficientes muestras de entrada para proporcionar la trama 130-k de entrada en cuanto a la primera subsección 150-1 con suficientes muestras de entrada para llenar completamente la primera subsección 150-1 de esta trama de entrada, sino que proporciona esta trama de entrada a la realización del banco 100 de filtros de análisis tan pronto como se disponen de suficientes muestras de entrada, de tal manera que la primera subsección 150-1 puede llenarse con las muestras de entrada sin la sección 160 inicial.
Las siguientes muestras de entrada se utilizarán para llenar las muestras de entrada restantes de la segunda subsección 150-2 de la siguiente trama 130-(k+1) de entrada hasta que suficientes muestras de entrada son recogidas, de tal manera que la primera subsección 150-1 de esta siguiente trama de entrada puede también llenarse hasta que la sección 160 inicial de esta trama comienza. A continuación, una vez más, la sección 160 inicial se llenará con números aleatorios u otros valores de entrada o muestras de entrada “sin significado”.
Como consecuencia, aunque se indica en la figura 2 el valor 170 por adelantado de la muestra, que es igual a la longitud de la subsección 150-2 a 150-4 en el caso de la realización mostrada en la figura 2, y se muestra el error que representa el valor 170 por adelantado de la muestra en la figura 2 desde el comienzo de la sección 160 inicial de la trama 130-k de entrada hasta el comienzo de la sección 160 inicial de la siguiente trama 130-(k+1) de entrada.
Como consecuencia adicional, una muestra de entrada correspondiente a un evento en la señal de audio correspondiente a la sección 160 inicial no estará presente en los últimos dos casos en las tramas 130-k de entrada respectivos, sino en la siguiente trama 130-(k+1) de entrada en el marco de la segunda subsección 150-2.
En otras palabras, muchas realizaciones de un banco 100 de filtros de análisis pueden proporcionar una trama de salida con un retardo reducido ya que las muestras de entrada correspondientes a la sección 160 inicial no forman parte de la trama 130-k de entrada respectivo sino que solamente influirán en la última trama 130-(k+1) de entrada. En otras palabras, una realización de un banco de filtros de análisis puede ofrecer en muchas aplicaciones e implementaciones la ventaja de proporcionar la trama de salida en base a la trama de entrada antes, ya que no se requiere que la primera subsección 150-1 comprenda el mismo número de muestras de entrada como la otra subsección 150-2 a 150-4. Sin embargo, la información comprendida en la “sección faltante” está comprendida en la siguiente trama 130 de entrada en el marco de la segunda subsección 150-2 de aquella trama 130 de entrada respectivo.
Sin embargo, como se ha indicado anteriormente, también puede existir el caso en el cual ninguna de las tramas 130 de entrada comprende la sección 160 inicial. En este caso, la longitud de cada una de las tramas 130 de entrada ya no es un múltiplo entero del valor 170 por adelantado de la muestra o la longitud de la subsección 150-2 a 150-4. Para ser más preciso, en este caso, la longitud de cada una de las tramas 130 de entrada difiere de los múltiplos enteros correspondientes del valor por adelantado de la muestra por el número de muestras de entrada, que el módulo
o unidad que proporciona el formador 110 de ventanas con las tramas de entrada respectivas no proporciona a la primera subsección 150-1 completa. En otras palabras, la longitud global de tal trama 130 de entrada difiere del número entero respectivo de valores por adelantado de la muestra por la diferencia entre las longitudes de la primera subsección 150-1 en comparación con la longitud de las otras subsecciones 150-2 a 150-4.
Sin embargo, en los últimos dos casos mencionados, el módulo o unidad, que puede por ejemplo comprender un tomador de muestras, una etapa de muestra y retención, un tomador de muestras y portador o un cuantificador, puede empezar a proporcionar la trama 130 de entrada correspondiente a falta de un número predeterminado de muestras de entrada, de tal manera que cada una de la tramas 130 de entrada puede proporcionarse a la realización de un banco 100 de filtros de análisis con un retardo más corto en comparación con el caso en el que la primera subsección 150-1 completa está llena de muestras de entrada correspondientes.
Como ya se ha indicado anteriormente, tal unidad o módulo que puede ser acoplada a la entrada 110i del formador 110 de ventanas puede por ejemplo comprender un tomador de muestras y/o cuantificador tal como un convertidor análogo/digital (convertidor A/D). Sin embargo, dependiendo de la implementación concreta, tal módulo o unidad puede comprender además algo de memoria o registros para almacenar las muestras de entrada correspondientes a la señal de audio.
Además, tal unidad o módulo puede proporcionar cada una de los tramas de entrada de manera solapada, en base a un valor por adelantado de la muestra M. En otras palabras, una trama de entrada comprende más de dos veces el número de muestras de entrada en comparación con el número de muestras recogidas por trama o bloque. Tal unidad o módulo está en muchas realizaciones adaptado de tal manera que dos tramas de entrada generadas consecutivamente están basadas en una pluralidad de muestras que están desplazadas con respecto al tiempo por el valor por adelantado de la muestra. En este caso, la última trama de entrada de las dos tramas de entrada generadas consecutivamente está basada en al menos una muestra de salida nueva ya que la muestra de salida más anterior y la pluralidad de muestras mencionada anteriormente está desplazada más tarde por el valor por adelantado de la muestra en la trama de entrada más anterior de las dos tramas de entrada.
Aunque, hasta ahora se ha descrito una realización de un banco 100 de filtros de análisis en cuanto a cada trama 130 de entrada que comprende cuatro subsecciones 150, donde no se requiere que la primera subsección 150 comprenda el mismo número de muestras de entrada como las otras subsecciones, no se requiere que sea igual a cuatro como en el caso mostrado en la figura 2. Para ser más preciso, una trama 130 de entrada puede comprender en principio un número arbitrario de muestras de entrada, que es dos veces mayor que el tamaño del valor por adelantado de la muestra M (flecha 170), donde se requieren el número de valores de entrada de la sección 160 inicial, si está presente, para ser incluidos en este número, ya que podría ser útil al considerar algunas implementaciones de una realización basada en un sistema que utiliza tramas, donde cada trama comprende un número de muestras que es idéntico al valor por adelantado de la muestra. En otras palabras, puede utilizarse cualquier número de subsecciones, teniendo cada una longitud idéntica al valor por adelantado de la muestra M (flecha 170), en el marco de una realización de un banco 100 de filtros de análisis, que es mayor o igual a tres en el caso de un sistema a base de tramas. Si esto no es el caso, en principio, puede utilizarse cualquier número de muestras de entrada por trama 130 siendo dos veces mayor que el valor por adelantado de la muestra.
El formador 110 de ventanas de una realización de un banco 100 de filtros de análisis, tal y como se muestra en la figura 1, está configurado para generar una pluralidad de tramas de ventana en base a las correspondientes tramas 130 de entrada en base al valor por adelantado de la muestra M (flecha 170) de manera solapada tal y como se ha explicado anteriormente. Para ser más preciso, dependiendo de la implementación concreta de un formador 110 de ventanas, el formador 110 de ventanas está configurado para generar la trama de ventana, en base a una función de ponderación, que puede por ejemplo comprender una dependencia logarítmica para modelar las características de audición del oído humano. Sin embargo, otras funciones de ponderación pueden también implementarse, tales como un modelado de función de ponderación, las características psicoacústicas del oído humano. Sin embargo, la función del formador de ventanas implementada en una realización de un banco de filtros de análisis puede también implementarse por ejemplo de tal manera que cada una de las muestras de entrada de una trama de entrada sea multiplicada por una función de formación de ventana de valor real que comprende coeficientes de ventana específicos de muestra de valor real.
Se muestra en la figura 2 un ejemplo para tal implementación . Para ser más preciso, la figura 2 muestra una representación cruda esquemática de una función de ventana posible o una función 180 de formación de ventana, mediante la cual el formador 110 de ventana, tal y como se muestra en la figura 1 genera las tramas de ventana, en base a las tramas 130 de entrada correspondientes. Dependiendo de la implementación concreta de un banco 100 de filtros de análisis, el formador 110 de ventanas puede proporcionar además tramas de ventana al convertidor 120 de tiempo/frecuencia de manera diferente.
En base a cada una de las tramas 130 de entrada, el formador 110 de ventanas está configurado para generar una trama de ventana, donde cada una de las tramas de ventana comprende una pluralidad de muestras de ventana.
Para ser más preciso, 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 de ventana a proporcionar al proveedor 120 de tiempo/frecuencia, pueden realizarse varias posibilidades de cómo el formador 110 de ventanas se implementa para generar las tramas de ventana.
Si, por ejemplo, una trama 130 de entrada comprende una sección 160 inicial, de tal manera que en el caso de la realización mostrada en la figura 2 la primera subsección 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 de ventana también comprende el mismo número de muestras de ventana ya 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, tal y como se ha descrito 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 sección 160 inicial pueden ser procesadas por el formador 110 de ventanas en base a la función de formación de ventanas o la función de ventana tal y como se ha descrito anteriormente. Los valores de entrada de la sección 160 inicial pueden en este caso, fijarse en un valor predeterminado o a al menos un valor en un intervalo predeterminado.
El valor predeterminado puede por ejemplo ser una realización de algún banco 100 de filtros de análisis 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 sección 160 inicial de las tramas 130 de entrada, lo que indica que los valores correspondientes no son significativos en cuanto a la señal de audio. Por ejemplo, el valor predeterminado puede ser un valor que está fuera de un intervalo típico de muestras de entrada de una señal de audio. Por ejemplo, muestras de ventana en una sección de la trama de ventana correspondiente a la sección 160 inicial de la trama 130 de entrada pueden fijarse en un valor de dos veces o más la amplitud máxima de una señal de audio de entrada, lo que indica que estos valores no corresponden a señales a ser procesadas adicionalmente. También pueden usarse otros valores, por ejemplo valores negativos de un valor absoluto específico de la implementación.
Además, en realizaciones de un banco 100 de filtros de análisis, las muestras de ventana de las tramas de ventana correspondientes a la sección 160 inicial de una trama 130 de entrada también pueden fijarse en uno o más valores en un intervalo predeterminado. En principio, tal intervalo predeterminado puede por ejemplo ser un intervalo de valores pequeños, que son en cuanto a una experiencia audible sin significado, de tal manera que el resultado es audiblemente indistinguible o de tal manera que la experiencia de escuchar no es 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 máximo predeterminado, programable, adaptable o fijo. Tal umbral puede expresarse por ejemplo como una potencia de 10 o una potencia de dos como 10s ó 2s, donde s es un valor entero dependiendo de la implementación concreta.
Sin embargo, en principio el intervalo predeterminado puede comprender también valores que son mayores que algunos valores significativos. Para ser más preciso, el intervalo predeterminado puede comprender también valores que comprenden un valor absoluto que es mayor que o igual a un umbral mínimo programable, predeterminado
o fijo. Tal umbral mínimo puede expresarse en principio de nuevo en cuanto a una potencia de dos o una potencia de diez, como 2s ó 10s, donde s es de nuevo un número entero dependiendo de la implementación concreta de una realización de un banco de filtros de análisis.
En el caso de una implementación digital, el intervalo predeterminado puede comprender por ejemplo valores que son expresables al fijar o no fijar el bit menos significativo o pluralidad de bits menos significativos en el caso de un intervalo predeterminado que comprende valores pequeños. En el caso de que el intervalo predeterminado comprenda valores más grandes, tal y como se ha explicado anteriormente, el intervalo predeterminado puede comprender valores, representables al fijar o no fijar el bit más significativo o una pluralidad de bits más significativos. Sin embargo, tanto el valor predeterminado como los intervalos predeterminados pueden comprender también otros valores que pueden crearse por ejemplo en base a los valores y umbrales mencionados anteriormente al multiplicar estos con un factor.
Dependiendo de la implementación concreta de una realización del banco 100 de filtros de análisis, el formador 110 de ventanas puede adaptarse también de tal manera que las tramas de ventana provistas en la salida 110o no comprenden muestras de ventana correspondientes a tramas de entrada de las secciones iniciales 160 de las tramas 130 de entrada. En este caso, la longitud de la trama de ventana y la longitud de las tramas 130 de entrada pueden diferir por ejemplo por la longitud de la sección 160 inicial. En otras palabras, en este caso, el formador 110 de ventanas puede ser configurado o adaptado para omitir al menos una última muestra de entrada de acuerdo con el orden de las muestras de entrada tal y como se ha descrito anteriormente en cuanto a tiempo. En otras palabras, en algunas realizaciones de un banco 100 de filtros de análisis, el formador 110 de ventanas puede estar configurado de tal manera que uno o más o incluso todos los valores de entrada o muestras de entrada de la sección 160 inicial de una trama 130 de entrada son omitidos. En este caso, la longitud de la trama de ventana es igual a la diferencia entre las longitudes de la trama 130 de entrada y la longitud de la sección 160 inicial de la trama 130 de entrada.
Como una opción adicional, cada una de las tramas 130 de entrada puede no comprender una sección 160 inicial, tal y como se ha indicado anteriormente. En este caso, la primera subsección 150-1 difiere en cuanto a la longitud de la subsección 150 respectiva o en cuanto al número de muestras de entrada de las otras subsecciones 1502 a 150-4. En este caso, la trama de ventana puede comprender o no muestras de ventana o valores de ventana de tal manera que una primera subsección similar de la trama de ventana correspondiente a la primera subsección 150-1 de la trama 130 de entrada comprende el mismo número como muestras de ventana o valores de ventana como las otras subsecciones correspondientes a las subsecciones 150 de la trama 130 de entrada. En este caso, los valores de ventana o muestras de ventana adicionales pueden fijarse en un valor predeterminado o al menos un valor en el intervalo predeterminado, tal y como se ha indicado anteriormente.
Además, el formador 110 de ventanas puede estar configurado en realizaciones de un banco 100 de filtros de análisis de tal manera que tanto la trama 130 de entrada y la trama de ventana resultante comprenden el mismo número de valores o muestras y donde tanto la trama 130 de entrada como las tramas de ventana resultantes no comprenden la sección 160 inicial o muestras correspondientes a la sección 160 inicial. En este caso, tanto la primera subsección 150-1 de la trama 130 de entrada como la subsección correspondiente de la trama de ventana comprenden menos valores o muestras en comparación con las otras subsecciones 150-2 a 150-4 de la trama 130 de entrada de las subsecciones correspondientes de la trama de ventana.
Cabe señalar que, en principio, no se requiere que la trama de ventana corresponda ya sea a una longitud de una trama 130 de entrada que comprende una sección 160 inicial o a una trama 130 de entrada que no comprende una sección 160 inicial. En principio, el formador 110 de ventanas puede adaptarse también de tal manera que la trama de ventana comprende uno o más valores o muestras correspondientes a valores de la sección 160 inicial de una trama de entrada 130.
En este contexto, también cabe señalar que en algunas realizaciones de un banco 100 de filtros de análisis, la sección 160 inicial representa o al menos comprende un subconjunto unido de índices de muestra n correspondiente a un subconjunto unido de valores de entrada o muestras de entrada de una trama 130 de entrada. De ahí, cuando proceda, también las tramas de ventana que comprenden una sección inicial correspondiente comprenden un subconjunto conectado de índices de muestra n de muestras de ventana correspondientes a la sección inicial respectiva de la trama de ventana, que también se denomina la sección de partida o sección de inicio de la trama de ventana. El resto de la trama de ventana sin la sección inicial o sección de partida, que a veces también se denomina la sección restante.
Tal y como ya se ha indicado anteriormente, el formador 110 de ventanas puede adaptarse en realizaciones de un banco 100 de filtros de análisis para generar las muestras de ventana de valores de ventana de una trama de ventana que no corresponde a la sección 160 inicial de una trama 130 de entrada, si está presente, en base a una función de ventana que puede incorporar modelos psicoacústicos, por ejemplo, en cuanto a generar las muestras de ventana en base a un cálculo logarítmico basado en las muestras de entrada correspondientes. Sin embargo, el formador 110 de ventanas puede adaptarse también en realizaciones diferentes de un banco 100 de filtros de análisis, de tal manera que se genera cada una de las muestras de ventana al multiplicar una muestra de entrada correspondiente con un coeficiente de ventana específico de muestra de la función de ventana definida sobre un conjunto de definición.
En muchas realizaciones de un banco 100 de filtros de análisis, se adapta el formador 110 de ventanas correspondiente de tal manera que la función de ventana, como por ejemplo descrita por los coeficientes de ventana, es asimétrica sobre el conjunto de definición con respecto a un punto medio del conjunto de definición. Además, en muchas realizaciones de un banco 100 de filtros de análisis, los coeficientes de ventana de la función de ventana comprenden un valor absoluto de más de 10%, 20% o 30%, 50% de un valor absoluto máximo de todos los coeficientes de ventana de la función de ventana en la primera mitad del conjunto de definición con respecto al punto medio, donde la función de ventana comprende menos coeficientes de ventana que tienen un valor absoluto de más del porcentaje mencionado anteriormente del valor absoluto máximo de los coeficientes de ventana en la segunda mitad del conjunto de definición, con respecto al punto medio. Se muestra tal función de ventana esquemáticamente en el contexto de cada una de las tramas 130 de entrada en la figura 2 como la función de ventana 180. Se describirán más ejemplos de funciones de ventana en el contexto de las figuras 5 a 11, incluyendo una breve discusión de propiedades espectrales y otras propiedades y oportunidades ofrecidas por algunas realizaciones de un banco de filtros de análisis, así como un banco de filtros de síntesis que implementa funciones de ventana tal y como se muestra en estas figuras y se describe en pasajes.
Aparte del formador 110 de ventanas, una realización de un banco 100 de filtros de análisis también comprende el convertidor 120 de tiempo/frecuencia, al que se le proporcionan las tramas de ventana del formador 110 de ventanas. El convertidor 120 de tiempo/frecuencia está a su vez adaptado para generar una trama de salida o una pluralidad de tramas de salida para cada una de las tramas de ventana, de tal manera que la trama de salida es una representación espectral de la trama de ventana correspondiente. Tal y como se explicará en más detalle a continuación, el convertidor 120 de tiempo/frecuencia está adaptado de tal manera que la trama de salida comprende menos de la mitad del número de valores de salida en comparación con el número de muestras de entrada de la trama de entrada o en comparación con la mitad del número de muestras de ventana de una trama de ventana.
Además, el convertidor 120 de tiempo/frecuencia puede implementarse de tal manera que está basado en una transformada de coseno discreta y/o una transformada de seno discreta, de tal manera que el número de salida muestras de una trama de salida es menor de la mitad del número de muestras de entrada de una trama de entrada. Sin embargo, más detalles de implementación de realizaciones posibles de un banco 100 de filtros de análisis se describirán en líneas generales en breve.
En algunas realizaciones de un banco de filtros de análisis, el convertidor 120 de tiempo/frecuencia está configurado de tal manera que emite un número de muestras de salida, que es igual al número de muestras de entrada de una sección 150-2, 150-3, 150-4 de partida, que no es la sección de partida de la primera subsección 150-1 de la trama 130 de entrada o que es idéntica al valor 170 por adelantado de muestra. En otras palabras, en muchas realizaciones de un banco 100 de filtros de análisis, el número de muestras de salida es igual al número entero M que presenta el valor por adelantado de la muestra de una longitud de la subsección 150 mencionada anteriormente de la trama de entrada 130. Valores típicos del valor por adelantado de muestra o M son en muchas realizaciones 480 ó 512. Sin embargo, cabe señalar que también números enteros diferentes M pueden implementarse fácilmente en realizaciones de un banco de filtros de análisis, tal como M = 360.
Además, cabe señalar que en algunas realizaciones de un banco de filtros de análisis la sección 160 inicial de una trama 130 de entrada o la diferencia entre el número de muestras en las otras subsecciones 150-2, 150-3, 150-4 y la primera subsección 150-1 de una trama 130 de entrada es igual a M/4. En otras palabras, en el caso de una realización de un banco 100 de filtros de análisis en los cuales M = 480, la longitud de la sección 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 sección 160 inicial de la diferencia mencionada anteriormente es igual a 128 (=M/4) en algunas realizaciones de un banco 100 de filtros de análisis. Sin embargo, cabe señalar que también en este caso, diferentes longitudes pueden implementarse también y no representan un límite en cuanto a una realización del banco 100 de filtros de análisis.
Tal y como también se ha indicado anteriormente, ya que el convertidor 120 de tiempo/frecuencia puede basarse por ejemplo en una transformada de coseno discreta o una transformada de seno discreta, realizaciones de un banco de filtros de análisis son algunas veces también discutidas y explicadas en cuanto al parámetro N = 2M que representa una longitud de una trama de entrada de un convertidor de transformada de coseno discreta modificado (MDCT). En las realizaciones mencionadas anteriormente de un banco 100 de filtros de análisis, el parámetro N es por lo tanto igual a 960 (M = 480) y 1024 (M = 512).
Tal y como se explicará en más detalle a continuación, realizaciones de un banco 100 de filtros de análisis puede ofrecer como ventaja un retardo más bajo de un procesamiento de audio digital sin reducir la calidad de audio en absoluto o un tanto significativamente. En otras palabras, una realización de un banco de filtros de análisis ofrece la oportunidad de implementar un modo de codificación de bajo retardo mejorado, por ejemplo en el marco de un codec (audio) (codec = codificador/descodificador o codificación/descodificación), que ofrece un retardo más bajo, que tiene al menos una respuesta de frecuencia comparable y un comportamiento de pre-eco mejorado en comparación con muchos codecs disponibles. Además, tal y como se explicará en el contexto de las realizaciones de un sistema de conferencia en más detalle, sólo una sola función de ventana para todas las clases de señales es capaz de obtener los beneficios mencionados anteriormente en algunas realizaciones de un banco de filtros de análisis y realizaciones de sistemas que comprenden una realización de un banco 100 de filtros de análisis.
Para enfatizar, no se requiere que las tramas de entrada de realizaciones de un banco 100 de filtros de análisis 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 por propósitos de simplicidad. Así, tampoco se requiere que el formador de ventanas sea adaptado de tal manera que las tramas de ventana también comprendan cuatro subsecciones correspondientes o que el convertidor 120 de tiempo/frecuencia sea adaptado de tal manera que es capaz de proporcionar la trama de salida en base a una trama de ventana que comprende cuatro subsecciones. Esto simplemente se ha elegido en el contexto de la figura 2 para ser capaz de explicar algunas realizaciones de un banco 100 de filtros de análisis de una manera concisa y clara. Sin embargo, las afirmaciones en el contexto de la trama de entrada en cuanto a la longitud de las tramas 130 de entrada pueden aplicarse también a la longitud de las tramas de ventana tal y como se explica en el contexto de las diferentes opciones con respecto a la sección 160 inicial y su presencia en las tramas 130 de entrada.
Se explicará en lo siguiente una implementación posible de una realización de un banco de filtros de análisis en vista de una implementación de bajo retardo de codec de audio avanzada flexible de error (ER AAC LD) con respecto a modificaciones con el fin de adaptar el banco de filtros de análisis del ER AAC LD para llegar a una realización de un banco 100 de filtros de análisis al que también a veces se le denomina denominado (banco de filtros de análisis) de bajo retardo. En otras palabras, con el fin de llegar a un retardo suficientemente reducido o bajo, podrían ser útiles algunas modificaciones a un codificador estándar en el caso de un ER AAC LD, tal y como se define en lo siguiente.
En este caso, el formador 110 de ventanas de una realización de un banco 100 de filtros de análisis está configurado para generar las muestras de ventana Zin en base a la ecuación o expresión
zi,n = w(N-1-n)-x'i,n, (1)
donde i es un número entero que indica un índice de trama o un índice de bloque de una trama de ventana y/o de una trama de entrada, y donde n es el número entero que indica un índice de muestra en el intervalo entre -N y N-1.
En otras palabras, en realizaciones que comprenden una secuencia inicial 160 en el marco de las tramas de salida 130, se extiende la formación de ventanas al paso implementando la expresión o ecuación anterior para los índices de muestra n = -N,…,N-1, donde w(n) es un coeficiente de ventana correspondiente a una función de ventana tal y como se explicará en más detalle en el contexto de las figuras 5 a 11. En el contexto de una realización del banco 100 de filtros de análisis, se utiliza la función de ventana de síntesis w como la función de ventana de análisis invirtiendo el orden, como se puede comprobar al comparar el argumento de la función de ventana w(n-1-n). La función de ventana para una realización de un banco de filtros de síntesis, tal y como se resume en el contexto de las figuras 3 y 4, puede construirse o generarse en base a la función de ventana de análisis mediante reflejo (por ejemplo, con respecto al punto medio del conjunto de definición) para obtener una versión reflejada. En otras palabras, la figura 5 muestra una gráfica de las funciones de ventana de bajo retardo, donde la ventana de análisis es simplemente una réplica inversa en el tiempo de la ventana de síntesis. En este contexto, también cabe señalar que x'i,n representa una muestra de entrada o un valor de entrada correspondiente al índice de bloque i y el índice de muestra n.
En otras palabras, en comparación con la implementación de ER AAC LD mencionada anteriormente (por ejemplo, en forma de un codec), que se basa en una longitud de ventana N de valores de 1024 ó 960 en base a la ventana de seno, la longitud de ventana de la ventana de bajo retardo comprendida en la ventana 110 de la realización del banco 100 de filtros de análisis es 2N(=4M) al extender la formación de ventanas al pasado.
Tal y como se explicará en más detalle en el contexto de las figuras 5 a 11, los coeficientes de ventana w(n) para n=0,…,2N-l pueden obedecer a las relaciones dadas en la tabla 1 en el anexo y tabla 3 en el anexo para N=960 y N=1024 en algunas realizaciones, respectivamente. Además, 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 cuanto al convertidor 120 de tiempo/frecuencia, el algoritmo MDCT (Transformada de Coseno Discreta Modificada) central tal y como se implementa en el marco del codec ER AAC LD permanece en su mayor parte sin cambiar, pero comprende la ventana más larga tal y como se ha explicado, de tal manera que ahora n recorre de -N a N-1 en lugar de recorrer de cero a N-. Se generan los coeficientes espectrales o valores de salida de la trama de salida Xi,k en base a la siguiente ecuación o expresión
donde zi,n es una muestra de ventana de una trama de ventana o una secuencia de entrada de ventana de un convertidor 120 de tiempo/frecuencia correspondiente al índice de muestra n y al índice de bloque i tal y como se ha explicado anteriormente. Además, k es un número entero que indica el índice de coeficiente espectral y N es un número entero que indica dos veces el número de valores de salida de una trama de salida o, tal y como se ha explicado anteriormente, la longitud de ventana de una ventana de transformada en base al valor de secuencia de ventana tal y como se implementa en el codec ER AAC LD. El número entero no es un valor desplazado y dado por
Dependiendo de la longitud concreta de una trama 130 de entrada tal y como se ha explicado en el contexto de la figura 2, el convertidor de tiempo/frecuencia puede implementarse en base a una trama de ventana que comprende muestras de ventana correspondientes a la sección 160 inicial de las tramas 130 de entrada. En otras palabras, en el caso de M=480 o N=960, las ecuaciones anteriores se basan en tramas de ventana que comprenden una longitud de 1920 muestras de ventana. En el caso de una realización de un banco 100 de filtros de análisis en el que las tramas de ventana no comprenden muestras de ventana correspondientes a la sección 160 inicial de las tramas 130 de entrada, las tramas de ventana comprenden la longitud de 1800 muestras de ventana en el caso mencionado anteriormente de M=480. En este caso, las ecuaciones dadas anteriormente pueden adaptarse de tal manera que las ecuaciones correspondientes se lleven a cabo. En el caso del formador 110 de ventanas, este puede por ejemplo conducir al índice de muestra n que recorre de -N,…,7N/8-1 en el caso de M/4 = N/8 muestras de ventana faltantes en la primera subsección, en comparación con las otras subsecciones de la trama de ventana tal y como se ha explicado anteriormente.
Así, en el caso de un convertidor 120 de tiempo/frecuencia, la ecuación dada anteriormente puede adaptarse fácilmente al modificar los índices de suma de manera correspondiente para no incorporar las muestras de ventana de la sección inicial o sección de partida de la trama de ventana. Por supuesto, pueden obtenerse fácilmente modificaciones adicionales de manera correspondiente en el caso de una longitud diferente de la sección 160 inicial de las tramas 130 de entrada o en el caso de la diferencia entre la longitud de la primera subsección y las otras subsecciones de la trama de ventana, tal y como también se ha explicado anteriormente.
En otras palabras, dependiendo de la implementación concreta de una realización del banco 100 de filtros de análisis, no se requiere que todos los cálculos tal y como se indican mediante las expresiones y ecuaciones anteriores se lleven a cabo. Realizaciones adicionales de un banco de filtros de análisis pueden comprender también una implementación en la cual el número de cálculos puede reducirse aún más, en principio, conduciendo a una eficiencia computacional más alta. Se describirá un ejemplo en el caso del banco de filtros de síntesis en el contexto de la figura
19.
En particular, tal y como también se explicará en el contexto de una realización de un banco de filtros de síntesis, una realización de un banco 100 de filtros de análisis puede implementarse en el marco del llamado bajo retardo mejorado de codec de audio avanzado flexible de error (ER AAC ELD) que se deriva del codec ER AAC LD mencionado anteriormente. Tal y como se ha descrito, se modifica el banco de filtros de análisis del codec ER AAC LD para llegar a una realización del banco 100 de filtros de análisis con el fin de adoptar el banco de filtros de bajo retardo como una realización de un banco 100 de filtros de análisis. Tal y como se explicará en más detalle, el codec ER AAC ELD que comprende una realización de un banco 100 de filtros de análisis y/o una realización de un banco de filtros de síntesis, que se explicará en más detalle posteriormente, proporciona la capacidad de extender el uso de codificación de audio de baja velocidad de bits genérica a aplicaciones que requieren un retardo muy bajo de la cadena de codificación/descodificación. Ejemplos provienen por ejemplo del campo de comunicaciones de dúplex completo en tiempo real, en las cuales se pueden incorporar diferentes realizaciones, tales como realizaciones de un banco de filtros de análisis, banco de filtros de síntesis, un descodificador y codificador, un mezclador y un sistema de conferencia.
Antes de describir realizaciones adicionales de la presente invención en más detalle, cabe señalar que se indican objetos, estructuras y componentes con la misma propiedad funcional o propiedad funcional similar con los mismos signos de referencia. A no ser que se indique explícitamente de otra manera, la descripción con respecto a objetos, estructuras y componentes con propiedades funcionales y características similares o iguales pueden ser intercambiados entre sí. Además, en lo siguiente se utilizarán signos de referencia de resumen para objetos, estructuras
o componentes que son idénticos o similares en una realización o en una estructura mostrados en una de las figuras, a no ser que se refiere a las propiedades o características de un objeto, estructura o componente específico. A modo de ejemplo, en el contexto de las tramas 130 de entrada ya se han incorporado signos de referencia de resumen. En la descripción en relación con las tramas de entrada en la figura 2, si se hace referencia a una trama de entrada específica, se ha utilizado el signo de referencia específico de aquella trama de entrada, por ejemplo 130-k, mientras que en el caso de que se hace referencia a todas las tramas de entrada o a una trama de entrada que no se distingue específicamente de las otras, se han utilizado los signos 130 de referencia de resumen. El uso de signos de referencia de resumen por lo tanto permite una descripción más compacta y más clara de realizaciones de la presente invención.
Además, en este contexto cabe señalar que en el marco de la presente solicitud, puede conectarse un primer componente que está acoplado a un segundo componente directamente o mediante circuitos adicionales o un componente adicional al segundo componente. En otras palabras, en el marco de la presente solicitud, dos componentes que son cercanos entre sí comprenden las dos alternativas de los componentes estando conectados directamente entre sí o mediante circuitos adicionales de un componente adicional.
La figura 3 muestra una realización de un banco 200 de filtros de síntesis para filtrar una pluralidad de tramas de entrada, donde cada trama de entrada comprende un número de valores de entrada ordenados. La realización del banco 200 de filtros de síntesis comprende un convertidor 210 de frecuencia/tiempo, un formador 220 de ventanas y un solapamiento/sumador 230 acoplados en serie.
Una pluralidad de tramas de entrada proporcionada para la realización del banco 200 de filtros de síntesis serán procesadas primero por el convertidor 210 de frecuencia/tiempo. Es capaz de generar una pluralidad de tramas de salida en base a las tramas de entrada, de tal manera que cada trama de salida es una representación temporal de la trama de entrada correspondiente. En otras palabras, el convertidor 210 de frecuencia/tiempo efectúa una transición para cada trama de entrada del dominio de frecuencia al dominio de tiempo.
El formador 220 de ventanas, que se acopla al convertidor 210 de frecuencia/tiempo, es entonces capaz de procesar cada trama de salida tal y como está proporcionada por el convertidor 210 de frecuencia/tiempo para generar una trama de ventana en base a esta trama de salida. En algunas realizaciones de un banco 200 de filtros de síntesis, el formador 220 de ventanas es capaz de generar las tramas de ventana mediante el procesamiento de cada una de las muestras de salida de cada una de las tramas de salida, donde cada trama de ventana comprende una pluralidad de muestras de ventana.
Dependiendo de la implementación concreta de la realización del banco 200 de filtros de síntesis, el formador 220 de ventanas es capaz de generar las tramas de ventana en base a las tramas de salida mediante la ponderación de las muestras de salida en base a una función de ponderación. Tal y como se ha explicado anteriormente en el contexto del formador 110 de ventanas en la figura 1, la función de ponderación puede basarse por ejemplo en un modelo psicoacústico que incorpora las capacidades o propiedades de audición del oído humano, tal como la dependencia logarítmica de la intensidad sonora de una señal de audio.
Adicional o alternativamente, el formador 220 de ventanas puede generar también la trama de ventana en base a la trama de salida al multiplicar cada muestra de salida de una trama de salida con un valor específico de muestra de una ventana, función de formación de ventana o función de ventana. También se le denominan a estos valores como coeficientes de ventana o coeficientes de formación de ventanas. En otras palabras, el formador 220 de ventanas puede adaptarse en al menos algunas realizaciones de un banco 200 de filtros de síntesis para generar las muestras de ventana de una trama de ventana al multiplicar éstos con una función de ventana que se le atribuye un coeficiente de ventana de valor real a cada uno de un conjunto de elementos de un conjunto de definición.
Se describirán ejemplos de tales funciones de ventana en más detalle en el contexto de las figuras 5 a 11. Además, cabe señalar que esta función de ventana puede ser asimétrica o no simétrica con respecto a un punto medio del conjunto de definición, que a su vez no se requiere que sea un elemento del propio conjunto de definición.
Además, el formador 220 de ventanas genera la pluralidad de muestras de ventana para un procesamiento adicional de manera solapada en base a un valor por adelantado de la muestra por el solapamiento/sumador 230, tal y como se explicará en más detalle en el contexto de la figura 4. En otras palabras, cada una de las tramas de ventana comprende más de dos veces el número de muestras de ventana en comparación con un número de muestras agregadas tal y como se proporciona por el solapamiento/sumador 230 acoplado a una salida del formador 220 de ventanas. Como consecuencia, el solapamiento/sumador es entonces capaz de generar una trama agregada de manera solapada al agregar al menos tres muestras de ventana de al menos tres tramas de ventana diferentes para al menos algunas de las muestras agregadas en las realizaciones de un banco 200 de filtros de síntesis.
El solapamiento/sumador 230 acoplado al formador 220 de ventanas es entonces capaz de generar o proporcionar una trama agregada para cada trama de ventana recién recibida. Sin embargo, tal y como se ha mencionado anteriormente, el solapamiento/sumador 230 acciona las tramas de ventana de manera solapada para generar una sola trama agregada.
Cada trama agregada comprende una sección de partida y una sección restante, tal y como se explicará en más detalle en el contexto de la figura 4, y comprende además una pluralidad de muestras agregadas al agregar al menos tres muestras de ventana de al menos tres tramas de ventana diferentes para una agregada en la sección restante de una trama agregada y al agregar al menos dos muestras de ventana de al menos dos tramas de ventana diferentes para muestras agregadas en la sección de partida. Dependiendo de la implementación, el número de muestras de ventana agregadas para obtener una muestra agregada en la sección restante puede ser al menos una muestra más alta en comparación con el número de muestras de ventana agregadas para obtener una muestra agregada en la sección de partida.
Alternativa o adicionalmente y dependiendo de la implementación concreta de una realización del banco 200 de filtros de síntesis, el formador 220 de ventanas puede estar configurado también para omitir el valor de salida más anterior de acuerdo con el orden de las muestras de salida ordenadas, para fijar las muestras de ventana correspondientes en un valor predeterminado o en al menos un valor en el intervalo predeterminado para cada trama de ventana de la pluralidad de tramas de ventana. Además, el solapamiento/sumador 230 puede en este caso ser capaz de proporcionar la muestra agregada en la sección restante de una trama agregada en base a al menos tres muestras de ventana de al menos tres tramas de ventana diferentes y una muestra agregada en la sección de partida en base a al menos dos muestras de ventana de al menos dos tramas de ventana diferentes, tal y como se explicará en el contexto de la figura 4.
La figura 4 muestra una representación esquemática de cinco tramas 240 de salida correspondientes a los índices k, k-1, k-2, k-3 y k+1 de trama, que son marcados de manera correspondiente. De manera análoga a la representación esquemática mostrada en la figura 2, se disponen las cinco tramas 240 de salida mostradas en la figura 4 de acuerdo con su orden con respecto al tiempo tal y como se indica por la flecha 250. Con referencia a la trama 240k de salida, las tramas 240-(k-1), 240-(k-2) y 240-(k-3) de salida se refieren a tramas 240 de salida del pasado. Así, la trama 240-(k+1) de salida con respecto a la trama 240-k de salida es una trama de salida siguiente o futuro.
Tal y como ya se ha mencionado en el contexto de las tramas 130 de entrada en la figura 2, también las tramas 240 de salida mostradas en la figura 4 comprenden, en el caso de la realización mostrada en la figura 4, cuatro subconjuntos 260-1, 260-2, 260-3 y 260-4 cada uno. Dependiendo de la implementación concreta de la realización de un banco 200 de filtros de síntesis, la primera subsección 260-1 de cada una de las tramas 240 de salida puede comprender o no una sección 270 inicial, tal y como ya se ha mencionado en el marco de la figura 2 en el contexto de la sección 160 inicial de las tramas 130 de entrada. Como consecuencia, la primera subsección 260-1 puede ser más corta en comparación con las otras subsecciones 260-2, 260-3 y 260-4 en la realización ilustrada en la figura 4. Las otras subsecciones 260-2, 260-3 y 260-4, sin embargo, comprenden cada una un número de muestras de salida igual al valor por adelantado de la muestra M mencionado anteriormente.
Tal y como se ha descrito en el contexto de la figura 3, el convertidor 210 de frecuencia/tiempo está en la realización mostrada en la figura 3 provista de una pluralidad de tramas de entrada en base a las cuales el convertidor 210 de frecuencia/tiempo genera una pluralidad de tramas de salida. En algunas realizaciones de un banco 200 de filtros de síntesis, la longitud de cada una de las tramas de entrada es idéntica al valor por adelantado de la muestra M, donde M es de nuevo un número entero positivo. Las tramas de salida generadas por el convertidor 210 de frecuencia/tiempo comprenden sin embargo al menos más de dos veces el número de valores de entrada de una trama de entrada. Para ser más preciso, en una realización de acuerdo con la situación mostrada en la figura 4, las tramas 240 de salida comprenden incluso más de tres veces el número de muestras de salida en comparación con el número de valores de entrada, cada uno de los cuales también comprende en realizaciones relacionadas con la situación mostrada M valores de entrada. Como consecuencia, las tramas de salida pueden dividirse en subsecciones 260, donde cada una de las subsecciones 260 de las tramas 240 de salida (opcionalmente sin la primera subsección 260-1, tal y como se ha mencionado anteriormente) comprende M muestras de salida. Además, la sección 270 inicial puede comprender en algunas realizaciones M/4 muestras. En otras palabras, en el caso de M = 480 o M = 512, la sección 270 inicial, si está presente, puede comprender 120 ó 128 muestras o valores.
En todavía otras palabras, tal y como se ha explicado en el contexto de las realizaciones del banco 100 de filtros de análisis anteriormente, el valor por adelantado de la muestra M es también idéntico a las longitudes de las subsecciones 260-2, 260-3 y 260-4 de las tramas 240 de salida. Dependiendo de la implementación concreta de una realización de un banco 200 de filtros de síntesis, también puede comprender la primera subsección 260-1 de la trama 240 de salida M muestras de salida. Sin embargo, si la sección 270 inicial de la trama 240 de salida no existe, la primera subsección 260-1 de cada una de las tramas 240 de salida es más corta que las subsecciones 260-2 a 260-4 restantes de las tramas 240 de salida.
Tal y como se ha mencionado anteriormente, el convertidor 210 de frecuencia/tiempo proporciona al formador 220 de ventanas una pluralidad de las tramas 240 de salida, donde cada una de las tramas de salida comprende un número de muestras de salida que es más grande que dos veces el valor por adelantado de la muestra M. El formador 220 de ventanas es entonces capaz de generar tramas de ventana en base a la trama 240 de salida actual, tal y como está proporcionada por el convertidor 210 de frecuencia/tiempo. Más explícitamente, se genera cada una de las tramas de ventana correspondientes a una trama 240 de salida en base a la función de ponderación, tal y como se ha mencionado anteriormente. En una realización basada en la situación mostrada en la figura 4, la función de ponderación se basa a su vez en una función 280 de ventana, que se muestra esquemáticamente sobre cada una de las tramas 240 de salida. En este contexto, también cabe señalar que la función 280 de ventana no produce ninguna contribución para muestras de salida en la sección 270 inicial de la trama 240 de salida, si está presente.
Sin embargo, como consecuencia, dependiendo de las implementaciones concretas de diferentes realizaciones de un banco 200 de filtros de síntesis, es necesario considerar de nuevo diferentes casos. Dependiendo del convertidor 210 de frecuencia/tiempo, el formador 220 de ventanas puede adaptarse o estar configurado de manera muy diferente.
Si, por ejemplo, por una parte, la sección 270 inicial de las tramas 240 de salida está presente de tal manera que también las primeras subsecciones 260-1 de las tramas 240 de salida comprenden M muestras de salida, el formador 220 de ventanas puede adaptarse de tal manera que puede o puede no generar tramas de ventana en base a las tramas de salida que comprenden el mismo número de muestras de ventana. En otras palabras, el formador 220 de ventanas puede implementarse de tal manera que genera unas tramas de ventana que también comprenden una sección 270 inicial, que puede implementarse, por ejemplo, al fijar las muestras de ventana correspondientes en un valor predeterminado (por ejemplo, 0, dos veces una amplitud de señal admisible máxima, etc.) o en al menos un valor en un intervalo predeterminado, tal y como se ha mencionado anteriormente en el contexto de las figuras 1 y 2.
En este caso, tanto la trama 240 de salida como la trama de ventana en base a la trama 240 de salida pueden comprender el mismo número de muestras o valores. Sin embargo, las muestras de ventana en la sección 270 inicial de la trama de ventana no dependen necesariamente de las muestras de salida correspondientes de la trama 240 de salida. Se basa la primera subsección 260-1 de la trama de ventana, sin embargo, con respecto a las muestras no en la sección 270 inicial, en la trama 240 de salida tal y como se le proporciona por el convertidor 210 de frecuencia/tiempo.
Para resumir, si está presente al menos una muestra de salida de la sección 270 inicial de una trama 240 de salida, la muestra de ventana correspondiente puede fijarse en un valor predeterminado o en un valor en un intervalo predeterminado, tal y como se ha explicado en el contexto de una realización de un banco de filtros de análisis ilustrado en las figuras 1 y 2. En el caso de que la sección 270 inicial comprenda más de una muestra de ventana, lo mismo puede ser cierto también para esta o estas otras muestras o valores de ventana de la sección 270 inicial.
Además, el formador 220 de ventanas puede adaptarse de tal manera que las tramas de ventana no comprenden ninguna sección 270 inicial. En el caso de tal realización del banco 200 de filtros de síntesis, el formador 220 de ventanas puede estar configurado para omitir las muestras de salida de las tramas 240 de salida en la sección 270 inicial de la trama 240 de salida.
En cualquiera de estos casos, dependiendo de la implementación concreta de tal realización, la primera subsección 260-1 de una trama de ventana puede o puede no comprender la sección 270 inicial. Si existe una sección inicial de la trama de ventana, no se requiere que las muestras de ventana o valores de esta sección dependan de ninguna forma de las muestras de salida correspondientes de la trama de salida respectiva.
Por otra parte, si la trama 240 de salida no comprende la sección 270 inicial, el formador 220 de ventanas puede estar configurado también para generar una trama de ventana en base a la trama 240 de salida que comprende o no comprende una sección 270 inicial por sí mismo. Si el número de muestras de salida de la primera subsección 260-1 es menor que el valor por adelantado de la muestra M, el formador 220 de ventanas puede en algunas realizaciones de un banco 200 de filtros de síntesis ser capaz de fijar las muestras de ventana correspondientes a las “muestras de salida faltantes” de la sección 270 inicial de la trama de ventana en el valor predeterminado o en al menos un valor en el intervalo predeterminado. En otras palabras, el formador 220 de ventanas puede en este caso ser capaz de llenar la trama de ventana con el valor predeterminado o al menos un valor en el intervalo predeterminado, de tal manera que la trama de ventana resultante comprende un número de muestras de ventana, que es un múltiplo entero del valor por adelantado de la muestra M, el tamaño de una trama de entrada o la longitud de una trama agregada.
Sin embargo, como una opción adicional que podría implementarse, tanto las tramas 240 de salida como las tramas de ventana podrían no comprender de ninguna manera una sección 270 inicial. En este caso, el formador 220 de ventanas puede estar configurado para simplemente ponderar al menos algunas de las muestras de salida de la trama de salida para obtener la trama de ventana. Adicional o alternativamente, el formador 220 de ventanas podría emplear una función 280 de ventana o similar.
Tal y como se ha explicado anteriormente en el contexto de la realización del banco 100 de filtros de análisis mostrada en las figuras 1 y 2, la sección 270 inicial de los tramas 240 de salida corresponde a las muestras más anteriores en el trama de salida 250 en el sentido de que estos valores corresponden a las muestras “más nuevas” que tienen el índice de muestra más pequeño. En otras palabras, considerando todas las muestras de salida de la trama 240 de salida, estas muestras se refieren a muestras correspondientes a la cantidad de tiempo más corta que se habrá transcurrido cuando se reproduce una muestra agregada correspondiente tal y como está proporcionada por el solapamiento/sumador 230 en comparación 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 más nuevas corresponden a una posición que queda en la trama 240 de salida o subsección 260 respectiva. En todavía otras palabras, el tiempo tal y 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 de ventana por el solapamiento/sumador 230 en más detalle, cabe señalar que en muchas realizaciones del banco 200 de filtros de síntesis, se adaptan el convertidor 210 de frecuencia/tiempo y/o el formador 220 de ventanas de tal manera que la sección 270 inicial de la trama 240 de salida y la trama de ventana están o bien completamente presentes o bien no presentes. En el primer caso, el número de muestras de salida o muestras de ventana en la primera subsección 260-1 es por lo tanto igual al número de muestras de salida en una trama de salida, que es igual a M. Sin embargo, también pueden implementarse unas realizaciones de un banco 200 de filtros de síntesis en las cuales ya sea uno u otro o ambos del convertidor 210 de frecuencia/tiempo y el formador 220 de ventanas pueden estar configurados de tal manera que la sección 270 inicial está presente, pero el número de muestras en la primera subsección 260-1 es todavía más pequeño que el número de muestras de salida en una trama de salida de un convertidor 210 de frecuencia/tiempo. Además, cabe señalar que en muchas realizaciones se tratan como tal a todas las muestras o valores de cualquiera de las tramas, aunque por supuesto sólo pueden utilizarse uno o una fracción de los valores o muestras correspondientes.
El solapamiento/sumador 230 acoplado al formador 220 de ventanas es capaz de proporcionar una trama 290 agregada, tal y como se indica en la parte inferior de la figura 4, que comprende una sección 300 de partida y una sección 310 restante. Dependiendo de la implementación concreta de una realización de un banco 200 de filtros de síntesis, el solapamiento/sumador 230 puede implementarse de tal manera que una muestra agregada tal y como está comprendida en la trama agregada en la sección de partida se obtiene al agregar al menos dos muestras de ventana de al menos dos tramas de ventana diferentes. Para ser más preciso, ya que las realizaciones mostradas en la figura 4 se basan en cuatro subsecciones 260-1 a 260-4 en el caso de cada una de las tramas 240 de salida y las tramas de ventana correspondientes, una muestra agregada en la sección 300 de partida se basa en tres o cuatro muestras o valores de ventana de al menos tres o cuatro tramas de ventana diferentes, respectivamente, tal y como se indica por la flecha 320. La pregunta de si se utilizarán tres o cuatro muestras de ventana en el caso de la realización usada en la figura 4 depende de la implementación concreta de la realización en cuanto a la sección 270 inicial de la trama de ventana en base a la trama de salida correspondiente 240-k.
En lo siguiente, con referencia a la figura 4, se podría pensar de las tramas 240 de salida tal y como se muestran en la figura 4 como las tramas de ventana proporcionadas por el formador 220 de ventanas en base a las tramas 240 de salida respectivas, ya que se obtienen las tramas de ventana en la situación ilustrada en la figura 4 al multiplicar al menos las muestras de salida de las tramas 240 de salida fuera de de la sección 270 inicial con valores derivados de la función 280 de ventana. De ahí, en lo siguiente con respecto al solapamiento/sumador 230, también puede utilizarse el signo de referencia 240 para una trama de ventana.
En el caso del formador 220 de ventanas que se adapta de tal manera que se fijan las muestras de ventana en una sección 270 inicial existente en un valor predeterminado o en un valor en el intervalo predeterminado, puede utilizarse la muestra de ventana o valor de ventana en la sección 270 inicial al sumar las tres muestras agregadas restantes de la segunda subsección de la trama 240-(k-1) de ventana (correspondiente a la trama 240-(k-1) de salida), la tercera subsección de la trama 240-(k-2) de ventana (correspondiente a la trama 240-(k-2) de salida) y la cuarta subsección de la trama 240-(k-3) de ventana (correspondiente a la trama 240-(k-3) de salida), si el valor predeterminado
o el intervalo predeterminado son tal que la suma de la muestra de ventana de la sección 270 inicial de la trama 240-k de ventana (correspondiente a la trama 240-k de salida) no altera o perturba significativamente el resultado.
En el caso de que se adapta el formador 220 de ventanas de tal manera que una sección 270 inicial no existe en el caso de una trama de ventana, habitualmente se obtiene la muestra agregada correspondiente en la sección 300 de inicio al agregar las al menos dos muestras de ventana de las al menos dos tramas de ventana. Sin embargo, ya que la realización mostrada en la figura 4 se basa en una trama de ventana que comprende cuatro subsecciones 260 cada una, en este caso, se obtiene la muestra agregada en la sección de partida de la trama 290 agregada mediante la suma de las tres muestras de ventana mencionadas anteriormente de las tramas 240-(k-1), 240-U-2) y 240-(k-3) de ventana.
Este caso puede, por ejemplo, ser provocado por el formador 220 de ventanas que se adapta de tal manera que se omite una muestra de salida correspondiente de una trama de salida por el formador 220 de ventanas. Sin embargo, cabe señalar que si el valor predeterminado o el intervalo predeterminado comprende valores que conducirían a una alteración de la muestra agregada, el solapamiento/sumador 230 puede estar configurado de tal manera que no se tiene en cuenta la muestra de ventana correspondiente para la suma de la muestra de ventana respectiva para obtener la muestra agregada. En este caso, puede considerarse también omitir las muestras de ventana en la sección 270 inicial por el solapamiento/sumador, ya que no se utilizarán las muestras de ventana correspondientes para obtener la muestra agregada en la sección 300 de partida.
En cuanto a una muestra agregada en la sección 310 restante, tal y como se indica por la flecha 330 en la figura 4, se adapta el solapamiento/sumador 230 para agregar al menos tres muestras de ventana de al menos tres tramas 240 de ventana diferentes (correspondientes a tres tramas 240 de salida diferentes). De nuevo, debido al hecho de que una trama 240 de ventana en la realización mostrada en la figura 4 comprende cuatro subsecciones 260, se generará una muestra agregada en la sección 310 restante por el solapamiento/sumador 230 mediante la suma de hasta cuatro muestras de ventana de cuatro tramas 240 de ventana diferentes. Para ser más preciso, se obtiene una muestra agregada en la sección 310 restante de la trama 290 agregada por el solapamiento/sumador 230 mediante la suma de la muestra de ventana correspondiente de la primera sección 260-1 de la trama 240-k de ventana, de la segunda subsección 260-2 de la trama 240-(k-1) de ventana, de la tercera subsección 260-3 de la trama 240-(k-2) de ventana y de la cuarta subsección 260-4 de la trama 240-(k-3) de ventana.
Como consecuencia del proceso de solapamiento/suma tal y como se ha descrito, la trama 290 agregada comprende M = N/2 muestras agregadas. En otras palabras, el valor por adelantado de la muestra M es igual a la longitud de la trama 290 agregada. Además, al menos en cuanto a algunas realizaciones de un banco 200 de filtros de síntesis, la longitud de una trama de entrada también es, tal y como se ha mencionado anteriormente, igual al valor por adelantado de la muestra M.
El hecho de que se utilizan en la realización mostrada en la figura 4 al menos tres o cuatro muestras de ventana para obtener una muestra agregada en la sección 300 de partida y la sección 310 restante de la trama agregada, respectivamente, se ha elegido sólo para propósitos de simplicidad. En la realización mostrada en la figura 4, cada una de las tramas 240 de salida/de ventana comprende cuatro secciones 260-1 a 260-4 de partida. Sin embargo, en principio, una realización del banco de filtros de síntesis puede implementarse fácilmente, en la cual una trama de salida o de ventana sólo comprende una muestra de ventana más de dos veces el número de muestras agregadas de una trama 290 agregada. En otras palabras, una realización de un banco 200 de filtros de síntesis puede adaptarse de tal manera que cada trama de ventana sólo comprende 2M+1 muestras de ventana.
Tal y como se ha explicado en el contexto de una realización de un banco 100 de filtros de análisis, también puede incorporarse una realización de un banco 200 de filtros de síntesis en el marco de un codec de ER AAC ELD (codec = codificador / descodificador) mediante una modificación de un codec ER AAC LD. Por lo tanto, puede utilizarse una realización de un filtro 200 de síntesis en el contexto de un codec AAC LD con el fin de definir un sistema de codificación/descodificación de audio de baja velocidad de bits y bajo retardo. Por ejemplo, una realización de un banco de filtros de síntesis puede estar comprendida en un descodificador para el codec ER AAC ELD junto con una herramienta SBR (Replicación de Banco Espectral) opcional. Sin embargo, con el fin de obtener un retardo suficientemente bajo, puede ser recomendable la implementación de algunas modificaciones en comparación con un codec ER AAC LD para llegar a una implementación de una realización de un banco 200 de filtros de síntesis.
El banco de filtros de síntesis de los codecs anteriormente mencionados puede modificarse con el fin de adaptar una realización de un banco de filtros (de síntesis) bajo, donde el algoritmo IMDCT (Transformada de Coseno Discreta Modificada Inversa) central puede permanecer en su mayor parte sin cambiar en cuanto al convertidor 210 de frecuencia/tiempo. Sin embargo, en comparación con un convertidor de frecuencia/tiempo IMDCT, puede implementarse el convertidor 210 de frecuencia/tiempo con una función de ventana más larga, de tal manera que el índice de muestra n ahora recorre hasta 2N-1, en lugar de hasta N-1.
Para ser más preciso, el convertidor 210 de frecuencia/tiempo puede implementarse de tal manera que esté
para 0:n<2N
donde, tal y como se ha mencionado anteriormente, n es un número entero que indica un índice de muestra, i es un número entero que indica un índice de ventana, k es un índice de coeficiente espectral, N es una longitud de ventana basada en la secuencia de ventanas de parámetros de una implementación de codec ER AAC LD de tal manera que el número entero N es dos veces el número de muestras agregadas de una trama 290 agregada. Además, n0 es un valor desplazado dado por
donde spec[i][k] es un valor de entrada correspondiente al índice de coeficiente espectral k y el índice l de ventana de la trama de entrada. En algunas realizaciones de un banco 200 de filtros de síntesis, el parámetro N es igual a 960 ó 1024. Sin embargo, en principio, el parámetro N puede también adquirir cualquier valor. En otras palabras, pueden funcionar unas realizaciones adicionales de un banco 200 de filtros de síntesis en base a un parámetro N=360 u otros valores.
El formador 220 de ventanas y el solapamiento/sumador 230 pueden modificarse también en comparación con la formación de ventana y solapamiento/sumas implementados en el marco de un codec ER AAC LD. Para ser más preciso, en comparación con el codec mencionado anteriormente, se sustituye la longitud N de una función de ventana por una función de ventana de longitud 2N con más solapamiento en el pasado y menos solapamiento en el futuro. Tal y como se explicará en el contexto de las siguientes figuras 5 a 11, en realizaciones de un banco 200 de filtros de síntesis, en realidad pueden fijarse en cero las funciones de ventana que comprenden M/4 = N/8 valores o coeficientes de ventana. Como consecuencia, estos coeficientes de ventana corresponden a las secciones 160, 270 iniciales de las tramas respectivas. Tal y como se ha explicado anteriormente, no se requiere que esta sección sea implementada. Como una alternativa posible, los módulos correspondientes (por ejemplo, los formadores de ventana 110, 220) pueden construirse de tal manera que no se requiere la multiplicación con un valor cero. Tal y como se ha explicado anteriormente, las muestras de ventana pueden fijarse en cero o pueden omitirse, para mencionar sólo dos diferencias relacionadas con la implementación de unas realizaciones.
Así, puede implementarse la formación de ventana efectuada por el formador 220 de ventanas en el caso de tal realización de un banco de filtros de síntesis que comprende tal función de ventana de bajo retardo de acuerdo con
donde la función de ventana con coeficientes de ventana w(n) tiene ahora una longitud de 2N coeficientes de ventana. De ahí, el índice de muestra recorre de N = 0 a N = 2N-2, donde tanto las relaciones como los valores de los coeficientes de ventana de diferentes funciones de ventana están comprendidas en las tablas 1 a 4 en el anexo para diferentes realizaciones de un banco de filtros de síntesis.
Además, el solapamiento/sumador 230 puede implementarse además de acuerdo con o en base a la expresión
o ecuación
donde las expresiones y las ecuaciones dadas anteriormente podrían alterarse ligeramente dependiendo de la implementación concreta de una realización de un banco 200 de filtros de síntesis. En otras palabras, dependiendo de la implementación concreta, especialmente en vista del hecho de que una trama de ventana no comprende necesariamente una sección inicial, las ecuaciones y expresiones dadas anteriormente podrían alterarse por ejemplo en cuanto a las fronteras de los índices de suma para excluir muestras de ventana de la sección inicial en el caso de que una sección inicial no esté presente o comprenda muestras de ventana triviales (por ejemplo, muestras de valor cero). En otras palabras, al implementar al menos una de una realización de un banco 100 de filtros de análisis o de un banco 200 de filtros de síntesis, puede implementarse un codec ER AAC LD opcionalmente con una herramienta SBR apropiada para obtener un codec ER AAC ELD, que puede utilizarse por ejemplo para obtener un sistema de codificación y descodificación de audio de baja velocidad de bits y/o bajo retardo. Se proporcionará una vista general de un codificador del extremo y un descodificador en el marco de las figuras 12 y 13, respectivamente.
Tal y como ya se ha indicado varias veces, ambas realizaciones de un banco 100 de filtros de análisis y de un banco 200 de filtros de síntesis pueden ofrecer la ventaja de habilitar un modo de codificación de bajo retardo mejorado al implementar una función de ventana de bajo retardo en el marco de un banco 100, 200 de filtros de análisis/síntesis así como en el marco de realizaciones de un codificador y descodificador. Al implementar una realización de un banco de filtros de análisis o un banco de filtros de síntesis, que puede comprender una de la funciones de ventana, que se describirán en más detalle en el contexto de las figuras 5 a 11, pueden obtenerse varias ventajas dependiendo de la implementación concreta de una realización de un banco de filtros que comprende una función de ventana de bajo retardo. Refiriéndose al contexto de la figura 2, una implementación de una realización de un banco de filtros puede ser capaz de producir el retardo en comparación con el codec en base a ventanas ortogonales, las cuales se utilizan en todos los codec punteros. Por ejemplo, en el caso del sistema basado en el parámetro N=960, puede realizarse la reducción de retardo de 960 muestras, que es igual a un retardo de 20 ms a una frecuencia de toma de muestras de 48 kHz, a 700 muestras, lo que es igual a un retardo de 15 ms a la misma frecuencia de toma de muestras. Además, tal y como se mostrará, la respuesta de frecuencia de una realización de un banco de filtros de síntesis y/o de un banco de filtros de análisis es muy similar al banco de filtros que utiliza una ventana de signo. En comparación con un banco de filtros que emplea la llamada ventana de bajo solapamiento, la respuesta de frecuencia es aún mucho mejor. Además, el comportamiento de pre-eco es similar a la ventana de bajo solapamiento, de tal manera que una realización de un banco de filtros de síntesis y/o de un banco de filtros de análisis puede representar una solución intermedia excelente entre calidad y bajo retardo dependiendo de la implementación concreta de una realización de los bancos de filtros. Como una ventana adicional que puede utilizarse por ejemplo en el marco de una realización de un sistema de conferencia, es que puede usarse sólo una función de ventana para procesar todas las clases de señales.
La figura 5 muestra una representación gráfica de una posible función de ventana, que puede utilizarse por ejemplo en el marco de un formador 110,220 de ventana en el caso de una realización de un banco 100 de filtros de análisis y en el caso de un banco 200 de filtros de síntesis. Para ser más preciso, las funciones de ventana mostradas en la figura 5 corresponden a una función de ventana de análisis para M=480 bandas o un número de muestras de salida en el caso de una realización de un banco de filtros de análisis en la gráfica superior. La gráfica inferior de la figura 5 muestra la función de ventana de síntesis correspondiente para una realización de un banco de filtros de síntesis. Ya que ambas funciones de ventana mostradas en la figura 5 corresponden a M=480 bandas o muestras de una trama de salida (banco de filtros de análisis) y una trama agregada (banco de filtros de síntesis), las funciones de ventana mostradas en la figura 5 comprenden el conjunto de definición de 1920 valores cada uno con índices n=0,…1919.
Además, tal y como se muestra claramente en las dos gráficas en la figura 5, con respecto a un punto medio del conjunto de definición, que en este caso no forma parte del propio conjunto de definición, ya que el punto medio cae entre los índices N=959 y N=960, ambas funciones de ventana comprenden un número más alto significativo de coeficientes de ventana en una mitad del conjunto de definición con respecto al punto medio mencionado anteriormente que tiene valores absolutos de los coeficientes de ventana, que son mayores de 10%, 20%, 30% ó 50% del valor absoluto máximo de todos los coeficientes de ventana. En el caso de la función de ventana de análisis en la gráfica superior de la figura 5, la mitad respectiva del conjunto de definición es el conjunto de definición que comprende los índices N=960,… 1919, mientras en el caso de la función de ventana de síntesis en la gráfica inferior de la figura 5, la mitad respectiva del conjunto de definición con respecto al punto medio comprende los índices N=0,…, 959. Como consecuencia, con respecto al punto medio, tanto la función de ventana de análisis como la función de ventana de síntesis son fuertemente asimétricas.
Tal y como ya se ha mostrado en el contexto tanto del formador 110 de ventanas de una realización del banco de filtros de análisis como en el caso del formador 220 de ventanas de la realización del banco de filtros de síntesis, la función de ventana de análisis y la función de ventana de síntesis son en cuanto a los índices inversas entre sí.
Un aspecto importante con respecto a la función de ventana mostrada en las dos gráficas en la figura 5 es que en el caso de la ventana de análisis mostrada en la gráfica superior, los últimos 120 coeficientes de formación de ventana y en el caso de la función de ventana de síntesis en la gráfica inferior en la figura 5, los primeros 120 coeficientes de ventana se fijan en cero o comprenden un valor absoluto de tal manera que pueden considerarse iguales a 0 dentro de una exactitud razonable. En otras palabras, puede considerarse por lo tanto que los 120 coeficientes de formación de ventanas mencionados anteriormente de las dos funciones de ventana provocan un número apropiado de muestras para fijarse en al menos un valor en un intervalo predeterminado al multiplicar los 120 coeficientes de ventana con las muestras respectivas. En otras palabras, dependiendo de la implementación concreta de realizaciones de un banco 100 de filtros de análisis o un banco 200 de filtros de síntesis, los 120 coeficientes de ventana de valor cero darán como resultado la creación de la sección 160 inicial, 270 de las tramas de ventana en realizaciones de un banco de filtros de análisis y un banco de filtros de síntesis, cuando proceda, tal y como se ha explicado anteriormente. Sin embargo, aún si las secciones 160, 270 iniciales no están presentes, los 120 coeficientes de ventana de valor cero pueden ser interpretados por el formador 110 de ventanas, por el convertidor 120 de tiempo/frecuencia, por el formador 220 de ventanas y por el solapamiento/sumador 230 en realizaciones de un banco 100 de filtros de análisis y un banco 200 de filtros de síntesis para tratar o procesar las diferentes tramas de manera correspondiente, incluso en el caso de que no están presentes las secciones 160, 270 iniciales de las tramas apropiadas.
Al implementar una función de ventana de análisis o una función de ventana de síntesis tal y como se muestra en la figura 5 que comprende 120 coeficientes de formación de ventana de valor cero en el caso de M=480 (N=960), se establecerán unas realizaciones apropiadas de un banco 100 de filtros de análisis y un banco 200 de filtros de síntesis en las cuales 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 ponerlo en términos más generales.
Tal y como se ha mencionado anteriormente, la función de ventana de análisis mostrada en la gráfica superior de la figura 5 y la función de ventana de síntesis mostrada en la gráfica inferior de la figura 5 representan funciones de ventana de bajo retardo tanto para un banco de filtros de análisis y un banco de filtros de síntesis. Además, tanto la función de ventana de análisis como la función de ventana de síntesis tal y como se muestran en la figura 5 son versiones reflejadas entre sí con respecto al punto medio mencionado anteriormente del conjunto de definición del cual se definen ambas funciones de ventana.
Cabe señalar que el uso de la ventana de hoja de retardo y/o el uso de una realización de un banco de filtros de análisis o un banco de filtros de síntesis en muchos casos no da como resultado ningún incremento notable en complejidad computacional y sólo un incremento marginal en requisitos de almacenamiento, tal y como se describirá en líneas generales a continuación durante el análisis de complejidad.
Las funciones de ventana mostradas en la figura 5 comprenden los valores dados en la tabla 2 en el anexo, que se ha resumido sólo por propósitos de simplicidad. Sin embargo, hasta ahora, no es necesario que una realización de un banco de filtros de análisis o un banco de filtros de síntesis que funciona sobre un parámetro M=480 comprenda los valores exactos dados en la tabla 2 en el anexo. Naturalmente, la implementación concreta de una realización de un banco de filtros de análisis o un banco de filtros de síntesis puede fácilmente emplear coeficientes de ventana variables en el marco de funciones de ventana apropiadas, de tal manera que, en muchos casos, el empleo de coeficientes de ventana será suficiente, que emplea, en el caso de M=480, las relaciones dadas en la Tabla 1 en el anexo.
Además, en muchas realizaciones que tienen coeficientes de filtro, los coeficientes de ventana así como coeficientes de elevación, que serán introducidos posteriormente, no se requiere que las figuras dadas se implementen precisamente tal y como son dadas. En otras palabras, en otras realizaciones de un banco de filtros de análisis así como un banco de filtros de síntesis y realizaciones relacionadas de la presente invención, también otras funciones de ventana pueden implementarse, que son coeficientes de filtro, coeficientes de ventana y otros coeficientes, tales como el coeficiente de elevación, que son diferentes de los coeficientes dados a continuación en el anexo, mientras que las variaciones están dentro del tercer dígito después de la coma o en los dígitos superiores, tal como los cuartos, quintos, etc. dígitos.
Considerando la función de ventana de síntesis en la gráfica inferior de la figura 5, como se menciona anteriormente, los primeros M/4=120 coeficientes de ventana se fijan en cero. Después de esto, aproximadamente hasta el índice 350, la función de ventana comprende una elevación empinada, que es seguida de una elevación más moderada hasta un índice de aproximadamente 600. En este contexto, cabe señalar que alrededor de un índice de 480 (=M), la función de ventana se vuelve mayor que la unidad o mayor de uno. Después del índice 600 hasta aproximadamente la muestra 1100, la función de ventana cae desde su valor máximo a un nivel de menos de 0,1. En el resto del conjunto de definición, la función de ventana comprende ligeras oscilaciones alrededor del valor 0.
La figura 6 muestra una comparación de la función de ventana como se muestra en la figura 5 en el caso de una función de ventana de análisis en la gráfica superior de la figura 6 y en el caso de una función de ventana de síntesis en la gráfica inferior de la figura 6. Además, como una línea discontinua, dos gráficas también comprenden la denominada función de ventana de seno, que es por ejemplo empleada en los codecs ER AAC y AAC LC y AAC LD mencionados anteriormente. La comparación directa de la ventana de seno y la función de ventana de bajo retardo como se muestra en las dos gráficas de la figura 6 ilustra 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 de seno es solamente definida en 960 muestras, la diferencia más sorprendente entre las dos funciones de ventana mostradas en el caso de una realización de un banco de filtros de análisis (gráfica superior) y en el caso de un banco de filtros de síntesis (gráfica inferior) es decir la función de trama de ventana de seno es dividida alrededor de su punto medio respectivo del conjunto de definición acortado y comprende en los primeros 120 elementos del conjunto de definición (en su mayoría) coeficientes de ventana que son mayores de cero. A diferencia, como se explicó previamente, la ventana de bajo retardo comprende 120 (idealmente) coeficientes de ventana de valor cero y es significativamente asimétrica con respecto a su punto medio respectivo del conjunto de definición prolongado en comparación con el conjunto de definición de la ventana de seno.
Hay una diferencia adicional, que distingue la ventana de bajo retardo de la ventana de seno, mientras que ambas ventanas adquieren aproximadamente un valor de aproximadamente 1 y un índice de muestra de 480 (=M), la función de ventana de bajo retardo llega a un máximo de más de uno aproximadamente 120 muestras después de volverse mayor de 1 y un índice de muestra de aproximadamente 600 (= M + M/4; M = 480), mientras que la ventana de seno simétrica disminuye simétricamente hasta 0. En otras palabras, las muestras las cuales serán tratadas, por ejemplo al multiplicar con cero en una primera trama serán multiplicadas en la siguiente trama con valores mayores de 1 debido al modo de operación de solapamiento y el valor por adelantado de la muestra de M=480 en estos casos.
Una descripción adicional de ventanas de bajo retardos adicionales, será dada, que puede por ejemplo ser empleada en otras realizaciones de un banco de filtros de análisis o un banco 200 de filtros de síntesis, el concepto de la reducción de retardo que es obtenible con las funciones de ventana mostradas en las figuras 5 y 6 será explicado con referencia al parámetro M=480, N=960 que tiene M/4 = 120 valores de cero o valores suficientemente bajos. En la ventana de análisis mostrada en la gráfica superior de la figura 6, las partes que acceden a valores de entrada futuros (índices de muestra de 1800 a 1920) se reducen por 120 muestras. Correspondientemente, en la ventana de síntesis en la gráfica inferior de la figura 6, el solapamiento con muestras de salida del pasado, que requerirían un retardo correspondiente en el caso de un banco de filtros de síntesis se reduce por otras 120 muestras. En otras palabras, en el caso de una ventana de síntesis el solapamiento con las muestras de salida del pasado, que es necesario para completar la operación de solapamiento/suma o para terminar el solapamiento/suma junto con la reducción de 120 muestras en el caso de una ventana de análisis darán como resultado una reducción de retardo global de 240 muestras en el caso de un sistema que comprende ambas realizaciones de un banco de filtros de análisis y un banco de filtros de síntesis.
El solapamiento extendido, sin embargo, no da como resultado ningún retardo adicional ya que solamente involucra agregar valores del pasado, que pueden fácilmente ser almacenados sin provocar retardo adicional, al menos en la escala de la frecuencia de toma de muestras. Una comparación del tiempo de conjuntos de la ventana de seno tradicional y la ventana de bajo retardo mostradas en las figuras 5 y 6 ilustran esto.
La figura 7 comprende tres gráficas, tres funciones de ventana diferentes. Para ser más preciso, la gráfica superior de la figura 7 muestra la ventana de seno mencionada anteriormente, mientras que la gráfica media muestra la denominada ventana de bajo solapamiento y la gráfica inferior muestra la ventana de bajo retardo. Sin embargo, las tres ventanas mostradas en la figura 7 corresponden a un valor por adelantado de la muestra o parámetro M = 512 (N = 2M =1024). Una vez más, la ventana de seno, también como la ventana de bajo solapamiento en las dos gráficas superiores en la figura 7 son definidas solamente sobre conjuntos de definición limitados o acortados que comprenden 1024 índices de muestra en comparación con la función de ventana de bajo retardo como se muestra en la gráfica inferior de la figura 7, que es definida sobre 2048 índices de muestra.
Las gráficas de las formas de ventana de una ventana de seno, la ventana de bajo solapamiento y la ventana de bajo retardo en la figura 7 comprenden más o menos las mismas características como se discutió previamente en cuanto a la ventana de seno y la ventana de bajo retardo. Para ser más preciso, la ventana de seno (gráfica superior en la figura 7) es una vez más simétrica con respecto al punto medio apropiado del conjunto de definición que se encuentra entre los índices 511 y 512. La ventana de seno adquiere un valor máximo a aproximadamente el valor M = 512 y cae del valor máximo de regreso a cero otra vez en la frontera del conjunto de definición.
En el caso de la ventana de bajo retardo mostrada en la gráfica inferior de la figura 7, esta ventana de bajo retardo comprende 128 coeficientes de ventana de valor cero, que es una vez más un cuarto del valor por adelantado de la muestra M. Además, la ventana de bajo retardo adquiere un valor de aproximadamente 1 a un índice de muestra M, mientras que el valor máximo de los coeficientes de ventana es adquirido aproximadamente 128 índices de muestra n después de volverse más grande que uno en cuanto a un índice incrementado (alrededor del índice 640). También con respecto a los otros elementos de la gráfica de la función de ventana, la función de ventana para M =512 en la gráfica 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 definición más largos (2048 índices en comparación con 1920 índices). La ventana de bajo retardo mostrada en la gráfica inferior de la figura 7 comprende los valores dados en la tabla 4 en el anexo.
Sin embargo, como se explicó previamente, no es necesario que realizaciones de un banco de filtros de síntesis o un banco de filtros de análisis implementen la función de 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, mientras que mantengan las relaciones dadas en la tabla 3 en el anexo. Además, en realizaciones de la presente invención también variaciones con respecto a los coeficientes de ventana pueden fácilmente ser implementados, siempre que las variaciones estén dentro del tercer dígito enseguida del punto o en dígitos superiores tales como el cuarto, quinto, etc. dígitos como se explicó previamente.
En la gráfica media de la figura 7 la ventana de bajo solapamiento no ha sido descrita hasta ahora. Como se mencionó previamente, la ventana de bajo retardo también comprende un conjunto de definición que comprende 1024 elementos. Además, la ventana de bajo solapamiento también comprende en el comienzo de un conjunto de definición y al final de un conjunto de definición, un subconjunto conectado en el cual la ventana de bajo solapamiento se desvanece. Sin embargo, después de este subconjunto conectado en el cual la ventana de bajo solapamiento se desvanece, una elevación empinada o decaimiento sigue, que comprende solamente un poco más de 100 índices de muestra cada uno. Además, la ventana de bajo solapamiento asimétrica no comprende valores mayores de 1 y puede comprender una atenuación de banda de retención menor en comparación con funciones de ventana como se emplea en algunas realizaciones.
En otras palabras, la ventana de bajo solapamiento comprende un conjunto de definición significativamente más bajo mientras que tienen el mismo valor por adelantado de la muestra, como la ventana de bajo retardo y no adquiere valores mayores de uno. Además, tanto la ventana de seno como la ventana de bajo solapamiento son con respecto a sus puntos medios respectivos de los conjuntos de definición ortogonales o simétricos, mientras que la ventana de bajo retardo es asimétrica de la manera descrita con respecto al punto medio de su conjunto de definición.
La ventana de bajo solapamiento fue introducida con el fin de eliminar los artefactos de pre-eco por transitorios. El solapamiento más baja evita el esparcimiento del ruido de la cuantificación antes del ataque de señal, como se ilustra en la figura 8. La nueva ventana de bajo retardo, sin embargo, tiene la misma propiedad, pero ofrece una mejor respuesta de frecuencia, como será evidente al comparar la respuesta de frecuencias mostradas en las figuras 10 y 11. Por consiguiente, la ventana de bajo retardo es capaz de reemplazar ambas ventanas de AAC LD tradicionales, es decir, la ventana de señal en la ventana de bajo solapamiento, de tal manera que no se requiere que sea implementada una adaptación de forma de ventana dinámica.
La figura 8 muestra para las mismas funciones de ventana mostradas en la figura 7 en el mismo orden de gráficas un ejemplo de ruido de cuantificación que se esparce para las diferentes formas de ventana de la ventana de seno o la ventana de bajo solapamiento y la ventana de bajo retardo. El comportamiento de pre-eco de la ventana de bajo retardo como se muestra en la gráfica inferior de la figura 8 es similar al comportamiento de la ventana de bajo solapamiento como se muestra en la gráfica media de la figura 8, mientras que el comportamiento de pre-eco de la ventana de seno en la gráfica 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 realización de un banco de filtros de síntesis o un banco de filtros de análisis, puede dar como resultado una ventana que se refiere a un comportamiento de pre-eco mejorado. En el caso de una ventana de análisis, la trayectoria que accede a valores de entrada futuros y así requeriría un retardo, son reducidas por más de una muestra y preferiblemente por 120/128 muestras en el caso de una longitud de bloque o valor por adelantado de la muestra de 480/512 muestras, de tal manera que reduce el retardo en comparación con la MDCT (Transformada de Coseno Discreta Modificada). Al mismo tiempo mejora los comportamientos de pre-eco, puesto que un ataque posible en la señal, que podría ser en aquellas 120/128 muestras, aparecería solamente un bloque o una trama más tarde. Correspondientemente, en la ventana de síntesis el solapamiento con muestras de salida del pasado para terminar su operación de solapamiento/suma, que también requeriría un retardo correspondiente, es reducida por otras 120/128 muestras, dando como resultado una reducción de retardo global de 240/256 muestras. Esto también da como resultado un comportamiento de pre-eco mejorado, puesto que aquellas 120/128 muestras contribuirían de otra manera al esparcimiento de ruido al pasado, antes de un ataque posible. En general esto significa, un pre-eco aparece posiblemente un bloque o trama más tarde y el pre-eco resultante del lado de síntesis solo es 120/128 muestras más corto.
Tal reducción, que podría ser obtenible al emplear tal ventana de bajo retardo, como se describe en las figuras 5 a 7, dependiendo de la implementación concreta de una realización de un banco de filtros de síntesis o un banco de filtros de análisis puede ser especialmente útil cuando se consideran las características de audición humanas, especialmente en cuanto al enmascaramiento. Para ilustrar esto, la figura 9 muestra un bosquejo esquemático del comportamiento de enmascaramiento del oído humano. Para ser más preciso, la figura 9 muestra una representación esquemática del nivel de umbral de audición del oído humano, como función de tiempo, cuando un sonido o un tono que tiene una frecuencia específica está presente durante un período de tiempo de aproximadamente 200 ms.
Sin embargo, brevemente antes de que el sonido o tono mencionado anteriormente esté presente, como se indica por la flecha 350 en la figura 9, un pre-enmascaramiento está presente por un corto período de tiempo de aproximadamente 20 ms, por tanto, la habilitación de una transición uniforme entre ningún enmascaramiento y el enmascaramiento durante la presencia del tono o sonido, que algunas veces se denomina enmascaramiento simultáneo. Durante el tiempo en el cual el sonido o tono está presente, el enmascaramiento está activado. Sin embargo, cuando el tono o sonido desaparece, como se indica por la flecha 360 en la figura 9, el enmascaramiento no se levanta inmediatamente, sino durante un período de tiempo de aproximadamente 150 ms, el enmascaramiento se reduce lentamente, que también algunas veces se denomina post-enmascaramiento.
Es decir, la figura 9 muestra una propiedad de enmascaramiento temporal general de la audición humana, que comprende una fase de pre-enmascaramiento así como una fase de post-enmascaramiento antes y después de un sonido o tono que está presente. Debido a la reducción del comportamiento de pre-eco al incorporar una ventana de bajo retardo en una realización de un banco 100 de filtros de análisis y/o un banco 200 de filtros de síntesis, distorsiones audible serán severamente limitadas en muchos casos ya que los pre-ecos audibles caerán, al menos a alguna extensión, al período de pre-enmascaramiento del efecto de enmascaramiento temporal del oído humano como se muestra en la figura 9.
Además, el empleo de una función de ventana de bajo retardo como se ilustra en las figuras 5 a 7, descrita en más 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 aquella de una ventana de seno. Para ilustrar esto, la figura 10 muestra una comparación de la respuesta de frecuencia entre la ventana de seno (línea discontinua) y un ejemplo de una ventana de bajo retardo (líneas continuas). Como se puede observar al comparar las dos respuestas de frecuencias de las dos ventanas mencionadas anteriormente en la figura 10, la ventana de bajo retardo es comparable en cuanto a la selectividad de frecuencia con la ventana de seno. La respuesta de frecuencia de la ventana de bajo retardo es similar o comparable con la respuesta de frecuencia de la ventana de seno y mucho mejor que la respuesta de frecuencia de la ventana de bajo solapamiento, como en comparación con las respuestas de frecuencias mostradas en la figura 11 ilustran.
Para ser más preciso, la figura 11 muestra una comparación de las respuestas de frecuencias entre la ventana de seno (línea discontinua) y la ventana de bajo solapamiento (líneas continuas). Como se puede observar la línea continua de la respuesta de la frecuencia de la ventana de bajo solapamiento es significativamente más grande que la respuesta de frecuencia correspondiente de la ventana de seno. Ya que la ventana de bajo retardo y la ventana de seno muestran respuesta de frecuencia comparable, que pueden ser observadas al comparar las dos respuestas de frecuencias mostradas en la figura 10, también una comparación entre la ventana de bajo solapamiento y la ventana de bajo retardo puede fácilmente ser trazada, como la gráfica mostrada en las figuras 10 y 11 ambas muestran la respuesta de frecuencia de la ventana de seno y comprenden las mismas escalas con respecto al eje de frecuencia y el eje de intensidad (db). Por consiguiente, se puede concluir fácilmente que la ventana de seno que puede fácilmente ser implementada en una realización de un banco de filtros de síntesis también como en una realización de un banco de filtros de análisis ofrece en comparación con la ventana de bajo solapamiento una respuesta de frecuencia significativamente mejor.
En cuanto a la comparación del comportamiento de pre-eco mostrado en la figura 8 es también mostrada que la ventana de bajo retardo ofrece una ventaja considerable en comparación con el comportamiento de pre-eco, mientras que el comportamiento de pre-eco de la ventana de bajo retardo es comparable con aquel de una ventana de bajo solapamiento, la ventana de bajo retardo representa una solución intermedia excelente entre las dos ventanas mencionadas anteriormente.
Como consecuencia, la ventana de bajo retardo, que puede ser implementada en el marco de una realización de un banco de filtros de análisis también como una realización de un banco de filtros de síntesis y realizaciones relacionadas, debido a esta solución intermedia, la misma función de ventana puede ser usada para señales transitorias, también como señales tonales, de tal manera que ningún cambio entre diferentes longitudes de bloque o entre diferentes ventanas es necesario. En otras palabras, realizaciones de un banco de filtros de análisis, un banco de filtros de síntesis y realizaciones relacionadas ofrecen la posibilidad de construir un codificador, un descodificador y sistemas adicionales que no requieren conmutación o cambio entre diferentes conjuntos de parámetros operacionales, tales como diferentes tamaños de bloque o longitudes de bloque o diferentes ventanas o formas de ventana. En otras palabras, al emplear una realización de un banco de filtros de análisis o un banco de filtros de síntesis con la ventana de bajo retardo, la construcción de una realización de un codificador, descodificador y sistemas relacionados puede ser considerablemente simplificada. Como una oportunidad adicional, debido al hecho de que no se requiere ningún cambio
o conmutación entre diferentes conjuntos de parámetros, señales de diferentes fuentes pueden ser procesadas en el dominio de frecuencia en lugar del dominio de tiempo, que requiere un retardo adicional como se resumirá en las siguientes secciones.
Aún en otras palabras, el empleo de una realización de un banco de filtros de síntesis o un banco de filtros de análisis ofrece la posibilidad de beneficiarse de una ventaja de baja complejidad computacional en algunas realizaciones. Para compensar el retardo más bajo en comparación con MDCT con por ejemplo una ventana de seno, una superposición más larga es introducida sin crear un retardo adicional. A pesar del solapamiento más largo y correspondientemente, una ventana de aproximadamente dos veces la longitud de la ventana de seno correspondiente con dos veces la cantidad de superposición y según beneficios de la selectividad de frecuencia como se explicó anteriormente, se puede obtener una implementación con solamente complejidad adicional menor, debido a un tamaño incrementado posible de multiplicaciones de longitud de bloque y elementos de memoria. Sin embargo, detalles adicionales de una implementación de este tipo serán explicados en el contexto de las figuras 19 a 24.
La figura 12 muestra un diagrama de bloques esquemático de una realización de un codificador 400. El codificador 400 comprende una realización de un banco 100 de filtros de análisis y como componente opcional, un codificador 410 de entropía, que está configurado para codificar la pluralidad de tramas de salida provistas por el banco 100 de filtros de análisis y configurado para emitir una pluralidad de tramas codificadas con base a las tramas de salida. Por ejemplo, el codificador 410 de entropía puede ser implementado como un codificador de Huffman u otro codificador de entropía que utiliza un esquema de codificación eficiente de entropía, tales como el esquema de codificación aritmético.
Debido al empleo de una realización de un banco 100 de filtros de análisis en el marco de una realización de un codificador 400, el codificador ofrece una salida del número de bandas N mientras que tiene un retardo reconstitucional de menos de 2N o 2N-1. Además, en principio una realización de un codificador también representa un filtro, una realización de un codificador 400 ofrece una respuesta de impulso finita de más de 2N muestras. Es decir, una realización de un codificador 400 representa un codificador que puede procesar datos (audio) de manera eficiente en retardo.
Dependiendo de la implementación concreta de una realización de un codificador 400 como se muestra en la figura 12, una realización de este tipo puede también comprender un cuantificador, filtro o componentes adicionales para pre-procesar las tramas de entrada provistas en la realización del banco 100 de filtros de análisis o para procesar las tramas de salida antes de la codificación por entropía de las tramas respectivas. Como un ejemplo, un cuantificador adicional puede ser provisto a una realización de un codificador 400 antes del banco 100 de filtros de análisis para cuantificar los datos o para recuantificar los datos, dependiendo de la implementación concreta y campo de aplicación. Como un ejemplo para el procesamiento detrás del banco de filtros de análisis, una ecualización u otro ajuste de ganancia en cuanto a las tramas de salida en el dominio de frecuencia pueden ser implementados.
La figura 13 muestra una realización de un descodificador 450 que comprende un descodificador 460 de entropía así como una realización de un banco 200 de filtros de síntesis, como se describió previamente. El descodificador 460 de entropía de la realización del descodificador 450 representa una componente opcional, que puede, por ejemplo, ser configurado para descodificar una pluralidad de tramas codificadas, que podrían por ejemplo ser provistos por una realización de un codificado 400. Por consiguiente, el descodificador 460 de entropía podría mediante un descodificador de Huffman o un descodificador algorítmico u otro descodificador de entropía basado en un esquema de codificación/descodificación por entropía, que es adecuado para la aplicación del descodificador 450 a la mano. Además, el descodificador 460 de entropía puede ser configurado para proporcionar una pluralidad de tramas de entrada al banco 200 de filtros de síntesis, que a su vez, proporciona una pluralidad de tramas agregadas en una salida del banco 200 de filtros de síntesis o en una salida del descodificador 450.
Sin embargo, dependiendo de la implementación concreta, el descodificador 450 puede también comprender componentes adicionales, tales como un descuantificador u otros componentes tal como un ajustador de ganancia. Para ser más preciso, entre el descodificador 460 de entropía y el banco de filtros de síntesis, un ajustador de ganancia puede ser implementado como componente opcional para permitir ajuste de ganancia o ecualización en el dominio de frecuencia antes de que los datos de audio sean transferidos por el banco 200 de filtros de síntesis al dominio de tiempo. Por consiguiente, un cuantificador adicional puede ser implementado en un descodificador 450 después del banco 200 de filtros de síntesis para ofrecer la oportunidad de recuantificar las tramas agregadas antes de proporcionar las tramas agregadas opcionalmente recuantificadas a un componente externo del descodificador 450.
Realizaciones de un codificador 400 como se muestra en la figura 12 y realizaciones de un descodificador 450 como se muestra en la figura 13 pueden ser aplicados en muchos campos de codificación/descodificación de audio también como procesamiento de audio. Tales realizaciones de un codificador 400 y un descodificador 450 puede por ejemplo, ser empleados en el campo de comunicaciones de alta calidad.
Tanto una realización de un codificador como codec así como una realización para un descodificador ofrecen la oportunidad de poner en operación dicha realización sin tener que implementar un cambio de parámetro tal como conmutar la longitud del bloque o conmutar entre diferentes ventanas. En otras palabras, en comparación con otros codificadores y descodificadores, una realización de la presente invención en forma de un banco de filtros de síntesis, un banco de filtros de análisis y realizaciones relacionadas es a lo más no requerido para implementar diferentes longitudes de bloque y/o diferentes funciones de ventana.
Inicialmente definido en la versión 2 de la especificación de audio MPEG-4, un codificador AAC de bajo retardo (AAC LD), con el paso del tiempo, ha incrementado la adaptación tal como un codificador de comunicaciones de alta calidad de pleno ancho de banda, que no está sometido a limitaciones de los codificadores de habla usuales tienen, tales como enfoque en altavoces individuales, material de habla, mal desempeño para señales musicales, y así sucesivamente. Este codec particular es ampliamente usado para video/teleconferencia en otras aplicaciones de comunicaciones, que por ejemplo han disparado la creación de un perfil de AAC de bajo retardo debido a la demanda industrial. No obstante, una mejora en la eficiencia de codificación de los codecs es de amplio interés a la comunidad de usuarios y es el tópico de la contribución, que algunas realizaciones de la presente invención pueden proporcionar.
Actualmente, el codec ER AAC LD de MPEG-4 produce buena calidad de audio a un intervalo de velocidad de bits de 64 kbit/s a 48 kbit/s por canal. Con el fin de incrementar la eficiencia de codificación de los codificadores para ser competitivos con codificadores de habla utilizando la herramienta de replicación de banda espectral probada (SBR) es una elección excelente. Una propuesta previa en este tópico, sin embargo, no fue proseguido adicionalmente en la trama de la estandarización.
Con el fin de no perder el retardo de codec bajo que es crucial para muchas aplicaciones, tales como dar servicio a aplicaciones de telecomunicación, se tienen que tomar medidas adicionales. En muchos casos, como un requisito para el desarrollo de codificadores respectivos, se definió que un codificador de este tipo debe poder para proporcionar un retardo algorítmico tan bajo como de 20 ms. Afortunadamente, solo modificaciones menores tienen que ser aplicadas a las especificaciones existentes con el fin de cumplir con este objetivo. Específicamente, solamente dos modificaciones simples se vuelven necesarias de las cuales una es presentada en este documento. Un reemplazo del banco de filtros de codificador AAC LD por una realización de un banco 100, 200 de filtros de bajo retardo alivia un incremento de retardo significativo en muchas aplicaciones. La realización de una ligera modificación a la herramienta de SBR reduce el retardo agregado al introducir esto al codificador, tal como la realización del codificador 400 como se muestra en la figura 12.
Como resultado, el codificador de AAC ELD mejorado o el descodificador de AAC EL que comprenden realizaciones de bancos de filtros de bajo retardo, presentan un retardo comparable a aquel de un codificador AAC LD plano, pero puede ahorrar una cantidad significativa de la velocidad de bits al mismo nivel de calidad, dependiendo de la implementación concreta. Para ser más preciso, un codificador de AAC ELD puede poder ahorrar hasta el 25% o aún hasta el 33% de la velocidad de bits al mismo nivel de calidad en comparación con un codificador de AAC LD.
Realizaciones de un banco de filtros de síntesis o un banco de filtros de análisis pueden ser implementadas en un denominado codec AAC de bajo retardo mejorado (AAC ELD), que es capaz de extender el intervalo de operación a 24 kbit/s por canal, dependiendo de la implementación concreta y especificación de aplicación. En otras palabras, realizaciones de la presente invención pueden ser implementadas en el marco de una codificación como una extensión del esquema de AAC LD que utiliza herramientas de codificación opcionalmente adicionales. Una herramienta de codificación opcional de este tipo es la herramienta de codificación de banda espectral (SBR), que puede ser integrada
o adicionalmente ser empleada en el marco tanto de una realización de un codificador también como una realización de un descodificador. Específicamente en el campo de codificación de baja velocidad de bits, SBR es una mejora atractiva, ya que permite una implementación de un codificador de velocidad doble, a la cual la frecuencia de toma de muestras para una parte más baja del espectro de frecuencia es codificada con solamente la mitad de la frecuencia de toma de muestras del tomador de muestras original. Al mismo tiempo, SBR puede codificar un intervalo espectral más alto de frecuencias en la parte inferior, de tal manera que la frecuencia de toma de muestras global puede en principio ser reducida por un factor de 2.
En otras palabras, el empleo de herramientas de SBR hace una implementación de los componentes optimizados en retardo especialmente atractiva y benéfica, ya que debido a la frecuencia de toma de muestras reducida del codificador de núcleo doble, el retardo ahorrado puede en principio, reducir el retardo global del sistema por un factor de 2 del retardo ahorrado.
Por consiguiente, una simple combinación de AAC LD y SBR daría como resultado, sin embargo, un retardo algorítmico total de 60 ms, como se explicará en más detalle posteriormente en la presente. Por tanto, una combinación de este tipo volvería al codec resultante no adecuado para aplicaciones de comunicaciones, ya que generalmente hablando, un retardo del sistema para comunicaciones bidireccionales interactivas no deben exceder de 50 ms.
Al emplear una realización de un banco de filtros de análisis y/o de un banco de filtros de síntesis, y por consiguiente, reemplazar el banco de filtros de MDCT por uno de estos bancos de filtro de bajo retardo dedicados puede por tanto pueden aliviar el incremento de retardo provocado al implementar un codificador de velocidad doble como se explicó previamente. Al emplear las realizaciones mencionadas anteriormente, un codificador de AAC ELD puede presentar el retardo dentro del intervalo aceptable para comunicación bidireccional, mientras que ahorra hasta del 25% al 33% de la velocidad en comparación con un codificador de AAC LD regular, mientras que mantiene el nivel de calidad de audio.
Por consiguiente, en cuanto a sus realizaciones de un banco de filtros de síntesis, un banco de filtros de análisis y las otras realizaciones relacionadas, la presente solicitud describe una descripción de modificaciones técnicas posibles junto con una evaluación de un desempeño de codificador obtenible, al menos en cuanto a algunas de las realizaciones de la presente invención. Un banco de filtros de bajo retardo de este tipo puede lograr una reducción de retardo sustancial al utilizar una función de ventana diferente, como se explicó previamente, con múltiples superposiciones en lugar de emplear un MDCT o IMDCT, mientras que al mismo tiempo ofrece la posibilidad de reconstrucción perfecta, dependiendo de la implementación concreta. Una realización de un banco de filtros de bajo retardo de este tipo puede reducir el retardo de reconstrucción sin reducir la longitud del filtro, pero todavía mantiene la propiedad de reconstrucción perfecta bajo algunas circunstancias en el caso de algunas realizaciones.
Los bancos de filtros resultantes tienen la misma función de modulación coseno como un MDCT tradicional, pero puede tener funciones de ventana más largas, que pueden ser no simétricas o asimétricas con un retardo generalizado o retardo de baja reconstrucción. Como se explicó previamente, una realización de tal banco de filtros de bajo retardo nuevo que emplea una nueva ventana de bajo retardo puede ser capaz de reducir el retardo de MDCT de 960 muestras en el caso de un tamaño de trama de M = 480 muestras a 720 muestras. En general, una realización del banco de filtros puede reducir el retardo de 2M a (2M - M/2) muestras al implementar M/4 coeficientes de ventana de valor cero o al adaptar los componentes apropiados, como se explicó previamente, de por consiguiente 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 para estas funciones de ventana de bajo retardo han sido mostrados en el contexto de las figuras 5 a 7, en el que las figuras 6 y 7 comprenden la comparación con la ventana de señal tradicional también. Sin embargo, cabe señalar que la ventana de análisis es simplemente una réplica inversa en el tiempo de la ventana de síntesis como se explicó previamente.
En lo siguiente, una descripción técnica de una combinación de una herramienta de SBR con un codificador de AAC LD con el fin de obtener una baja velocidad de bits y sistema de codificación de audio de bajo retardo será dada. Un sistema de velocidad doble se usa para obtener una ganancia de codificación más alta en comparación con un sistema de una sola velocidad, como se explicó anteriormente. Al emplear un sistema de velocidad doble, una codificación más eficiente de energía es posible que tiene menos bandas de frecuencia será provista por el codificador correspondiente, lo que conduce a una reducción de bit en bit debe a alguna extensión, removiendo la información redundante de las tramas provistas por el codificador. Para ser más preciso, una realización de un banco de filtros de bajo retardo como se describió previamente se usa en el marco del codificador central de AAC LD para llevar a un retardo global que es aceptable para aplicaciones de comunicaciones. En otras palabras, en lo siguiente, el retardo será descrito en cuanto a núcleo de AAC LD y el codificador central AAC ELD.
Al emplear una realización de un banco de filtros de síntesis o un banco de filtros de análisis, se puede obtener una reducción de retardo al implementar una ventana de MDCT/banco de filtros modificado. Se tiene una reducción de retardo sustancial al utilizar las funciones de ventana mencionadas anteriormente y descritas diferentes con múltiple superposición para extender el MDCT y el IMDCT para obtener un banco de filtros de bajo retardo. La técnica de bancos de filtros de bajo retardo permite la utilización de una ventana no ortogonal con múltiple superposición. De esta manera, es posible obtener un retardo, que es más bajo que la longitud de ventana. Por tanto, un bajo retardo con todavía una respuesta de impulso larga que da como resultado una buena selectividad de frecuencia puede ser obtenido.
La ventana de bajo retardo para un tamaño de trama de M = 480 muestras reduce el retardo de MDCT de 960 muestras a 720 muestras, como se explicó previamente.
Para resumir, a diferencia con un codec de ER AAC LD de MPEG-4, una realización de un codificador y una realización de un descodificador 450 pueden bajo ciertas circunstancias ser capaces de producir una buena calidad de audio a un intervalo de bits muy pequeño. Mientras que el codec de 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 ser capaces de proporcionar un codificador y descodificador de audio, que bajo algunas circunstancias puede producir una calidad de audio igual a aún velocidades de bits incluso más bajas de aproximadamente 32 kb/s por canal. Además, realizaciones de un codificador y descodificador tienen un retardo algorítmico suficientemente pequeño para ser utilizado para sistemas de comunicación bidireccionales, que pueden ser implementadas en la tecnología existente al utilizar solo modificaciones mínimas.
Realizaciones de la presente invención, especialmente en forma de un codificador 400 y un descodificador 450, obtienen esto al combinar la tecnología de audio de MPEG-4 existente con una adaptación de números mínima necesaria para operaciones de bajo retardo para la operación de bajo retardo para llevar a realizaciones de la presente invención. Específicamente, el codificador de bajo retardo de ER AAC de MPEG-4 puede ser combinado con una herramienta de replicación de banda espectral (SBR) de MPEG-4 para implementar realizaciones de un codificador 400 y un descodificador 450 al considerar las modificaciones descritas. El aumento resultante en retardo algorítmico es aliviado mediante modificaciones menores de la herramienta de SPR, que no serán descritas en la presente solicitud y el uso de una realización de un banco de filtros de codificador central de bajo retardo y una realización de un banco de filtros de análisis o un banco de filtros de síntesis. Dependiendo de la implementación concreta, un codificador de AAC LD mejorado de este tipo puede ahorrar hasta el 33% de la velocidad de bits al mismo nivel de calidad en comparación con un codificador de ACC LD normal mientras que retiene un retardo suficientemente bajo para una aplicación de comunicación bidireccional.
Antes de que un análisis de retardo más detallado sea presentado con referencia a la figura 14, se describe un sistema de codificación que comprende una herramienta de SBR. En otras palabras, en esta sección, todos los componentes de un sistema 500 de codificación mostrado en la figura 14a son analizados con respecto a su contribución al retardo del sistema global. La figura 14a da una vista general detallada del sistema completo, en el que la figura 14b pone énfasis 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, opera en el procedimiento de velocidad doble como un codificador de velocidad doble. Además, el codificador 500 también comprende un banco 520 de filtros de análisis de QMF, que es parte de la herramienta de SBR. Tanto el convertidor de tiempo/frecuencia de MDCT 510 y el banco de filtros de análisis de QMF (QMF = Filtro de Espejo de Cuadratura) son acoplados conjuntamente tanto en cuanto a sus entradas como de sus salidas. En otras palabras, tanto el convertidor de MDCT 510 así como el banco 520 de filtros de análisis de QMF dotado de los mismos datos de entrada. Sin embargo, mientras que el convertidor de MDCT 510 proporciona la información de baja banda, el banco 520 de filtros de análisis de QMF proporciona los datos de SBR. Ambos datos son combinados a una corriente de bits y provistos a un descodificador 530.
El descodificador 530 comprende un convertidor 540 de frecuencia/tiempo de IMDCT, que puede descodificar la corriente de bits para obtener, al menos en cuanto a las partes de banda baja, una señal de dominio de tiempo, que será provista a una salida del descodificador vía un retardador 550. Además, una salida del convertidor de IMDCT 540 es acoplada a un banco de filtros de análisis de QMF adicional 560, que es parte de una herramienta de SBR del descodificador 530. Además, la herramienta de SBR comprende un generador 570 de HF, que es acoplado a una salida del banco de filtros de análisis de QMF 560 y capaz de generar los componentes de frecuencia más alta en base a los datos de SBR del banco 520 de filtros de análisis de QMF del codificador 500. Una salida del generador 570 de HF es acoplado a un banco de filtros de síntesis de QMF 580, que transforma las señales en el dominio de QMF de regreso al dominio de tiempo en el cual las señales de banda baja retardadas son combinadas con las señales de banda alta, tal como son provistas por la herramienta de SBR del descodificador 530. Los datos resultantes serán luego provistos como los datos de salida del descodificador 530.
En comparación con la figura 14a, la figura 14b enfatiza las fuentes de retardo del sistema mostrado en la figura 14a. Para ser aún más preciso, dependiendo de la implementación concreta del codificador 500 y el descodificador 530, la figura 14b ilustra las fuentes de retardo del sistema de ER AAC LD de MPEG-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 transformación de tiempo/frecuencia/tiempo o conversión de tiempo/frecuencia/tiempo con un tamaño de trama de 512 ó 480 muestras. Los resultados en retardos de reconstrucción, por consiguiente, que son iguales a 1024 son 960 muestras, dependiendo de la implementación concreta. En el caso de usar el codec de ER AAC LD de MPEG-4 en combinación con SBR en un modo de velocidad doble, el valor de retardo tiene que ser duplicado debido a la conversión de velocidad de toma de muestras.
Un análisis de retardo global más detallado y el requisito muestra que en el caso de un codec de AAC LD en combinación con una herramienta de SBR, un retardo algorítmico global de 16 ms a una velocidad de toma de muestra de 48 kHz y el tamaño de trama del codificador central de 480 muestras será el resultado. La figura 15 comprende una tabla, que da una vista general del retardo producido por los diferentes componentes asumiendo una velocidad de toma de muestras de 48 kHz y el tamaño de trama del codificador central de 480 muestras, en donde el codificador central corre efectivamente a una velocidad de toma de muestras 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, un retardo algorítmico global de 16 ms resultaría, que es sustancialmente más alto que lo que es permisible para aplicaciones de telecomunicaciones. Esta evaluación comprende la combinación estándar del codificador de AAC LD junto con la herramienta de SBR, que incluye las contribuciones de retardo de los componentes de velocidad doble de MDCT/IMDCT, los componentes de QMF y los compuestos de superposición de SBR.
Sin embargo, utilizando las adaptaciones descritas previamente y al emplear realizaciones como se describe anteriormente, un retardo global de solamente 42 ms es obtenible, que incluye las contribuciones de retardo de las realizaciones de los bancos de filtros de bajo retardo en el realización de velocidad doble (ELD MDCT + IMDCT) y los compuestos de QMF.
Con respecto a algunas fuentes de retardo en el marco del codificador central de AAC así como con respecto al módulo de SBR, el retardo algorítmico del núcleo de AAC LD puede ser descrito como que es de 2M muestras, en donde una vez más, M es la longitud de trama básica del codificador central. A diferencia, el banco de filtros de bajo retardo reduce el número de muestras por M/2 debido a la introducción de las secciones 160, 270 iniciales o la introducción de un número apropiado de valores cero u otros valores en el marco de las funciones de ventana apropiadas. En el caso del uso de un núcleo de AAC en combinación con una herramienta de SBR, el retardo es duplicado debido a la conversión de velocidad de toma de muestras de un sistema de velocidad doble.
Para aclarar, algunos de los números dados en la tabla en la figura 15, en el marco de un descodificador de SBR típico, dos fuentes de retardo pueden ser identificadas. Por una parte, los componentes de QMF comprenden un retardo de reconstrucción del banco de filtros de 640 muestras. Sin embargo, puesto que el retardo de trama de 64-1 = 63 muestras ya está introducido por el codificador central mismo, puede ser restado para obtener el valor retardado dado en la tabla en la figura 15 de 577 muestras.
Por otra parte, la reconstrucción de HF de SBR provoca un retardo adicional con una herramienta de SBR estándar de 6 ranuras de QMF debido a la rejilla de tiempo variable. Así, el retardo es en el SBR estándar, seis veces 64 muestras de 384 muestras.
Al implementar realizaciones de bancos de filtros así como implementar una herramienta de SBR mejorada, un ahorro de retardo de 18 ms puede ser obtenido al no implementar una combinación directa de un codificador de AAC LD junto con una herramienta de SBR que tiene un retardo global de 60 ms, pero un retardo global de 42 ms es obtenible. Como se mencionó previamente, estas cifras están basadas en una velocidad de toma de muestras 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 superposición, que es un segundo aspecto importante en cuanto a optimización de retardo, puede ser reducido significativamente al introducir una realización de un banco de filtros de síntesis o un banco de filtros de análisis para obtener una baja velocidad de bits y un sistema de codificación de audio de bajo retardo.
Realizaciones de la presente invención pueden ser implementadas en muchos campos de aplicación, tal como sistema de conferencias y otros sistemas de comunicaciones bidireccionales. Al tiempo de su concepción alrededor de 1997, los requisitos retardados ajustados para un esquema de comunicación de audio general de bajo retardo, que conduce al diseño de un codificador de AAC LD, eran para obtener un retardo algorítmico de 20 ms, que es satisfecho por el AAC LD cuando corre a una velocidad de muestra de 48 kHz y un tamaño de trama de M = 480. A diferencia de esto, muchas aplicaciones prácticas de este codec, tal como teleconferencia, emplean una velocidad de toma de muestras de 32 kHz y así, trabajan con un retardo de 30 ms. De manera similar, debido a la importancia creciente de comunicaciones a base de IP, los requisitos de retardo del codec de telecomunicación de ITU modernos permiten un retardo de, aproximadamente hablando, 40 ms. Diferentes ejemplos incluyen el codificador anexo G.722.1 reciente con un retardo algorítmico de 40 ms y el codificador G.729.1 con un retardo algorítmico de 48 ms. Así, el retardo global obtenido por un codificador de AAC LD mejorado o codificador de AAC ELD que comprende una realización de un banco de filtros de bajo retardo se puede poner en operación para que se encuentre completamente dentro del intervalo de retardo de los codificadores de telecomunicación comunes.
La figura 16 muestra un diagrama de bloques de una realización de un mezclador 600 para mezclar una pluralidad de tramas de entrada, en donde cada trama de entrada es una representación espectral de una trama de dominio de tiempo correspondiente que es provisto de una fuente diferente. Por ejemplo, cada trama de entrada para el mezclador 600 puede ser provista por una realización de un codificador 400 u otro sistema o componente apropiado. Cabe señalar que en la figura 16, el mezclador 600 está adaptado para recibir tramas de entrada de tres fuentes diferentes. Sin embargo, esto no representa ninguna limitación. Para ser más preciso, en principio, una realización de un mezclador 600 puede ser adaptada o configurada para procesar y recibir un número arbitrario de tramas de entrada, cada trama de entrada provista por una fuente diferente, tal como un codificador diferente 400.
La realización del mezclador 600 mostrado en la figura 16 comprende un descodificador 610 de entropía, que puede descodificar por entropía la pluralidad de tramas de entrada provistos por las diferentes fuentes. Dependiendo de la implementación concreta, el descodificador 610 de entropía puede por ejemplo ser implementado como un descodificador de entropía de Huffman o como un descodificador de entropía que emplea otro algoritmo de descodificación por entropía, tal como la denominada Codificación Aritmética, Codificación Unaria, Codificación de Elias Gamma, Codificación de Fibonacci, Codificación de Golomb o Codificación de Rice.
Las tramas de entrada descodificados por entropía son luego provistas a un descuantificador 620 opcional, que puede estar adaptado de tal manera que las tramas de entrada descodificados por entropía pueden ser descuantificados para acomodar circunstancias específicas de aplicación, tal como la característica de volumen del oído humano. Las tramas de entrada descodificadas por entropía y opcionalmente descuantificadas son luego provistas a un escalador 630, que puede escalar la pluralidad de tramas de entropía en el dominio de frecuencia. Dependiendo de la implementación concreta de una realización de un mezclador 600, el escalador 630 puede por ejemplo, escalar cada una de las tramas de entrada descodificadas por entropía y opcionalmente descodificadas al multiplicar cada uno de los valores por un factor constante 1/P, en donde P es un número entero que indica el número de fuentes diferentes o codificadores 400.
En otras palabras, el escalador 630 en este caso puede escalar hacia abajo las tramas provistas por el descuantificador 620 o el descodificador 610 de entropía para escalarlos descendentemente para impedir que las señales correspondientes se vuelvan demasiado grandes con el fin de impedir un desbordamiento u otro error computacional o para impedir distorsiones audibles como chasquidos. Diferentes implementaciones del escalador 630 pueden también ser implementadas, de tal manera que un escalador que puede escalar la trama provista de una manera de ahorro de energía, por ejemplo, evaluar la energía de cada una de las tramas de entrada, dependiendo de una o más bandas de frecuencia espectrales. En un caso de este tipo, en cada una de estas bandas de frecuencia espectrales, los valores correspondientes en el dominio de frecuencia pueden ser multiplicados con un factor constante, de tal manera que la energía global con respecto a todos los intervalos de frecuencia es idéntica. Adicional o alternativamente, el escalador 630 puede también estar adaptado de tal manera que la energía de cada uno de los subgrupos espectrales es idéntica con respecto a todos las tramas de entrada de todas las fuentes diferentes o que la energía global de cada una de las tramas de entrada es constante.
Luego el escalador 630 se acopla a un sumador 640, que puede sumar las tramas provistas por el escalador, que también se denominan tramas escaladas en el dominio de frecuencia para generar una trama agregada también en el dominio de frecuencia. Esto se puede llevar a cabo por ejemplo al sumar todos los valores correspondientes al mismo índice de muestra de todas las tramas escaladas provistas por el escalador 630.
El sumador 640 puede sumar las tramas provistas por el escalador 630 en el dominio de frecuencia para obtener un trama agregado, que comprende la información de todas las fuentes tal como es provista por el escalador
630. Como un componente opcional adicional, una realización de un mezclador 600 puede también comprender un cuantificador 650 al cual la trama agregada del sumador 640 puede ser provista. De acuerdo con los requisitos específicos de aplicación, el cuantificador opcional 650 puede por ejemplo ser usado para adaptar la trama agregada para satisfacer algunas condiciones. Por ejemplo, el cuantificador 650 puede ser adaptado de tal manera que el tacto del descuantificador 620 puede ser invertido. En otras palabras, si por ejemplo, una característica especial radica en las tramas de entrada tal como son provistas al mezclador, que ha sido removido o alterado por el descuantificador 620, el cuantificador 650 puede luego ser adaptado para proporcionar estos requisitos o condiciones especiales a la trama agregada. Como un ejemplo, el cuantificador 650 puede por ejemplo ser adaptado para acomodar las características del oído humano.
Como un componente adicional, la realización del mezclador 600 puede comprender además un codificador 660 de entropía, que puede codificar por entropía la trama agregada opcionalmente cuantificado y proporcionar una trama mezclada a uno o más receptores, por ejemplo, que comprenden una realización de un codificador 450. Una vez más, el codificador 660 de entropía puede estar adaptado para codificar por entropía el trama agregado en base al algoritmo de Huffman u otro de los algoritmos mencionados anteriormente.
Al emplear una realización de un banco de filtros de análisis, un banco de filtros de síntesis u otra realización relacionada en el marco de un codificador y un descodificador, un mezclador puede ser establecido e implementado que puede mezclar señales en el dominio de frecuencia. En otras palabras, al implementar una realización de uno de los codecs de AAC de bajo retardo mejorados descritos previamente, un mezclador puede ser implementado, que puede mezclar directamente una pluralidad de tramas de entrada en el dominio de frecuencia, sin tener que transformar los tramas de entrada respectivas al dominio de tiempo para compensar la posible conmutación de parámetros, que son implementados en los codecs del estado de la técnica para comunicaciones de habla. Como se explica en el contexto de las realizaciones de un banco de filtros de análisis y un banco de filtros de síntesis, estas realizaciones permiten una operación sin cambiar parámetros, como la conmutación de las longitudes de bloque o conmutación entre ventanas diferentes.
La figura 17 muestra una realización de un sistema 700 de conferencia en forma de un MCU (Unidad de Control de Medios), que puede por ejemplo ser implementada en el marco de un servidor. El sistema 700 de conferencia
o MCU 700 comprende una pluralidad de corrientes de bits, de los cuales la figura 17, dos son mostrados. Un descodificador y descuantificador de entropía combinado 610, 620 también como una unidad 630, 640 combinada que son marcados en la figura 17 como “mezclador”. Además, la salida de la unidad 630, 640 combinada es provista a la unidad combinada que comprende un cuantificador 650 y el codificador 660 de entropía, que proporciona como las tramas mezcladas una corriente de bits salientes.
En otras palabras, la figura 17 muestra una realización de un sistema 700 de conferencia que puede mezclar una pluralidad de corrientes de bits entrantes en el dominio de frecuencia, ya que la corriente de bits entrante también como las corrientes de bits salientes han sido creadas utilizando una ventana de bajo retardo en el lado del codificador, mientras que las corrientes de bits salientes están propuestas y pueden ser procesadas, en base a la misma ventana de bajo retardo en el lado del descodificador. En otras palabras, la MCU 700 mostrada en la figura 17 está basada en el uso de la ventana de bajo retardo universal solamente.
Una realización de un mezclador 600 así como una realización de un sistema 700 de conferencia es por tanto apropiado para ser aplicado en el marco de realizaciones de la presente invención en forma de un banco de filtros de análisis, un banco de filtros de síntesis y las otras realizaciones relacionadas. Para ser más preciso, una aplicación técnica de una realización de un codec de bajo retardo con solamente una ventana permite un mezclado en el dominio de frecuencia. Por ejemplo, en escenarios de (tele)conferencia con más de dos participantes o fuentes, podría frecuentemente ser deseable recibir varias señales de codec, mezclarlas a una señal y transmitir adicionalmente la señal codificada resultante. Al emplear una realización de la presente invención en el lado del codificador y el lado del descodificador, en algunas realizaciones de un sistema 700 de conferencia y el mezclador 600, el método implementacional puede ser reducido en comparación con una manera directa de descodificar las señales entrantes, mezclar las señales codificadas en el dominio de tiempo y re-codificar la señal mezclada otra vez al dominio de frecuencia.
La implementación 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 también comprende un módulo 760 combinado para cada una de las corrientes de bits entrantes que operan en el dominio de frecuencia y aptas de codificación por entropía y descuantificación de la corriente de bits entrantes. Sin embargo, en el sistema 750 de conferencia mostrado en la figura 18, los módulos 760 son acoplados al convertidor de IMDCT 770 cada uno, de los cuales uno está operando en el modo de operación de ventana de seno, mientras que el otro está operando actualmente en el modo de operación de ventana de bajo solapamiento. En otras palabras, los dos convertidores de IMDCT 770 transforman la corriente de bits entrantes del dominio de frecuencia al dominio de tiempo, que es necesario en el caso de un sistema 750 de conferencia ya que las corrientes de bits entrantes están basadas en un codificador, que usa tanto la ventana de seno como la ventana de bajo solapamiento, dependiendo de la señal de audio para codificar las señales respectivas.
El sistema 750 de conferencia comprende además un mezclador 780, que mezcla en el dominio de tiempo las dos señales entrantes de los dos convertidores de IMDCT 770 y proporciona una señal de dominio de tiempo mezclada a un convertidor de MDCT 790, que transfiere la señal del dominio de tiempo al dominio de frecuencia.
La señal mezclada en el dominio de frecuencia tal como es provista por el MDCT 790 es luego provista a un módulo 795 combinado, que entonces puede cuantificar una codificación de entropía de la señal para formar la corriente de bits saliente.
Sin embargo, el enfoque de acuerdo con el sistema 750 de conferencia tiene dos desventajas. Debido a la descodificación y codificación completa por los dos convertidores de IMDCT 770 y el MDCT 790, el alto costo computacional será pagado al implementar el sistema 750 de conferencia. Sin embargo, debido a la introducción de la descodificación y codificación, un retardo adicional es introducido que puede ser alto bajo ciertas circunstancias.
Al emplear en los sitios de descodificador y codificador, realizaciones de la presente invención o para ser más preciso, al implementar la nueva ventana de bajo retardo, estas desventajas pueden ser superadas o eliminadas dependiendo de la implementación concreta en el caso de algunas realizaciones. Esto se obtiene al hacer 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 realización de un sistema 700 de conferencia como se muestra en la figura 17 no comprende transformadas y/o bancos de filtros que tienen que ser implementados en el marco del sistema 750 de conferencia para descodificar y codificar las señales con el fin de transformar las señales del dominio de frecuencia al dominio de tiempo y de regreso otra vez. En otras palabras, la mezcla de corriente de bits en el caso de diferentes formas de ventana da como resultado costo adicional de un bloque de retardo adicional debido al convertidor de MDCT/IMDCT 770, 790.
Como consecuencia, en algunas realizaciones del mezclador 600 y en algunas realizaciones del sistema 700 de conferencia como ventajas adicionales, costes computacionales más bajos y una limitación con respecto al retardo adicional puede ser implementado, de tal manera que en algunos casos ningún retardo adicional podría ser obtenible.
La figura 19 muestra una realización de una implementación eficiente de un banco de filtros de bajo retardo. Para ser más preciso, antes del discutir la complejidad computacional y aspectos relacionados con la aplica adicionales, en la estructura de la figura 19, una realización de un banco 800 de filtros de síntesis será descrita en más detalle, que puede por ejemplo ser implementada en una realización de un descodificador. La realización de un banco 800 de filtros de análisis de bajo retardo, de aquí, simboliza un inverso de una realización de un banco de filtros de síntesis o un codificador.
El banco 800 de filtros de síntesis comprende un convertidor de frecuencia/tiempo de transformada de coseno discreta tipo iv inversa 810, que puede proporcionar una pluralidad de tramas de salida a un módulo 820 combinado que comprende un formador de ventanas y un solapamiento/sumador. Para ser más preciso, el tiempo/frecuencia 810 es un convertidor de transformada de coseno discreta tipo iv inverso, que es provisto con una trama de entrada que comprende M valores de entrada ordenados yk (0),…, yk (M-1), donde M es una vez más un número entero positivo y donde k es un número entero que indica un índice de trama. El convertidor de tiempo/frecuencia 810 proporciona 2M muestras de salida ordenadas xk(0),…, xk (2M-1) en base a los valores de entrada y proporciona estas muestras de salida al módulo 820 que a su vez comprende el formador de ventanas y el solapamiento/sumador mencionado anteriormente.
El formador de ventanas del módulo 820 es capaz de generar una pluralidad de tramas de ventana, donde cada una de las tramas de ventana comprende una pluralidad de muestras de ventana Zk (0),…, Zk(2M-1) en base a la ecuación o expresión
zk(n) = w(n) · Xk(n)
para n = 0,…,2M-1,
donde n es una vez más un número entero que indica un índice de muestra y w(n) es un coeficiente de función de ventana de valor real correspondiente al índice de muestra n. El solapamiento/sumador también comprendido en el módulo 820, proporciona o genera que en la trama intermedia que comprende una pluralidad de muestras intermedias Mk(0),…Mk (M-1) con base en la ecuación o expresión
mk(n) = Zk (n) + zk-1 (n+M)
para n = 0,…,M-l .
La realización del banco 800 de filtros de síntesis comprende además un elevador 850, que produce una trama agregada que comprende una pluralidad de muestras agregadas outk(0),…,outk(m-1) con base en la ecuación o expresión
outk(n) = mk(n) + 1(n-M/2) · mk-1(M-1-n)
para n = M/2,…,M-1,
y
outk (n) = mk(n) + 1 (M-1-n) · outk-1 (M-1-n)
para n=0,…,M/2-1,
donde 1(M-1-n),…, 1(M-1) son coeficientes de elevación de valor real. En la figura 19, la realización de la implementación computacionalmente eficiente de un banco 800 de filtros de bajo retardo comprende en el marco del elevador 830, una pluralidad de retardadores y multiplicadores combinados 840 así como una pluralidad de sumadores 850 para llevar a cabo los cálculos mencionados anteriormente en el marco del elevador 830.
Dependiendo de la implementación concreta de una realización de un banco 800 de filtros de síntesis, los coeficientes de ventana o coeficientes de función de ventana w(n) obedecen a las relaciones dadas en la tabla 5 del anexo en el caso de una realización con M = 512 valores de entrada por trama de entrada. La tabla 9 del anexo comprenden un conjunto de relaciones, que los coeficientes de ventana w(n) obedecen, en el caso de M = 480 valores de entrada por trama de entrada. Además, las tablas 6 y 10 comprenden relaciones para los coeficientes de elevación 1
(n) para realizaciones con M = 512 y M = 480, respectivamente.
Sin embargo, en algunas realizaciones de un banco 800 de filtros de síntesis, 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. Por consiguiente, las tablas 8 y 12 en el anexo comprenden los valores para el coeficiente de elevación 1(n) para realizaciones con M = 512 y M = 480 muestras de entrada por trama de entrada, respectivamente.
En otras palabras, una realización de un banco 800 de filtros de bajo retardo puede ser implementada tan suficientemente como un convertidor de MDCT regular. La estructura general de una realización de este tipo se ilustra en la figura 19. La DCT-IV inversa y el solapamiento/sumador de ventana son efectuados de la misma manera como las ventanas tradicionales, sin embargo, empleando los coeficientes de formación de ventana mencionados anteriormente, dependiendo de la implementación concreta de la realización. Como en el caso del coeficiente de formación de ventana en el marco de la realización del banco 200 de filtros de síntesis, también en este caso M/4 coeficientes de ventana son coeficientes de ventana de valor cero, que así no implican en principio ninguna operación. Para el solapamiento prolongado al pasado, solamente M operaciones de multiplicador/suma adicionales son requeridas, como se puede ver en el marco del elevador 830. Estas operaciones adicionales algunas veces también se denominan “matrices de retardo cero”. Algunas veces estas operaciones también se conocen como “etapas de elevación”.
La implementación eficiente mostrada en la figura 19 puede bajo algunas circunstancias ser más eficiente como una implementación directa de un banco 200 de filtros de síntesis. Para ser más preciso, dependiendo de la implementación concreta, tal implementación más eficiente podría resultar en ahorrar M operaciones, como en el caso de una implementación directa para M operaciones, podría ser recomendable implementar, como la implementación mostrada en la figura 19, requiere en principio, 2M operaciones en el marco del módulo 820 y M operaciones en el marco del elevador 830.
En cuanto a una determinación que se refiere a la complejidad de una realización de un banco de filtros de bajo retardo, especialmente en cuanto a la complejidad computacional, la figura 20 comprende una tabla que ilustra la complejidad aritmética de una realización de una implementación de una realización de un banco 800 de filtros de síntesis de acuerdo con la figura 19 en el caso de M = 512 valores de entrada por trama de entrada. Para ser más preciso, la tabla en la figura 20 comprende un valor estimativo del número global resultante de operaciones en el caso de un convertidor de IMDCT (modificado) junto con una formación de ventana en el caso de una función de ventana de bajo retardo. El número de operaciones globales es 9600.
En comparación, la figura 21 comprende una tabla de la complejidad aritmética de IMDCT junto con la complejidad requerida para la formación de ventanas en base a la ventana de seno para un parámetro M=512, que da el número total de operaciones para el codec, tal como el codec AAC LD. Para ser más preciso, la complejidad aritmética de este convertidor de IMDCT junto con la formación de ventana para la ventana de seno es de 9216 operaciones, que es del mismo orden de magnitud como el número de operaciones globales resultante en el caso de la realización del banco 800 de filtros de síntesis mostrado en la figura 19.
Como una comparación adicional, la figura 22 comprende una tabla para un codec de AAC LC, que también se conoce como el codec de audio por adelantado con baja complejidad. La complejidad aritmética de este convertidor de IMDCT, incluyendo las operaciones para superposición de ventanas para el AAC LC (M = 1024) es 19968.
Una comparación de estas cifras muestra que en resumen, la complejidad del codificador central que comprende una realización de un banco de filtros de bajo retardo mejorado es esencialmente comparable a aquel de un codificador central, utilizando un banco de filtros de MDCT-IMDCT regular. Además, el número de operaciones es aproximadamente hablando la mitad del número de operaciones de un codec de AAC LC.
La figura 23 comprende dos tablas, en las que la figura 23a comprende una comparación 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 más preciso, las tablas en ambas figuras 23a y 23b comprenden cada una los codecs mencionados anteriormente AAC LD, AAC ELD e información de AAC LC concernientes con la longitud de trama, la memoria intermedia o memoria temporal de trabajo y concerniente con la memoria temporal o memoria intermedia de estado en cuanto a requisito de RAM (figura 23a) e información que se refiere a la longitud de trama, el número de coeficientes de ventana y la suma, en cuanto a los requisitos de memoria ROM (figura 23b). Como se menciona previamente en las tablas en las figuras 23a y 23b, la abreviatura AAC, ELD se refieren a una realización de un banco de filtros de síntesis, un banco de filtros de análisis, codificador, descodificador o una realización posterior. Para resumir, en comparación con el IMDCT con ventana de seno, la implementación eficiente descrita de acuerdo con la figura 19 de una realización del banco de filtros de bajo retardo requiere una memoria de estado adicional de longitud M y M coeficientes adicionales, los coeficientes de elevación 1(0),…, 1 (M-1). Por tanto ya que una longitud de trama del AAC LD es la mitad de la longitud de trama de AAC LC, el requisito de memoria resultante está en el intervalo de aquel del AAC LC.
En cuanto a los 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. Se puede ver que el incremento de memoria para el banco de filtros de bajo retardo es solamente moderado. El requisito de memoria global es todavía mucho más bajo en comparación con un codec de AAC LC o implementación de AAC LC.
La figura 24 comprende una lista de codecs usados para una prueba de MUSHRA usada en el marco de una determinación de desempeño. En la tabla mostrada en la figura 24, la abreviatura OT significa Tipo de Objeto de Audio, donde la entrada “X” significa la cinta de objeto de audio ER AAC ELD que puede también fijarse en 39. En otras palabras, los AOT, X o AOT 39 identifican una realización de un banco de filtros de síntesis o un banco de filtros de análisis. 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 realización del banco de filtros de bajo retardo encima del codificador descrito previamente fue probada al llevar a cabo una prueba de escucha para todas las combinaciones en la lista. Para ser más preciso, el resultado de estas pruebas permite las siguientes conclusiones. El descodificador de AAC ELD a 32 kbit/s por canal, se desempeña significativamente mejor que el descodificador de AAC LD original a 32 kb/s. Además, el descodificador de AAC ELD a 32 kb/s por canal se desempeña estadísticamente de manera indistinguible del descodificador de AAC LD original a 48 kb/s por canal. Ya que un codificador de punto de verificación, que se enlaza a AAC LD y el banco de filtros de bajo retardo se desempeña estadísticamente de manera indistinguible de un codificador de AAC LD original ambos corriendo a 48 kb/s. Esto confirma la conveniencia de un banco de filtros de bajo retardo.
Por tanto, el desempeño del codificador global sigue siendo comparable, mientras que se obtiene un ahorro significativo en retardo de codec. Además, fue posible retener el desempeño de presión del codificador.
Como se explicó previamente, escenarios de aplicación promisorios o aplicaciones de realizaciones de la presente invención, tales como una realización de un codec de AAC ELD son video-teleconferencia de alta fidelidad y aplicaciones de voz sobre IP de la siguiente generación. Esto incluye la transmisión de señales de audio arbitrarias, tales como habla o música o en el contexto de una presentación multimedia, a altos niveles de calidad y velocidades de bits competitivas. El retardo algorítmico bajo de una realización de la presente invención (AAC ELD) hace este codec una elección excelente para todas las clases de comunicación y aplicaciones.
Además, el presente documento ha descrito la construcción de un codificador de AAC ELD mejorado que puede opcionalmente ser combinado con una herramienta de replicación de banda espectral (SBR). Con el fin de restringir el incremento asociado en retardo, modificaciones menores en cuanto a una implementación directa real se pueden hacer necesarias en la herramienta de SBR y los módulos de codificador central. El desempeño de la descodificación de audio de bajo retardo mejorado resultado en base a la tecnología mencionada anteriormente se aumenta significativamente, en comparación con lo que se proporciona actualmente por el estándar de audio de MPEG
4. La complejidad del esquema de codificación central sigue siendo, sin embargo, esencialmente idéntico.
Además, realizaciones de la presente invención comprenden un banco de filtros de análisis o banco de filtros de síntesis que incluyen una ventana de análisis de bajo retardo o un filtro de síntesis de bajo retardo. Además, una realización de un método para analizar una señal o sintetizar una señal que tiene una etapa de filtración de análisis de bajo retardo o una etapa de filtración de síntesis de bajo retardo. Realizaciones de un filtro de análisis de bajo retardo o filtro de síntesis de bajo retardo son también descritas. Además, se dan a conocer programas informáticos que tienen un código de programa para implementar uno de los métodos anteriores cuando se ejecutan en un ordenador. Una realización de la presente invención comprende también un codificador que tiene un filtro de análisis de bajo retardo o descodificador que tiene un filtro de síntesis de bajo retardo o uno de los métodos correspondientes.
Dependiendo de ciertos requisitos de implementación de las realizaciones de los métodos de la invención, realizaciones de los métodos de la invención pueden ser implementadas en elementos físicos o elementos de programación. La implementación puede ser efectuada utilizando un medio de almacenamiento digital, en particular, un disco, un CD o un DVD que tiene señales de control que se pueden leer electrónicamente almacenados en el mismo, que cooperan con el ordenador programable o un procesador, de tal manera que se realiza una realización de los métodos de la invención. En general, una realización de la presente invención es por tanto un producto de programa informático con códigos de programa almacenados en un portador que se puede leer por la máquina, el código de programa es operativo para efectuar una realización de los métodos de la invención cuando el producto de programa informático se ejecuta en el ordenador o procesador. En otras palabras, realizaciones de los métodos de la invención son por consiguiente, un programa informático que tiene un código de programa para realizar al menos una de las realizaciones de los métodos de la invención, cuando el programa informático se ejecuta en el ordenador o procesador. En este contexto, procesadores comprenden CPU (Unidad de Procesamiento Central), ASIC (Circuitos Integrados Específicos de Aplicación) o circuitos integrados (IC) adicionales.
En resumen, un banco de filtros de análisis para filtrar una pluralidad de tramas de entrada de dominio de tiempo, en las que una trama de entrada comprende un número de muestras de entrada ordenada, comprende un formador de ventanas configurado para generar una pluralidad de tramas de ventana, una trama de ventana que comprende una pluralidad de muestras de ventana, donde el formador de ventanas está configurado para el procesamiento de la pluralidad de tramas de entrada de manera solapada utilizando un valor por adelantado de la muestra, donde el valor por adelantado de la muestra, en el que el valor por adelantado de la muestra es menor que el número de muestras de entrada ordenadas de una trama de entrada dividido por 2; y un convertidor de tiempo/frecuencia que se configura para proporcionar una trama de salida que comprende un número de valores de salida, una trama de salida es una representación espectral de una trama de ventana.
Un banco de filtros de análisis está configurado adicionalmente de manera que el formador de ventanas está configurado para generar consecutivamente dos tramas de ventana en base a dos tramas de entrada, que comprenden más de la mitad del número de las mismas muestras de entrada ordenadas.
Un banco de filtros de análisis está configurado adicionalmente de manera que el formador de ventanas está configurado para generar la pluralidad de tramas de ventana de tal manera que las mismas muestras de entrada ordenadas de las dos tramas de entrada, en las cuales las dos tramas de ventana generadas consecutivamente están basados, son desplazadas con respecto al orden de las muestras de entrada de la trama de entrada por el valor por adelantado de la muestra.
Un banco de filtros de análisis está configurado adicionalmente de manera que el formador de ventanas está configurado para omitir al menos una última muestra de entrada de acuerdo con el orden de las muestras de entrada ordenadas o para fijar al menos una última muestra de ventana correspondiente al orden de las muestras de entrada en un valor predeterminado o en al menos un valor en un intervalo predeterminado.
Un banco de filtros de análisis está configurado adicionalmente de manera que el formador de ventanas está configurado para generar la pluralidad de tramas de ventana, de tal manera que una trama de entrada posterior de las dos tramas de entrada con respecto al tiempo, en las cuales los dos tramas de ventana generadas consecutivamente están basadas, comprenden al menos una muestra de entrada nueva como la última muestra de entrada y con respecto al tiempo las mismas muestras de entrada de la trama de entrada anterior de las dos tramas de entrada anteriores con respecto al orden de las muestras de entrada.
Un banco de filtros de análisis está configurado adicionalmente de manera que el formador de ventanas está configurado para omitir o fijar una pluralidad de muestras de entrada en el valor predeterminado o en al menos un valor en el intervalo predeterminado, donde la pluralidad de muestras de entrada comprende un subconjunto conectado de muestras de entrada que comprenden la última muestra de entrada de acuerdo con el orden de las muestras de entrada ordenadas.
Un banco de filtros de análisis está configurado adicionalmente de manera que el formador de ventanas está configurado para generar una trama de ventana en base a una trama de entrada y una función de ponderación al ponderar al menos una muestra de entrada en base a la función de ponderación.
Un banco de filtros de análisis está configurado adicionalmente de manera que el formador de ventanas está configurado para generar una trama de ventana en base a una trama de entrada al ponderar al menos una pluralidad de muestras de entrada de la trama de entrada con una función de ventana.
Un banco de filtros de análisis está configurado adicionalmente de manera que el formador de ventanas está configurado de tal manera que la ponderación de la trama de entrada comprende multiplicar al menos una pluralidad de muestras de entrada de la trama de entrada con un coeficiente de formación de ventanas específico de las muestra de entrada de la función de ventana.
Un banco de filtros de análisis está configurado adicionalmente de manera que la ponderación de la trama de entrada comprende multiplicar cada muestra de entrada de la trama de entrada con un coeficiente de formación de ventana específico de la muestra de entrada de la función de ventana.
Un banco de filtros de análisis está configurado adicionalmente de manera que el formador de ventanas está configurado para generar una muestra de ventana Zi,n en base a la expresión.
donde i es un número entero que indica un índice de trama o un índice de bloque de una trama de ventana y/o de una trama de entrada, donde n = -N,…, N-1 es un número entero que indica un índice de muestra, donde N es un número entero que indica dos veces el número de los valores de salida de una trama de salida, donde w(N-1-n) es la función de ventana y donde x’i,n es una muestra de entrada con un índice de muestra n y el índice de trama i.
Un banco de filtros de análisis está configurado adicionalmente de manera que el formador de ventanas está configurado para generar una muestra de ventana Zi,n en base a la expresión
donde i es un número entero que indica un índice de trama o índice de bloque de una trama de ventana y/o de una trama de entrada, donde n = -N,..., 7N/8-1 es un número entero que indica un índice de muestra, donde N es un número entero que indica dos veces el número de los valores de salida de una trama de salida, donde w(N-1-n) es la función de ventana y donde x’i,n es una muestra de entrada con un índice de muestra n y el índice de trama i.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el formador de ventanas está 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.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de tal manera que los coeficientes de ventana w(0) a w(2N-1) comprenden los valores dados en la tabla 2 en el anexo.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el formador de ventanas está 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.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de tal manera que los coeficientes de ventana w(0) a w(2N-l) comprenden los valores tal como se dan en la tabla 4 en el anexo.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de tal manera que la función de ventana atribuye coeficientes de ventana de valor real a un conjunto de definición.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de tal manera que el conjunto de definición comprende al menos un número de elementos que es mayor o igual a la diferencia entre el número de las muestras de entrada ordenadas de una trama de entrada y el número de muestras de entrada a ser omitidas o el número de muestras de ventana de una trama de ventana fijada en el valor predeterminado o fijado en al menos un valor en el intervalo predeterminado por el formador de ventanas o mayor o igual al número de muestras de entrada ordenadas.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de tal manera que la función de ventana es asimétrica sobre el conjunto de definición con respecto a un punto medio del conjunto de definición.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de tal manera que la función de ventana comprende más coeficientes de ventana con un valor absoluto de más de 10% de un valor absoluto máximo de los coeficientes de ventana de la función de ventana en una primera mitad del conjunto de definición que en una segunda mitad del conjunto de definición con respecto al punto medio del conjunto de definición, donde la primera mitad corresponde a la última mitad de las muestras de entrada.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el valor por adelantado de la muestra es mayor de dos veces el número de valores de salida de una trama de salida.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de tal manera que el valor predeterminado es 0.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado para fijar una muestra de ventana en un valor en el intervalo predeterminado al fijar la muestra de ventana correspondiente en un valor que comprende un valor absoluto menor que un umbral mínimo y/o a un valor que comprende un valor absoluto más de un umbral máximo.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el umbral mínimo y/o el umbral máximo es dado por 10s o 2s, donde s es un número entero.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el umbral mínimo es determinado por un valor máximo absoluto representable por un bit menos significativo o una pluralidad de bits menos significativos y/o un umbral máximo es determinado por un valor mínimo absoluto representable por un bit más significativo o una pluralidad de bits más significativos en el caso de una representación binaria de las muestras de entrada y/o las muestras de ventana.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el número de muestras de entrada omitidas, el número de muestras de ventana fijadas en el valor predeterminado o en al menos un valor en el intervalo predeterminado es mayor o igual al número de valores de salida de una trama de salida dividido por 16.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado para omitir o fijar al valor predeterminado o a un valor en el intervalo predeterminado de 128 ó 120 muestras de ventana.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el convertidor de tiempo/frecuencia está configurado para proporcionar tramas de salida que comprenden menos de la mitad del número de valores de salida en comparación con el número de muestras de entrada de una trama de entrada.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el convertidor de tiempo/frecuencia está configurado para proporcionar tramas de salida que comprenden un número de valores de salida, que es igual al número de muestras de entrada de una trama de entrada dividido por un número entero mayor de
2.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el convertidor de tiempo/frecuencia está configurado para proporcionar una trama de salida que comprende un número de valores de salida, que es igual al número de muestras de entrada de una trama de entrada dividido por 4.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el convertidor de tiempo/frecuencia está basado en al menos una transformada de coseno discreta y una transformada de seno discreta.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el convertidor de tiempo/frecuencia está configurado para proporcionar valores de salida Xi,k basados en una expresión
para 0 : k < N/2,
donde i es un número entero que indica un índice de bloque o un índice de trama, donde k es un número entero que indica un índice de coeficiente espectral, donde n es un índice de muestra, donde N es un número entero que indica dos veces el número de valores de salida de una trama de salida, donde
es un valor desplazado, y donde zi,n es una muestra de ventana correspondiente al coeficiente espectral k y el índice de trama i.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el convertidor de tiempo/frecuencia está configurado de tal manera que N es igual a 960 ó 1024.
Un banco de filtros de síntesis para filtrar una pluralidad de tramas de entrada, donde cada trama de entrada comprende un número de valores de entrada ordenados, comprende un convertidor de frecuencia/tiempo configurado para proporcionar una pluralidad de tramas de salida, una trama de salida que comprende un número de muestras de salida ordenadas, siendo una trama de salida una representación temporal de una trama de entrada; un formador de ventanas configurado para generar una pluralidad de tramas de ventana, una trama de ventana que comprende una pluralidad de muestras de ventana; y donde el formador de ventanas está configurado para proporcionar la pluralidad de muestras de ventana para un procesamiento de manera solapada en base a un valor por adelantado de la muestra; un solapamiento/sumador configurado para proporcionar una trama agregada que comprende una sección de partida y una sección restante, una trama agregada que comprende una pluralidad de muestras agregadas al agregar al menos tres muestras de ventana de al menos tres tramas de ventana para una muestra agregada en la sección restante de una trama agregada y al agregar al menos dos muestras de ventana de al menos dos tramas de ventana diferentes para una muestra agregada en la sección de partida, donde el número de muestras de ventana agregadas para obtener una muestra agregada en la sección restante es al menos una muestra más alta en comparación con el número de muestras de ventana agregadas para obtener una muestra agregada en la sección de partida, o donde el formador de ventanas está configurado para omitir al menos el valor de salida más anterior de acuerdo con el orden de las muestras de salida ordenadas o a la fijación de las muestras de ventana correspondientes en un valor predeterminado o en al menos un valor en un intervalo predeterminado para cada trama de ventana o la pluralidad de tramas de ventana; y donde el solapamiento/sumador está configurado para proporcionar la muestra agregada en la sección restante de una trama agregada en base a al menos tres muestras de ventana de al menos tres tramas de ventana diferentes y una muestra agregada en la sección de partida en base a al menos dos muestras de ventana de al menos dos tramas de ventana diferentes.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el solapamiento/sumador está configurado de tal manera que una muestra agregada en la sección restante de una trama agregada corresponde a muestras de salida que no son omitidas, muestras de ventana fijadas en el valor predeterminado o fijadas en un valor en el intervalo predeterminado por el formador de ventanas y donde una muestra agregada en la sección de partida de una trama agregada corresponde a una muestra de salida que es omitida o a una muestra de ventana fijada en el valor predeterminado o fijada en un valor en el intervalo predeterminado por el formador de ventanas.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el convertidor de frecuencia/tiempo está configurado para proporcionar tramas de salida que comprenden más de dos veces el número de muestras de salida en comparación con el número de valores de entrada de una trama de entrada.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el convertidor de frecuencia/tiempo está configurado para proporcionar tramas de salida que comprenden un número de muestras de salida, que es igual al número de valores de entrada de una trama de entrada multiplicado por un número entero mayor de 2.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el convertidor de frecuencia/tiempo está configurado para proporcionar una trama de salida que comprende un número de muestras de salida, que es igual al número de valores de entrada de una trama de entrada multiplicado por 4.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el convertidor de frecuencia/tiempo esta basado en al menos una de una transformada de coseno discreta y una transformada de seno discreta.
Un banco de filtros de análisis puede estar configurado adicionalmente de manera que el convertidor de frecuencia/tiempo está configurado para proporcionar muestras de salida Xi,n basadas en la expresión
para 0 : n < 2N,
donde i es un número entero que indica un índice de ventana, índice de bloque o índice de trama, donde n es un número entero que indica un índice de muestra, donde k es un número entero que indica un índice de coeficiente espectral, donde N es un número entero que indica la mitad del número de muestras de salida de una trama de salida, donde
es un valor desplazado, y donde spec[i][k] es un valor de entrada correspondiente al índice de coeficiente espectral k y el índice de ventana i.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el convertidor de frecuencia/tiempo está configurado de tal manera que N es igual a 960 ó 1024.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado para omitir una pluralidad de muestras de salida de una trama de salida o fijar una pluralidad de muestras de ventana en el valor predeterminado o en al menos un valor en el intervalo predeterminado.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de manera que la pluralidad de muestras de salida omitidas comprende un subconjunto conectado de muestras de salida que comprenden la muestra de salida más anterior de acuerdo con el orden de las muestras de salida ordenadas o donde la pluralidad de muestras de ventana, que se fijan en el valor predeterminado o e al menos un valor en el intervalo predeterminado, comprende un subconjunto conectado de muestras de ventana que comprende al menos una muestra de ventana correspondiente a la muestra de salida más anterior.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado para generar una trama de ventana en base a una trama de salida y una función de ponderación al ponderar al menos una muestra de salida de la trama de salida en base a la función de ponderación.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado para generar una trama de ventana basada en una trama de salida al multiplicar una muestra de salida de la trama de salida con un valor basado en una función de ventana.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado para multiplicar al menos una pluralidad de muestras de salida de la trama de salida con un coeficiente de formación de ventana específico de la muestra de salida de una función de ventana.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado para multiplicar cada muestra de salida de la trama de salida con un coeficiente de información de ventana específico de la muestra de salida de la función de ventana.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado para generar una muestra de ventana zi,n basada en la expresión
donde i es un número entero que indica un índice de trama o un índice de bloque de una trama de ventana y/o de una trama de salida, donde n = 0,..., 2N-1 es un número entero que indica un índice de muestra, donde N es un número entero que indica dos veces el número de los valores de entrada de una trama de entrada y/o la mitad del número de muestra de salida de una trama de salida y/o de las muestras de ventana de una trama de ventana, donde w(n) es la función de ventana y donde Xi,n es una muestra de salida con un índice de muestra n y el índice de trama i.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado para generar una muestra de ventana zi,n basada en una expresión
donde i es un número entero que indica un índice de trama o un índice de bloque de una trama de ventana y/o de una trama de salida, donde n = N/8,..., 2N-1 es un número entero que indica un índice de muestra, donde N es un número entero que indica dos veces el número de los valores de entrada de una trama de entrada y/o la mitad del número de muestra de salida de una trama de salida y/o de las muestras de ventana de una trama de ventana, donde w(n) es la función de ventana y donde Xi,n es una muestra de salida con un índice de muestra n y el índice de trama i.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de tal manera que N es igual a 960 y los coeficientes de ventana w(0) a w(2N-1) obedecen las relaciones dadas en la tabla 1 en el anexo.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de tal manera que los coeficientes de ventana w(0) a w(2N-1) comprenden los valores dado en la tabla 2 en el anexo.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de tal manera que N es igual a 1024 y los coeficientes de ventana w(0) a w(2N-1) obedecen las relaciones dadas en la tabla 3 en el anexo.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que los coeficientes de ventana w(0) a w(2N-1) comprenden los valores dados en la tabla 4 del anexo.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de manera que la función de ventana atribuye coeficientes de ventana de valor real a elementos de un conjunto de definición.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de manera que la función de ventana es asimétrica sobre el conjunto de definición con respecto a un punto medio de un conjunto de definición.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de manera que la función de ventana comprende más coeficientes de ventana con un valor absoluto de 10% de un valor absoluto máximo de los coeficientes de ventana de la función de ventana en una primera mitad del conjunto de definición que en la segunda mitad del conjunto de definición con respecto al punto medio del conjunto de definición, donde la primera mitad corresponde a la mitad más anterior de la valores de salida.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de manera que la función de ventana está basada en una variante reflejada de o idéntica con una función de ventana en base a la cual las tramas de entrada son generadas para el banco de filtros de síntesis.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de manera que la función de ventana es una función de ventana reflejada con respecto a un punto medio del conjunto de definición de la función de ventana en comparación con una función de ventana en base a la cual las tramas de entrada son generadas para el banco de filtros de síntesis.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de manera que el valor predeterminado es 0.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado para fijar una muestra de ventana en un valor en el intervalo predeterminado por al menos uno de fijar la muestra de ventana correspondiente en un valor que comprende un valor absoluto menor que un umbral mínimo y fijar la muestra de ventana correspondiente en un valor que comprende un valor absoluto mayor que un umbral máximo.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el umbral mínimo o el umbral máximo viene dado por 10s o 2s, donde s es un número entero.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el umbral mínimo es determinado por un valor absoluto máximo representable por un bit menos significativo o una pluralidad de bits menos significativos o el umbral máximo es determinado por un valor absoluto mínimo representable por un bit más significativo
o una pluralidad de bits más significativos en el caso de una representación binaria de al menos uno de la valores de entrada, la muestras de salida y las muestras de ventana.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de tal manera que el número de muestras de salida omitidas o el número de muestras de ventana fijadas en el valor predeterminado o en al menos un valor en el intervalo predeterminado es mayor o igual al número de muestras de salida de una trama de salida dividido por 64.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de tal manera que el número de valores de salida omitidos o el número de muestras de ventana fijadas en el valor predeterminado o en al menos un valor en el intervalo predeterminado es mayor o igual al número de muestras agregadas de una trama agregada dividido por 16.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado para omitir 128 ó 120 o fijar en el valor predeterminado o en al menos un valor en el intervalo predeterminado 128 ó 120 muestras de ventana.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el solapamiento/sumador está configurado para generar la trama agregada en base a al menos tres tramas de ventana generadas consecutivamente por el formador de ventanas.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el solapamiento/sumador está configurado para generar la trama agregada en base a al menos tres tramas de salida generadas consecutivamente por el convertidor de frecuencia/tiempo.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el solapamiento/sumador está configurado para generar la trama agregada que comprende un número de muestras agregadas que es igual al valor por adelantado de la muestra.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el solapamiento/sumador está configurado para proporcionar una trama agregada que comprende una pluralidad de tramas agregadas en base a al menos 4 muestras de ventana de al menos 4 tramas de ventana diferentes para una muestra agregada correspondiente a una muestra de ventana, que no está basada en una muestra de salida omitida, fijada en el valor predeterminado y en un valor en el intervalo predeterminado por el formador de ventanas y en base a al menos 3 muestras de ventana de al menos 3 tramas de ventana diferentes para una muestra agregada correspondiente a una muestra de salida que es omitida o fijada en el valor predeterminado o en un valor en el intervalo predeterminado por el formador de ventanas.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el solapamiento/sumador está configurado para proporcionar tramas agregadas que comprenden un número de muestras agregadas que es menor que el número de valores de salida de una trama de salida dividido por 2.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el solapamiento/sumador está configurado para proporcionar tramas agregadas que comprenden un número de muestras agregadas que es igual al número de muestras de salida de una trama de salida dividido por un número entero mayor de 2.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el solapamiento/sumador está configurado para proporcionar tramas agregadas que comprenden un número de muestras agregadas que es igual al número de muestras de salida de una trama de salida dividido por 4.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el solapamiento/sumador está configurado para proporcionar una muestra agregada outi,n basada en la expresión
para 0 : n < N/2,
donde i es un número entero que indica un índice de trama o un índice de bloque de una trama de ventana y/o de una trama agregada, donde n es un número entero que indica un índice de muestra, donde N es un número entero que indica mitad del número de las muestras de salida de una trama de salida y/o de las muestras de ventana de la trama de ventana, donde Zi,n es la muestra de ventana correspondiente a un índice de muestra n y el índice de trama i.
En resumen, otro banco de filtros de síntesis para filtrar una pluralidad de tramas de entrada, donde cada trama de entrada comprende M valores de entrada ordenados yk(0),…,yk(M-1), donde M es un número entero positivo y donde k es un número entero que indica un índice de trama, comprende un convertidor de frecuencia/tiempo de transformada de coseno discreto tipo IV inverso 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) en base a los valores de entrada yk(0),…,yk (M-1); un formador de ventanas configurado para generar una pluralidad de tramas de ventana, una trama de ventana que comprende una pluralidad de muestras de ventana zk(0),…, zk(2M-1) en base a la ecuación
zk (n) = w(n) · Xk (n)
para n = 0,…,2M-1,
donde n es un número entero que indica un índice de muestra y donde w(n) es un coeficiente de función de ventana de valor real correspondiente al índice de muestra n;
un solapamiento/sumador configurado para proporcionar una trama intermedia que comprende una pluralidad de muestras intermedias mk (0),…,mk(M-1) en base a la ecuación
mk (n) = zk(n) + Zk-1(n+M)
para n = 0,…,M-1;
y un elevador configurado para proporcionar una trama agregada que comprende una pluralidad de muestras agregadas outk(0),…, outk (M-1) en base a la ecuación
outk(n) = mk(n)+l(n-M/2) · mk-1(M-1-n)
para n = M/2,…,M-1
y
outk (n) = mk(n) + l(M-1-n) · outk-i(M-1-n)
para n=0,…,M/2-1,
donde 1(0),…,1(M-1) son coeficientes de elevación de valor real.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de tal manera que M es igual a 512 y los coeficientes de ventana w(0),…,w(2M-l) obedecen las relaciones dadas en la tabla 5 en el anexo, y donde el elevador está configurado de tal manera que los coeficientes de elevación 1(0), …, 1(M-1) obedecen las relaciones dadas en la tabla 6 en el anexo.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de tal manera que los coeficientes de ventana w(0),…, w(2M-l) comprenden los valores dados en la tabla 7 del anexo, y donde el elevador está configurado de tal manera que los coeficientes de elevación 1(0), …, 1(2M-1) comprenden los valores dados en la tabla 8.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de tal manera que M es igual a 480 y los coeficientes de ventana w(0),…,w(2M-l) obedecen las relaciones dadas en la tabla 9 en el anexo, y donde el elevador está configurado de tal manera que los coeficientes de elevación 1(0), …, 1(M-1) obedecen las relaciones dadas en la tabla 10 en el anexo.
Un banco de filtros de síntesis puede estar configurado adicionalmente de manera que el formador de ventanas está configurado de tal manera que los coeficientes de ventana w(0),…, w(2M-l) comprenden los valores dados en la tabla 11 del anexo, y donde el elevador está configurado de tal manera que los coeficientes de elevación 1(0), …, 1(2M-1) comprenden los valores dados en la tabla 12.
En resumen, un codificador comprende un banco de filtros de análisis para filtrar una pluralidad de tramas de entrada de dominio de tiempo, donde una trama de entrada comprende un número de muestras de entrada ordenadas, que a su vez comprende un formador de ventanas configurado para generar una pluralidad de tramas de ventana, una trama de ventana que comprende una pluralidad de muestras de ventana, donde el formador de ventanas está configurado para el procesamiento de la pluralidad de tramas de entrada de manera solapada utilizando un valor por adelantado de la muestra, donde el valor por adelantado de la muestra es menor que el número 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 número de valores de salida, una trama de salida es una representación espectral de una trama de ventana.
Un codificador puede comprender además un codificador de entropía configurado para codificar la pluralidad de tramas de salida provistas por el banco de filtros de análisis y configurado para emitir una pluralidad de tramas codificados en base a las tramas de salida.
En resumen, un descodificador comprende un banco de filtros de síntesis para filtrar una pluralidad de tramas de entrada, donde cada trama de entrada comprende un número de valores de entrada ordenados, que a su vez comprende un convertidor de tiempo/frecuencia configurado para proporcionar una pluralidad de tramas de salida, una trama de salida comprende un número de muestras de salida ordenadas, una trama de salida es una representación temporal de una trama de entrada; un formador de ventanas configurado para generar una pluralidad de tramas de ventana, una trama de ventana que comprende una pluralidad de muestras de ventana; y donde el formador de ventanas está configurado para proporcionar la pluralidad de muestras de ventana para un procesamiento de manera solapada utilizando basado en un valor por adelantado de la muestra; un solapamiento/sumador configurado para proporcionar una trama agregada que comprende que comprende una sección de partida y una sección restante, un trama agregada que comprende una pluralidad de muestras agregadas al agregar al menos tres muestras de ventana de al menos tres tramas de ventana para una muestra agregada en la sección restante de un trama agregada y al agregar al menos dos muestras de ventana de al menos dos tramas de ventana diferentes para una muestra agregada en la sección de partida, donde el número de muestras de ventana agregadas para obtener una muestra agregada en la sección restante es al menos una muestra más alta en comparación con el número de muestras de ventana agregadas para obtener una muestra agregada en la sección de partida, o donde el formador de ventanas está configurado para omitir al menos el valor de salida más anterior de acuerdo con el orden de las muestras de salida ordenadas o para fijar las muestras de ventana correspondientes en un valor predeterminado o en al menos un valor en un intervalo predeterminado para cada trama de ventana o la pluralidad de tramas de ventana, y donde el solapada/sumador está configurado para proporcionar la muestra agregada en la sección restante de una trama agregada en base a al menos tres muestras de ventana de al menos tres tramas de ventana diferentes y una muestra agregada en la sección de partida en base a al menos dos muestras de ventana de al menos dos tramas de ventana diferentes.
Un descodificador puede comprender además un descodificador de entropía configurado para descodificar una pluralidad de tramas codificados y configurado para proporcionar una pluralidad de tramas de entrada basadas en las tramas codificadas al banco de filtros de síntesis.
En resumen, otro descodificador comprende un banco de filtros de síntesis para filtrar una pluralidad de tramas de entrada, comprendiendo cada trama de entrada M valores de entrada ordenados yk(0),…,yk(M-1), donde M es un número entero positivo y donde k es un número entero que indica un índice de trama, un convertidor de frecuencia/tiempo de transformada de coseno discreto tipo IV inverso 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) en base a los valores de entrada yk(0),…,yk (M-1); un formador de ventanas configurado para generar una pluralidad de tramas de ventana, una trama de ventana que comprende una pluralidad de muestras de ventana zk(0),…, zk(2M-1) en base a la ecuación
zk (n) = w(n) · Xk (n)
para n = 0,…,2M-1,
donde n es un número entero que indica un índice de muestra y donde w(n) es un coeficiente de función de ventana de valor real correspondiente al índice de muestra n; un solapamiento/sumador configurado para proporcionar una trama intermedia que comprende una pluralidad de muestras intermedias mk (0),…,mk(M-1) en base a la ecuación
mk (n) = zk(n) + Zk-1(n+M)
para n = 0,…,M-1;
y
un elevador configurado para proporcionar una trama agregada que comprende una pluralidad de muestras agregadas outk(0),…, outk (M-1) en base a la ecuación
outk(n) = mk(n)+l(n-M/2) · mk-1(M-1-n)
para n = M/2,…,M-1
y
outk (n) = mk(n) + l(M-1-n) · outk-i(M-1-n)
para n=0,…,M/2-1,
donde 1(0),…,1(M-1) son coeficientes de elevación de valor real.
Un descodificador puede comprender además un descodificador de entropía configurado para descodificar una pluralidad de tramas codificadas y configurado para proporcionar una pluralidad de tramas de entrada basadas en las tramas codificadas al banco de filtros de síntesis.
Un método para filtrar una pluralidad de tramas de entrada de dominio de tiempo, donde una trama de entrada comprende un número de muestras de entrada ordenadas, comprende generar una pluralidad de tramas de ventana mediante el procesamiento de la pluralidad de tramas de entrada de manera solapada utilizando un valor por adelantado de la muestra; donde el valor por adelantado de la muestra es menor que el número de muestras de entrada ordenadas de una trama de entrada dividido por 2; y proporcionar una pluralidad de tramas de salida que comprenden un número de valores de salida al efectuar una conversión de tiempo/frecuencia, una trama de salida es una representación espectral de una trama de ventana.
Un método para filtrar una pluralidad de tramas de entrada, donde comprendiendo cada trama de entrada un número de valores de entrada ordenados, comprende efectuar una conversión de frecuencia/tiempo y proporcionar una pluralidad de tramas de salida, una trama de salida que comprende un número de muestras de salida ordenadas, siendo una trama de salida una representación temporal de una trama de entrada; generar una pluralidad de tramas de ventana, una trama de ventana que comprende una pluralidad de muestras de ventana mediante el procesamiento de la pluralidad de muestras de salida para procesar las tramas de ventana de manera solapada en base a un valor por adelantado de la muestra; generar una trama agregada que comprende una sección de partida y una sección restante, donde una trama agregada comprende una muestra agregada al agregar al menos tres muestras de ventana de al menos tres tramas de ventana diferentes para una muestra agregada en la sección restante de una trama agregada y una muestra agregada al agregar al menos dos muestras de ventana de al menos dos tramas de ventana diferentes para una muestra agregada en la sección de partida, donde el número de muestras de ventana agregadas para obtener una muestra agregada está en la sección restante al menos una muestra más alta con el número de muestras de ventana agregadas para obtener una muestra agregada en la sección de partida; o donde la generación de la pluralidad de tramas de ventana comprende omitir al menos la muestra de salida más anterior de acuerdo con el orden de la muestra de salida ordenada o fijar la muestra de ventana correspondiente en un valor predeterminado en al menos un valor en un intervalo predeterminado para cada trama de ventana de la pluralidad de tramas de ventana; y donde la provisión de una trama agregada comprende proporcionar una muestra agregada al agregar al menos tres muestras de ventana de al menos tres tramas de ventana diferentes para una muestra agregada en la sección restante de una trama agregada y una muestra agregada al agregar al menos dos muestras de ventana de al menos dos tramas de ventana diferentes para una muestra agregada en la sección de partida.
Un método para filtrar una pluralidad de tramas de entrada, comprendiendo cada trama de entrada M valores de entrada ordenados yk(0),…,yk(M-1), donde M es un número entero positivo y donde k es un número entero que indica un índice de la trama de entrada, comprende realizar una transformada de coseno discreto tipo IV inverso y proporcionar una pluralidad de tramas de salida xk(0),…,xk (2M-1) en base a los valores de entrada yk(0),…,yk(M-1), generando una pluralidad de tramas de ventana, una trama de ventana que comprende una pluralidad de muestras de ventana zk(0),…, zk(2M-1) en base a una ecuación
zk (n) = w(n) · Xk (n)
para n = 0,…,2M-1,
donde n es un número entero; generando una pluralidad de tramas intermedias, comprendiendo cada trama intermedia una pluralidad de muestras intermedias mk (0),…,mk(M-1) en base a la ecuación
mk (n) = zk(n) + Zk-1(n+M)
para n = 0,…,M-1;
y generar una pluralidad de tramas agregadas que comprenden una pluralidad de muestras agregadas outk(0),…, outk(M) en base a una ecuación
outk(n) = mk(n)+l(n-M/2) · mk-1(M-1-n)
para n = M/2,…,M-1
y
outk (n) = mk(n) + l(M-1-n) · outk-1(M-1-n)
para n=0,…,M/2-1,
donde w(0),…,w(2M-1) son coeficientes de ventana de valor real, y donde 1(0),…,1(M-1) son coeficientes de elevación de valor real.
Un programa informático para efectuar, cuando se ejecuta en un ordenador, un método para filtrar una pluralidad de tramas de entrada de dominio de tiempo, donde una trama de entrada comprende un número de muestras de entrada ordenada, comprende generar una pluralidad de tramas de ventana mediante el procesamiento de la pluralidad de tramas de entrada de manera solapada utilizando un valor por adelantado de la muestra; donde el valor por adelantado de la muestra es menor que el número de muestras de entrada ordenadas de una trama de entrada dividido por 2; y proporcionar una pluralidad de tramas de salida que comprenden un número de valores de salida al efectuar una conversión de tiempo/frecuencia, siendo una trama de salida una representación espectral de una trama de ventana.
Un programa informático para efectuar, cuando se ejecuta en un ordenador, comprende un método para filtrar una pluralidad de tramas de entrada, comprendiendo cada trama de entrada un número de valores de entrada ordenados, que comprende efectuar una conversión de frecuencia/tiempo y proporcionar una pluralidad de tramas de salida, una trama de salida que comprende un número de muestras de salida ordenadas, siendo una trama de salida una representación temporal de una trama de entrada; generar una pluralidad de tramas de ventana, una trama de ventana que comprende una pluralidad de muestras de ventana mediante el procesamiento de la pluralidad de muestras de salida para procesar las tramas de ventana de manera solapada en base a un valor por adelantado de la muestra; generar una trama agregada que comprende una sección de partida y una sección restante, donde una trama agregada comprende una muestra agregada al agregar al menos tres muestras de ventana de al menos tres tramas de ventana diferentes para una muestra agregada en la sección restante de una trama agregada y una muestra agregada al agregar al menos dos muestras de ventana de al menos dos tramas de ventana diferentes para una muestra agregada en la sección de partida, donde el número de muestras de ventana agregadas para obtener una muestra agregada está en la sección restante al menos una muestra más alta en comparación con el número de muestras de ventana agregadas para obtener una muestra agregada en la sección de partida; o donde la generación de la pluralidad de tramas de ventana comprende omitir al menos la muestra de salida más anterior de acuerdo con el orden de la muestra de salida ordenada o fijar la muestra de ventana correspondiente en un valor predeterminado en al menos un valor en un intervalo predeterminado para cada trama de ventana de la pluralidad de tramas de ventana; y donde la provisión de una trama agregada comprende proporcionar una muestra agregada al agregar al menos tres muestras de ventana de al menos tres tramas de ventana diferentes para una muestra agregada en la sección restante de una trama agregada y una muestra agregada al agregar al menos dos muestras de ventana de al menos dos tramas de ventana diferentes para una muestra agregada en la sección de partida.
Un programa informático para efectuar, cuando se ejecuta en un ordenador, un método para filtrar una pluralidad de tramas de entrada, comprendiendo cada trama de entrada M valores de entrada ordenados yk(0),…,yk(M-1), donde M es un número entero positivo y donde k es un número entero que indica un índice de la trama de entrada, comprende realizar una transformada de coseno discreto tipo IV inverso y proporcionar una pluralidad de tramas de salida xk(0),…,xk (2M-1) en base a los valores de entrada yk(0),…,yk(M-1), generando una pluralidad de tramas de ventana, una trama de ventana que comprende una pluralidad de muestras de ventana zk(0),…, zk(2M-1) en base a una ecuación
zk (n) = w(n) · Xk (n)
para n = 0,…,2M-1,
donde n es un número entero; generando una pluralidad de tramas intermedias, comprendiendo cada trama intermedia una pluralidad de muestras intermedias mk (0),…,mk(M-1) en base a la ecuación
mk (n) = zk(n) + Zk-1(n+M)
para n = 0,…,M-1,
y generar una pluralidad de tramas agregadas que comprenden una pluralidad de muestras outk(0),…, outk(M) en base a una ecuación
outk(n) = mk(n)+l(n-M/2) · mk-1(M-1-n)
para n = M/2,…,M-1
y
outk (n) = mk(n) + l(M-1-n) · outk-1(M-1-n)
para n=0,…,M/2-1,
donde w(0),…,w(2M-1) son coeficientes de ventana de valor real; y
donde 1(0),…,1(M-1) son coeficientes de elevación de valor real.
Tabla 1 (coeficientes de ventana w(n); N = 960)
Tabla 4 (coeficientes de ventana w(n); N = 1024)
Tabla 5 (coeficientes de ventana w(n); M = 512)
Tabla 7 (coeficientes de ventana w(n); M = 512)
Tabla 8 (coeficientes de elevación l(n); M = 512)
Claims (8)
- REIVINDICACIONES1. Mezclador (600) para mezclar una pluralidad de tramas de entrada, siendo cada trama de entrada una representación espectral de una trama de dominio de tiempo correspondiente y proporcionándose cada trama de entrada de la pluralidad de tramas de entrada desde una fuente diferente, que comprende:un descodificador (610) de entropía configurado para descodificar por entropía la pluralidad de tramas de entrada;un escalador (630) configurado para escalar la pluralidad de tramas de entrada descodificadas por entropía en el dominio de frecuencia y configurado para obtener una pluralidad de tramas escaladas en el dominio de frecuencia, correspondiendo cada trama escalada a una trama de entrada descodificada por entropía;un sumador (640) configurado para agregar las tramas escaladas en el dominio de frecuencia para generar una trama agregada en el dominio de frecuencia; yun codificador (660) de entropía configurado para codificar por entropía la trama agregada para obtener una trama mezclada,estando el mezclador (600) configurado para generar la trama mezclada en base a la pluralidad de tramas de entrada,donde cada una de las tramas de entrada de la pluralidad de tramas de entrada se genera por un codificador (400) que comprende un banco (200, 800) de filtros de análisis para filtrar una pluralidad de tramas de entrada en el dominio de tiempo, comprendiendo una trama de entrada varias muestras de entrada ordenadas, que comprenden un formador(110) de ventana configurado para generar una pluralidad de tramas de ventana, comprendiendo una trama de ventana una pluralidad de muestras de ventana, estando el formador (110) de ventana configurado para procesar la pluralidad de tramas de entrada de manera solapada usando un valor por adelantado de la muestra, estando el formador de ventana configurado para generar consecutivamente dos tramas de ventana basadas en dos tramas de entrada, para cada trama de entrada, pesando al menos una pluralidad de muestras de entrada de la respectiva trama de entrada con una función de ventana, con las dos tramas de entrada solapadas en varias muestras de entrada ordenadas que es mayor que la mitad del número de muestras de entrada ordenadas de las tramas de entrada y el valor por adelantado de la muestra es menor que el número de muestras de entrada ordenadas de una trama de entrada dividido por 2; y un convertidor (120) de tiempo/frecuencia configurado para proporcionar una trama de salida que comprende un número de valores de salida, siendo una trama de salida un representación espectral de una trama de ventana.
-
- 2.
- Mezclador (600) según la reivindicación 1, que comprende además un descuantificador (620) configurado para descuantificar las tramas de entrada descodificadas por entropía y proporcionar las tramas de entrada descodificadas por entropía al escalador (630) en una forma descuantificada.
-
- 3.
- Mezclador (600) según la reivindicación 1, que comprende además un cuantificador (650) configurado para cuantificar la trama agregada y proporcionar la trama agregada en una forma cuantificada al codificador (660) de entropía.
-
- 4.
- Mezclador (600) según la reivindicación 1, donde el escalador (630) está configurado para escalar las tramas de entrada descuantificadas multiplicando cada valor de entrada de la pluralidad de tramas de entrada por 1/P, donde P es un número entero que indica un número de fuentes diferentes.
-
- 5.
- Mezclador (600) según la reivindicación 1, donde el escalador (630) está configurado para escalar las tramas de entrada descodificadas por entropía escalando los valores de entrada de las tramas de entrada de manera conservadora de energía.
-
- 6.
- Mezclador (600) según la reivindicación 1, donde el mezclador (600) está configurado para proporcionar la trama mezclada basada en la pluralidad de tramas de entrada, generándose cada trama de entrada de la pluralidad de tramas de entrada basada en la misma función de ventana de síntesis.
-
- 7.
- Mezclador (600) según la reivindicación 1, estando el mezclador (600) configurado para procesar la pluralidad de tramas de entrada y proporcionar la trama mezclada basada correspondiente a una velocidad de bits de menos de 36 kbit/s por canal.
-
- 8.
- Sistema (700) de conferencia que comprende:
un mezclador (600) según la reivindicación 1.186187188189190191192193194195196197198199200201202203204205206207208209210
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US86203206P | 2006-10-18 | 2006-10-18 | |
US862032P | 2006-10-18 | ||
US11/744,641 US8036903B2 (en) | 2006-10-18 | 2007-05-04 | Analysis filterbank, synthesis filterbank, encoder, de-coder, mixer and conferencing system |
US744641 | 2007-05-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2380177T3 true ES2380177T3 (es) | 2012-05-09 |
Family
ID=38904615
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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. |
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 |
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 |
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 (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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. |
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 (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 (22)
Country | Link |
---|---|
US (6) | US8036903B2 (es) |
EP (5) | EP2884490B1 (es) |
JP (5) | JP5546863B2 (es) |
KR (3) | KR101162455B1 (es) |
CN (4) | CN102243875B (es) |
AT (3) | ATE554480T1 (es) |
AU (3) | AU2007312696B2 (es) |
BR (2) | BRPI0716004B1 (es) |
CA (3) | CA2782609C (es) |
ES (5) | ES2386206T3 (es) |
HK (4) | HK1163332A1 (es) |
IL (4) | IL197757A (es) |
MX (1) | MX2009004046A (es) |
MY (4) | MY155486A (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 (46)
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 |
EP3288027B1 (en) | 2006-10-25 | 2021-04-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for generating complex-valued audio subband values |
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 |
JP5171842B2 (ja) | 2006-12-12 | 2013-03-27 | フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ | 時間領域データストリームを表している符号化および復号化のための符号器、復号器およびその方法 |
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 |
CA2708861C (en) * | 2007-12-18 | 2016-06-21 | Lg Electronics Inc. | A method and an apparatus for processing an audio signal |
AU2009221443B2 (en) * | 2008-03-04 | 2012-01-12 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus for mixing a plurality of input data streams |
CA2836871C (en) | 2008-07-11 | 2017-07-18 | Stefan Bayer | Time warp activation signal provider, audio signal encoder, method for providing a time warp activation signal, method for encoding an audio signal and computer programs |
TWI559786B (zh) * | 2008-09-03 | 2016-11-21 | 杜比實驗室特許公司 | 增進多聲道之再生 |
AR075199A1 (es) | 2009-01-28 | 2011-03-16 | Fraunhofer Ges Forschung | Codificador de audio decodificador de audio informacion de audio codificada metodos para la codificacion y decodificacion de una senal de audio y programa de computadora |
TWI662788B (zh) | 2009-02-18 | 2019-06-11 | 瑞典商杜比國際公司 | 用於高頻重建或參數立體聲之複指數調變濾波器組 |
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 |
ES2797525T3 (es) * | 2009-10-15 | 2020-12-02 | Voiceage Corp | Conformación simultánea de ruido en el dominio del tiempo y el dominio de la frecuencia para transformaciones TDAC |
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 |
BR122021003884B1 (pt) | 2010-08-12 | 2021-11-30 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V. | Reamostrar sinais de saída de codecs de áudio com base em qmf |
US8489053B2 (en) | 2011-01-16 | 2013-07-16 | Siport, Inc. | Compensation of local oscillator phase jitter |
CN103477387B (zh) | 2011-02-14 | 2015-11-25 | 弗兰霍菲尔运输应用研究公司 | 使用频谱域噪声整形的基于线性预测的编码方案 |
KR101525185B1 (ko) | 2011-02-14 | 2015-06-02 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 트랜지언트 검출 및 품질 결과를 사용하여 일부분의 오디오 신호를 코딩하기 위한 장치 및 방법 |
MY166394A (en) * | 2011-02-14 | 2018-06-25 | Fraunhofer Ges Forschung | Information signal representation using lapped transform |
ES2639646T3 (es) | 2011-02-14 | 2017-10-27 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codificación y decodificación de posiciones de impulso de pistas de una señal de audio |
BR112013020482B1 (pt) | 2011-02-14 | 2021-02-23 | Fraunhofer Ges Forschung | aparelho e método para processar um sinal de áudio decodificado em um domínio espectral |
RU2571561C2 (ru) * | 2011-04-05 | 2015-12-20 | Ниппон Телеграф Энд Телефон Корпорейшн | Способ кодирования, способ декодирования, кодер, декодер, программа и носитель записи |
US9117440B2 (en) | 2011-05-19 | 2015-08-25 | Dolby International Ab | Method, apparatus, and medium for detecting frequency extension coding in the coding history of an audio signal |
US9460729B2 (en) * | 2012-09-21 | 2016-10-04 | Dolby Laboratories Licensing Corporation | Layered approach to spatial audio coding |
JP5894347B2 (ja) * | 2012-10-15 | 2016-03-30 | ドルビー・インターナショナル・アーベー | 転移器に基づく仮想ベース・システムにおけるレイテンシーを低減するシステムおよび方法 |
RU2665281C2 (ru) * | 2013-09-12 | 2018-08-28 | Долби Интернэшнл Аб | Временное согласование данных обработки на основе квадратурного зеркального фильтра |
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・ミドルウェア | 音声通話システム、音声通話方法およびプログラム |
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 |
US11071843B2 (en) | 2019-02-18 | 2021-07-27 | Bose Corporation | Dynamic masking depending on source of snoring |
Family Cites Families (34)
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 |
FI935609A (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 |
EP1543503B1 (en) * | 2002-09-17 | 2007-01-24 | 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 |
-
2007
- 2007-05-04 US US11/744,641 patent/US8036903B2/en not_active Ceased
- 2007-08-29 ES ES07801974T patent/ES2386206T3/es active Active
- 2007-08-29 ES ES09010178T patent/ES2374014T3/es active Active
- 2007-08-29 EP EP14199155.4A patent/EP2884490B1/en active Active
- 2007-08-29 MY MYPI2011003540A patent/MY155486A/en unknown
- 2007-08-29 MY MYPI2011003538A patent/MY164995A/en unknown
- 2007-08-29 PL PL07801974T patent/PL2074615T3/pl unknown
- 2007-08-29 AT AT07801974T patent/ATE554480T1/de active
- 2007-08-29 MY MYPI2011003539A patent/MY155487A/en unknown
- 2007-08-29 PL PL11173652T patent/PL2378516T3/pl unknown
- 2007-08-29 CN CN2011102196751A patent/CN102243875B/zh active Active
- 2007-08-29 EP EP11173652.6A patent/EP2378516B1/en active Active
- 2007-08-29 ES ES11173652.6T patent/ES2531568T3/es active Active
- 2007-08-29 AT AT09010178T patent/ATE525720T1/de not_active IP Right Cessation
- 2007-08-29 EP EP09010178A patent/EP2113910B1/en active Active
- 2007-08-29 CN CN2011102193575A patent/CN102243873B/zh active Active
- 2007-08-29 KR KR1020117007017A patent/KR101162455B1/ko active IP Right Grant
- 2007-08-29 EP EP07801974A patent/EP2074615B1/en active Active
- 2007-08-29 WO PCT/EP2007/007553 patent/WO2008046468A2/en active Application Filing
- 2007-08-29 MX MX2009004046A patent/MX2009004046A/es active IP Right Grant
- 2007-08-29 CA CA2782609A patent/CA2782609C/en active Active
- 2007-08-29 MY MYPI20091416A patent/MY153289A/en unknown
- 2007-08-29 ES ES09010179T patent/ES2380177T3/es active Active
- 2007-08-29 JP JP2009532689A patent/JP5546863B2/ja active Active
- 2007-08-29 AU AU2007312696A patent/AU2007312696B2/en active Active
- 2007-08-29 PL PL14199155.4T patent/PL2884490T3/pl unknown
- 2007-08-29 BR BRPI0716004-6A patent/BRPI0716004B1/pt active IP Right Grant
- 2007-08-29 EP EP09010179A patent/EP2113911B1/en active Active
- 2007-08-29 KR KR1020097007979A patent/KR101209410B1/ko active IP Right Grant
- 2007-08-29 RU RU2009109129/09A patent/RU2426178C2/ru active
- 2007-08-29 ES ES14199155.4T patent/ES2592253T3/es active Active
- 2007-08-29 SG SG2011068772A patent/SG174835A1/en unknown
- 2007-08-29 PT PT141991554T patent/PT2884490T/pt unknown
- 2007-08-29 BR BR122019020171-4A patent/BR122019020171B1/pt active IP Right Grant
- 2007-08-29 CN CN200780038753XA patent/CN101529502B/zh active Active
- 2007-08-29 SG SG2011068780A patent/SG174836A1/en unknown
- 2007-08-29 PL PL09010179T patent/PL2113911T3/pl unknown
- 2007-08-29 CN CN2011102195918A patent/CN102243874B/zh active Active
- 2007-08-29 AT AT09010179T patent/ATE539432T1/de active
- 2007-08-29 CA CA2667059A patent/CA2667059C/en active Active
- 2007-08-29 PL PL09010178T patent/PL2113910T3/pl unknown
- 2007-08-29 CA CA2782476A patent/CA2782476C/en active Active
- 2007-08-29 KR KR1020117007018A patent/KR101162462B1/ko active IP Right Grant
- 2007-10-17 TW TW096138773A patent/TWI355647B/zh active
-
2009
- 2009-03-09 ZA ZA200901650A patent/ZA200901650B/xx unknown
- 2009-03-23 IL IL197757A patent/IL197757A/en active IP Right Grant
- 2009-05-14 NO NO20091900A patent/NO342445B1/no unknown
- 2009-08-27 HK HK12103784.0A patent/HK1163332A1/xx unknown
- 2009-08-27 HK HK10104281.8A patent/HK1138423A1/xx unknown
- 2009-08-27 HK HK09107887.2A patent/HK1128058A1/xx unknown
- 2009-08-27 HK HK10103980.4A patent/HK1138674A1/xx unknown
-
2011
- 2011-03-23 AU AU2011201331A patent/AU2011201331B2/en active Active
- 2011-03-23 AU AU2011201330A patent/AU2011201330B2/en active Active
-
2012
- 2012-04-04 JP JP2012085778A patent/JP5520994B2/ja active Active
-
2013
- 2013-05-07 IL IL226224A patent/IL226224A/en active IP Right Grant
- 2013-05-07 IL IL226225A patent/IL226225A/en active IP Right Grant
- 2013-05-07 IL IL226223A patent/IL226223A/en active IP Right Grant
- 2013-05-20 JP JP2013106075A patent/JP5700713B2/ja active Active
- 2013-05-20 JP JP2013106076A patent/JP5700714B2/ja active Active
- 2013-10-11 US US14/052,689 patent/USRE45294E1/en active Active
- 2013-10-11 US US14/052,697 patent/USRE45339E1/en active Active
- 2013-10-11 US US14/052,694 patent/USRE45277E1/en active Active
- 2013-10-11 US US14/052,686 patent/USRE45526E1/en active Active
- 2013-10-11 US US14/052,690 patent/USRE45276E1/en active Active
- 2013-10-25 JP JP2013222042A patent/JP5859504B2/ja active Active
-
2017
- 2017-06-16 NO NO20170986A patent/NO342514B1/no unknown
- 2017-06-16 NO NO20170982A patent/NO342516B1/no unknown
- 2017-06-16 NO NO20170985A patent/NO342515B1/no unknown
- 2017-06-16 NO NO20170988A patent/NO342476B1/no unknown
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2380177T3 (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 | |
ES2380591T3 (es) | Codificación de señal de información | |
USRE50158E1 (en) | Apparatus and method for generating audio subband values and apparatus and method for generating time-domain audio samples |