ES2708581T3 - Codificación de audio multicanal usando predicción compleja e información de forma de ventana - Google Patents
Codificación de audio multicanal usando predicción compleja e información de forma de ventana Download PDFInfo
- Publication number
- ES2708581T3 ES2708581T3 ES15176778T ES15176778T ES2708581T3 ES 2708581 T3 ES2708581 T3 ES 2708581T3 ES 15176778 T ES15176778 T ES 15176778T ES 15176778 T ES15176778 T ES 15176778T ES 2708581 T3 ES2708581 T3 ES 2708581T3
- Authority
- ES
- Spain
- Prior art keywords
- signal
- combination
- prediction
- decoded
- channel
- 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
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Stereophonic System (AREA)
Abstract
Descodificador de audio para descodificar una senal de audio multicanal codificada (100), comprendiendo la senal de audio multicanal codificada (100) una primera senal de combinacion codificada (104) generada sobre la base de una regla de combinacion para combinar una primera senal de audio de canal y una segunda senal de audio de canal de una senal de audio multicanal, una senal residual de prediccion codificada (106) e informacion de prediccion (108), que comprende: un descodificador de senales (110) para descodificar la primera senal de combinacion codificada (104) para obtener una primera senal de combinacion descodificada (112) y para descodificar la senal residual de prediccion codificada (106) para obtener una senal residual descodificada (114); y una calculadora de descodificador (116) para calcular una senal de audio multicanal descodificada que tiene una primera senal de canal descodificada (117), y una segunda senal de canal descodificada (118) usando la senal residual descodificada (114), la informacion de prediccion (108) y la primera senal de combinacion descodificada (112), de tal modo que la primera senal de canal descodificada (117) y la segunda senal de canal descodificada (118) son por lo menos aproximaciones de la primera senal de canal y la segunda senal de canal de la senal de audio multicanal, en donde la informacion de prediccion (108) comprende una porcion imaginaria distinta de cero, en donde la calculadora de descodificador (116) comprende: un predictor (1160) para aplicar la informacion de prediccion (108) a la primera senal de combinacion descodificada (112) o a una senal (601) proveniente de la primera senal de combinacion descodificada (112) para obtener una senal de prediccion (1163); una calculadora de senales de combinacion (1161) para calcular una segunda senal de combinacion (1165) combinando la senal residual descodificada (114) y la senal de prediccion (1163); y un combinador (1162) para combinar la primera senal de combinacion descodificada (112) y la segunda senal de combinacion (1165) para obtener la senal de audio multicanal descodificada que tiene la primera senal de canal descodificada (117) y la segunda senal de canal descodificada (118), en donde el predictor (1160) comprende un convertidor de real a imaginario (1160) para estimar (1160a) un espectro imaginario de la primera senal de combinacion descodificada (112) usando una parte real de la primera senal de combinacion descodificada (112) directamente en el dominio de la frecuencia usando un filtrado bidimensional, estando sometida la parte real de la primera senal de combinacion descodificada (112) a una conmutacion de ventana, en donde el predictor (1160) esta configurado para multiplicar una parte imaginaria (601) de la primera senal de combinacion descodificada (112) por la parte imaginaria de la informacion de prediccion (108) para obtener al menos una parte de la senal de prediccion (1163), y en donde el predictor (1160) esta configurado para recibir una informacion de forma de ventana (109) y para usar diferentes coeficientes de filtro por el convertidor de real a imaginario (1160) para calcular el espectro imaginario de la primera senal de combinacion descodificada (112), en donde los diferentes coeficientes de filtro dependen de diferentes formas de ventana que son indicadas por la informacion de forma de ventana (109), en donde los coeficientes de filtro que son usados por el predictor (1160) dependen de una ventana completa, y en donde se requiere un conjunto de coeficientes de filtro para cada tipo de ventana y para cada transicion de ventana.
Description
DESCRIPCION
Codificacion de audio multicanal usando prediccion compleja e informacion de forma de ventana
La presente invencion se refiere a procesamiento de audio y, en concreto, al procesamiento de audio multicanal de una senal multicanal que tiene dos o mas senales de canal.
En el campo del procesamiento de estereo o multicanal se sabe aplicar la asf denominada codificacion de estereo central / lateral. De acuerdo con este concepto se forma una combinacion de la senal de canal de audio izquierda o primera y la senal de canal de audio derecha o segunda para obtener una senal central o mono M. Adicionalmente se forma una diferencia entre la senal de canal izquierda o primera y la senal de canal derecha o segunda para obtener la senal lateral S. Este metodo de codificacion central / lateral logra una ganancia de codificacion significativa, cuando la senal izquierda y la senal derecha son muy similares entre sf, debido a que la senal lateral se volvera bastante pequena. Por lo general, una ganancia de codificacion de una etapa de codificador de entropfa / cuantificador resultara superior, cuando el rango de valores a cuantificar / codificar por entropfa es menor. De este modo, para una PCM o un codificador aritmetico de entropfa o basado en Huffman, la ganancia de codificacion aumenta, cuando la senal lateral se vuelve mas pequena. No obstante, existen determinadas situaciones en las cuales la codificacion central / lateral no lograra una ganancia de codificacion. La situacion puede ocurrir cuando las senales en ambos canales estan desfasadas entre sf, por ejemplo, en 90°. Entonces, la senal central y la senal lateral pueden estar en un rango bastante similar y, por lo tanto, la codificacion de la senal central y la senal lateral usando el codificador por entropfa no lograra una ganancia de codificacion e incluso puede producir un aumento de tasa de bits. Por lo tanto se puede aplicar una codificacion central / lateral selectiva de frecuencia con el fin de desactivar la codificacion central / lateral en bandas, en donde la senal lateral no se vuelve mas pequena hasta un cierto grado con respecto a, por ejemplo, la senal izquierda original.
A pesar de que la senal lateral resultara cero, cuando las senales izquierda y derecha son identicas, logrando una maxima ganancia de codificacion debido a la eliminacion de la senal lateral, la situacion resulta de nuevo diferente cuando la senal central y la senal lateral son identicas con respecto a la conformacion de la forma de onda, pero la unica diferencia entre ambas senales radica en sus amplitudes generales. En este caso, cuando se presume adicionalmente que la senal lateral no tiene un desfase con respecto a la senal central, la senal lateral aumenta de forma significativa, a pesar de que, por otra parte, la senal central no disminuye demasiado con respecto a su rango de valores. Cuando dicha situacion ocurre en una determinada banda de frecuencia, entonces se desactivana de nuevo la codificacion central / lateral debido a la falta de ganancia de codificacion. La codificacion central / lateral se puede aplicar en forma selectiva de frecuencia o se puede aplicar, como alternativa, en el dominio de tiempo.
Existen tecnicas alternativas de codificacion multicanal, las cuales no estan basadas en un tipo de metodo de forma de onda como codificacion central / lateral, pero que estan basadas en el procesamiento parametrico de acuerdo con determinadas senales binaurales. Dichas tecnicas se conocen segun los terminos “codificacion binaural de la senal”, “codificacion de estereo parametrico” o “codificacion del Entorno de MPEG”. En este punto se calculan determinadas senales para una pluralidad de bandas de frecuencia. Dichas senales incluyen diferencias de nivel entre canales, medidas de coherencia entre canales, diferencias de tiempo entre canales y / o diferencias de fase entre canales. Estos metodos parten de la premisa de que una impresion multicanal sentida por el oyente no necesariamente esta basada en las formas de onda detalladas de los dos canales, pero esta basada en las senales suministradas en forma selectiva de frecuencia o en la informacion exacta entre canales. Esto significa que, en una maquina de presentacion se debe tener cuidado de presentar senales multicanal que reflejen las senales con exactitud, si bien las formas de onda no tienen una importancia significativa.
Este metodo puede resultar complejo en particular en el caso en el que el descodificador tiene que aplicar un procesamiento de descorrelacion con el fin de crear, de forma artificial, senales estereo, las cuales estan descorrelacionadas entre sf, a pesar de que la totalidad de dichos canales proviene de uno y del mismo canal de mezcla descendente. Los descorreladores para este proposito son complejos, dependiendo de su puesta en practica y pueden introducir distorsiones, en particular en el caso de porciones de senales transitorias. Adicionalmente, a diferencia de la codificacion de forma de onda, el metodo de codificacion parametrica es un metodo de codificacion con perdidas, el cual produce inevitablemente una perdida de informacion no solo introducida por la cuantificacion tfpica sino tambien introducida al considerar las senales binaurales en lugar de las formas de onda en particular. Este metodo produce tasas de bits muy bajas pero puede incluir compromisos de calidad.
Existen desarrollos recientes en cuanto a la codificacion de voz y audio unificada (unified speech and audio coding, USAC) que se ilustra en la figura 7a. Un descodificador de nucleo 700 lleva a cabo una operacion de descodificacion de la senal estereo codificada en la entrada 701, la cual puede ser una senal codificada centro / lateral. El descodificador de nucleo emite una senal central en la lmea 702 y una senal lateral o residual en la lmea 703. Ambas senales se transforman a un dominio de QMF por los bancos de filtros QMF 704 y 705. Luego se aplica un descodificador del Entorno de MPEG 706 para generar una senal izquierda de canal 707 y una senal derecha de canal 708. Estas senales de banda baja se introducen posteriormente en un descodificador de replicacion espectral
de ancho de banda (spectral band replication, SBR) 709, el cual produce senales izquierda y derecha de banda ancha en las lmeas 710 y 711, las cuales luego se transforman a un dominio de tiempo por los bancos de filtros de smtesis QMF 712, 713 de modo tal que se obtienen las senales izquierda y derecha de banda ancha L, R.
La figura 7b ilustra una situacion en la que el descodificador del Entorno de MPEG 706 llevana a cabo una descodificacion central / lateral. Como alternativa, el bloque descodificador del Entorno de MPEG 706 podna llevar a cabo una descodificacion parametrica basada en la senal binaural para generar senales estereo a partir de una unica senal mono del descodificador de nucleo. Naturalmente, el descodificador del Entorno de MPEG 706 tambien podna generar una pluralidad de senales de salida de banda baja para introducir en el bloque descodificador de SBR 709 usando informacion parametrica tal como diferencias de nivel entre canales, medidas de coherencia entre canales u otros de dichos parametros de informacion entre canales.
Cuando el bloque descodificador del Entorno de MPEG 706 lleva a cabo la descodificacion central / lateral que se ilustra en la figura 7b se puede aplicar un factor de ganancia real g y DMX / RES y L / R son senales de mezcla descendente / residual e izquierda / derecha, de forma respectiva, representadas en el dominio complejo tnbrido QMF.
El uso de una combinacion de un bloque 706 y un bloque 709 solo genera un pequeno aumento en la complejidad computacional en comparacion con un descodificador estereo usado como base, debido a que la representacion del QMF complejo de la senal ya esta disponible como parte del descodificador de SBR. No obstante, en una configuracion que no es de SBR, la codificacion estereo basada en QMF, propuesta en el contexto de la USAC, producina un aumento significativo en la complejidad computacional debido a los bancos de QMF necesarios, los cuales en este ejemplo necesitanan bancos de analisis de 64 bandas y bancos de smtesis de 64 bandas. Dichos bancos de filtros solo debenan agregarse para los fines de la codificacion estereo.
En el sistema de USAC del MPEG en desarrollo, no obstante, tambien existen modos de codificacion a altas tasas de bits en donde por lo general, no se usa la SBR.
Los siguientes documentos son ejemplares de esquemas de (des)codificacion de audio multicanal con lo que se estima una senal de diferencia a partir de una senal de mezcla descendente / sumador / mono mediante un coeficiente de prediccion de valor complejo:
HEIKO PURNHAGEN ET AL: "Technical description of proposed Unified Stereo Coding in USAC", 90. MPEG MEETING; 26 - 10 - 2009 - 30 - 10 - 2009; XIAN; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), n.° M16921, 23 de octubre de 2009 (23 - 10 - 2009);
MAX NEUENDORF (EDITOR): "WD5 of USAC", 90. MPEG MEETING; 26 - 10 - 2009 - 30 - 10 - 2009; XIAN; (MOTION PICTURE EXPERT GROUP OR ISO/IECJTC1/SC29/WG11), n.° N11040, 8 de diciembre de 2009 (08 -12 - 2009), paginas 1 - 146;
Documento WO 2009/141775 A1 (KONINKL PHILIPS ELECTRONICS NV [NL]; SCHUIJERS ERIK G P [NL]) 26 de noviembre de 2009 (26 - 11 - 2009).
Ademas, se hace referencia al documento WO 2011/124608, publicado posteriormente.
Un objetivo de la presente invencion consiste en proporcionar un concepto mejorado de procesamiento de audio, el cual por una parte produce una alta ganancia de codificacion y, por otra parte, produce a buena calidad de audio y / o complejidad computacional reducida.
Este objetivo se logra mediante un descodificador de audio de acuerdo con la reivindicacion 1, un codificador de audio de acuerdo con la reivindicacion 13, un metodo de descodificacion de audio de acuerdo con la reivindicacion 17, un metodo de codificacion de audio de acuerdo con la reivindicacion 18 y un programa informatico de acuerdo con la reivindicacion 19. La presente invencion se basa en la conclusion de que una ganancia de codificacion del metodo de codificacion de forma de onda de alta calidad se puede mejorar de forma significativa mediante una prediccion de una segunda senal de combinacion usando una primera senal de combinacion, en donde ambas senales de combinacion provienen de las senales originales de canal usando una regla de combinacion tal como la regla de combinacion central / lateral. Se ha descubierto que esta informacion de prediccion es calculada por un predictor en un codificador de audio de tal modo que se cumple un objetivo de optimizacion, se incurre solo en una pequena sobrecarga, pero logra una disminucion significativa de la tasa de bits necesaria para la senal lateral sin perder ninguna calidad de audio, debido a que la prediccion inventiva es, no obstante, una codificacion basada en forma de onda y no un metodo de codificacion multicanal o estereo basado en parametros. Con el fin de reducir la complejidad computacional, se prefiere llevar a cabo una codificacion en el dominio de la frecuencia, en donde la informacion de prediccion proviene de datos de entrada del dominio de frecuencia en una forma selectiva de bandas. El algoritmo de conversion para convertir la representacion en el dominio del tiempo en una representacion espectral es preferentemente un proceso cnticamente muestreado tal como una transformada de coseno discreta modificada (modified discrete cosine transform, MDCT) o una transformada de seno discreta modificada (modified discrete sine transform, MDST), la cual es diferente de una transformada compleja debido a que se calculan solo valores reales o solo valores imaginarios, en tanto que en una transformada compleja se calculan valores reales y complejos de un espectro logrando un sobremuestreo dos veces mayor.
Preferentemente se usa una transformada basada en introduccion y cancelacion de solapamiento. La MDCT, en particular, es una transformada de dichas caractensticas y permite una atenuacion cruzada entre bloques subsiguientes sin ninguna sobrecarga debido a la propiedad muy conocida de cancelacion de solapamiento en el dominio del tiempo (time domain aliasing cancellation, TDAC), la cual se obtiene mediante el procesamiento de solapar - agregar en el lado del descodificador.
Preferentemente, la informacion de prediccion calculada en el codificador, transmitida al descodificador y usada en el descodificador comprende una parte imaginaria, la cual puede reflejar de forma ventajosa las diferencias de fase entre los dos canales de audio en cantidades seleccionadas de forma arbitraria entre 0° y 360°. La complejidad computacional se reduce de forma significativa cuando se aplica solo una transformada de valor real o, en general, una transformada que proporciona, ya sea solo un espectro real o que solo proporciona un espectro imaginario. Con el fin de usar dicha informacion de prediccion imaginaria, la cual indica un desfase entre una determinada banda de la senal izquierda y una banda correspondiente de la senal derecha, un convertidor de real a imaginario o, dependiendo de la puesta en practica de la transformada, un convertidor de complejo a real se proporciona en el descodificador con el fin de calcular una senal residual de prediccion a partir de la primera senal de combinacion, la cual tiene la fase rotada con respecto a la senal de combinacion original. Esta senal residual de prediccion que tiene la fase rotada luego se puede combinar con la senal residual de prediccion transmitida en la corriente de bits para regenerar una senal lateral, la cual finalmente se puede combinar con la senal central para obtener el canal izquierdo descodificado en una determinada banda y el canal derecho descodificado en esta banda.
Con el fin de aumentar la calidad de audio, el mismo convertidor de real a imaginario o el convertidor de complejo a real, el cual se aplica en el lado del descodificador se pone en practica tambien en el lado del codificador, cuando la senal residual de prediccion es calculada en el codificador.
La presente invencion proporciona una ventaja porque mejora la calidad de audio y reduce la tasa de bits en comparacion con los sistemas que tienen la misma tasa de bits o que tienen la misma calidad de audio.
Adicionalmente se obtienen ventajas con respecto a una eficiencia computacional de codificacion estereo unificada que resulta util en el sistema de USAC del MPEG a altas tasas de bits, en donde por lo general, no se usa la SBR. En lugar de procesar la senal en el dominio complejo hnbrido QMF, estos metodos ponen en practica una codificacion estereo predictiva de base residual en el dominio nativo de MDCT del codificador de transformada estereo subyacente.
De acuerdo con un aspecto de la presente invencion, la presente invencion comprende un aparato o metodo para generar una senal estereo por prediccion compleja en el dominio de MDCT, en donde la prediccion compleja se lleva a cabo en el dominio de MDCT usando una transformada de real a complejo, en donde dicha senal estereo puede ser, ya sea una senal estereo codificada en el lado del codificador o puede ser, como alternativa, una senal estereo descodificada / transmitida, cuando el aparato o metodo para generar la senal estereo se aplica en el lado del descodificador.
Las formas de realizacion preferidas de la presente invencion se describen a continuacion con respecto a los dibujos adjuntos, en los cuales:
La figura 1 es un diagrama de un descodificador de audio;
La figura 2 es un diagrama de bloques de un codificador de audio;
La figura 3a ilustra una puesta en practica de la calculadora de codificador de la figura 2;
La figura 3b ilustra una puesta en practica alternativa de la calculadora de codificador de la figura 2;
La figura 3c ilustra una regla de combinacion central / lateral para aplicar en el lado del codificador;
La figura 4a ilustra una puesta en practica de la calculadora de descodificador de la figura 1;
La figura 4b ilustra una puesta en practica alternativa de la calculadora de descodificador en forma de una calculadora de matriz;
La figura 4c ilustra una regla de combinacion inversa central / lateral correspondiente a la regla de combinacion que se ilustra en la figura 3c;
La figura 5a ilustra una forma de realizacion de un codificador de audio que opera en el dominio de frecuencia, el cual es preferentemente un dominio de frecuencia de valor real;
La figura 5b ilustra una puesta en practica de un descodificador de audio que opera en el dominio de frecuencia; La figura 6a ilustra una puesta en practica alternativa de un codificador de audio que opera en el dominio de MDCT y usa una transformada de real a imaginario de acuerdo con una forma de realizacion de la presente invencion;
La figura 6b ilustra un descodificador de audio que opera en el dominio de MDCT y usa una transformada de real a imaginario de acuerdo con una forma de realizacion de la presente invencion;
La figura 7a ilustra un post-procesador de audio que usa un descodificador estereo y un descodificador de SBR conectado posteriormente;
La figura 7b ilustra una matriz de mezcla ascendente central / lateral;
La figura 8a ilustra una vista detallada en el bloque de MDCT en la figura 6a;
La figura ilustra una vista detallada en el bloque de MDCT de la figura 6b;
La figura 9a ilustra una puesta en practica de un optimizador que opera en resolucion reducida con respecto a la salida de MDCT;
La figura 9b ilustra una representacion de un espectro de MDCT y las bandas correspondientes de resolucion inferior, en las cuales se calcula la informacion de prediccion;
La figura 10a ilustra una puesta en practica del transformador de real a imaginario en la figura 6a o en la figura 6b;
y
La figura 10b ilustra una puesta en práctica posible de la calculadora de espectro imaginario de la figura 10a.
La figura 1 ilustra un descodificador de audio para descodificar una señal de audio multicanal codificada y obtenida en una línea de entrada 100. La señal de audio multicanal codificada comprende una primera señal de combinación codificada que se genera usando una regla de combinacion para combinar una primera senal de canal y una segunda senal de canal que representan la senal de audio multicanal, una senal residual de prediccion codificada e informacion de prediccion. La senal multicanal codificada puede ser una corriente de datos tal como una corriente de bits, la cual tiene los tres componentes en una forma multiplexada. Se puede incluir informacion lateral adicional en la senal multicanal codificada en la lmea 100. La senal se introduce en una interfaz de entrada 102. La interfaz de entrada 102 se puede poner en practica como un desmultiplexor de corriente de datos, el cual emite la primera senal de combinacion codificada en la lmea 104, la senal residual codificada en la lmea 106 y la informacion de prediccion en la lmea 108. Preferentemente, la informacion de prediccion es un factor que tiene una parte real que no es igual a cero y / o una parte imaginaria distinta de cero. La senal de combinacion codificada y la senal residual codificada se introducen en un descodificador de senales 110 para descodificar la primera senal de combinacion para obtener una primera senal de combinacion descodificada en la lmea 112. Adicionalmente, el descodificador de senales 110 esta configurado para descodificar la senal residual codificada para obtener una senal residual descodificada en la lmea 114. Dependiendo del procesamiento de codificacion en un lado del codificador de audio, el descodificador de senales puede comprender un descodificador de entropfa tal como un descodificador Huffman, un descodificador aritmetico o cualquier otro descodificador de entropfa y una etapa de descuantificacion conectada posteriormente para llevar a cabo una operacion de descuantificacion que coincida con una operacion del cuantificador en un codificador de audio asociado. Las senales en la lmea 112 y 114 se introducen en una calculadora de descodificador 115, la cual emite la primera senal de canal en la lmea 117 y una segunda senal de canal en la lmea 118, en donde estas dos senales son senales estereo o dos canales de una senal de audio multicanal. Cuando, por ejemplo, la senal de audio multicanal comprende cinco canales, entonces las dos senales son dos canales de la senal multicanal. Con el fin de codificar totalmente dicha senal multicanal que tiene cinco canales se pueden aplicar dos descodificadores que se ilustran en la figura 1, en donde el primer descodificador procesa el canal izquierdo y el canal derecho, el segundo descodificador procesa el canal del entorno izquierdo y el canal del entorno derecho, y un tercer descodificador mono se usana para llevar a cabo una codificacion mono del canal central. No obstante, tambien se pueden aplicar otros agrupamientos o combinaciones de codificadores de forma de onda y codificadores parametricos. Una forma alternativa de generalizar el esquema de prediccion a mas de dos canales sena tratar tres senales (o mas) al mismo tiempo, es decir, predecir una 3a senal de combinacion a partir de una 1a y 2a senal usando dos coeficientes de prediccion, en forma muy similar al modulo “de dos a tres” en el Entorno de MPEG.
La calculadora de descodificador 116 esta configurada para calcular una senal multicanal descodificada que tiene la primera senal de canal descodificada 117 y la segunda senal de canal descodificada 118 usando la senal residual descodificada 114, la informacion de prediccion 108 y la primera senal de combinacion descodificada 112. En concreto, la calculadora de descodificador 116 esta configurada para operar de tal modo que la primera senal de canal descodificada y la segunda senal de canal descodificada son al menos una aproximacion de una primera senal de canal y una segunda senal de canal de la senal multicanal introducidas en un codificador correspondiente, las cuales estan combinadas por la regla de combinacion cuando se genera la primera senal de combinacion y la senal residual de prediccion. En concreto, la informacion de prediccion en la lmea 108 comprende una parte de valor real distinta de cero y / o una parte imaginaria distinta de cero.
La calculadora de descodificador 116 se puede poner en practica de diversos modos. Una primera puesta en practica se ilustra en la figura 4a. Esta puesta en practica comprende un predictor 1160, una calculadora de senales de combinacion 1161 y un combinador 1162. El predictor recibe la primera senal de combinacion descodificada 112 y la informacion de prediccion 108 y emite una senal de prediccion 1163. En concreto, el predictor 1160 esta configurado para aplicar la informacion de prediccion 108 a la primera senal de combinacion descodificada 112 o una senal proveniente de la primera senal de combinacion descodificada. La regla de derivacion para derivar la senal a la cual se aplica la informacion de prediccion 108 puede ser una transformada de real a imaginario, o por igual, una transformada de imaginario a real o una operacion de ponderacion o, dependiendo de la puesta en practica, una operacion de desfase o una operacion combinada de ponderacion / desfase. La senal de prediccion 1163 se introduce junto con la senal residual descodificada en la calculadora de senales de combinacion 1161 con el fin de calcular la segunda senal de combinacion descodificada 1165. Ambas senales 112 y 1165 se introducen en el combinador 1162, el cual combina la primera senal de combinacion descodificada y la segunda senal de combinacion para obtener la senal de audio multicanal descodificada que tiene la primera senal de canal descodificada y la segunda senal de canal descodificada en las lmeas de salida 1166 y 1167, de forma respectiva.
Como alternativa, la calculadora de descodificador se pone en practica como una calculadora de matriz 1168, la cual recibe, como entrada, la primera senal de combinacion descodificada o senal M, la senal residual descodificada o senal D y la informacion de prediccion a 108. La calculadora de matriz 1168 aplica una matriz de transformada que se ilustra como 1169 a las senales M, D para obtener las senales de salida L, R, en donde L es la primera senal de canal descodificada y R es la segunda senal de canal descodificada. La notacion en la figura 4b se asemeja a una notacion estereo con un canal izquierdo L y un canal derecho R. Se ha aplicado esta notacion con el fin de proporcionar una explicacion mas simple si bien queda claro para los expertos en la tecnica que las senales L, R pueden ser cualquier combinacion de dos senales de canal en una senal multicanal que tiene mas de dos senales de canal. La operacion matriz 1169 unifica las operaciones en los bloques 1160, 1161 y 1162 de la figura 4a en un tipo de calculo matriz de “disparo unico”, y las entradas en el circuito de la figura 4a y las salidas desde el circuito de la figura 4a son identicas a las entradas en la calculadora de matriz 1168 o a las salidas desde la calculadora de matriz 1168.
La figura 4c ilustra un ejemplo para una regla de combinacion inversa aplicada por el combinador 1162 en la figura 4a. En concreto, la regla de combinacion es similar a la regla de combinacion del lado del descodificador en la codificacion central / lateral bien conocida, en donde L = M S, y R = M - S. Se entiende que la senal S usada por la regla de combinacion inversa en la figura 4c es la senal calculada por la calculadora de senales de combinacion, es decir, la combinacion de la senal de prediccion en la lmea 1163 y la senal residual descodificada en la lmea 114. Se entiende que en la presente memoria descriptiva, las senales en las lmeas a veces estan designadas por los numeros de referencia para las lmeas o a veces estan indicadas por los numeros de referencia como tales, los cuales se han asignado a las lmeas. Por lo tanto, la notacion es tal que una lmea que tiene una determinada senal esta indicando la senal propiamente dicha. Una lmea puede ser una lmea ffsica en una puesta en practica ffsicamente conectada. En una puesta en practica computarizada, no obstante, una lmea ffsica no existe, pero la senal representada por la lmea es transmitida desde un modulo de calculo hacia el otro modulo de calculo.
La figura 2 ilustra un codificador de audio para codificar una senal de audio multicanal 200 que tiene dos o mas senales de canal, en donde una primera senal de canal se ilustra en 201 y un segundo canal se ilustra en 202. Ambas senales se introducen en una calculadora de codificador 203 para calcular una primera senal de combinacion 204 y una senal residual de prediccion 205 usando la primera senal de canal 201 y la segunda senal de canal 202 y la informacion de prediccion 206, de tal modo que cuando se combina la senal residual de prediccion 205 con una senal de prediccion proveniente de la primera senal de combinacion 204 y la informacion de prediccion 206 se obtiene una segunda senal de combinacion, en donde la primera senal de combinacion y la segunda senal de combinacion pueden obtenerse de la primera senal de canal 201 y la segunda senal de canal 202 usando una regla de combinacion.
La informacion de prediccion es generada por un optimizador 207 para calcular la informacion de prediccion 206 de tal modo que la senal residual de prediccion cumple un objetivo de optimizacion 208. La primera senal de combinacion 204 y la senal residual 205 se introducen en un codificador de senales 209 para codificar la primera senal de combinacion 204 para obtener una primera senal de combinacion codificada 210 y para codificar la senal residual 205 para obtener una senal residual codificada 211. Ambas senales codificadas 210, 211 se introducen en una interfaz de salida 212 para combinar la primera senal de combinacion codificada 210 con la senal residual de prediccion codificada 211 y la informacion de prediccion 206 para obtener una senal multicanal codificada 213, la cual es similar a la senal multicanal codificada 100 introducida en la interfaz de entrada 102 del descodificador de audio que se ilustra en la figura 1.
Dependiendo de la puesta en practica, el optimizador 207 recibe, ya sea la primera senal de canal 201 y la segunda senal de canal 202 o, tal como se ilustra en las lmeas 214 y 215, la primera senal de combinacion 214 y la segunda senal de combinacion 215 provenientes de un combinador 2031 de la figura 3a, las cuales se analizaran en lo sucesivo.
Un objetivo preferido de optimizacion se ilustra en la figura 2, en la cual la ganancia de codificacion esta potenciada al maximo, es decir, la tasa de bits se reduce tanto como sea posible. En este objetivo de optimizacion, la senal residual D esta reducida al mmimo con respecto a a. Esto significa, en otras palabras, que la informacion de prediccion a se selecciona de tal modo que ||S - aM||2 esta reducida al mmimo. Esto tiene como resultado una solucion para a que se ilustra la figura 2. Las senales S, M estan proporcionadas en forma de bloque y son preferentemente senales espectrales de dominio, en donde la notacion ||...|| significa la norma 2 del argumento, y en donde <...> ilustra el producto de puntos en forma habitual. Cuando la primera senal de canal 201 y la segunda senal de canal 202 se introducen en el optimizador 207, el optimizador tendna entonces que aplicar la regla de combinacion, en donde una regla de combinacion ejemplar se ilustra en la figura 3c. No obstante, cuando la primera senal de combinacion 214 y la segunda senal de combinacion 215 se introducen en el optimizador 207, entonces el optimizador 207 no necesita poner en practica la regla de combinacion por sf mismo.
Otros objetivos de optimizacion pueden estar relacionados con la calidad perceptual. Un objetivo de optimizacion puede contemplar que se obtenga una calidad perceptual maxima. Entonces, el optimizador necesitana informacion adicional proveniente de un modelo perceptual. Otras puestas en practica del objetivo de optimizacion pueden
referirse a la obtencion de una minima tasa de bits, o una tasa fija de bits. Entonces, el optimizador 207 se pondna en practica para llevar a cabo una operacion de cuantificacion / codificacion de entrc^a con el fin de determinar la tasa de bits necesaria para determinados valores de a de tal modo que a se puede fijar para cumplir los requerimientos tales como una tasa minima de bits, o como alternativa, una tasa fija de bits. Otras puestas en practica del objetivo de optimizacion pueden estar relacionadas con un uso mmimo de los recursos del codificador o del descodificador. En el caso de una puesta en practica de dicho objetivo de optimizacion, la informacion en los recursos necesarios estana disponible para una determinada optimizacion en el optimizador 207. Adicionalmente, una combinacion de estos objetivos de optimizacion u otros objetivos de optimizacion se pueden aplicar para controlar el optimizador 207, el cual calcula la informacion de prediccion 206.
La calculadora de codificador 203 en la figura 2 se puede poner en practica en distintas formas, en donde una primera puesta en practica ejemplar se ilustra en la figura 3a, en la cual una regla de combinacion explfcita se lleva a cabo en el combinador 2031. Una puesta en practica alternativa ejemplar se ilustra en la figura 3b, en donde se usa una calculadora de matriz 2039. El combinador 2031 en la figura 3a se puede poner en practica para llevar a cabo la regla de combinacion que se ilustra en la figura 3c, la cual es de manera ejemplar la regla de codificacion central / lateral bien conocida, en donde un factor de ponderacion de 0,5 se aplica a todos los ramales. No obstante, se pueden poner en practica otros factores de ponderacion o ningun factor de ponderacion dependiendo de la puesta en practica. Adicionalmente, cabe destacar que se pueden aplicar otras reglas de combinacion tales como otras reglas de combinacion lineales o reglas de combinacion que no son lineales, siempre que haya una regla de combinacion inversa correspondiente, la cual se puede aplicar en el combinador del descodificador 1162 que se ilustra en la figura 4a, el cual aplica una regla de combinacion que es inversa a la regla de combinacion aplicada por el codificador. Se puede usar cualquier regla de prediccion invertible, debido a que la influencia en la forma de onda esta “equilibrada” por la prediccion, es decir, cualquier error esta incluido en la senal residual transmitida, debido a que la operacion de prediccion llevada a cabo por el optimizador 207 en combinacion con la calculadora de codificador 203 es un proceso que conserva la forma de onda.
El combinador 2031 emite la primera senal de combinacion 204 y una segunda senal de combinacion 2032. La primera senal de combinacion se introduce en un predictor 2033, y la segunda senal de combinacion 2032 se introduce en la calculadora residual 2034. El predictor 2033 calcula una senal de prediccion 2035, la cual se combina con la segunda senal de combinacion 2032 para obtener finalmente la senal residual 205. En concreto, el combinador 2031 esta configurado para combinar las dos senales de canal 201 y 202 de la senal de audio multicanal en dos formas distintas para obtener la primera senal de combinacion 204 y la segunda senal de combinacion 2032, en donde las dos formas distintas se ilustran en un ejemplo en la figura 3c. El predictor 2033 esta configurado para aplicar la informacion de prediccion a la primera senal de combinacion 204 o una senal proveniente de la primera senal de combinacion para obtener la senal de prediccion 2035. La senal proveniente de la senal de combinacion puede provenir de cualquier operacion no lineal o lineal, en donde se prefiere una transformada de real a imaginario / transformada de imaginario a real, la cual se puede poner en practica usando un filtro lineal tal como un filtro FIR que lleva a cabo adiciones ponderadas de determinados valores. La calculadora residual 2034 en la figura 3a puede llevar a cabo una operacion de sustraccion de tal modo que la senal de prediccion se sustrae de la segunda senal de combinacion. No obstante, son posibles otras operaciones en la calculadora residual. De la misma manera, la calculadora de senales de combinacion 1161 en la figura 4a puede llevar a cabo una operacion de adicion en donde la senal residual descodificada 114 y la senal de prediccion 1163 se agregan juntas para obtener la segunda senal de combinacion 1165.
La figura 5a ilustra un codificador de audio. En comparacion con el codificador de audio que se ilustra en la figura 3a, la primera senal de canal 201 es una representacion espectral de una primera senal de canal en el dominio del tiempo 55a. De la misma manera, la segunda senal de canal 202 es una representacion espectral de una senal de canal en el dominio del tiempo 55b. La conversion desde el dominio de tiempo en la representacion espectral es llevada a cabo por un convertidor de tiempo / frecuencia 50 para la primera senal de canal y un convertidor de tiempo / frecuencia 51 para la segunda senal de canal. Preferentemente, pero no necesariamente, los convertidores espectrales 50, 51 se ponen en practica como convertidores de valor real. El algoritmo de conversion puede ser una transformada de coseno discreta, una transformada FFT, en donde solo se usa la parte real, una MDCT o cualquier otra transformada que proporcione valores espectrales de valor real. Como alternativa, ambas transformadas se pueden poner en practica como una transformada imaginaria, tal como una DST, una MDST o una FFT en donde solo se usa la parte imaginaria y se descarta la parte real. Tambien se puede usar cualquier otra transformada que proporcione solo valores imaginarios. Un motivo por el cual usar una transformada pura de valor real o una transformada pura imaginaria es la complejidad computacional, debido a que, para cada uno de los valores espectrales, solo se tiene que procesar un unico valor tal como magnitud o la parte real o, como alternativa, la fase o la parte imaginaria. A diferencia de una transformada totalmente compleja tal como una FFT, tendnan que procesarse dos valores, es decir, la parte real y la parte imaginaria para cada una de las lmeas espectrales, lo cual es un aumento de la complejidad computacional por un factor de al menos 2. En este punto, otro motivo para usar una transformada de valor real es que dicha transformada generalmente se muestrea cnticamente, y de este modo proporciona un dominio adecuado (y comunmente usado) para la cuantificacion de senales y la codificacion de entropfa (el paradigma estandar de “codificacion de audio perceptual” que se pone en practica en “MP3”, AAC, o en sistemas de codificacion de audio similares).
La figura 5a ilustra adicionalmente la calculadora residual 2034 como un sumador, el cual recibe la senal lateral como su entrada “mas” y el cual recibe la salida de la senal de prediccion por el predictor 2033 como su entrada “menos”. Adicionalmente, la figura 5a ilustra la situacion en la que la informacion de control del predictor se transmite desde el optimizador hacia el multiplexor 212, el cual emite una corriente de datos multiplexada que representa la senal de audio multicanal codificada. En concreto, la operacion de prediccion se lleva a cabo de tal modo que la senal lateral se predice desde la senal central tal como se ilustra en las Ecuaciones a la derecha de la figura 5a. Preferentemente, la informacion de control del predictor 206 es un factor tal como se ilustra a la derecha en la figura 3b. En un ejemplo en el cual la informacion de control de prediccion solo comprende una porcion real tal como la parte real de un a de valor complejo o una magnitud del a de valor complejo, en donde esta porcion corresponde a un factor distinto de cero, se puede obtener una ganancia de codificacion significativa cuando la senal central y la senal lateral son similares entre sf debido a su estructura de forma de onda, si bien tienen distintas amplitudes. No obstante, cuando la informacion de control de prediccion solo comprende una segunda porcion, la cual puede ser la parte imaginaria de un factor de valor complejo o la informacion de fase del factor de valor complejo, en donde la parte imaginaria o la informacion de fase es distinta de cero, la presente invencion logra una ganancia de codificacion significativa para las senales, las cuales estan desfasadas entre sf por un valor distinto de 0° o 180°, y que tienen ademas del desfase, caractensticas de forma de onda similares y relaciones de amplitud similares.
Preferentemente, una informacion de control de prediccion es de valor complejo. Por lo tanto se puede obtener una ganancia de codificacion significativa para las senales que tienen distinta amplitud y que estan desfasadas. En una situacion en la cual las transformadas de tiempo / frecuencia proporcionan espectros complejos, la operacion 2034 sena una operacion compleja en la cual la parte real de la informacion de control del predictor se aplica a la parte real del espectro complejo M y la parte imaginaria de la informacion de prediccion compleja se aplica a la parte imaginaria del espectro complejo. Entonces, en el sumador 2034, el resultado de esta operacion de prediccion es un espectro real predicho y un espectro imaginario predicho, y el espectro real predicho se sustraena del espectro real de la senal lateral S (en forma de banda), y el espectro imaginario predicho se sustraena de la parte imaginaria del espectro de S para obtener un espectro residual complejo D.
Las senales en el dominio del tiempo L y R son senales de valor real, si bien las senales en el dominio de la frecuencia pueden ser de valor real o complejo. Cuando las senales en el dominio de la frecuencia son de valor real, entonces la transformada es una transformada de valor real. Cuando las senales en el dominio de la frecuencia son complejas, entonces la transformada es una transformada de valor complejo. Esto significa que la entrada a las transformadas de tiempo a frecuencia y la salida de las transformadas de frecuencia a tiempo son de valor real, en tanto que las senales en el dominio de la frecuencia podnan ser, por ejemplo, senales en el dominio de QMF de valor complejo.
La figura 5b ilustra un descodificador de audio correspondiente al codificador de audio que se ilustra en la figura 5a. Los elementos similares con respecto al descodificador de audio de la figura 1 tienen numeros de referencia similares.
La salida de la corriente de bits por el multiplexor de la corriente de bits 212 en la figura 5a se introduce en un desmultiplexor de la corriente de bits 102 en la figura 5b. El desmultiplexor de la corriente de bits 102 desmultiplexa la corriente de bits en la senal de mezcla descendente M y la senal residual D. La senal de mezcla descendente M se introduce en un descuantificador 110a. La senal residual D se introduce en un descuantificador 110b. Adicionalmente, el desmultiplexor de la corriente de bits 102 desmultiplexa una informacion de control del predictor 108 desde la corriente de bits e introduce la misma en el predictor 1160. El predictor 1160 emite una senal lateral predicha a ■ M y el combinador 1161 combina la senal residual emitida por el descuantificador 110b con la senal lateral predicha con el fin de obtener finalmente la senal lateral reconstruida S. La senal luego es introducida en el combinador 1162, el cual lleva a cabo, por ejemplo, un procesamiento de suma / diferencia, tal como se ilustra en la figura 4c con respecto a la codificacion central / lateral. En concreto, el bloque 1162 lleva a cabo una descodificacion central / lateral (inversa) para obtener una representacion en el dominio de la frecuencia del canal izquierdo y una representacion en el dominio de la frecuencia del canal derecho. La representacion del dominio de frecuencia luego se convierte en una representacion del dominio de tiempo por los convertidores de frecuencia / tiempo 52 y 53 correspondientes.
Dependiendo de la puesta en practica del sistema, los convertidores de frecuencia / tiempo 52, 53 son convertidores de valor real de frecuencia / tiempo cuando la representacion del dominio de frecuencia es una representacion de valor real, o convertidores de frecuencia / tiempo de valor complejo cuando la representacion del dominio de frecuencia es una representacion de valor complejo.
No obstante, para aumentar la eficiencia se prefiere llevar a cabo una transformada de valor real tal como se ilustra en otra puesta en practica en la figura 6a para el codificador de acuerdo con una forma de realizacion de la presente invencion y en la figura 6b para el descodificador de acuerdo con una forma de realizacion de la presente invencion. Las transformadas de valor real 50 y 51 se ponen en practica por medio de una MDCT. Adicionalmente, la informacion de prediccion se calcula como un valor complejo que tiene una parte real y una parte imaginaria. Debido a que ambos espectros M, S son espectros de valor real y debido a que, por lo tanto, no existe ninguna parte imaginaria del espectro, se proporciona un convertidor de real a imaginario 2070, el cual calcula un espectro imaginario estimado 600 a partir del el espectro de valor real de la senal M. Este transformador de real a imaginario 2070 es una parte del optimizador 207, y el espectro imaginario 600 estimado por el bloque 2070 se introduce en la etapa del optimizador de a 2071 junto con el espectro real M con el fin de calcular la informacion de prediccion 206, la cual ahora tiene un factor de valor real indicado en 2073 y un factor imaginario indicado en 2074. A continuacion,
de acuerdo con la presente forma de realizacion, el espectro de valor real de la primera senal de combinacion M se multiplica por la parte real aR 2073 para obtener la senal de prediccion, la cual luego se sustrae del espectro lateral de valor real. Adicionalmente, el espectro imaginario 600 se multiplica por la parte imaginaria ai que se ilustra en 2074 para obtener la senal de prediccion adicional, en donde esta senal de prediccion luego se sustrae del espectro lateral de valor real tal como se indica en 2034b. Entonces, la senal residual de prediccion D se cuantifica en el cuantificador 209b, en tanto que el espectro de valor real de M se cuantifica / codifica en el bloque 209a. Adicionalmente, se prefiere cuantificar y codificar la informacion de prediccion a en el cuantificador / codificador de entropfa 2072 para obtener el valor de a complejo codificado, el cual se transmite al multiplexor de la corriente de bits 212 de la figura 5a, por ejemplo, y el cual se introduce finalmente en una corriente de bits como la informacion de prediccion.
Con respecto a la posicion del modulo de cuantificacion / codificacion (Q / C) 2072 para a, se destaca que los multiplicadores 2073 y 2074 preferentemente usan exactamente el mismo a (cuantificado) que tambien se usara en el descodificador. De este modo se podna mover 2072 directamente hacia la salida de 2071, o se podna considerar que la cuantificacion de a ya se ha tenido en cuenta en el proceso de optimizacion en 2071.
A pesar de que se podna calcular un espectro complejo en el lado del codificador debido a que toda la informacion esta disponible, se prefiere realizar la transformada de real a complejo en el bloque 2070 en el codificador de tal modo que se produzcan condiciones similares con respecto a un descodificador que se ilustra en la figura 6b. El descodificador recibe un espectro codificado de valor real de la primera senal de combinacion y una representacion espectral de valor real de la senal residual codificada. Adicionalmente se obtiene una informacion de prediccion compleja codificada en 108 y se lleva a cabo una descodificacion de entropfa y una descuantificacion en el bloque 65 para obtener la parte real aR que se ilustra en 1160b y la parte imaginaria ai que se ilustra en 1160c. Las senales centrales emitidas por los elementos de ponderacion 1160b y 1160c se agregan a la senal residual de prediccion descodificada y descuantificada. En concreto, los valores espectrales introducidos en el ponderador 1160c, en donde la parte imaginaria del factor de prediccion compleja se usa como el factor de ponderacion, provienen del espectro de valor real M por el convertidor de real a imaginario 1160a, el cual se pone en practica preferentemente del mismo modo que el bloque 2070 de la figura 6a relacionada con el lado del codificador. En el lado del descodificador no hay una representacion de valor complejo de la senal central o de la senal lateral, lo cual implica una diferencia con respecto al lado del codificador. El motivo es que solo los espectros de valor real codificados han sido transmitidos desde el codificador hacia el descodificador debido a las tasas de bits y por razones de complejidad.
El transformador de real a imaginario 1160a o el bloque correspondiente 2070 de la figura 6a se puede poner en practica tal como se publica en el documento WO 2004/013839 A1 o en el documento WO 2008/014853 A1 o en la Patente de Estados Unidos con n.° 6.980.933. Como alternativa, se puede aplicar cualquier otra puesta en practica conocida en la tecnica, y una puesta en practica preferida se describe en el contexto de las figuras 10a, 10b.
En concreto, tal como se ilustra en la figura 10a, el convertidor de real a imaginario 1160a comprende un selector de cuadro espectral 1000 conectado a una calculadora de espectro imaginario 1001. El selector de cuadro espectral 1000 recibe una indicacion de un cuadro actual i en la entrada 1002 y, dependiendo de la puesta en practica, informacion de control en una entrada de control 1003. Cuando, por ejemplo, la indicacion en la lmea 1002 indica que se tiene que calcular un espectro imaginario para un cuadro actual i, y cuando la informacion de control 1003 indica que solo se tiene que usar el cuadro actual para dicho calculo, entonces el selector de cuadro espectral 1000 solo selecciona el cuadro actual i y transmite esta informacion a la calculadora de espectro imaginario. Por lo tanto, la calculadora de espectro imaginario solo usa las lmeas espectrales del cuadro actual i para llevar a cabo una combinacion ponderada de las lmeas ubicadas en el cuadro actual (bloque 1008), con respecto a la frecuencia, proxima a, o alrededor de la lmea espectral actual k, para la cual se tiene que calcular una lmea imaginaria tal como se ilustra en 1004 en la figura 10b. No obstante, cuando el selector de cuadro espectral 1000 recibe una informacion de control 1003 que indica que el cuadro anterior i - 1 y el cuadro siguiente i 1 se tienen que usar tambien para el calculo del espectro imaginario, entonces la calculadora de espectro imaginario adicionalmente recibe los valores provenientes de los cuadros i - 1 e i 1 y lleva a cabo una combinacion ponderada de las lmeas en los cuadros correspondientes tal como se ilustra en 1005 para el cuadro i - 1 y en 1006 para el cuadro i 1. Los resultados de las operaciones de ponderacion se combinan mediante una combinacion ponderada en el bloque 1007 para obtener finalmente una lmea imaginaria k para el cuadro fi el cual luego se multiplica por la parte imaginaria de la informacion de prediccion en el elemento 1160c para obtener la senal de prediccion para esta lmea, la cual luego se agrega a la lmea correspondiente de la senal central en el sumador 1161b para el descodificador. En el codificador se lleva a cabo la misma operacion, si bien se realiza una sustraccion en el elemento 2034b.
Cabe destacar que la informacion de control 1003 puede indicar adicionalmente el uso de mas cuadros que los dos cuadros circundantes o, por ejemplo, el uso del cuadro actual y exactamente uno o mas cuadros anteriores pero sin usar cuadros “futuros” con el fin de reducir el retardo sistematico.
Adicionalmente, cabe destacar que la combinacion ponderada en etapas que se ilustra en la figura 10b, en la cual, en una primera operacion se combinan las lmeas provenientes de un cuadro y posteriormente se combinan por s^ mismos los resultados de dichas operaciones de combinacion en cuadros, tambien se puede llevar a cabo en el otro orden. El otro orden se refiere a que, en un primer paso, las lmeas para la frecuencia actual k provenientes de un numero de cuadros adyacentes indicados por la informacion de control 103 se combinan mediante una combinacion ponderada. Esta combinacion ponderada se lleva a cabo para las lmeas k, k - 1, k - 2, k 1, k 2, etc., dependiendo del numero de lmeas adyacentes a usar para estimar la lmea imaginaria. Entonces, los resultados de dichas combinaciones “en tiempo” se someten a una combinacion ponderada en la “direccion de frecuencia” para obtener finalmente la lmea imaginaria k para el cuadro fi. Los valores ponderados se fijan en un valor -1 y 1 preferentemente, y las ponderaciones se pueden poner en practica en una combinacion directa de filtro FIR o IIR, la cual lleva a cabo una combinacion lineal de lmeas espectrales o de senales espectrales de distintas frecuencias y distintos cuadros.
Tal como se indica en las figuras 6a y 6b, el algoritmo de transformada preferido es el algoritmo de transformada MDCT, el cual se aplica en la direccion anterior en los elementos 50 y 51 en la figura 6a y el cual se aplica en la direccion posterior en los elementos 52, 53, a continuacion de una operacion de combinacion en el combinador 1162 que opera en el dominio espectral.
La figura 8a ilustra una puesta en practica mas detallada del bloque 50 o 51. En concreto, se introduce una secuencia de muestras de audio del dominio de tiempo en un sistema de ventanas de analisis 500, el cual lleva a cabo una operacion de ventanas que usa una ventana de analisis y, en concreto, lleva a cabo esta operacion en un cuadro mediante un modo de cuadros pero usando un paso o solapamiento del 50 %. El resultado del sistema de ventanas de analisis, es decir, una secuencia de cuadros de muestras divididas en ventanas se introduce en un bloque de transformada MDCT 501, el cual emite la secuencia de cuadros de MDCT de valor real, en donde dichos cuadros estan afectados por el solapamiento. A modo de ejemplo, el sistema de ventanas de analisis aplica ventanas de analisis que tienen una longitud de 2048 muestras. Entonces, el bloque de transformada MDCT 501 emite espectros de MDCT que tienen 1024 lmeas espectrales reales o valores MDCt . Preferentemente, el sistema de ventanas de analisis 500 y / o el transformador de MDCT 501 se pueden controlar mediante un control de longitud de ventana o longitud de transformada 502 de tal modo que, por ejemplo, para las porciones transitorias en la senal, la longitud de ventana / longitud de transformada se reduce con el fin de obtener mejores resultados de codificacion.
La figura 8b ilustra la operacion de MDCT inversa llevada a cabo en los bloques 52 y 53. A modo de ejemplo, el bloque 52 comprende un bloque 520 para llevar a cabo una transformada de MDCT inversa de cuadro a cuadro. Cuando, por ejemplo, un cuadro de valores MDCT tiene 1024 valores, entonces la salida de esta transformada inversa de MDCT tiene 2048 muestras de tiempo afectadas por el solapamiento. Dicho cuadro se suministra a un sistema de ventanas de smtesis 521, el cual aplica una venta de smtesis a este cuadro de 2048 muestras. El cuadro dividido en ventanas luego se transmite a un procesador de solapar / agregar 522, el cual, a modo de ejemplo, aplica un 50 % de solapamiento entre dos cuadros subsiguientes y, entonces, lleva a cabo una adicion de muestra por muestra de tal modo que un bloque de 2048 muestras finalmente logra 1024 muestras nuevas de la senal de salida libre de solapamiento. De nuevo se prefiere aplicar un control de longitud de ventana / transformada usando informacion, la cual por ejemplo se transmite en la informacion lateral de la senal multicanal codificada de acuerdo con lo indicado en 523.
Los valores de prediccion de a se podnan calcular para cada una de las lmeas espectrales individuales de un espectro de MDCt . No obstante, se ha descubierto que esto no es necesario y que se puede ahorrar una cantidad significativa de informacion lateral llevando a cabo un calculo de bandas de la informacion de prediccion. En otros terminos, un convertidor espectral 50 que se ilustra en la figura 9, el cual es por ejemplo un procesador de MDCT descrito en el contexto de la figura 8a, proporciona un espectro de resolucion de alta frecuencia que tiene determinadas lmeas espectrales que se ilustran en la figura 9b. Este espectro de resolucion de alta frecuencia es usado por un selector de lmea espectral 90 que proporciona un espectro de resolucion de baja frecuencia, el cual comprende determinadas bandas B1, B2, B3, ... , BN. Este espectro de resolucion de baja frecuencia es transmitido al optimizador 207 para calcular la informacion de prediccion de tal modo que no se calcula una informacion de prediccion para cada una de las lmeas espectrales, sino solo para cada una de las bandas. Para tal fin, el optimizador 207 recibe las lmeas espectrales por banda y calcula la operacion de optimizacion basandose en la presuncion de que se usa el mismo valor a para todas las lmeas espectrales en la banda.
Preferentemente, las bandas estan configuradas en una forma psicoacustica de tal modo que el ancho de banda de las bandas aumenta desde frecuencias inferiores hasta frecuencias superiores tal como se ilustra en la figura 9b. Como alternativa, a pesar de que no se prefiere tanto como la puesta en practica de ancho de banda en aumento tambien se podnan usar bandas de frecuencia de igual tamano, en donde cada una de las bandas de frecuencia tiene al menos dos o, por lo general, muchas mas, tal como al menos 30 lmeas de frecuencia. Por lo general, para un espectro de 1024 lmeas espectrales se calculan menos de 30 valores de a complejos, y preferentemente, mas de 5 valores de a. Para los espectros con menos de 1024 lmeas espectrales (por ejemplo, 128 lmeas) se usan preferentemente menos bandas de frecuencia (por ejemplo, 6) para a.
Para calcular los valores de a no se requiere necesariamente el espectro de MDCT de alta resolucion. Como alternativa, tambien se puede usar un banco de filtros que tiene una resolucion de frecuencia similar a la resolucion necesaria para calcular los valores de a. Cuando se tienen que poner en practica bandas que aumentan de frecuencia, en ese caso dicho banco de filtros debena tener un ancho de banda variable. No obstante, cuando es suficiente un ancho de banda constante de frecuencias bajas a altas, entonces se puede usar un banco de filtros tradicional con sub-bandas de ancho equivalente.
Dependiendo de la puesta en practica, el signo del valor de a indicado en la figura 3b o 4b se puede invertir. No obstante, con el fin de ser coherentes, es necesario que dicha reversion del signo se use en el lado del codificador asf como tambien en el lado del descodificador. A diferencia de la figura 6a, la figura 5a ilustra una vista generalizada del codificador, en donde el elemento 2033 es un predictor que es controlado por la informacion de control del predictor 206, la cual se determina en el elemento 207 y la cual se incorpora como informacion lateral en la corriente de bits. En lugar de la MDCT usada en la figura 6a en los bloques 50, 51 se usa una transformada generalizada de tiempo / frecuencia en la figura 5a tal como se describe. Tal como se ha indicado en lo que antecede, la figura 6a es el proceso del codificador, el cual corresponde al proceso del descodificador en la figura 6b, en donde L representa la senal izquierda de canal, R representa la senal derecha de canal, M representa la senal central o la senal de mezcla descendente, S representa la senal lateral y D representa la senal residual. Como alternativa, L tambien se conoce como la primera senal de canal 201, R tambien se conoce como la segunda senal de canal 202, M tambien se conoce como la primera senal de combinacion 204 y S tambien se conoce como la segunda senal de combinacion 2032.
Preferentemente, los modulos 2070 en el codificador y 1160a en el descodificador debenan coincidir exactamente con el fin de asegurar una correcta codificacion de forma de onda. Esto se aplica preferentemente al caso en el cual dichos modulos usan alguna forma de aproximacion tal como filtros truncados o cuando se usan solo uno o dos en lugar de los tres cuadros de MDCT, es decir, el cuadro de MDCT actual en la lmea 60, el cuadro de MDCT anterior en la lmea 61 y el cuadro de MDCT siguiente en la lmea 62.
Adicionalmente, se prefiere que el modulo 2070 en el codificador en la figura 6a use el espectro de MDCT no cuantificado M como entrada, a pesar de que el modulo de real a imaginario (R21) 1160a en el descodificador tiene solo el espectro de MDCT cuantificado disponible como entrada. Como alternativa, se puede usar tambien una puesta en practica en la cual el codificador usa los coeficientes de MDCT cuantificados como entrada en el modulo 2070. No obstante, el uso del espectro de MDCT no cuantificado como entrada en el modulo 2070 es el metodo preferido desde un punto de vista perceptual.
A continuacion se describen, de forma mas detallada, diversos aspectos de formas de realizacion de la presente invencion.
La codificacion de estereo parametrico estandar se basa en la capacidad del dominio de QMF (Imbrido) complejo sobremuestreado de permitir un procesamiento de senales motivado perceptualmente con variacion de tiempo y frecuencia sin introducir distorsiones de solapamiento. No obstante, en el caso de la codificacion de mezcla descendente / residual (tal como se usa para las altas tasas de bits consideradas en el presente contexto), el codificador de estereo unificado resultante actua como un codificador de forma de onda. Esto permite la operacion en un dominio cnticamente muestreado, tal como el dominio de MDCT, debido a que el paradigma de codificacion de forma de onda asegura que la propiedad de cancelacion de solapamiento de la cadena de procesamiento de MDCT - IMDCT se conserve lo bastante bien.
No obstante, con el fin de poder aprovechar la eficiencia de codificacion mejorada que se puede lograr en el caso de senales estereo con diferencias de tiempo o fase entre canales por medio de un coeficiente de prediccion de valor complejo a, se necesita una representacion de valor complejo en el dominio de la frecuencia de la senal de mezcla descendente DMX como entrada en la matriz de mezcla ascendente de valor complejo. Esto se puede obtener usando una transformada de MDST ademas de la transformada de MDCT para la senal DMX. El espectro de MDST se puede computar (en forma exacta o como una aproximacion) a partir del espectro de MDCT.
Asimismo, la parametrizacion de la matriz de mezcla ascendente se puede simplificar transmitiendo el coeficiente de prediccion compleja a en lugar de los parametros MPS. De este modo se transmiten solo dos parametros (parte real e imaginaria de a) en lugar de tres (ICC, CLD e IPD). Esto resulta posible debido a la redundancia en la parametrizacion de MPS en el caso de la codificacion de mezcla descendente / residual. La parametrizacion de MPS incluye informacion acerca de la cantidad relativa de descorrelacion a agregar en el descodificador (es decir, la relacion de energfa entre las senales RES y DMX), y esta informacion es redundante cuando se transmiten las senales reales DMX y RES.
Debido a la misma razon, el factor de ganancia g, que se ilustra en la matriz de mezcla ascendente anterior, es obsoleto en el caso de la codificacion de mezcla descendente / residual. De este modo, la matriz de mezcla ascendente para la codificacion de mezcla descendente / residual con prediccion compleja es la siguiente:
En comparacion con la Ecuacion 1169 en la figura 4b, el signo de alfa esta invertido en esta ecuacion, y DMX = M y RES = D. Esta es, por lo tanto, una puesta en practica / notacion alternativa con respecto a la figura 4b.
Existen dos opciones para calcular la senal residual de prediccion en el codificador. Una opcion consiste en usar los valores espectrales de MDCT cuantificados de la mezcla descendente. Esto tendna como resultado la misma distribucion de error de cuantificacion que en la codificacion M / S debido a que el codificador y el descodificador usan los mismos valores para generar la prediccion. La otra opcion consiste en usar los valores espectrales de MDCT no cuantificados. Esto implica que el codificador y el descodificador no usaran los mismos datos para generar la prediccion, lo que permite la redistribucion espacial del error de codificacion de acuerdo con las propiedades de enmascaramiento instantaneo de la senal a expensas de una ganancia de codificacion un tanto reducida.
Es preferible computar el espectro de MDST directamente en el dominio de frecuencia por medio del filtrado bidimensional de FIR de tres cuadros de MDCT adyacentes tal como se ha analizado. Los ultimos se pueden considerar como una transformada “de real a imaginario” (R2I). La complejidad del computo de frecuencia-dominio de la MDST se puede reducir de diversas formas, lo que significa que se calcula solo una aproximacion del espectro de MDST:
• Limitando el numero de conexiones de filtro FIR.
• Estimando la MDST solo a partir del cuadro de MDCT real.
• Estimando la MDST a partir del cuadro de MDCT previo y actual.
Siempre que se use la misma aproximacion en el codificador y en el descodificador, las propiedades de codificacion de forma de onda no resultaran afectadas. Dichas aproximaciones del espectro de MDST, no obstante, pueden causar una reduccion en la ganancia de codificacion lograda por la prediccion compleja.
En caso de que el codificador de MDCT subyacente soporte la conmutacion de forma de ventana, los coeficientes del filtro bidimensional FIR usado para computar el espectro de MDST tienen que adaptarse a las formas de ventana reales. Los coeficientes de filtros aplicados al espectro de MDCT del cuadro actual dependen de la ventana completa, es decir, es necesario un conjunto de coeficientes para cada tipo de ventana y para cada transicion de ventana. Los coeficientes de filtros aplicados al espectro de MDCT del cuadro anterior / siguiente dependen solo del solapamiento de la mitad de ventana con el cuadro actual, es decir, para estos es necesario un conjunto de coeficientes solo para cada tipo de ventana (sin coeficientes adicionales para las transiciones).
En caso de que el codificador de MDCT subyacente use una conmutacion de longitud de transformada, incluyendo el cuadro de MDCT anterior y / o siguiente en la aproximacion, esto resulta mas complicado alrededor de las transiciones entre las distintas longitudes de transformadas. En este caso, debido al distinto numero de coeficientes de MDCT en el cuadro actual, anterior / siguiente, el filtrado bidimensional resulta mas complicado. Con el fin de evitar la creciente complejidad computacional y estructural, el cuadro anterior / siguiente se puede excluir del filtrado en las transiciones de longitud de transformada, a expensas de una menor exactitud de la aproximacion para los cuadros respectivos.
Asimismo, se debe tener especial cuidado con las partes mas bajas y mas altas del espectro de MDST (proximas a CC y fs / 2), en donde hay menos coeficientes de MDCT circundantes para el filtrado de FIR que los necesarios. En el presente caso, el proceso de filtrado necesita adaptarse para computar el espectro de MDST correctamente. Esto se puede llevar a cabo, ya sea usando una extension simetrica del espectro de MDCT para los coeficientes que faltan (de acuerdo con la periodicidad de los espectros de senales discretas de tiempo), o adaptando los coeficientes de filtro en forma correspondiente. Es obvio que el tratamiento de dichos casos especiales se puede simplificar a expensas de una menor exactitud en la proximidad de los lfmites del espectro de MDSt .
El computo del espectro de MDST exacto desde los espectros de MDCT transmitidos en el descodificador aumenta el retardo del descodificador por un cuadro (aqrn se presume que son 1024 muestras).
El retardo adicional se puede evitar usando una aproximacion del espectro de MDST que no requiere el espectro de MDCT del cuadro siguiente como entrada.
La siguiente lista de elementos resume las ventajas de la codificacion estereo unificada basada en MDCT en comparacion con la codificacion estereo unificada basada en QMF:
• Solo un pequeno aumento en la complejidad computacional (cuando no se usa SBR).
• Amplfa la capacidad hasta una reconstruccion perfecta si los espectros de MDCT no estan cuantificados. Cabe destacar que esto no ocurre para la codificacion estereo unificada basada en QMF.
• Extension natural de la codificacion M / S e intensidad de la codificacion estereo.
• Arquitectura de limpieza que simplifica el ajuste del codificador, debido a que el procesamiento de la senal estereo y la cuantificacion / codificacion se pueden acoplar fuertemente. Cabe destacar que en la codificacion estereo unificada basada en QMF, los cuadros del Entorno de MPEG y los cuadros de MDCt no estan alineados y dichas bandas de factor de escala no coinciden con las bandas del parametro.
• Optimiza la codificacion de parametros de estereo, debido a que solo se tienen que transmitir dos parametros (complejo a) en lugar de tres parametros como en el Entorno de MPEG (ICC, CLD, IPD).
• No presenta un retardo adicional en el descodificador si el espectro de MDST se computa como una aproximacion (sin usar el cuadro siguiente).
Las propiedades importantes de una puesta en practica se pueden resumir del siguiente modo:
a) Los espectros de MDST se computan por medio del filtrado bidimensional de FIR a partir de los espectros de MDCT actuales, anteriores y siguientes. Se posibilitan distintas compensaciones de complejidad / calidad para el computo de MDST (aproximacion) reduciendo el numero de conexiones de filtro FIR y / o el numero de cuadros de MDCT usados. En particular, si un cuadro adyacente no esta disponible debido a la perdida de cuadro durante la transmision o la conmutacion de longitud de transformada, dicho cuadro particular se excluye del valor estimado de MDST. Para el caso de la conmutacion de longitud de transformada, la exclusion se senala en la corriente de bits.
b) Solo dos parametros, la parte real e imaginaria del coeficiente de prediccion compleja a, se transmiten en lugar de ICC, CLD, e IPD. Las partes reales e imaginarias de a se tratan en forma independiente, se limitan al rango [-3,0, 3,0] y se cuantifican con un tamano de paso de 0,1. Si un determinado parametro (parte real o imaginaria de a) no se usa en un determinado cuadro, esto se senala en la corriente de bits, y el parametro irrelevante no se transmite. Los parametros se codifican en forma diferencial al tiempo o en forma diferencial a la frecuencia y finalmente se aplica la codificacion de Huffman usando el codigo de factor de escala. Los coeficientes de prediccion se actualizan cada dos bandas de factor de escala, lo que produce una resolucion de frecuencia similar a la resolucion de frecuencia del Entorno de MPEG. Este esquema de cuantificacion y codificacion tiene como resultado una tasa promedio de bits de aproximadamente 2 kb / s para la informacion lateral estereo dentro de una configuracion tfpica que tiene un objetivo de tasa de bits de 96 kb / s.
Los detalles preferidos, adicionales o alternativos de la puesta en practica comprenden:
c) Para cada uno de los dos parametros de a se puede elegir una codificacion no diferencial (PCM) o diferencial (DPCM) por cuadro o por corriente, senalada por un bit correspondiente en la corriente de bits. Para una codificacion DPCM es posible, ya sea una codificacion diferencial de tiempo o frecuencia. De nuevo, esto se puede senalar usando una bandera de un bit.
d) En lugar de reutilizar un codigo predefinido tal como el codigo de factor de escala AAC se puede usar un codigo especializado no variable o adaptativo de senales para codificar los valores del parametro a, o se puede volver a los codigos de longitud fija (por ejemplo, de 4 bits) sin signo o de dos complementos.
e) El rango de los valores del parametro a asf como tambien el tamano del paso de cuantificacion de parametros se pueden elegir y optimizar de forma arbitraria hasta las caractensticas de senales en cuestion.
f) El numero y ancho espectral y / o temporal de las bandas de parametro activo a se pueden elegir y optimizar de forma arbitraria hasta las caractensticas de senales determinadas. En particular, la configuracion de banda se puede senalar por cuadro o por corriente.
g) Ademas de, o en lugar de los mecanismos indicados en a) en lo que antecede, se puede senalar de forma explfcita por medio de un bit por cuadro en la corriente de bits que solo se usa el espectro de MDCT del cuadro actual para computar la aproximacion del espectro de MDST, es decir, que los cuadros de MDCT adyacentes no se tienen en cuenta.
Las formas de realizacion se refieren a un sistema de la invencion para la codificacion estereo unificada en el dominio de MDCT. Esto permite usar las ventajas de la codificacion estereo unificada en el sistema de USAC del MPEG incluso a tasas de bits mas altas (en donde no se usa SBR) sin el aumento significativo en la complejidad computacional que ocurrina con un metodo basado en QMF.
Las dos listas siguientes resumen los aspectos preferidos de la configuracion que se han descrito en lo que antecede, los cuales se pueden usar de forma alternativa entre sf o ademas de otros aspectos:
la) concepto general: prediccion compleja de MDCT lateral a partir de MDCT y MDST centrales;
lb) calcular / estimar la MDST a partir de MDCT (“R2I”) en el dominio de frecuencia usando 1 o mas cuadros (3 cuadros causan retardo);
lc) truncado del filtro (incluso descendiendo hasta 1 cuadro 2 conexiones, es decir, [-1 0 1]) para reducir la complejidad computacional;
ld) tratamiento adecuado de CC y fs / 2;
le) tratamiento adecuado de conmutacion de forma de ventana;
lf) no usar un cuadro anterior / siguiente si este tiene un tamano de transformada diferente;
lg) prediccion basada en coeficientes de MDCT no cuantificados o cuantificados en el codificador;
2a) cuantificar y codificar la parte real e imaginaria del coeficiente de prediccion compleja directamente (es decir, sin parametrizacion del Entorno de MPEG);
2b) usar cuantificador uniforme para esto (tamano de paso, por ejemplo, 0,1);
2c) usar una resolucion de frecuencia adecuada para los coeficientes de prediccion (por ejemplo, 1 coeficiente por cada 2 Bandas de Factor de Escala);
2d) senalizacion economica en el caso de que todos los coeficientes de prediccion sean reales;
2e) bit explfcito por cuadro para forzar la operacion de R2I de 1 cuadro.
En una forma de realizacion, el codificador comprende adicionalmente: un convertidor espectral (50, 51) para convertir una representacion del dominio de tiempo de las dos senales de canal en una representacion espectral de las dos senales de canal que tienen senales de sub-bandas para las dos senales de canal, en donde el combinador (2031), el predictor (2033) y la calculadora de senal residual (2034) estan configurados para procesar cada una de las sub-bandas por separado de tal modo que la primera senal combinada y la senal residual se obtienen para una pluralidad de sub-bandas, en donde la interfaz de salida (212) esta configurada para combinar la primera senal combinada codificada y la senal residual codificada para la pluralidad de sub-bandas.
A pesar de que algunos aspectos se han descrito en el contexto de un aparato, queda claro que dichos aspectos solo representan una descripcion del metodo correspondiente, en donde un bloque o dispositivo corresponde a un paso del metodo o a una caractenstica de un paso del metodo. En forma analoga, los aspectos descritos en el contexto de un paso del metodo tambien representan una descripcion de un bloque o elemento o caractenstica correspondiente de un aparato correspondiente.
En una forma de realizacion de la presente invencion se aplica un tratamiento adecuado de conmutacion de forma de ventana. En la figura 10a se ilustra que una informacion de forma de ventana 109 se puede introducir en la calculadora de espectro imaginario 1001. En concreto, la calculadora de espectro imaginario, la cual lleva a cabo la conversion de real a imaginario del espectro de valor real tal como el espectro de MDCT (como, por ejemplo, el elemento 2070 en la figura 6a o el elemento 1160a en la figura 6b) se puede poner en practica como un filtro FIR o IIR. Los coeficientes FIR o IIR en este modulo de real a imaginario 1001 dependen de la forma de ventana de la mitad izquierda y de la mitad derecha del cuadro actual. Esta forma de ventana puede ser distinta para una ventana seno o una ventana Derivada de Kaiser Bessel (Kaiser Bessel Derived, KBD) y dependiendo de la configuracion de secuencia de ventana determinada puede ser una ventana larga, una ventana de inicio, una ventana de parada y una ventana de parada-inicio o una ventana corta. El modulo de real a imaginario puede comprender un filtro bidimensional FlR, en donde una dimension es la dimension de tiempo en donde dos cuadros de MDCT subsiguientes se introducen en el filtro FIR y la segunda dimension es la dimension de frecuencia, en donde se introducen los coeficientes de frecuencia de un cuadro.
La siguiente tabla proporciona distintos coeficientes de filtro de MDST para una secuencia de ventana actual para distintas formas de ventana y distintas puestas en practica de la mitad izquierda y la mitad derecha de la ventana.
Tabla A - Parametros de Filtro de MDST para la Ventana Actual
Adicionalmente, la informacion de forma de ventana 109 proporciona informacion de la forma de ventana para la ventana anterior, cuando se usa la ventana anterior para calcular el espectro de MDST a partir del espectro de MDCT. En la tabla siguiente se proporcionan los coeficientes de filtro de MDST correspondientes para la ventana anterior.
Tabla B - Parametros de Filtro de MDST para la Ventana Anterior
De este modo, dependiendo de la informacion de la forma de ventana 109, la calculadora de espectro imaginario 1001 en la figura 10a se adapta aplicando distintos conjuntos de coeficientes de filtro.
La informacion de la forma de ventana, la cual se usa en el lado del descodificador se calcula en el lado del codificador y se transmite como informacion lateral junto con la senal de salida del codificador. En el lado del descodificador, la informacion de la forma de ventana 109 se extrae de la corriente de bits mediante el desmultiplexor de la corriente de bits (por ejemplo 102 en la figura 5b) y se proporciona a la calculadora de espectro imaginario 1001 tal como se ilustra en la figura 10a.
Cuando la informacion de la forma de ventana 109 senala que el cuadro anterior tema un distinto tamano de transformada, entonces se prefiere que el cuadro anterior no se use para calcular el espectro imaginario a partir del espectro de valor real. Lo mismo ocurre cuando al interpretar la informacion de la forma de ventana 109 se descubre que el cuadro siguiente tiene un distinto tamano de transformada. Entonces, el cuadro siguiente no se usa para calcular el espectro imaginario a partir del espectro de valor real. En dicho caso cuando, por ejemplo, el cuadro anterior tema un distinto tamano de transformada que el cuadro actual y cuando el cuadro siguiente de nuevo tiene un distinto tamano de transformada en comparacion con el cuadro actual, entonces solo el cuadro actual, es decir, los valores espectrales de la ventana actual, se usan para estimar el espectro imaginario.
La prediccion en el codificador esta basada en los coeficientes de frecuencia no cuantificados o cuantificados tales como los coeficientes de MDCT. Cuando, por ejemplo, la prediccion que se ilustra por medio del elemento 2033 en la figura 3a, esta basada en datos no cuantificados, entonces la calculadora residual 2034 tambien opera preferentemente en datos no cuantificados y la senal residual de salida de la calculadora, es decir, la senal residual 205 se cuantifica antes de ser codificada por entropfa y transmitida a un descodificador. No obstante, en una forma de realizacion alternativa se prefiere que la prediccion este basada en coeficientes de MDCT cuantificados. Entonces, la cuantificacion puede ocurrir antes del combinador 2031 en la figura 3a de tal modo que un primer canal cuantificado y un segundo canal cuantificado sean la base para calcular la senal residual. Como alternativa, la cuantificacion tambien puede ocurrir a continuacion del combinador 2031 de tal modo que la primera senal de combinacion y la segunda senal de combinacion se calculen en una forma no cuantificada y se cuantifiquen antes de que se calcule la senal residual. De nuevo, como alternativa, el predictor 2033 puede operar en el dominio no cuantificado y la senal de prediccion 2035 se cuantifica antes de ser introducida en la calculadora residual. Entonces, es util que la segunda senal de combinacion 2032, la cual tambien se introduce en la calculadora residual 2034, tambien se cuantifique antes de que la calculadora residual calcule la senal residual 1070 en la figura 6a, la cual se puede poner en practica dentro del predictor 2033 en la figura 3a, opere en los mismos datos cuantificados que esten disponibles en el lado del descodificador. Entonces se puede asegurar que el espectro de MDST estimado en el codificador para llevar a cabo el calculo de la senal residual sea exactamente el mismo que el espectro de MDST en el lado del descodificador usado para llevar a cabo la prediccion inversa, es decir, para calcular la senal lateral desde la senal residual. Para tal fin, la primera senal de combinacion tal como la senal M en la lmea 204 en la figura 6a se cuantifica antes de ser introducida en el bloque 2070. Entonces, el espectro de MDST calculado usando el espectro de MDCT cuantificado del cuadro actual, y dependiendo de la informacion de control, el espectro de MDCT cuantificado del cuadro anterior o siguiente, se introduce en el multiplicador 2074, y la salida del multiplicador 2074 de la figura 6a de nuevo sera un espectro no cuantificado. Este espectro no cuantificado se sustraera del espectro introducido en el sumador 2034b y finalmente se cuantificara en el cuantificador 209b.
En una forma de realizacion, la parte real y la parte imaginaria del coeficiente de prediccion compleja por banda de prediccion se cuantifican y codifican directamente, es decir, por ejemplo, sin la parametrizacion del Entorno MPEG.
La cuantificacion se puede llevar a cabo usando un cuantificador uniforme con un tamano de paso, por ejemplo, de 0,1. Esto significa que no se aplica ningun tamano de paso de cuantificacion logantmica o similar, sino que se aplica cualquier tamano de paso lineal. En una puesta en practica, el rango de valores para la parte real y la parte imaginaria del coeficiente de prediccion compleja tiene un rango desde -3 a 3, lo que significa que se usan 60 o, dependiendo de los detalles de puesta en practica, 61 pasos de cuantificacion para la parte real y la parte imaginaria del coeficiente de prediccion compleja.
Preferentemente, la parte real aplicada en el multiplicador 2073 en la figura 6a y la parte imaginaria 2074 aplicada en la figura 6a se cuantifican antes de ser aplicadas de tal modo que, de nuevo, se usa el mismo valor para la prediccion en el lado del codificador asf como se usa en el lado del descodificador. Esto garantiza que la senal residual de prediccion abarque - ademas del error de cuantificacion introducido - cualquier error que pudiera ocurrir cuando se aplica un coeficiente de prediccion no cuantificado en el lado del codificador mientras se aplica un coeficiente de prediccion cuantificado en el lado del descodificador. Preferentemente, la cuantificacion se aplica de tal modo que - tanto como sea posible - la misma situacion y las mismas senales esten disponibles en el lado del codificador y en el lado del descodificador. De este modo se prefiere cuantificar la entrada en la calculadora de real a imaginario 2070 usando la misma cuantificacion aplicada en el cuantificador 209a. Adicionalmente se prefiere cuantificar la parte real y la parte imaginaria del coeficiente de prediccion de a para llevar a cabo las multiplicaciones en el elemento 2073 y en el elemento 2074. La cuantificacion es la misma que se aplica en el cuantificador 2072. Adicionalmente, la senal lateral emitida por el bloque 2031 en la figura 6a tambien se puede cuantificar antes de los sumadores 2034a y 2034b. No obstante, no resulta problematico que el cuantificador 209b lleve a cabo la cuantificacion posteriormente a la adicion, en donde la adicion por dichos sumadores se aplica con una senal lateral no cuantificada.
En un ejemplo adicional se aplica una senalizacion economica en caso de que todos los coeficientes de prediccion sean reales. Puede ocurrir que todos los coeficientes de prediccion para un cuadro determinado, es decir, para la misma porcion de tiempo de la senal de audio se calculen como reales. Dicha situacion puede ocurrir cuando la senal central completa y la senal lateral completa no estan desfasadas entre sf o estan un poco desfasadas. Con el
fin de ahorrar bits, esto es indicado por un unico indicador real. Entonces, no es necesario senalar la parte imaginaria del coeficiente de prediccion en la corriente de bits con un codigo que represente un valor cero. En el lado del descodificador, la interfaz del descodificador de la corriente de bits, tal como un desmultiplexor de la corriente de bits, interpretara este indicador real y luego no buscara palabras clave para una parte imaginaria pero entendera que todos los bits estan en la seccion correspondiente de la corriente de bits como bits para coeficientes de prediccion de valor real. Asimismo, cuando el predictor 2033 recibe una indicacion de que todas las partes imaginarias de los coeficientes de prediccion en el cuadro son cero, no necesitara calcular un espectro de MDST, o generalmente un espectro imaginario a partir del espectro de MDCT de valor real. Por lo tanto, el elemento 1160a en el descodificador de la figura 6b se desactivara y la prediccion inversa solo tendra lugar usando el coeficiente de prediccion de valor real aplicado en el multiplicador 1160b en la figura 6b. Esto mismo ocurre para el lado del codificador en donde el elemento 2070 se desactivara y la prediccion solo tendra lugar usando el multiplicador 2073. Esta informacion lateral se usa preferentemente como un bit adicional por cuadro y el descodificador leera este bit, cuadro por cuadro, con el fin de decidir si el convertidor de real a imaginario 1160a estara activo para un cuadro o no. De este modo, al proporcionar esta informacion se logra un tamano reducido de la corriente de bits debido a la senalizacion mas eficiente de todas las partes imaginarias del coeficiente de prediccion que son cero para un cuadro y, adicionalmente, proporciona menos complejidad para el descodificador para dicho cuadro logrando inmediatamente un menor consumo de batena de dicho procesador que se pone en practica, por ejemplo, en un dispositivo movil alimentado por batena.
La prediccion compleja estereo de acuerdo con las formas de realizacion preferidas de la presente invencion es una herramienta para la codificacion eficiente de pares de canales con diferencias de nivel y / o fase entre los canales. Al usar un parametro de valor complejo a, los canales izquierdo y derecho se reconstruyen por medio de la matriz siguiente. dmxim indica la MDST correspondiente a la MDCT de los canales de mezcla descendente dmxRe.
La ecuacion anterior es otra representacion, la cual se divide con respecto a la parte real y a la parte imaginaria de a y representa la ecuacion para una operacion combinada de prediccion / combinacion, en la cual la senal predicha S no se calcula necesariamente.
Los siguientes elementos de datos se usan preferentemente para esta herramienta:
cplx_pred all 0: Algunas bandas usan la codificacion L / R, senalada por cplx_pred_used[]
1: Todas las bandas usan la prediccion compleja estereo
cplx_pred_used[g][sfb] Una bandera de un bit por grupo de ventanas g y banda de factor de escala sfb (despues del mapeo a partir de las bandas de prediccion) que indica que
0: no se esta usando la prediccion compleja, se usa la codificacion L / R
1: se usa la prediccion compleja
complex_coef 0: aim = 0 para todas las bandas de prediccion
1: aim se transmite para todas las bandas de prediccion
use_prev_frame 0: Usar solo el cuadro actual para estimar la MDST
1: Usar el cuadro actual y anterior para estimar la MDST
delta_code_time 0: Codificacion diferencial de frecuencia de los coeficientes de prediccion
1: Codificacion diferencial de tiempo de los coeficientes de prediccion hcod_alpha_q_re Codigo de Huffman de aRe
hcod_alpha_q_im Codigo de Huffman de aim
Estos elementos de datos se calculan en un codificador y se introducen en la informacion lateral de una senal de audio multicanal o estereo. Los elementos se extraen de la informacion lateral en el lado del descodificador por medio de un extractor de informacion lateral y se usan para controlar la calculadora de descodificador para llevar a cabo una accion correspondiente.
La prediccion compleja estereo necesita el espectro de MDCT de mezcla descendente del par de canales actuales y, en el caso de complex_coef == 1, un valor estimado del espectro de MDST de mezcla descendente del par de canales actuales, es decir, la contraparte imaginaria del espectro de MDCT. El valor estimado de la MDST de mezcla descendente se computa desde la MDCT de mezcla descendente del cuadro actual y, en el caso de use_prev_frame == 1, desde la MDCT de mezcla descendente del cuadro anterior. La MDCT de mezcla descendente del cuadro anterior del grupo de ventanas g y del grupo de ventanas b se obtiene a partir de los espectros izquierdo y derecho reconstruidos de dicho cuadro.
En el computo del valor estimado de la MDST de mezcla descendente se usa la longitud de transformada MDCT de valor uniforme, la cual depende de window_sequence, as^ como tambien de filter_coefs y filter_coefs_prev, los cuales son matrices que contienen los nucleos de filtro y los cuales se obtienen de acuerdo con las tablas anteriores. Para todos los coeficientes de prediccion, la diferencia de un valor anterior (en tiempo o frecuencia) se codifica usando un codigo de Huffman. Los coeficientes de prediccion no se transmiten para las bandas de prediccion para las cuales se uso cplx_pred_used = 0.
Los coeficientes de prediccion inversa cuantificados alpha_re y alpha_im son proporcionados por
alpha_re = alpha_q_re * 0,1
alpha_im = alpha_q_im * 0,1
Cabe destacar que la invencion no solo se aplica a senales estereo, es decir, senales multicanal que tienen solo dos canales, sino que tambien se aplica a dos canales de una senal multicanal que tiene tres o mas canales tales como una senal 5.1 o 7.1.
La senal de audio codificada de la invencion se puede almacenar en un medio de almacenamiento digital o se puede transmitir en un medio de transmision tal como un medio de transmision inalambrico o un medio de transmision por cable como Internet.
Dependiendo de determinados requisitos para la puesta en practica, las formas de realizacion de la invencion se pueden poner en practica en un hardware o en un software. La puesta en practica se puede llevar a cabo usando un medio digital de almacenamiento, por ejemplo un disco flexible, un DVD, un CD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, que tiene senales de control legibles almacenadas electronicamente en el mismo, las cuales colaboran (o son capaces de colaborar) con un sistema informatico programable de tal modo que el metodo respectivo se lleve a cabo.
Algunas formas de realizacion de acuerdo con la invencion comprenden un portador de datos no temporario o tangible que tiene senales de control legibles electronicamente, las cuales son capaces de colaborar con un sistema informatico programable, de tal modo que uno de los metodos descritos en la presente se lleve a cabo.
En general, las formas de realizacion de la presente invencion se pueden poner en practica como un producto de programa informatico con un codigo de programa el cual es operativo para llevar a cabo uno de los metodos cuando el producto de programa informatico se ejecuta en un ordenador. El codigo de programa se puede almacenar, por ejemplo, en un portador legible por ordenador.
Otras formas de realizacion comprenden el programa informatico para llevar a cabo uno de los metodos descritos en la presente, almacenados en un portador legible por ordenador.
En otros terminos, una forma de realizacion del metodo de la invencion es, por lo tanto, un programa informatico que tiene un codigo de programa para llevar a cabo uno de los metodos descritos en la presente, cuando el programa informatico se ejecuta en un ordenador.
Una forma de realizacion adicional de los metodos de la invencion es, por lo tanto, un portador de datos (o un medio digital de almacenamiento, o un medio legible por ordenador) que comprende, grabado en el mismo, el programa informatico para llevar a cabo uno de los metodos descritos en la presente.
Una forma de realizacion adicional del metodo de la invencion es, por lo tanto, una corriente de datos o una secuencia de senales que representa el programa informatico para llevar a cabo uno de los metodos descritos en la presente. La corriente de datos o la secuencia de senales pueden estar configuradas, por ejemplo, para ser transferidas mediante una conexion de comunicacion de datos, por ejemplo, a traves de Internet.
Otra forma de realizacion comprende un medio de procesamiento, por ejemplo, un ordenador, o un dispositivo logico programable, configurado o adaptado para llevar a cabo uno de los metodos descritos en la presente.
Otra forma de realizacion comprende un ordenador que tiene instalado en la misma el programa informatico para llevar a cabo uno de los metodos descritos en la presente.
En algunas formas de realizacion se puede usar un dispositivo logico programable (por ejemplo un campo de matrices de puertas programables) para llevar a cabo algunas o todas las funcionalidades de los metodos descritos en la presente. En algunas formas de realizacion, un campo de matrices de puertas programables puede colaborar con un microprocesador con el fin de llevar a cabo uno de los metodos descritos en la presente. En general, los metodos son llevados a cabo preferentemente por cualquier aparato de hardware.
Las formas de realizacion que se han descrito en lo que antecede son meramente ilustrativas de los principios de la presente invencion. Cabe entender que las modificaciones y variantes de las disposiciones y detalles descritos en la presente resultaran evidentes para los expertos en la tecnica. Por consiguiente, la invencion solo esta limitada por el alcance de las siguientes reivindicaciones de la patente y no por los detalles espedficos presentados a modo de descripcion y explicacion de las formas de realizacion incluidas en la presente.
Claims (19)
1. Descodificador de audio para descodificar una senal de audio multicanal codificada (100), comprendiendo la senal de audio multicanal codificada (100) una primera senal de combinacion codificada (104) generada sobre la base de una regla de combinacion para combinar una primera senal de audio de canal y una segunda senal de audio de canal de una senal de audio multicanal, una senal residual de prediccion codificada (106) e informacion de prediccion (108), que comprende:
un descodificador de senales (110) para descodificar la primera senal de combinacion codificada (104) para obtener una primera senal de combinacion descodificada (112) y para descodificar la senal residual de prediccion codificada (106) para obtener una senal residual descodificada (114); y
una calculadora de descodificador (116) para calcular una senal de audio multicanal descodificada que tiene una primera senal de canal descodificada (117), y una segunda senal de canal descodificada (118) usando la senal residual descodificada (114), la informacion de prediccion (108) y la primera senal de combinacion descodificada (112), de tal modo que la primera senal de canal descodificada (117) y la segunda senal de canal descodificada (118) son por lo menos aproximaciones de la primera senal de canal y la segunda senal de canal de la senal de audio multicanal, en donde la informacion de prediccion (108) comprende una porcion imaginaria distinta de cero, en donde la calculadora de descodificador (116) comprende:
un predictor (1160) para aplicar la informacion de prediccion (108) a la primera senal de combinacion descodificada (112) o a una senal (601) proveniente de la primera senal de combinacion descodificada (112) para obtener una senal de prediccion (1163);
una calculadora de senales de combinacion (1161) para calcular una segunda senal de combinacion (1165) combinando la senal residual descodificada (114) y la senal de prediccion (1163); y
un combinador (1162) para combinar la primera senal de combinacion descodificada (112) y la segunda senal de combinacion (1165) para obtener la senal de audio multicanal descodificada que tiene la primera senal de canal descodificada (117) y la segunda senal de canal descodificada (118),
en donde el predictor (1160) comprende un convertidor de real a imaginario (1160) para estimar (1160a) un espectro imaginario de la primera senal de combinacion descodificada (112) usando una parte real de la primera senal de combinacion descodificada (112) directamente en el dominio de la frecuencia usando un filtrado bidimensional, estando sometida la parte real de la primera senal de combinacion descodificada (112) a una conmutacion de ventana,
en donde el predictor (1160) esta configurado para multiplicar una parte imaginaria (601) de la primera senal de combinacion descodificada (112) por la parte imaginaria de la informacion de prediccion (108) para obtener al menos una parte de la senal de prediccion (1163), y
en donde el predictor (1160) esta configurado para recibir una informacion de forma de ventana (109) y para usar diferentes coeficientes de filtro por el convertidor de real a imaginario (1160) para calcular el espectro imaginario de la primera senal de combinacion descodificada (112), en donde los diferentes coeficientes de filtro dependen de diferentes formas de ventana que son indicadas por la informacion de forma de ventana (109), en donde los coeficientes de filtro que son usados por el predictor (1160) dependen de una ventana completa, y en donde se requiere un conjunto de coeficientes de filtro para cada tipo de ventana y para cada transicion de ventana.
2. Descodificador de audio de acuerdo con la reivindicacion 1,
en donde la primera senal de combinacion codificada (104) y la senal residual de prediccion codificada (106) se han generado usando un solapamiento que genera la conversion espectral - tiempo,
en donde el descodificador ademas comprende:
un convertidor espectral - tiempo (52, 53) para generar una primera senal de canal en el dominio del tiempo y una segunda senal de canal en el dominio del tiempo usando un algoritmo de conversion espectral - tiempo que coincide con el algoritmo de conversion espectral - tiempo; un procesador de solapar / agregar (522) para llevar a cabo un procesamiento de solapar - agregar para la primera senal de canal en el dominio del tiempo y para la segunda senal de canal en el dominio del tiempo para obtener una primera senal en el dominio del tiempo sin solapamiento y una segunda senal en el dominio del tiempo sin solapamiento.
3. Descodificador de audio de acuerdo con una de las reivindicaciones anteriores, en donde la informacion de prediccion (108) comprende adicionalmente un factor real distinto de cero,
en donde el predictor (1160) esta configurado para multiplicar la primera senal de combinacion descodificada (112) por el factor real para obtener una primera parte de la senal de prediccion (1163), y
en donde la calculadora de senales de combinacion (1161) esta configurada para combinar de forma lineal la senal residual descodificada (114) y la primera parte de la senal de prediccion (1163) y la al menos una parte de la senal residual de prediccion.
4. Descodificador de audio de acuerdo con una de las reivindicaciones anteriores,
en donde la primera senal de combinacion codificada (104) o la primera senal de combinacion descodificada (112) y la senal residual de prediccion codificada (106) o la senal residual de prediccion descodificada (114) comprenden, cada una, una primera pluralidad de senales de sub-bandas,
en donde la informacion de prediccion (108) comprende una segunda pluralidad de parametros de informacion de prediccion, siendo la segunda pluralidad mas pequena que la primera pluralidad,
en donde el predictor (1160) esta configurado para aplicar el mismo parametro de prediccion a por lo menos dos senales de sub-bandas diferentes de la primera senal de combinacion descodificada (112),
en donde la calculadora de descodificador (116) o la calculadora de senales de combinacion (1161) o el combinador (1162) estan configurados para llevar a cabo un procesamiento en sub-bandas; y
en donde el descodificador de audio ademas comprende un banco de filtros de smtesis (52, 53) para combinar senales de sub-bandas de la primera senal de combinacion descodificada (112) y la segunda senal de combinacion descodificada (1165) para obtener una primera senal descodificada en el dominio del tiempo y una segunda senal descodificada en el dominio del tiempo.
5. Descodificador de audio de acuerdo con la reivindicacion 1,
en donde la primera senal de combinacion descodificada (112) comprende una secuencia de cuadros de senales de valor real, y
en donde el predictor (1160) esta configurado para estimar (1160a), como el espectro imaginario de la primera senal de combinacion descodificada, una parte imaginaria del cuadro de senal actual usando solo el cuadro de senal de valor real actual o usando el cuadro de senal de valor real actual y, ya sea solo uno o mas cuadros de senal de valor real precedentes o solo uno o mas cuadros de valor real siguientes o usando el cuadro de senal de valor real actual y uno o mas cuadros de senal de valor real precedentes y uno o mas cuadros de senal de valor real siguientes.
6. Descodificador de audio de acuerdo con una de las reivindicaciones 1 a 5, en donde la senal de audio multicanal codificada (100) comprende, como informacion lateral, un indicador real que indica que todos los coeficientes de prediccion para un cuadro de la senal de audio multicanal codificada (100) son de valor real,
en donde el descodificador de audio esta configurado para extraer el indicador real de la senal de audio multicanal codificada (100), y
en donde la calculadora de descodificador (116) esta configurada para no calcular una senal imaginaria para un cuadro, para el cual el indicador real esta indicando solo coeficientes de prediccion de valor real.
7. Descodificador de audio de acuerdo con la reivindicacion 1, en donde el espectro de un cuadro previo o el espectro de un cuadro siguiente es un espectro de MDCT, en donde los coeficientes de filtro que se aplican al espectro del cuadro previo o que se aplican al espectro del cuadro siguiente dependen solo de la mitad de ventana que se solapa con un cuadro actual, en donde solo se requiere un conjunto de coeficientes para cada tipo de ventana.
8. Descodificador de audio de acuerdo con la reivindicacion 1, en donde un tipo de ventana es o bien una ventana de seno o bien una ventana Derivada de Kaiser Bessel y, sometida a una configuracion dada de secuencia de ventana, el tipo de ventana puede ser una ventana larga, una ventana de inicio, una ventana de parada, una ventana de parada inicio o una ventana corta.
9. Descodificador de audio de acuerdo con la reivindicacion 1, en donde una configuracion de ventana puede ser una configuracion de ventana de ventana larga, ventana corta, ventana de inicio, ventana de parada o ventana de parada inicio.
10. Descodificador de audio de acuerdo con la reivindicacion 1, en donde el predictor (1160) esta configurado para calcular un espectro de MDST como el espectro imaginario usando un espectro de MDCT de un cuadro actual como la parte real de la primera senal de combinacion descodificada (112), en donde los coeficientes de filtro que son usados por el predictor (1160) son coeficientes de filtro de MDST y dependen de la forma de ventana de una mitad izquierda de la ventana actual y la mitad derecha de la ventana actual,
en donde: o bien la mitad izquierda es una forma de seno y la mitad derecha es una forma de seno, o bien la mitad izquierda es una forma Derivada de Kaiser Bessel y la mitad derecha es una forma Derivada de Kaiser Bessel, o bien
la mitad izquierda es una forma de seno y la mitad derecha es una forma Derivada de Kaiser Bessel, o bien la mitad izquierda es una forma Derivada de Kaiser Bessel y la mitad derecha es una forma de seno.
11. Descodificador de audio de acuerdo con la reivindicacion 1, en donde el predictor (1160) esta configurado para calcular un espectro de MDST como el espectro imaginario usando un espectro de MDCT de un cuadro actual usando los siguientes coeficientes de filtro de MDST que se seleccionan para una mitad izquierda y una mitad derecha correspondiente de una ventana actual y una secuencia de ventana actual correspondiente de acuerdo con la siguiente Tabla A:
Tabla A - Coeficientes de Filtro de MDST para la Ventana Actual
12. Descodificador de audio de acuerdo con la reivindicacion 11, en donde el predictor (1160) esta configurado para calcular un espectro de MDST como el espectro imaginario usando, adicionalmente, un espectro de MDCT de un cuadro previo y usando los siguientes coeficientes de filtro de MDST que se seleccionan para una mitad izquierda de una ventana actual y una secuencia de ventana actual correspondiente de acuerdo con la siguiente Tabla B:
Tabla B - Coeficientes de Filtro de MDST para la Ventana Anterior
13. Codificador de audio para codificar una senal de audio multicanal que tiene dos o mas senales de canal, que comprende:
una calculadora de codificador (203) para calcular una primera senal de combinacion (204) y una senal residual de prediccion (205) usando una primera senal de canal (201) y una segunda senal de canal (202) y una informacion de prediccion (206), de tal modo que una senal residual de prediccion (205), cuando se combina con una senal de prediccion (2035) proveniente de la primera senal de combinacion (204) o una senal proveniente de la primera senal de combinacion (204) y la informacion de prediccion (206) da como resultado una segunda senal de combinacion (2032), pudiendo derivarse la primera senal de combinacion (204) y la segunda senal de combinacion (2032) a partir de la primera senal de canal (201) y la segunda senal de canal (202) usando una regla de combinacion;
un optimizador (207) para calcular la informacion de prediccion (206), de tal modo que la senal residual de prediccion (205) cumple un objetivo de optimizacion (208);
un codificador de senales (209) para codificar la primera senal de combinacion (204) y la senal residual de prediccion (205) para obtener una primera senal de combinacion codificada (210) y una senal residual de prediccion codificada (211); y
una interfaz de salida (212) para combinar la primera senal de combinacion codificada (210), la senal residual de prediccion codificada (211) y la informacion de prediccion (206) para obtener una senal de audio multicanal codificada,
en donde la calculadora de codificador (203) comprende:
un combinador (2031) para combinar la primera senal de canal (201) y la segunda senal de canal (202) de dos formas diferentes para obtener la primera senal de combinacion (204) y la segunda senal de combinacion (2032);
un predictor (2033) para aplicar la informacion de prediccion (206) a la primera senal de combinacion (204) o una senal (600) proveniente de la primera senal de combinacion (204) para obtener la senal de prediccion (2035); y
una calculadora de senal residual (2034) para calcular la senal residual de prediccion (205) por medio de la combinacion de la senal de prediccion (2035) y la segunda senal de combinacion (2032),
en donde el predictor (2033) esta configurado
para multiplicar la primera senal de combinacion (204) por una parte real (2073) de la informacion de prediccion (206) para obtener una primera parte de la senal de prediccion (2035);
para estimar (2070) una parte imaginaria (600) de la primera senal de combinacion usando la primera senal de combinacion (204), en donde el predictor (2033) comprende un convertidor de real a imaginario (2070) para estimar, directamente en el dominio de la frecuencia, un espectro imaginario de la primera senal de combinacion como la parte imaginaria (600) de la primera senal de combinacion usando la primera senal de combinacion (204) usando un filtrado bidimensional, estando sometida la primera senal de combinacion (204) a una conmutacion de ventana; y
para multiplicar la parte imaginaria (600) de la primera senal de combinacion por una parte imaginaria (2074) de la informacion de prediccion (206) para obtener una segunda parte de la senal de prediccion (2035); en donde la calculadora residual (2034) esta configurada para combinar de forma lineal la primera parte de la senal de prediccion (2035) o la segunda parte de la senal de prediccion (2035) y la segunda senal de combinacion (2032) para obtener la senal residual de prediccion (205), y
en donde el predictor (2033) esta configurado para recibir una informacion de forma de ventana (109) y para usar diferentes coeficientes de filtro para calcular, usando el convertidor de real a imaginario (2070), el espectro imaginario de la primera senal de combinacion, en donde los diferentes coeficientes de filtro dependen de diferentes formas de ventana que son indicadas por la informacion de forma de ventana (109), en donde los coeficientes de filtro que son usados por el predictor (2033) dependen de una ventana completa, y en donde se requiere un conjunto de coeficientes de filtro para cada tipo de ventana y para cada transicion de ventana.
14. Codificador de audio de acuerdo con la reivindicacion 13, en donde el predictor (2033) comprende un cuantificador para cuantificar la primera senal de canal, la segunda senal de canal, la primera senal de combinacion (204), o la segunda senal de combinacion (2023) para obtener una o mas senales cuantificadas, y en donde el predictor (2033) esta configurado para calcular la senal residual de prediccion (205) usando senales cuantificadas.
15. Codificador de audio de acuerdo con una de las reivindicaciones 13 a 14,
en donde la primera senal de canal es una representacion espectral de un bloque de muestras;
en donde la segunda senal de canal es una representacion espectral de un bloque de muestras,
en donde las representaciones espectrales son o bien unas representaciones espectrales reales puras o bien unas representaciones espectrales imaginarias puras,
en donde el optimizador (207) esta configurado para calcular la informacion de prediccion (206) como un factor de valor real distinto de cero y / o como un factor imaginario distinto de cero, y
en donde la calculadora de codificador (203) esta configurada para calcular la primera senal de combinacion (204) y la senal residual de prediccion (205), de tal modo que la senal de prediccion (2035) se deriva de la representacion espectral real pura o la representacion espectral imaginaria pura usando el factor de valor real.
16. Codificador de audio de acuerdo con una de las reivindicaciones 13 a 15,
en donde la primera senal de canal es una representacion espectral de un bloque de muestras;
en donde la segunda senal de canal es una representacion espectral de un bloque de muestras,
en donde las representaciones espectrales son o bien unas representaciones espectrales reales puras o bien unas representaciones espectrales imaginarias puras,
en donde el optimizador (207) esta configurado para calcular la informacion de prediccion (206) como un factor de valor real distinto de cero y / o como un factor imaginario distinto de cero, y
en donde el predictor (2033) de la calculadora de codificador (203) comprende el convertidor de real a imaginario
(2070) o un transformador de imaginario a real para derivar una representacion espectral transformada a partir de la primera senal de combinacion (204), y
en donde la calculadora de codificador (203) esta configurada para calcular la primera senal de combinacion (204) y la senal residual de prediccion (205), de tal modo que la senal residual de prediccion (205) se deriva de la representacion espectral transformada usando el factor imaginario.
17. Metodo para descodificar una senal de audio multicanal codificada (100), comprendiendo la senal de audio multicanal codificada (100) una primera senal de combinacion codificada (104) generada sobre la base de una regla de combinacion para combinar una primera senal de audio de canal y una segunda senal de audio de canal de una senal de audio multicanal, una senal residual de prediccion codificada (106) e informacion de prediccion (108), que comprende:
descodificar (110) la primera senal de combinacion codificada (104) para obtener una primera senal de combinacion descodificada (112), y descodificar la senal residual de prediccion codificada (106) para obtener una senal residual descodificada (114); y
calcular (116) una senal de audio multicanal descodificada que tiene una primera senal de canal descodificada (117), y una segunda senal de canal descodificada (118) usando la senal residual descodificada (114), la informacion de prediccion (108) y la primera senal de combinacion descodificada (112), de tal modo que la primera senal de canal descodificada (117) y la segunda senal de canal descodificada (118) son por lo menos aproximaciones de la primera senal de audio de canal y la segunda senal de audio de canal de la senal de audio multicanal, en donde la informacion de prediccion (108) comprende una porcion imaginaria distinta de cero, en donde el calculo de la senal de audio multicanal descodificada (116) comprende:
aplicar la informacion de prediccion (108) a la primera senal de combinacion descodificada (112) o a una senal (601) proveniente de la primera senal de combinacion descodificada (112), para obtener una senal de prediccion (1163);
calcular una segunda senal de combinacion (1165) combinando la senal residual descodificada (114) y la senal de prediccion (1163); y
combinar la primera senal de combinacion (112) y la segunda senal de combinacion (1165) descodificadas para obtener la senal de audio multicanal descodificada que tiene la primera senal de canal descodificada (117) y la segunda senal de canal descodificada (118),
en donde aplicar la informacion de prediccion (108) comprende estimar (1160a) un espectro imaginario de la primera senal de combinacion descodificada (112) usando una parte real de la primera senal de combinacion descodificada (112) directamente en el dominio de la frecuencia usando un filtrado bidimensional en un convertidor de real a imaginario (1160), estando sometida la parte real de la primera senal de combinacion descodificada (112) a una conmutacion de ventana,
en donde la aplicacion de la informacion de prediccion (108) comprende multiplicar una parte imaginaria (601) de la primera senal de combinacion descodificada (112) por la parte imaginaria de la informacion de prediccion (108) para obtener al menos una parte de la senal de prediccion (1163), y
en donde la aplicacion de la informacion de prediccion (108) comprende recibir una informacion de forma de ventana (109) y usar diferentes coeficientes de filtro por el convertidor de real a imaginario (1160) para calcular el espectro imaginario de la primera senal de combinacion descodificada (112), en donde los diferentes coeficientes de filtro dependen de diferentes formas de ventana que son indicadas por la informacion de forma de ventana (109), en donde los coeficientes de filtro dependen de una ventana completa, y en donde se requiere un conjunto de coeficientes de filtro para cada tipo de ventana y para cada transicion de ventana.
18. Metodo de codificacion de una senal de audio multicanal que tiene dos o mas senales de canal, que comprende: calcular (203) una primera senal de combinacion (204) y una senal residual de prediccion (205) usando una primera senal de canal (201) y una segunda senal de canal (202) y una informacion de prediccion (206), de tal modo que una senal residual de prediccion, cuando se combina con una senal de prediccion (2035) proveniente de la primera senal de combinacion (204) o una senal proveniente de la primera senal de combinacion (204) y la informacion de prediccion (206) da como resultado una segunda senal de combinacion (2032), pudiendo derivarse la primera senal de combinacion (204) y la segunda senal de combinacion (2032) a partir de la primera senal de canal (201) y la segunda senal de canal (202) usando una regla de combinacion;
calcular (207) la informacion de prediccion (206), de tal modo que la senal residual de prediccion (205) cumple un objetivo de optimizacion (208);
codificar (209) la primera senal de combinacion (204) y la senal residual de prediccion (205) para obtener una primera senal de combinacion codificada (210) y una senal residual de prediccion codificada (211); y combinar (212) la primera senal de combinacion codificada (210), la senal residual de prediccion codificada (211) y la informacion de prediccion (206) para obtener una senal de audio multicanal codificada,
en donde el calculo (203) comprende:
combinar la primera senal de canal (201) y la segunda senal de canal (202) de dos formas diferentes para obtener la primera senal de combinacion (204) y la segunda senal de combinacion (2032);
aplicar la informacion de prediccion (206) a la primera senal de combinacion (204) o una senal (600) proveniente de la primera senal de combinacion (204) para obtener una senal de prediccion (2035); y calcular la senal residual de prediccion (205) por medio de la combinacion de la senal de prediccion (2035) y la segunda senal de combinacion (2032),
en donde la aplicacion de la informacion de prediccion (206) comprende:
multiplicar la primera senal de combinacion (204) por una parte real (2073) de la informacion de prediccion (206) para obtener una primera parte de la senal de prediccion (2035);
estimar (2070) una parte imaginaria (600) de la primera senal de combinacion usando la primera senal de combinacion (204) en donde la aplicacion de la informacion de prediccion (206) comprende estimar, por un convertidor de real a imaginario (2070), directamente en el dominio de la frecuencia, un espectro imaginario de la primera senal de combinacion como la parte imaginaria (600) de la primera senal de combinacion usando la primera senal de combinacion (204) por medio de un filtrado bidimensional, estando sometida la primera senal de combinacion (204) a una conmutacion de ventana; y
multiplicar la parte imaginaria (600) de la primera senal de combinacion (204) por una parte imaginaria (2074) de la informacion de prediccion (206) para obtener una segunda parte de la senal de prediccion (2035);
en donde el calculo de la senal residual (2034) comprende combinar de forma lineal la primera parte de la senal de prediccion (2035) o la segunda parte de la senal de prediccion (2035) y la segunda senal de combinacion (2023) para obtener la senal residual de prediccion (205), y
en donde la aplicacion de la informacion de prediccion (206) comprende recibir una informacion de forma de ventana (109) y usar, por el convertidor de real a imaginario (2070), diferentes coeficientes de filtro para calcular el espectro imaginario de la primera senal de combinacion, en donde los diferentes coeficientes de filtro dependen de diferentes formas de ventana que son indicadas por la informacion de forma de ventana (109), en donde los coeficientes de filtro dependen de una ventana completa, y en donde se requiere un conjunto de coeficientes de filtro para cada tipo de ventana y para cada transicion de ventana.
19. Programa informatico que esta adaptado para llevar a cabo, cuando se ejecuta en un ordenador o en un procesador, el metodo de la reivindicacion 17 o el metodo de la reivindicacion 18.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US32268810P | 2010-04-09 | 2010-04-09 | |
| US36390610P | 2010-07-13 | 2010-07-13 | |
| EP10169432A EP2375409A1 (en) | 2010-04-09 | 2010-07-13 | Audio encoder, audio decoder and related methods for processing multi-channel audio signals using complex prediction |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2708581T3 true ES2708581T3 (es) | 2019-04-10 |
Family
ID=65681314
Family Applications (4)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES15176783T Active ES2707473T3 (es) | 2010-04-09 | 2011-03-23 | Codificación de audio de multicanal utilizando predicción compleja y señalización de estimación explícita |
| ES15176781T Active ES2704261T3 (es) | 2010-04-09 | 2011-03-23 | Codificación de audio multicanal que utiliza predicción compleja y un indicador de longitud de transformada |
| ES15176778T Active ES2708581T3 (es) | 2010-04-09 | 2011-03-23 | Codificación de audio multicanal usando predicción compleja e información de forma de ventana |
| ES15176785T Active ES2704891T3 (es) | 2010-04-09 | 2011-03-23 | Codificación de audio multicanal usando predicción compleja e indicador real |
Family Applications Before (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES15176783T Active ES2707473T3 (es) | 2010-04-09 | 2011-03-23 | Codificación de audio de multicanal utilizando predicción compleja y señalización de estimación explícita |
| ES15176781T Active ES2704261T3 (es) | 2010-04-09 | 2011-03-23 | Codificación de audio multicanal que utiliza predicción compleja y un indicador de longitud de transformada |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES15176785T Active ES2704891T3 (es) | 2010-04-09 | 2011-03-23 | Codificación de audio multicanal usando predicción compleja e indicador real |
Country Status (2)
| Country | Link |
|---|---|
| ES (4) | ES2707473T3 (es) |
| TR (5) | TR201901427T4 (es) |
-
2011
- 2011-03-23 TR TR2019/01427T patent/TR201901427T4/tr unknown
- 2011-03-23 TR TR2018/20422T patent/TR201820422T4/tr unknown
- 2011-03-23 ES ES15176783T patent/ES2707473T3/es active Active
- 2011-03-23 TR TR2019/00414T patent/TR201900414T4/tr unknown
- 2011-03-23 TR TR2019/00906T patent/TR201900906T4/tr unknown
- 2011-03-23 ES ES15176781T patent/ES2704261T3/es active Active
- 2011-03-23 TR TR2019/00830T patent/TR201900830T4/tr unknown
- 2011-03-23 ES ES15176778T patent/ES2708581T3/es active Active
- 2011-03-23 ES ES15176785T patent/ES2704891T3/es active Active
Also Published As
| Publication number | Publication date |
|---|---|
| ES2704891T3 (es) | 2019-03-20 |
| ES2707473T3 (es) | 2019-04-03 |
| TR201900906T4 (tr) | 2019-02-21 |
| TR201900414T4 (tr) | 2019-02-21 |
| TR201900830T4 (tr) | 2019-02-21 |
| TR201901427T4 (tr) | 2019-02-21 |
| ES2704261T3 (es) | 2019-03-15 |
| TR201820422T4 (tr) | 2019-01-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2701456T3 (es) | Codificación de señales de audio multicanal usando predicción compleja y codificación diferencial | |
| ES2914474T3 (es) | Método de decodificación de una señal de audio estéreo codificada usando una dirección de predicción variable | |
| ES2708581T3 (es) | Codificación de audio multicanal usando predicción compleja e información de forma de ventana | |
| BR122025005716A2 (pt) | Codificador de áudio, decodificador de áudio e métodos relacionados para o processamento do sinal de áudio de múltiplos canais usando predição complexa | |
| BR122025005722A2 (pt) | Codificador de áudio, decodificador de áudio e métodos relacionados para o processamento do sinal de áudio de múltiplos canais usando predição complexa | |
| BR122025005720A2 (pt) | Codificador de áudio, decodificador de áudio e métodos relacionados para o processamento do sinal de áudio de múltiplos canais usando predição complexa | |
| BR122025005718A2 (pt) | Codificador de áudio, decodificador de áudio e métodos relacionados para o processamento do sinal de áudio de múltiplos canais usando predição complexa | |
| BR122025005728A2 (pt) | Codificador de áudio, decodificador de áudio e métodos relacionados para o processamento do sinal de áudio de múltiplos canais usando predição complexa | |
| BR122025005725A2 (pt) | Codificador de áudio, decodificador de áudio e métodos relacionados para o processamento do sinal de áudio de múltiplos canais usando predição complexa | |
| BR122020024260B1 (pt) | Codificador de áudio ou vídeo, decodificador de áudio ou vídeo e métodos relacionados para o processamento do sinal de áudio ou vídeo de múltiplos canais usando uma direção de previsão variável | |
| HK1180823B (en) | Decoding of multi-channel audio signals using complex prediction |






