ES2704261T3 - Codificación de audio multicanal que utiliza predicción compleja y un indicador de longitud de transformada - Google Patents

Codificación de audio multicanal que utiliza predicción compleja y un indicador de longitud de transformada Download PDF

Info

Publication number
ES2704261T3
ES2704261T3 ES15176781T ES15176781T ES2704261T3 ES 2704261 T3 ES2704261 T3 ES 2704261T3 ES 15176781 T ES15176781 T ES 15176781T ES 15176781 T ES15176781 T ES 15176781T ES 2704261 T3 ES2704261 T3 ES 2704261T3
Authority
ES
Spain
Prior art keywords
signal
combination
decoded
prediction
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
Application number
ES15176781T
Other languages
English (en)
Inventor
Heiko Purnhagen
Pontus Carlsson
Lars Villemoes
Julien Robilliard
Matthias Neusinger
Christian Helmrich
Johannes Hilpert
Nikolaus Rettelbach
Sascha Disch
Bernd Edler
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Dolby International AB
Original Assignee
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Dolby International AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from EP10169432A external-priority patent/EP2375409A1/en
Application filed by Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV, Dolby International AB filed Critical Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Application granted granted Critical
Publication of ES2704261T3 publication Critical patent/ES2704261T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Stereophonic System (AREA)

Abstract

Decodificador de audio para decodificar una señal de audio multicanal codificada (100), comprendiendo la señal de audio multicanal codificada una primera señal de combinación codificada generada en base a una regla de combinación para combinar una primera señal de audio de canal y una segunda señal de audio de canal de una señal de audio multicanal, una señal residual de predicción codificada e información de predicción, que comprende: un decodificador de señales (110) para decodificar la primera señal de combinación codificada (104) para obtener una primera señal de combinación decodificada (112) y para decodificar la señal residual codificada (106) para obtener una señal residual decodificada (114); y una calculadora del decodificador (116) para calcular una señal multicanal decodificada que tiene una primera señal de canal decodificada (117), y una segunda señal de canal decodificada (118) utilizando la señal residual decodificada (114), la información de predicción (108) y la primera señal de combinación decodificada (112), de modo que la primera señal de canal decodificada (117) y la segunda señal de canal decodificada (118) son al menos aproximaciones de la primera señal de canal y la segunda señal de canal de la señal multicanal, donde la información de predicción (108) comprende una porción de valor real distinta de cero y/o una porción imaginaria distinta de cero, en el que la calculadora del decodificador (116) comprende: un predictor (1160) para aplicar la información de predicción (108) a la primera señal de combinación decodificada (112) o a una señal (601) derivada de la primera señal de combinación decodificada para obtener una señal de predicción (1163); una calculadora de señal de combinación (1161) para calcular una segunda señal de combinación (1165) combinando la señal residual decodificada (114) y la señal de predicción (1163); y un combinador (1162) para combinar la primera señal de combinación decodificada (112) y la segunda señal de combinación (1165) para obtener una señal de audio multicanal decodificada que tiene la primera señal de canal decodificada (117) y la segunda señal de canal decodificada (118); y en el que el predictor (1160) comprende un transformador real-a-imaginario (1160a) que comprende un selector de cuadro espectral (1000) conectado a una calculadora del espectro imaginario (1001) configurado para filtrar al menos dos cuadros subsiguientes de tiempo de la primera señal de combinación decodificada, donde uno de los dos cuadros subsiguientes de tiempo de la primera señal de combinación decodificada precede o sigue un cuadro actual de la primera señal de combinación decodificada para obtener una parte imaginaria estimada de un cuadro actual de la primera señal de combinación decodificada mediante el uso de un filtro lineal (1004, 1005, 1006, 1007), cuando el selector de cuadro espectral (1000) recibe una información de control (1003) que indica que un cuadro anterior o un cuadro siguiente se van a utilizar para el cálculo de la parte imaginaria estimada, o en el que la primera señal de combinación decodificada comprende una secuencia de cuadros de señales de valor real, y en el que el predictor (1160) comprende un transformador real-a-imaginario (1160a) que comprende un selector de cuadro espectral (1000) conectado a una calculadora de espectro imaginaria (1001) configurado para estimar (1160a) la parte imaginaria estimada del cuadro actual de la primera señal de combinación decodificada mediante el uso solo del cuadro de señal de valor real actual, cuando una indicación en una entrada (1002) del selector de cuadro espectral (1000) indica que se va a calcular un espectro imaginario para un cuadro actual, y cuando la información de control (1003) indica que solo el cuadro actual se va a utilizar para la estimación de la parte imaginaria estimada o mediante el uso del cuadro de señal de valor real actual y tanto solo uno o más cuadros de señal de valor real anteriores o solo uno o más cuadros de señal de valor real siguientes o mediante el uso del cuadro de señal de valor real actual y uno o más cuadros de señal de valor real anteriores y uno o más cuadros de señal de valor real siguientes, cuando el selector de cuadro espectral (1000) recibe una información de control (1003) que indica que se va a utilizar el cuadro anterior o el cuadro siguiente o más cuadros que el cuadro anterior o el cuadro siguiente, respectivamente, para la estimación de la parte imaginaria estimada; en el que la primera señal de combinación decodificada está asociada con diferentes longitudes de transformadas indicadas por un indicador de longitud de transformadas incluido en la señal multicanal codificada (100), en el que el predictor (1160) está configurado solamente para utilizar uno o más cuadros de la primera señal de combinación decodificada que tiene la misma longitud de transformada asociada para estimar la parte imaginaria del cuadro actual de la primera señal de combinación decodificada, en el que el predictor (1160) está configurado para multiplicar la primera señal de combinación decodificada por la porción de valor real para obtener una primera parte de la señal de predicción, en el que el predictor (1160) está configurado para multiplicar la parte imaginaria estimada (601) del cuadro actual de la primera señal de combinación decodificada por la porción imaginaria de la información de predicción (108) para obtener una segunda parte de la señal de predicción; y en el que la calculadora de señal de combinación (1161) está configurada para combinar de forma lineal la primera parte de la señal de predicción y la segunda parte de la señal de predicción y la señal residual decodificada para obtener una segunda señal de combinación (1165).

Description

DESCRIPCIÓN
Codificación de audio multicanal que utiliza predicción compleja y un indicador de longitud de transformada
Descripción
[0001] La presente invención se refiere al procesamiento de audio y, particularmente, al procesamiento de audio multicanal de una señal multicanal que tiene dos o más señales de canal.
[0002] En el campo del procesamiento de estéreo o multicanal se conoce la aplicación de la así denominada codificación de estéreo central/lateral (mid/side stereo coding). En este concepto se forma una combinación de la señal de canal de audio izquierda o primera y la señal de canal de audio derecha o segunda para obtener una señal central o mono M. Adicionalmente se forma una diferencia entre la señal de canal izquierda o primera y la señal de canal derecha o segunda para obtener la señal lateral S. Este procedimiento de codificación central/lateral resulta en una ganancia de codificación significativa, cuando la señal izquierda y la señal derecha son muy similares entre sí, debido a que la señal lateral se volverá bastante pequeña. Típicamente, una ganancia de codificación de una etapa de codificador de entropía/cuantificador se volverá superior, cuando el rango de valores que se va a cuantificar/codificar por entropía es menor. De este modo, para una PCM (modulación por codificación de pulsos, por sus siglas en inglés) o un codificador aritmético de entropía o basado en Huffman, la ganancia de codificación aumenta, cuando la señal lateral se vuelve más pequeña. Sin embargo existen ciertas situaciones en las cuales la codificación central/lateral no resultará en una ganancia de codificación. La situación puede ocurrir cuando las señales en ambos canales están desfasadas entre sí, por ejemplo, en 90°. Entonces, la señal central y la señal lateral pueden estar en un rango bastante similar y, por lo tanto, la codificación de la señal central y la señal lateral mediante el uso del codificador por entropía no logrará una ganancia de codificación e incluso puede producir un aumento de tasa de bits. Por lo tanto se puede aplicar una codificación central/lateral selectiva de frecuencia con el fin de desactivar la codificación central/lateral en bandas, donde la señal lateral no se vuelve más pequeña hasta un cierto grado con respecto a, por ejemplo, la señal izquierda original.
[0003] A pesar de que la señal lateral se volverá cero, cuando las señales izquierda y derecha son idénticas, resultando en una ganancia de codificación máxima debido a la eliminación de la señal lateral, la situación se vuelve diferente de nuevo cuando la señal central y la señal lateral son idénticas con respecto a la conformación de la forma de onda, pero la única diferencia entre ambas señales radica en sus amplitudes generales. En este caso, cuando se asume adicionalmente que la señal lateral no tiene un desplazamiento de fase con respecto a la señal central, la señal lateral aumenta significativamente, a pesar de que, por otra parte, la señal central no disminuye demasiado con respecto a su rango de valores. Cuando dicha situación ocurre en una determinada banda de frecuencia, entonces se desactivaría de nuevo la codificación central/lateral debido a la falta de ganancia de codificación. La codificación central/lateral se puede aplicar de forma selectiva de frecuencia o se puede aplicar alternativamente en el dominio de tiempo.
[0004] Existen técnicas de codificación multicanal alternativas, las cuales no están basadas en un tipo de procedimiento de forma de onda como codificación central/lateral, pero que están basadas en el procesamiento paramétrico según determinadas señales binaurales. Tales técnicas se conocen según los términos “codificación binaural de la señal”, “codificación de estéreo paramétrico” o “codificación del Entorno de MPEG (Grupo de expertos en imágenes en movimiento, por sus siglas en inglés)”. En este punto se calculan determinadas señales para una pluralidad de bandas de frecuencia. Tales señales incluyen diferencias de nivel entre canales, medidas de coherencia entre canales, diferencias de tiempo entre canales y/o diferencias de fase entre canales. Estas estrategias parten de la premisa de que una impresión multicanal percibida por el oyente no necesariamente está basada en las formas de onda detalladas de los dos canales, pero está basada en las señales suministradas de forma selectiva de frecuencia o en la información exacta entre canales. Esto significa que, en una máquina de renderización se debe tener cuidado de renderizar señales multicanal que reflejen las señales con exactitud, si bien las formas de onda no tienen una importancia significativa.
[0005] Esta estrategia puede resultar compleja particularmente en el caso en el que el decodificador tiene que aplicar un procesamiento de decorrelación con el fin de crear artificialmente señales estéreo, las cuales están decorrelacionadas entre sí, a pesar de que la totalidad de dichos canales proviene de uno y del mismo canal de mezcla descendente. Los decorreladores para este propósito son complejos, dependiendo de su implementación y pueden introducir distorsiones, particularmente en el caso de porciones de señales transitorias. Adicionalmente, a diferencia de la codificación de forma de onda, el procedimiento de codificación paramétrica es un procedimiento de codificación con pérdidas, el cual produce inevitablemente una pérdida de información no solamente introducida por la cuantificación típica sino también introducida al considerar las señales binaurales en lugar de las formas de onda en particular. Esta estrategia resulta en tasas de bits muy bajas pero puede incluir compromisos de calidad.
[0006] Existen desarrollos recientes en cuanto al sistema unificado de codificación de voz y audio (USAC, por sus siglas en inglés) ilustrado en la Fig. 7a. Un decodificador del núcleo 700 lleva a cabo una operación de decodificación de la señal estéreo codificada en la entrada 701, la cual puede ser una señal codificada centro/lateral. El decodificador del núcleo emite una señal central en la línea 702 y una señal lateral o residual en la línea 703. Ambas señales se transforman a un dominio QMF (filtro espejo en cuadratura, por sus siglas en inglés) por los bancos de filtros QMF 704 y 705. A continuación, se aplica un decodificador del Entorno de MPEG 706 para generar una señal izquierda de canal 707 y una señal derecha de canal 708. Estas señales de banda baja se introducen posteriormente en un decodificador de replicación espectral de ancho de banda (SBR, por sus siglas en inglés) 709, el cual produce señales izquierda y derecha de banda ancha en las líneas 710 y 711, las cuales se transforman a continuación a un dominio de tiempo por los bancos de filtros de síntesis QMF 712, 713 de tal modo que se obtienen las señales izquierda y derecha de banda ancha L, R.
[0007] La Fig. 7b ilustra una situación en la que el decodificador del Entorno de MPEG 706 llevaría a cabo una decodificación central/lateral. Alternativamente, el bloque decodificador del Entorno de MPEG 706 podría llevar a cabo una decodificación paramétrica basada en la señal binaural para generar señales estéreo a partir de una única señal mono del decodificador del núcleo. Naturalmente, el decodificador del Entorno de MPEG 706 podría generar también una pluralidad de señales de salida de banda baja para introducir en el bloque decodificador de SBR 709 utilizando información paramétrica tal como diferencias de nivel entre canales, medidas de coherencia entre canales u otros de dichos parámetros de información entre canales.
Cuando el bloque decodificador del Entorno de MPEG 706 lleva a cabo la decodificación central/lateral ilustrada en la Fig. 7b se puede aplicar un factor de ganancia real g y DMX/RES y L/R son señales de mezcla descendente/residual e izquierda/derecha, respectivamente, representadas en el dominio complejo híbrido QMF. El uso de una combinación de un bloque 706 y un bloque 709 solo genera un pequeño aumento en la complejidad computacional en comparación con un decodificador estéreo utilizado como base, debido a que la representación del QMF complejo de la señal ya está disponible como parte del decodificador de SBR. Sin embargo, en una configuración que no es de SBR, la codificación estéreo basada en QMF, propuesta en el contexto de la USAC, produciría un aumento significativo en la complejidad computacional debido a los bancos de QMF necesarios, los cuales en este ejemplo necesitarían bancos de análisis de 64 bandas y bancos de síntesis de 64 bandas. Estos bancos de filtros solo deberían agregarse para el fin de la codificación estéreo. En el sistema de USAC del MPEG en desarrollo, sin embargo, también existen modos de codificación a altas tasas de bits donde la SBR no se utiliza de forma típica.
[0008] Los dos documentos siguientes MPEG USAC son ejemplares de esquemas de (de)codificación de audio multicanal por medio de los cuales se estima una señal de diferencia a partir de una señal mono/de suma/de mezcla descendente por medio de un coeficiente de predicción de valor complejo:
HEIKO PURNHAGEN ET AL: "Technical description of proposed Unified Stereo Coding in USAC" (descripción técnica de la codificación estéreo unificada propuesta en UsAc ), 90. MPEG MEETING (reunión de MPEG); 26-10­ 2009 - 30-10-2009; XIAN; (GRUPO EXPERTO EN IMÁGENES DE MOVIMIENTO O ISO/IEC JTC1/SC29/WG11), no. M16921, 23 de octubre de 2009 (2009-10-23). MAX NEUENDORF (EDITOR): "WD5 of USAC",90. MPEG MEETING (reunión de MPEG); 26-10-2009 - 30-10-2009; XIAN; (GRUPO EXPERTO EN IMÁGENES DE MOVIMIENTO O ISO/IECJTC1/SC29/WG11), no. N11040, 8 de diciembre de 2009 (2009-12-08), páginas 1-146.
[0009] El documento WO90/16136 A1 describe un sistema de audioconferencia polifónico (por ejemplo, estéreo), en el que los canales de entrada izquierdo y derecho están alineados con el tiempo por etapas de retardo variables, controladas por una calculadora de retardo (por ejemplo, mediante la derivación del valor de correlación cruzada máxima) y, a continuación, sumadas en un sumador y sustraídas en sustractor para formar señales de suma y diferencia. La señal de suma se transmite en una calidad relativamente alta; la señal de diferencia se reconstruye en el decodificador por predicción a partir de la señal de suma mediante el uso de un filtro adaptativo. El filtro adaptativo del decodificador se configura por coeficientes de filtro recibidos o, mediante el uso de la adaptación hacia atrás, a partir de una señal residual recibida producida por un filtro adaptativo correspondiente en el codificador, o ambos.
[00010] Preferiblemente, el filtro adaptativo es un filtro de celosía, que emplea un algoritmo de gradiente para la actualización del coeficiente. La complejidad del filtro adaptativo se reduce mediante el blanqueamiento previo, en el codificador, de las señales de suma y diferencia, utilizando los filtros de blanqueamiento correspondientes derivados del canal de suma. El documento WO 2009/141775 A1 describe un aparato de mezcla ascendente estéreo paramétrica que genera una señal izquierda y una señal derecha desde una señal de mezcla descendente mono basada en parámetros espaciales. Dicha mezcla ascendente estéreo paramétrica se caracteriza porque comprende un medio para predecir una señal de diferencia que comprende una diferencia entre la señal izquierda y la señal derecha basada en la señal de mezcla descendente mono escalada con un coeficiente de predicción. Dicho coeficiente de predicción se deriva de los parámetros espaciales. Dicho aparato de mezcla ascendente estéreo paramétrico comprende además un medio aritmético para derivar la señal izquierda y la señal derecha basándose en una suma y una diferencia de la señal de mezcla descendente mono y dicha señal de diferencia.
[00011] Un objetivo de la presente invención consiste en proporcionar un concepto mejorado de procesamiento de audio, el cual por una parte produce una alta ganancia de codificación y, por otra parte, produce una buena calidad de audio y/o complejidad computacional reducida.
[00012] Este objetivo se logra mediante un decodificador de audio según la reivindicación 1, un codificador de audio según la reivindicación 4, un procedimiento de decodificación de audio según la reivindicación 8, un procedimiento de codificación de audio según la reivindicación 9 o un programa informático según la reivindicación 10.
[00013] La presente invención se basa en la conclusión de que una ganancia de codificación de la estrategia de codificación de forma de onda de alta calidad se puede mejorar significativamente mediante una predicción de una segunda señal de combinación utilizando una primera señal de combinación, donde ambas señales de combinación provienen de las señales originales de canal utilizando una regla de combinación tal como la regla de combinación central/lateral. Se ha descubierto que esta información de predicción es calculada por un predictor en un codificador de audio de modo que se cumple un objetivo de optimización, se incurre solo en una pequeña sobrecarga, pero logra una disminución significativa de la tasa de bits necesaria para la señal lateral sin perder ninguna calidad de audio, debido a que la predicción inventiva es sin embargo una codificación basada en forma de onda y no una estrategia de codificación multicanal o estéreo basado en parámetros. Con el fin de reducir la complejidad computacional, se prefiere llevar a cabo una codificación de dominio de frecuencia, donde la información de predicción proviene de datos de entrada del dominio de frecuencia de una forma selectiva de bandas. El algoritmo de conversión para convertir la representación de dominio de tiempo en una representación espectral es preferentemente un proceso críticamente muestreado tal como una transformada coseno discreta modificada (MDCT, según sus siglas en inglés) o una transformada seno discreta modificada (MDST, según sus siglas en inglés), la cual es diferente de una transformada compleja ya 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.
[00014] Preferentemente, se utiliza una transformada basada en introducción y cancelación de solapamiento. La MDCT, en particular, es una transformada de dichas características y permite una atenuación cruzada entre bloques subsiguientes sin ninguna sobrecarga debido a la propiedad muy conocida de cancelación de solapamiento de dominio de tiempo (TDAC, por sus siglas en inglés), la cual se obtiene mediante el procesamiento de solaparagregar en el lado del decodificador.
[00015] Preferentemente, la información de predicción calculada en el codificador, transmitida al decodificador y utilizada en el decodificador comprende una parte imaginaria, la cual puede reflejar ventajosamente las diferencias de fase entre los dos canales de audio en cantidades seleccionadas arbitrariamente entre 0° y 360°. La complejidad computacional se reduce significativamente cuando se aplica solamente una transformada de valor real o, en general, una transformada que proporciona, ya sea un espectro real solamente o que proporciona un espectro imaginario solamente. Con el fin de utilizar dicha información de predicción imaginaria, la cual indica un desplazamiento de fase entre una determinada banda de la señal izquierda y una banda correspondiente de la señal derecha, un convertidor real-a-imaginario o, dependiendo de la implementación de la transformada, un convertidor imaginario-a-real se proporciona en el decodificador con el fin de calcular una señal residual de predicción a partir de la primera señal de combinación, la cual tiene la fase rotada con respecto a la señal de combinación original. Esta señal residual de predicción que tiene la fase rotada se puede combinar entonces con la señal residual de predicción transmitida en la corriente de bits para regenerar una señal lateral, la cual finalmente se puede combinar con la señal central para obtener el canal izquierdo decodificado en una determinada banda y el canal derecho decodificado en esta banda.
[00016] Con el fin de aumentar la calidad de audio, el mismo convertidor real-a-imaginario o el convertidor imaginario-a-real, el cual se aplica en el lado del decodificador se implementa también en el lado del codificador, cuando la señal residual de predicción es calculada en el codificador.
[00017] La presente invención proporciona una ventaja porque mejora la calidad de audio y reduce la tasa de bits en comparación con los sistemas que tienen la misma tasa de bits o que tienen la misma calidad de audio.
[00018] Adicionalmente se obtienen ventajas con respecto a una eficacia computacional de codificación estéreo unificada que resulta útil en el sistema de USAC del MPEG a altas tasas de bits, donde la SBR típicamente no se utiliza. En lugar de procesar la señal en el dominio complejo híbrido QMF, estos procedimientos implementan una codificación estéreo predictiva de base residual en el dominio nativo de MDCT del codificador de transformada estéreo subyacente.
[00019] Según un aspecto de la presente invención, la presente invención comprende un aparato o procedimiento para generar una señal estéreo por predicción compleja en el dominio de MDCT, donde la predicción compleja se lleva a cabo en el dominio de MDCT utilizando una transformada real-a-compleja, donde dicha señal estéreo puede ser, ya sea una señal estéreo codificada en el lado del codificador o puede ser alternativamente una señal estéreo decodificada/transmitida, cuando el aparato o procedimiento para generar la señal estéreo se aplica en el lado del decodificador.
[00020] Las formas de realización preferidas de la presente invención se describen a continuación con respecto a los dibujos adjuntos, en los cuales:
la Fig. 1 es un diagrama de una forma de realización preferida de un decodificador de audio;
la Fig. 2 es un diagrama en bloque de una forma de realización preferida de un codificador de audio;
la Fig. 3a ilustra una implementación de la calculadora del codificador de la Fig. 2;
la Fig. 3b ilustra una implementación alternativa de la calculadora del codificador de la Fig. 2;
la Fig. 3c ilustra una regla de combinación central/lateral para aplicar en el lado del codificador; la Fig. 4a ilustra una implementación de la calculadora del decodificador de la Fig. 1;
la Fig. 4b ilustra una implementación alternativa de la calculadora del decodificador en forma de una calculadora matriz;
la Fig. 4c ilustra una regla de combinación inversa central/lateral correspondiente a la regla de combinación ilustrada en la Fig. 3c;
la Fig. 5a ilustra una forma de realización de un codificador de audio que opera en el dominio de frecuencia, el cual es preferentemente un dominio de frecuencia de valor real;
la Fig. 5b ilustra una implementación de un decodificador de audio que opera en el dominio de frecuencia;
la Fig. 6a ilustra una implementación alternativa de un codificador de audio que opera en el dominio de MDCT y utiliza una transformada real-a-imaginaria;
la Fig. 6b ilustra un decodificador de audio que opera en el dominio de MDCT y utiliza una transformada real-a-imaginaria;
la Fig. 7a ilustra un post-procesador de audio que utiliza un decodificador estéreo y un decodificador de SBR conectado posteriormente;
la Fig. 7b ilustra una matriz de mezcla ascendente central/lateral;
la Fig. 8a ilustra una vista detallada en el bloque de MDCT en la Fig. 6a;
la Fig. 8b ilustra una vista detallada en el bloque de MDCT'1 de la Fig. 6b;
la Fig. 9a ilustra una implementación de un optimizador que opera en resolución reducida con respecto a la salida de MDCT;
la Fig. 9b ilustra una representación de un espectro de MDCT y las bandas correspondientes de resolución inferior, en las cuales se calcula la información de predicción;
la Fig. 10a ilustra una implementación del transformador real-a-imaginario en la Fig. 6a o en la Fig. 6b; y
la Fig. 10b ilustra una implementación posible de la calculadora de espectro imaginario de la Fig. 10a.
[00021] La Fig. 1 ilustra un decodificador de audio para decodificar 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 utilizando una regla de combinación para combinar una primera señal de canal y una segunda señal de canal que representan la señal de audio multicanal, una señal residual de predicción codificada e información de predicción. La señal 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 información lateral adicional en la señal multicanal codificada en la línea 100. La señal se introduce en una interfaz de entrada 102. La interfaz de entrada 102 se puede implementar como un demultiplexor de corriente de datos, el cual emite la primera señal de combinación codificada en la línea 104, la señal residual codificada en la línea 106 y la información de predicción en la línea 108. Preferentemente, la información de predicción es un factor que tiene una parte real que no es igual a cero y/o una parte imaginaria distinta de cero. La señal de combinación codificada y la señal residual codificada se introducen en un decodificador de señales 110 para decodificar la primera señal de combinación para obtener una primera señal de combinación decodificada en la línea 112. Adicionalmente, el decodificador de señales 110 está configurado para decodificar la señal residual codificada para obtener una señal residual decodificada en la línea 114. Dependiendo del procesamiento de codificación en un lado del codificador de audio, el decodificador de señales puede comprender un decodificador de entropía tal como un decodificador Huffman, un decodificador aritmético o cualquier otro decodificador de entropía y una etapa de descuantificación conectada posteriormente para llevar a cabo una operación de descuantificación que coincida con una operación del cuantificador en un codificador de audio asociado. Las señales en la línea 112 y 114 se introducen en una calculadora del decodificador 115, la cual emite la primera señal de canal en la línea 117 y una segunda señal de canal en la línea 118, donde estas dos señales son señales estéreo o dos canales de una señal de audio multicanal. Cuando, por ejemplo, la señal de audio multicanal comprende cinco canales, entonces las dos señales son dos canales de la señal multicanal. Con el fin de codificar totalmente dicha señal multicanal que tiene cinco canales se pueden aplicar dos decodificadores ilustrados en la Fig. 1, donde el primer decodificador procesa el canal izquierdo y el canal derecho, el segundo decodificador procesa el canal del entorno izquierdo y el canal del entorno derecho, y un tercer decodificador mono se utilizaría para llevar a cabo una codificación mono del canal central. Sin embargo, también se pueden aplicar otros agrupamientos o combinaciones de codificadores de forma de onda y codificadores paramétricos. Una forma alternativa de generalizar el esquema de predicción a más de dos canales sería tratar tres señales (o más) al mismo tiempo, es decir, predecir una 3ra señal de combinación a partir de una 1ra y 2da señal utilizando dos coeficientes de predicción, de forma muy similar al módulo "dos-a-tres" en el Entorno de MPEG.
[00022] La calculadora del decodificador 116 está configurada para calcular una señal multicanal decodificada que tiene la primera señal de canal decodificada 117 y la segunda señal de canal decodificada 118 mediante el uso de la señal residual decodificada 114, la información de predicción 108 y la primera señal de combinación decodificada 112. Particularmente, la calculadora del decodificador 116 está configurada para operar de tal modo que la primera señal de canal decodificada y la segunda señal de canal decodificada son al menos una aproximación de una primera señal de canal y una segunda señal de canal de la señal multicanal introducidas en un codificador correspondiente, las cuales están combinadas por la regla de combinación cuando se genera la primera señal de combinación y la señal residual de predicción. Específicamente, la información de predicción en la línea 108 comprende una parte de valor real distinta de cero y/o una parte imaginaria distinta de cero.
[00023] La calculadora del decodificador 116 se puede implementar de diversos modos. Una primera implementación está ilustrada en la Fig. 4a. Esta implementación comprende un predictor 1160, una calculadora de señales de combinación 1161 y un combinador 1162. El predictor recibe la primera señal de combinación decodificada 112 y la información de predicción 108 y emite una señal de predicción 1163. Específicamente, el predictor 1160 está configurado para aplicar la información de predicción 108 a la primera señal de combinación decodificada 112 o una señal procedente de la primera señal de combinación decodificada. La regla de derivación para derivar la señal a la cual se aplica la información de predicción 108 puede ser una transformada real-aimaginaria, o por igual, una transformada imaginaria-a-real o una operación de ponderación o, dependiendo de la implementación, una operación de desplazamiento de fase o una operación combinada de ponderación/desplazamiento de fase. La señal de predicción 1163 se introduce junto con la señal residual decodificada en la calculadora de señales de combinación 1161 con el fin de calcular la segunda señal de combinación decodificada 1165. Ambas señales 112 y 1165 se introducen en el combinador 1162, el cual combina la primera señal de combinación decodificada y la segunda señal de combinación para obtener la señal de audio multicanal decodificada que tiene la primera señal de canal decodificada y la segunda señal de canal decodificada en las líneas de salida 1166 y 1167, respectivamente. Alternativamente, la calculadora del decodificador se implementa como una calculadora matriz 1168, el cual recibe, como entrada, la primera señal de combinación decodificada o señal M, la señal residual decodificada o señal D y la información de predicción a 108. La calculadora matriz 1168 aplica una matriz de transformada ilustrada como 1169 a las señales M, D para obtener las señales de salida L, R, donde L es la primera señal de canal decodificada y R es la segunda señal de canal decodificada. La notación en la Fig. 4b se asemeja a una notación estéreo con un canal izquierdo L y un canal derecho R. Se ha aplicado esta notación con el fin de proporcionar una explicación más simple si bien queda claro para los expertos en la técnica que las señales L, R pueden ser cualquier combinación de dos señales de canal en una señal multicanal que tiene más de dos señales de canal. La operación matriz 1169 unifica las operaciones en los bloques 1160, 1161 y 1162 de la Fig. 4a en un tipo de cálculo matriz de “disparo único”, y las entradas en el circuito de la Fig. 4a y las salidas desde el circuito de la Fig. 4a son idénticas a las entradas en la calculadora matriz 1168 o a las salidas desde la calculadora matriz 1168.
[00024] La Fig. 4c ilustra un ejemplo para una regla de combinación inversa aplicada por el combinador 1162 en la Fig. 4a. Particularmente, la regla de combinación es similar a la regla de combinación del lado del decodificador en la codificación central/lateral bien conocida, donde L = M S, y R = M - S. Se entiende que la señal S utilizada por la regla de combinación inversa en la Fig. 4c es la señal calculada por la calculadora de señales de combinación, es decir, la combinación de la señal de predicción en la línea 1163 y la señal residual decodificada en la línea 114. Se entiende que en la presente memoria descriptiva, las señales en las líneas a veces están designadas por los números de referencia para las líneas o a veces están indicadas por los números de referencia como tales, los cuales se han asignado a las líneas. Por lo tanto, la notación es tal que una línea que tiene una determinada señal está indicando la señal propiamente dicha. Una línea puede ser una línea física en una implementación físicamente conectada. En una implementación computarizada, sin embargo, una línea física no existe, pero la señal representada por la línea es transmitida desde un módulo de cálculo hacia el otro módulo de cálculo.
[00025] La Fig. 2 ilustra un codificador de audio para codificar una señal de audio multicanal 200 que tiene dos o más señales de canal, donde una primera señal de canal está ilustrada en 201 y un segundo canal está ilustrado en 202. Ambas señales se introducen en una calculadora del codificador 203 para calcular una primera señal de combinación 204 y una señal residual de predicción 205 utilizando la primera señal de canal 201 y la segunda señal de canal 202 y la información de predicción 206, de modo que cuando se combina la señal residual de predicción 205 con una señal de predicción procedente de la primera señal de combinación 204 y la información de predicción 206 se obtiene una segunda señal de combinación, donde la primera señal de combinación y la segunda señal de combinación pueden obtenerse de la primera señal de canal 201 y la segunda señal de canal 202 utilizando una regla de combinación.
[00026] La información de predicción es generada por un optimizador 207 para calcular la información de predicción 206 de modo que la señal residual de predicción cumple un objetivo de optimización 208. La primera señal de combinación 204 y la señal residual 205 se introducen en un codificador de señales 209 para codificar la primera señal de combinación 204 para obtener una primera señal de combinación codificada 210 y para codificar la señal residual 205 para obtener una señal residual codificada 211. Ambas señales codificadas 210, 211 se introducen en una interfaz de salida 212 para combinar la primera señal de combinación codificada 210 con la señal residual de predicción codificada 211 y la información de predicción 206 para obtener una señal multicanal codificada 213, la cual es similar a la señal multicanal codificada 100 introducida en la interfaz de entrada 102 del decodificador de audio ilustrado en la Fig. 1.
[00027] Dependiendo de la implementación, el optimizador 207 recibe, ya sea la primera señal de canal 201 y la segunda señal de canal 202 o, tal como se ilustra en las líneas 214 y 215, la primera señal de combinación 214 y la segunda señal de combinación 215 procedentes de un combinador 2031 de la Fig. 3a, las cuales se analizarán posteriormente.
[00028] Un objetivo preferido de optimización se ilustra en la Fig. 2, en la cual la ganancia de codificación está potenciada al máximo, es decir, la tasa de bits se reduce tanto como sea posible. En este objetivo de optimización, la señal residual D está reducida al mínimo con respecto a a. Esto significa, en otras palabras, que la información de predicción a está seleccionada de tal modo que ||S - aM||2 está reducida al mínimo. Esto tiene como resultado una solución para a que se ilustra en la Fig. 2. Las señales S, M están proporcionadas en forma de bloque y son preferentemente señales espectrales de dominio, donde la notación ||...|| significa la norma 2 del argumento, y donde <...> ilustra el producto de puntos de forma habitual. Cuando la primera señal de canal 201 y la segunda señal de canal 202 se introducen en el optimizador 207, el optimizador tendría entonces que aplicar la regla de combinación, donde una regla de combinación ejemplar está ilustrada en la Fig. 3c. Sin embargo, cuando la primera señal de combinación 214 y la segunda señal de combinación 215 se introducen en el optimizador 207, entonces el optimizador 207 no necesita implementar la regla de combinación por sí mismo.
[00029] Otros objetivos de optimización pueden estar relacionados con la calidad perceptual. Un objetivo de optimización puede contemplar que se obtenga una calidad perceptual máxima. Entonces, el optimizador necesitaría información adicional procedente de un modelo perceptual. Otras implementaciones del objetivo de optimización pueden referirse a la obtención de una mínima tasa de bits, o una tasa fija de bits. Entonces, el optimizador 207 se implementaría para llevar a cabo una operación de cuantificación/codificación de entropía con el fin de determinar la tasa de bits necesaria para determinados valores a de modo que a se puede fijar para cumplir los requisitos tales como una tasa mínima de bits, o alternativamente, una tasa fija de bits. Otras implementaciones del objetivo de optimización pueden estar relacionadas con un uso mínimo de los recursos del codificador o del decodificador. En el caso de una implementación de dicho objetivo de optimización, la información en los recursos necesarios estaría disponible para una determinada optimización en el optimizador 207. Adicionalmente, una combinación de estos objetivos de optimización u otros objetivos de optimización se pueden aplicar para controlar el optimizador 207, el cual calcula la información de predicción 206.
[00030] La calculadora del codificador 203 en la Fig. 2 se puede implementar en distintas formas, donde una primera implementación ejemplar está ilustrada en la Fig. 3a, en la cual una regla de combinación explícita se lleva a cabo en el combinador 2031. Una implementación alternativa ejemplar está ilustrada en la Fig. 3b, donde se utiliza una calculadora matriz 2039. El combinador 2031 en la Fig. 3a se puede implementar para llevar a cabo la regla de combinación ilustrada en la Fig. 3c, la cual es de manera ejemplar la regla de codificación central/lateral bien conocida, donde un factor de ponderación de 0,5 se aplica a todos los ramales. Sin embargo, se pueden implementar otros factores de ponderación o ningún factor de ponderación dependiendo de la implementación. Adicionalmente, cabe destacar que se pueden aplicar otras reglas de combinación tales como otras reglas de combinación lineales o reglas de combinación que no son lineales, siempre que haya una regla de combinación inversa correspondiente, la cual se puede aplicar en el combinador del decodificador 1162 ilustrado en la Fig. 4a, el cual aplica una regla de combinación que es inversa a la regla de combinación aplicada por el codificador. Debido a la predicción inventiva se puede utilizar cualquier regla de predicción invertible, debido a que la influencia en la forma de onda está “equilibrada” por la predicción, es decir, cualquier error está incluido en la señal residual transmitida, debido a que la operación de predicción llevada a cabo por el optimizador 207 en combinación con la calculadora del codificador 203 es un proceso que conserva la forma de onda.
El combinador 2031 emite la primera señal de combinación 204 y una segunda señal de combinación 2032. La primera señal de combinación se introduce en un predictor 2033, y la segunda señal de combinación 2032 se introduce en la calculadora residual 2034. El predictor 2033 calcula una señal de predicción 2035, la cual se combina con la segunda señal de combinación 2032 para obtener finalmente la señal residual 205. Particularmente, el combinador 2031 está configurado para combinar las dos señales de canal 201 y 202 de la señal de audio multicanal en dos formas distintas para obtener la primera señal de combinación 204 y la segunda señal de combinación 2032, donde las dos formas distintas están ilustradas en una forma de realización ejemplar en la Fig. 3c. El predictor 2033 está configurado para aplicar la información de predicción a la primera señal de combinación 204 o una señal procedente de la primera señal de combinación para obtener la señal de predicción 2035. La señal procedente de la señal de combinación puede proceder de cualquier operación no lineal o lineal, donde se prefiere una transformada real-a-imaginaria/transformada imaginaria-a-real, la cual se puede implementar utilizando un filtro lineal tal como un filtro FIR que lleva a cabo adiciones ponderadas de determinados valores.
La calculadora residual 2034 en la Fig. 3a puede llevar a cabo una operación de sustracción de modo que la señal de predicción se sustrae de la segunda señal de combinación. Sin embargo existen otras operaciones en la calculadora residual. De la misma manera, la calculadora de señales de combinación 1161 en la Fig. 4a puede llevar a cabo una operación de adición donde la señal residual decodificada 114 y la señal de predicción 1163 se agregan juntas para obtener la segunda señal de combinación 1165.
[00031] La Fig. 5a ilustra una implementación preferida de un codificador de audio. En comparación con el codificador de audio ilustrado en la Fig. 3a, la primera señal de canal 201 es una representación espectral de una primera señal de canal de dominio de tiempo 55a. De la misma manera, la segunda señal de canal 202 es una representación espectral de una señal de canal de dominio de tiempo 55b. La conversión desde el dominio de tiempo en la representación espectral es llevada a cabo por un convertidor de tiempo/frecuencia 50 para la primera señal de canal y un convertidor de tiempo/frecuencia 51 para la segunda señal de canal. Preferentemente, pero no necesariamente, los convertidores espectrales 50, 51 están implementados como convertidores de valor real. El algoritmo de conversión puede ser una transformada coseno discreta, una transformada FFT, donde solo se utiliza la parte real, una MDCT o cualquier otra transformada que proporcione valores espectrales de valor real. Alternativamente, ambas transformadas se pueden implementar como una transformada imaginaria, tal como una DST, una MDST o una FFT donde solo se utiliza la parte imaginaria y se descarta la parte real. También se puede utilizar cualquier otra transformada que proporcione solo valores imaginarios. Un motivo por el cual utilizar 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 único valor tal como magnitud o la parte real o, alternativamente, la fase o la parte imaginaria. A diferencia de una transformada totalmente compleja tal como una FFT, tendrían que procesarse dos valores, es decir, la parte real y la parte imaginaria para cada una de las líneas espectrales, lo cual es un aumento de la complejidad computacional por un factor de al menos 2. En este punto, otro motivo para utilizar una transformada de valor real es que dicha transformada generalmente se muestrea críticamente, y de este modo proporciona un dominio adecuado (y comúnmente utilizado) para la cuantificación de señales y la codificación de entropía (el paradigma estándar de "codificación de audio perceptual" implementado en "MP3", AAC, o en sistemas de codificación de audio similares).
[00032] La Fig. 5a ilustra adicionalmente la calculadora residual 2034 como un sumador, el cual recibe la señal lateral como su entrada “más” y el cual recibe la salida de la señal de predicción por el predictor 2033 como su entrada “menos”. Adicionalmente, la Fig. 5a ilustra la situación en la que la información de control del predictor se transmite desde el optimizador hacia el multiplexor 212, el cual emite una corriente de datos multiplexada que representa la señal de audio multicanal codificada. Particularmente, la operación de predicción se lleva a cabo de tal modo que la señal lateral es previsible desde la señal central tal como se ilustra en las ecuaciones a la derecha de la Fig. 5a.
[00033] Preferentemente, la información de control del predictor 206 es un factor tal como se ilustra a la derecha en la Fig. 3b. En una forma de realización en la cual la información de control de predicción solo comprende una porción real tal como la parte real de un a de valor complejo o una magnitud de a de valor complejo, donde esta porción corresponde a un factor distinto de cero, se puede obtener una ganancia de codificación significativa cuando la señal central y la señal lateral son similares entre sí debido a su estructura de forma de onda, pero tienen distintas amplitudes.
[00034] Sin embargo, cuando la información de control de predicción solo comprende una segunda porción, la cual puede ser la parte imaginaria de un factor de valor complejo o la información de fase del factor de valor complejo, donde la parte imaginaria o la información de fase es distinta de cero, la presente invención logra una ganancia de codificación significativa para las señales, las cuales están desfasadas entre sí por un valor distinto de 0° o 180°, y que tienen además del desplazamiento de fase, características de forma de onda similares y relaciones de amplitud similares.
[00035] Preferentemente, una información de control de predicción es de valor complejo. Por lo tanto se puede obtener una ganancia de codificación significativa para las señales que tienen distinta amplitud y que están desfasadas. En una situación en la cual las transformadas de tiempo/frecuencia proporcionan espectros complejos, la operación 2034 sería una operación compleja en la cual la parte real de la información de control del predictor se aplica a la parte real del espectro complejo M y la parte imaginaria de la información de predicción compleja se aplica a la parte imaginaria del espectro complejo. Entonces, en el sumador 2034, el resultado de esta operación de predicción es un espectro real previsible y a espectro imaginario previsible, y el espectro real previsible se sustraería del espectro real de la señal lateral S (en forma de banda), y el espectro imaginario previsible se sustraería de la parte imaginaria del espectro de S para obtener un espectro residual complejo D.
[00036] Las señales de dominio de tiempo L y R son señales de valor real, pero las señales de dominio de frecuencia pueden ser de valor real o complejo. Cuando las señales de dominio de frecuencia son de valor real, entonces la transformada es una transformada de valor real. Cuando las señales de dominio de 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, mientras que las señales de dominio de frecuencia podrían ser, por ejemplo, señales de dominio QMF de valor complejo.
[00037] La Fig. 5b ilustra un decodificador de audio correspondiente al codificador de audio ilustrado en la Fig. 5a. Los elementos similares con respecto al decodificador de audio de la Fig. 1 tienen números de referencia similares.
[00038] La salida de la corriente de bits por el multiplexor de la corriente de bits 212 en la Fig. 5a se introduce en un desmultiplexor de la corriente de bits 102 en la Fig. 5b. El desmultiplexor de la corriente de bits 102 desmultiplexa la corriente de bits en la señal de mezcla descendente M y la señal residual D. La señal de mezcla descendente M se introduce en un descuantificador 110a. La señal residual D se introduce en un descuantificador 110b. Adicionalmente, el desmultiplexor de la corriente de bits 102 desmultiplexa una información de control del predictor 108 desde la corriente de bits e introduce la misma en el predictor 1160. El predictor 1160 emite una señal lateral previsible a ■ M y el combinador 1161 combina la señal residual emitida por el descuantificador 110b con la señal lateral previsible con el fin de obtener finalmente la señal lateral reconstruida S. La señal es introducida a continuación en el combinador 1162, el cual lleva a cabo, por ejemplo, un procesamiento de suma/diferencia, tal como se ilustra en la Fig. 4c con respecto a la codificación central/lateral. Particularmente, el bloque 1162 lleva a cabo una decodificación central/lateral (inversa) para obtener una representación de dominio de frecuencia del canal izquierdo y una representación de dominio de frecuencia del canal derecho. La representación del dominio de frecuencia se convierte a continuación en una representación del dominio de tiempo por los convertidores de frecuencia/tiempo 52 y 53 correspondientes.
[00039] Dependiendo de la implementación del sistema, los convertidores de frecuencia/tiempo 52, 53 son convertidores de valor real de frecuencia/tiempo cuando la representación del dominio de frecuencia es una representación de valor real, o convertidores de frecuencia/tiempo de valor complejo cuando la representación del dominio de frecuencia es una representación de valor complejo.
[00040] Sin embargo, para aumentar la eficacia se prefiere llevar a cabo una transformada de valor real tal como se ilustra en otra implementación en la Fig. 6a para el codificador y en la Fig. 6b para el decodificador. Las transformadas de valor real 50 y 51 son implementadas por una MDCT. Adicionalmente, la información de predicción 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 real-a-imaginario 2070, el cual calcula un espectro imaginario estimado 600 a partir del espectro de valor real de la señal M. Este transformador 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 a 2071 junto con el espectro real M con el fin de calcular la información de predicción 206, la cual ahora tiene un factor de valor real indicado en 2073 y un factor imaginario indicado en 2074. Aquí, según esta forma de realización, el espectro de valor real de la primera señal de combinación M se multiplica por la parte real aR 2073 para obtener la señal de predicción, la cual se sustrae a continuación del espectro lateral de valor real. Adicionalmente, el espectro imaginario 600 se multiplica por la parte imaginaria aI ilustrada en 2074 para obtener la señal de predicción adicional, donde esta señal de predicción se sustrae a continuación del espectro lateral de valor real tal como se indica en 2034b. Entonces, la señal residual de predicción D se cuantifica en el cuantificador 209b, mientras que el espectro de valor real de M se cuantifica/codifica en el bloque 209a. Adicionalmente, se prefiere cuantificar y codificar la información de predicción a en el cuantificador/codificador de entropía 2072 para obtener el valor a complejo codificado, el cual se transmite al multiplexor de la corriente de bits 212 de la Fig. 5a, por ejemplo, y el cual se introduce finalmente en una corriente de bits como la información de predicción.
[00041] Con respecto a la posición del módulo de cuantificación/codificación (Q/C) 2072 para a, se destaca que los multiplicadores 2073 y 2074 preferentemente utilizan exactamente la misma a (cuantificada) que también se utilizará en el decodificador. De este modo se podría mover 2072 directamente hacia la salida de 2071, o se podría considerar que la cuantificación de a ya se ha tenido en cuenta en el proceso de optimización en 2071.
[00042] Aunque se podría calcular un espectro complejo en el lado del codificador debido a que toda la información está disponible, se prefiere realizar la transformada real-a-compleja en el bloque 2070 en el codificador de modo que se produzcan condiciones similares con respecto a un decodificador ilustrado en la Fig. 6b. El decodificador recibe un espectro codificado de valor real de la primera señal de combinación y una representación espectral de valor real de la señal residual codificada. Adicionalmente, se obtiene una información de predicción compleja codificada en 108 y se lleva a cabo una decodificación de entropía y una descuantificación en el bloque 65 para obtener la parte real aR ilustrada en 1160b y la parte imaginaria aI ilustrada en 1160c. Las señales centrales emitidas por los elementos de ponderación 1160b y 1160c se agregan a la señal residual de predicción decodificada y descuantificada. Particularmente, los valores espectrales introducidos en el densificador 1160c, donde la parte imaginaria del factor de predicción compleja se utiliza como el factor de ponderación, proceden del espectro de valor real M por el convertidor real-a-imaginario 1160a, el cual se implementa preferentemente del mismo modo que el bloque 2070 de la Fig. 6a relacionada con el lado del codificador. En el lado del decodificador no hay una representación de valor complejo de la señal central o de la señal 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 decodificador debido a las tasas de bits y por razones de complejidad.
[00043] El transformador real-a-imaginario 1160a o el bloque correspondiente 2070 de la Fig. 6a se puede implementar tal como se publica en el documento WO 2004/013839 A1 o en el documento WO 2008/014853 A1 o en la Patente US N.° 6.980.933. Alternativamente, se puede aplicar cualquier otra implementación conocida en la técnica, y una implementación preferida se describe en el contexto de las Figs. 10a, 10b.
[00044] Específicamente, tal como se ilustra en la Fig. 10a, el convertidor real-a-imaginario 1160a comprende un selector de cuadro espectral 1000 conectado a una calculadora del espectro imaginario 1001. El selector de cuadro espectral 1000 recibe una indicación de un cuadro actual i en la entrada 1002 y, dependiendo de la implementación, información de control en una entrada de control 1003. Cuando, por ejemplo, la indicación en la línea 1002 indica que se tiene que calcular un espectro imaginario para un cuadro actual i, y cuando la información de control 1003 indica que solo se tiene que utilizar el cuadro actual para dicho cálculo, entonces el selector de cuadro espectral 1000 solo selecciona el cuadro actual i y transmite esta información a la calculadora de espectro imaginario. Por lo tanto, la calculadora de espectro imaginario solo utiliza las líneas espectrales del cuadro actual i para llevar a cabo una combinación ponderada de las líneas ubicadas en el cuadro actual (bloque 1008), con respecto a la frecuencia, próxima a, o alrededor de la línea espectral actual k, para la cual se tiene que calcular una línea imaginaria tal como se ilustra en 1004 en la Fig. 10b. Sin embargo, cuando el selector de cuadro espectral 1000 recibe una información de control 1003 que indica que el cuadro anterior i-1 y el cuadro siguiente i+1 se tienen que utilizar también para el cálculo del espectro imaginario, entonces la calculadora de espectro imaginario recibe adicionalmente los valores procedentes de los cuadros i-1 y i+1 y lleva a cabo una combinación ponderada de las líneas 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 ponderación se combinan mediante una combinación ponderada en el bloque 1007 para obtener finalmente una línea imaginaria k para el cuadro fi el cual se multiplica a continuación por la parte imaginaria de la información de predicción en el elemento 1160c para obtener la señal de predicción para esta línea, la cual se agrega a continuación a la línea correspondiente de la señal central en el sumador 1161b para el decodificador. En el codificador se lleva a cabo la misma operación, pero se realiza una sustracción en el elemento 2034b.
[00045] Cabe destacar que la información de control 1003 puede indicar adicionalmente el uso de más cuadros que los dos cuadros circundantes o, por ejemplo, el uso del cuadro actual y exactamente uno o más cuadros anteriores pero sin utilizar cuadros “futuros” con el fin de reducir el retardo sistemático.
[00046] Adicionalmente, cabe destacar que la combinación ponderada en etapas ilustrada en la Fig. 10b, en la cual, en una primera operación se combinan las líneas procedentes de un cuadro y posteriormente se combinan por sí mismos los resultados de dichas operaciones de combinación en cuadros, también se puede llevar a cabo en el otro orden. El otro orden se refiere a que, en un primer paso, las líneas para la frecuencia actual k procedentes de un número de cuadros adyacentes indicados por la información de control 103 se combinan mediante una combinación ponderada. Esta combinación ponderada se lleva a cabo para las líneas k, k-1, k-2, k+1, k+2, etc., dependiendo del número de líneas adyacentes que se van a utilizar para estimar la línea imaginaria. Entonces, los resultados de dichas combinaciones “en tiempo” se someten a una combinación ponderada en la “dirección de frecuencia” para obtener finalmente la línea imaginaria k para el cuadro fi. Los valores ponderados se fijan en un valor -1 y 1 preferentemente, y las ponderaciones se pueden implementar en una combinación directa de filtro FIR o IIR, la cual lleva a cabo una combinación lineal de líneas espectrales o de señales espectrales de distintas frecuencias y distintos cuadros.
[00047] Tal como se indica en las Figs. 6a y 6b, el algoritmo de transformada preferido es el algoritmo de transformada MDCT, el cual se aplica en la dirección anterior en los elementos 50 y 51 en la Fig. 6a y el cual se aplica en la dirección posterior en los elementos 52, 53, a continuación de una operación de combinación en el combinador 1162 que opera en el dominio espectral.
[00048] La Fig. 8a ilustra una implementación más detallada del bloque 50 o 51. Particularmente, se introduce una secuencia de muestras de audio del dominio de tiempo en un sistema de ventanas de análisis 500, el cual lleva a cabo una operación de ventanas que utiliza una ventana de análisis y, particularmente, lleva a cabo esta operación en un cuadro mediante un modo de cuadros pero utilizando un paso o solapamiento del 50%. El resultado del sistema de ventanas de análisis, 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, donde dichos cuadros están afectados por el solapamiento. A modo de ejemplo, el sistema de ventanas de análisis aplica ventanas de análisis que tienen una longitud de 2048 muestras. Entonces, el bloque de transformada MDCT 501 emite espectros de MDCT que tienen 1024 líneas espectrales reales o valores MDCt . Preferentemente, el sistema de ventanas de análisis 500 y/o el transformador de MDCT 501 se pueden controlar mediante un control de longitud de ventana o longitud de transformada 502 de modo que, por ejemplo, para las porciones transitorias en la señal, la longitud de ventana/longitud de transformada se reduce con el fin de obtener mejores resultados de codificación.
[00049] La Fig. 8b ilustra la operación 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 cuadropor-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 síntesis 521, el cual aplica una ventana de síntesis a este cuadro de 2048 muestras. El cuadro dividido en ventanas se transmite a continuación 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 adición de muestra por muestra de modo que un bloque de 2048 muestras finalmente logra 1024 muestras nuevas de la señal de salida libre de solapamiento. De nuevo, se prefiere aplicar un control de longitud de ventana/transformada utilizando información, la cual por ejemplo se transmite en la información lateral de la señal multicanal codificada según lo indicado en 523.
[00050] Los valores de predicción a se podrían calcular para cada una de las líneas espectrales individuales de un espectro de MDCT. Sin embargo se ha descubierto que esto no es necesario y que se puede ahorrar una cantidad significativa de información lateral llevando a cabo un cálculo de bandas de la información de predicción. En otros términos, un convertidor espectral 50 ilustrado en la Fig. 9, el cual es por ejemplo un procesador de MDCT descrito en el contexto de la Fig. 8a, proporciona un espectro de resolución de alta frecuencia que tiene determinadas líneas espectrales ilustradas en la Fig. 9b. Este espectro de resolución de alta frecuencia es utilizado por un selector de línea espectral 90 que proporciona un espectro de resolución de baja frecuencia, el cual comprende determinadas bandas B1, B2, B3, ... , BN. Este espectro de resolución de baja frecuencia es transmitido al optimizador 207 para calcular la información de predicción de modo que no se calcula una información de predicción para cada una de las líneas espectrales, sino que solamente para cada una de las bandas. Con este fin, el optimizador 207 recibe las líneas espectrales por banda y calcula la operación de optimización basándose en la presunción de que se utiliza el mismo valor a para todas las líneas espectrales en la banda.
[00051] Preferentemente, las bandas están configuradas de una forma psicoacústica de modo que el ancho de banda de las bandas aumenta desde frecuencias inferiores hasta frecuencias superiores tal como se ilustra en la Fig. 9b. Alternativamente, a pesar de que no se prefiere tanto como la implementación de ancho de banda en aumento también se podrían utilizar bandas de frecuencia de igual tamaño, donde cada una de las bandas de frecuencia tiene al menos dos o típicamente muchas más, tal como al menos 30 líneas de frecuencia. Típicamente, para un espectro de 1024 líneas espectrales se calculan menos de 30 valores a complejos, y preferentemente, más de 5 valores a. Para los espectros con menos de 1024 líneas espectrales (por ejemplo, 128 líneas) se utilizan preferentemente menos bandas de frecuencia (por ejemplo, 6) para a.
[00052] Para calcular los valores a no se requiere necesariamente el espectro de MDCT de alta resolución. Alternativamente también se puede utilizar un banco de filtros que tiene una resolución de frecuencia similar a la resolución necesaria para calcular los valores a. Cuando se tienen que implementar bandas que aumentan de frecuencia, en ese caso dicho banco de filtros debería tener un ancho de banda variable. Sin embargo, cuando es suficiente un ancho de banda constante de frecuencias bajas a altas, entonces se puede utilizar un banco de filtros tradicional con sub-bandas de ancho equivalente.
[00053] Dependiendo de la implementación, el signo del valor a indicado en la Fig. 3b o 4b se puede invertir. Sin embargo, con el fin de ser coherentes, es necesario que dicha reversión del signo se utilice en el lado del codificador así como en el lado del decodificador. A diferencia de la Fig. 6a, la Fig. 5a ilustra una vista generalizada del codificador, donde el artículo 2033 es un predictor que es controlado por la información de control del predictor 206, la cual se determina en el artículo 207 y la cual se incorpora como información lateral en la corriente de bits. En lugar de la MDCT utilizada en la Fig. 6a en los bloques 50, 51 se utiliza una transformada generalizada de tiempo/frecuencia en la Fig. 5a tal como se describe. Según se ha indicado anteriormente, la Fig. 6a es el proceso del codificador, el cual corresponde al proceso del decodificador en la Fig. 6b, donde L representa la señal izquierda de canal, R representa la señal derecha de canal, M representa la señal central o la señal de mezcla descendente, S representa la señal lateral y D representa la señal residual. Alternativamente, L también se conoce como la primera señal de canal 201, R también se conoce como la segunda señal de canal 202, M también se conoce como la primera señal de combinación 204 y S también se conoce como la segunda señal de combinación 2032.
[00054] Preferentemente, los módulos 2070 en el codificador y 1160a en el decodificador deberían coincidir con el fin de asegurar una correcta codificación de forma de onda. Esto se aplica preferentemente al caso en el cual dichos módulos utilizan alguna forma de aproximación tal como filtros truncados o cuando se utiliza solamente uno o dos en lugar de los tres cuadros de MDCT, es decir, el cuadro de MDCT actual en la línea 60, el cuadro de MDCT anterior en la línea 61 y el cuadro de MDCT siguiente en la línea 62.
[00055] Adicionalmente, se prefiere que el módulo 2070 en el codificador en la Fig. 6a utilice el espectro de MDCT no cuantificado M como entrada, a pesar de que el módulo real-a-imaginario (R21) 1160a en el decodificador tiene solo el espectro de MDCT cuantificado disponible como entrada. Alternativamente se puede utilizar también una implementación en la cual el codificador utiliza los coeficientes de MDCT cuantificados como entrada en el módulo 2070. Sin embargo, el uso del espectro de MDCT no cuantificado como entrada en el módulo 2070 es el procedimiento preferido desde un punto de vista perceptual.
[00056] A continuación se describen más detalladamente diversos aspectos de formas de realización de la presente invención.
[00057] La codificación de estéreo paramétrico estándar se basa en la capacidad del dominio de QMF (híbrido) complejo sobremuestreado de permitir un procesamiento de señales perceptualmente motivado con variación de tiempo y frecuencia sin introducir distorsiones de solapamiento. Sin embargo, en el caso de la codificación de mezcla descendente/residual (como se utiliza para las altas tasas de bits consideradas en el presente contexto), el codificador de estéreo unificado resultante actúa como codificador de forma de onda. Esto permite la operación en un dominio críticamente muestreado, tal como el dominio de MDCT, debido a que el paradigma de codificación de forma de onda asegura que la propiedad de cancelación de solapamiento de la cadena de procesamiento de MDCT-IMDCT se conserve suficientemente bien.
[00058] Sin embargo, con el fin de poder aprovechar la eficacia de codificación mejorada que se puede lograr en el caso de señales estéreo con diferencias de tiempo o fase entre canales por medio de un coeficiente de predicción de valor complejo a se necesita una representación de valor complejo de dominio de frecuencia de la señal de mezcla descendente DMX como entrada en la matriz de mezcla ascendente de valor complejo. Esto se puede obtener utilizando una transformada de MDST además de la transformada de MDCT para la señal DMX. El espectro de MDST se puede computar (de forma exacta o como una aproximación) a partir del espectro de MDCT.
[00059] Asimismo, la parametrización de la matriz de mezcla ascendente se puede simplificar transmitiendo el coeficiente de predicción compleja a en lugar de los parámetros MPS. De este modo se transmiten solo dos parámetros (parte real e imaginaria de a ) en lugar de tres (ICC, CLD, y IPD). Esto resulta posible debido a la redundancia en la parametrización de MPS en el caso de la codificación de mezcla descendente/residual. La parametrización de MPS incluye información acerca de la cantidad relativa de decorrelación que se va a agregar en el decodificador (es decir, la relación de energía entre las señales RES y DMX), y esta información es redundante cuando se transmiten las señales reales DMX y RES.
[00060] Debido a la misma razón, el factor de ganancia g , ilustrado en la matriz de mezcla ascendente anterior, es obsoleto en el caso de la codificación de mezcla descendente/residual. De este modo, la matriz de mezcla ascendente para la codificación de mezcla descendente/residual con predicción compleja es la siguiente:
L ' 1 - a 1 " " DM X "
R 1 a - 1 _ RES _
[00061] En comparación con la Ecuación 1169 en la Fig. 4b, el signo de alfa está invertido en esta ecuación, y DMX=M y RES=D. Esta es, por lo tanto, una implementación/notación alternativa con respecto a la Fig. 4b.
[00062] Existen dos opciones para calcular la señal residual de predicción en el codificador. Una opción consiste en utilizar los valores espectrales de MDCT cuantificados de la mezcla descendente. Esto tendría como resultado la misma distribución de error de cuantificación que en la codificación M/S debido a que el codificador y el decodificador utilizan los mismos valores para generar la predicción. La otra opción consiste en utilizar los valores espectrales de MDCT no cuantificados. Esto implica que el codificador y el decodificador no utilizarán los mismos datos para generar la predicción, lo que permite la redistribución espacial del error de codificación según las propiedades de enmascaramiento instantáneo de la señal a expensas de una ganancia de codificación un tanto reducida.
[00063] 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 según la descripción. Los últimos se pueden considerar como una transformada “real-a-imaginaria” (R2I). La complejidad del cómputo de frecuencia-dominio de la MDST se puede reducir de diversas formas, lo que significa que se calcula solo una aproximación del espectro de MDST:
• Limitando el número de conexiones de filtro FIR.
• Estimando la MDST a partir del cuadro de MDCT real únicamente.
• Estimando la MDST a partir del cuadro de MDCT anterior y actual.
[00064] Siempre que se utilice la misma aproximación en el codificador y en el decodificador, las propiedades de codificación de forma de onda no resultarán afectadas. Dichas aproximaciones del espectro de MDST, sin embargo, pueden causar una reducción en la ganancia de codificación lograda por la predicción compleja.
[00065] En caso de que el codificador de MDCT subyacente soporte la conmutación de forma de ventana, los coeficientes del filtro bidimensional FIR utilizado 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 transición 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 éstos es necesario un conjunto de coeficientes solo para cada tipo de ventana (sin coeficientes adicionales para las transiciones).
[00066] En caso de que el codificador de MDCT subyacente utilice una conmutación de longitud de transformada, incluyendo el cuadro de MDCT anterior y/o siguiente en la aproximación, esto resulta más complicado alrededor de las transiciones entre las distintas longitudes de transformadas. En este caso, debido al distinto número de coeficientes de MDCT en el cuadro actual, anterior/siguiente, el filtrado bidimensional resulta más 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 aproximación para los cuadros respectivos.
[00067] Asimismo, se debe tener especial cuidado con las partes más bajas y más altas del espectro de MDST (próximas a DC y fs/2), donde hay menos coeficientes de MDCT circundantes para el filtrado de FIR que los necesarios. Aquí, el proceso de filtrado necesita adaptarse para computar el espectro de MDST correctamente. Esto se puede llevar a cabo, ya sea utilizando una extensión simétrica del espectro de MDCT para los coeficientes que faltan (según la periodicidad de los espectros de señales discretas de tiempo), o adaptando los coeficientes de filtro de 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 límites del espectro de MDST.
[00068] El cómputo del espectro de MDST exacto desde los espectros de MDCT transmitidos en el decodificador aumenta el retardo del decodificador por un cuadro (aquí se asume que son 1024 muestras).
[00069] El retardo adicional se puede evitar utilizando una aproximación del espectro de MDST que no requiere el espectro de MDCT del cuadro siguiente como entrada.
[00070] La siguiente lista de viñetas resume las ventajas de la codificación estéreo unificada basada en MDCT en comparación con la codificación estéreo unificada basada en QMF:
• Solo un pequeño aumento en la complejidad computacional (cuando no se utiliza SBR).
• Amplía la capacidad hasta una reconstrucción perfecta si los espectros de MDCT no están cuantificados. Cabe destacar que esto no ocurre para la codificación estéreo unificada basada en QMF.
• Extensión natural de la codificación M/S e intensidad de la codificación estéreo.
• Arquitectura de limpieza que simplifica el ajuste del codificador, debido a que el procesamiento de la señal estéreo y la cuantificación/codificación se pueden acoplar fuertemente. Cabe destacar que en la codificación estéreo unificada basada en QMF, los cuadros del Entorno de MPEG y los cuadros de MDCT no están alineados y dichas bandas de factor de escala no coinciden con las bandas del parámetro.
• Optimiza la codificación de parámetros de estéreo, debido a que solo se tienen que transmitir dos parámetros (complejo a ) en lugar de tres parámetros como en el Entorno de MPEG (ICC, CLD, IPD).
• No presenta un retardo adicional en el decodificador si el espectro de MDST se computa como una aproximación (sin utilizar el cuadro siguiente).
[00071] Las propiedades importantes de una implementación 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 cómputo de MDST (aproximación) reduciendo el número de conexiones de filtro FIR y/o el número de cuadros de MDCT utilizados. En particular, si un cuadro adyacente no está disponible debido a la pérdida de cuadro durante la transmisión o la conmutación de longitud de transformada, dicho cuadro particular se excluye del valor estimado de MDST. Para el caso de la conmutación de longitud de transformada, la exclusión se señala en la corriente de bits.
b) Solo dos parámetros, la parte real e imaginaria del coeficiente de predicción compleja a , se transmiten en lugar de ICC, CLD, e IPD. Las partes reales e imaginarias de a se tratan de forma independiente, se limitan al rango [-3,0, 3,0] y se cuantifican con un tamaño de paso de 0,1. Si un determinado parámetro (parte real o imaginaria de a ) no se utiliza en un determinado cuadro, esto se señala en la corriente de bits, y el parámetro irrelevante no se transmite. Los parámetros se codifican de forma diferencial al tiempo o de forma diferencial a la frecuencia y, finalmente, se aplica la codificación de Huffman utilizando el código de factor de escala. Los coeficientes de predicción se actualizan cada dos bandas de factor de escala, lo que produce una resolución de frecuencia similar a la resolución de frecuencia del Entorno de MPEG. Este esquema de cuantificación y codificación tiene como resultado una tasa promedio de bits de aproximadamente 2 kb/s para la información lateral estéreo dentro de una configuración típica que tiene un objetivo de tasa de bits de 96 kb/s.
[00072] Los detalles preferidos, adicionales o alternativos de la implementación comprenden:
c) Para cada uno de los dos parámetros de ase puede elegir una codificación no diferencial (PCM) o diferencial (DPCM) por cuadro o por corriente, señalada por un bit correspondiente en la corriente de bits. Para una codificación DPCM es posible, ya sea una codificación diferencial de tiempo o frecuencia. De nuevo, esto se puede señalar utilizando una bandera de un bit.
d) En lugar de reutilizar un código predefinido tal como el código de factor de escala AAC se puede utilizar un código especializado no variable o adaptativo de señales para codificar los valores del parámetro a, o se puede volver a los códigos de longitud fija (por ejemplo, de 4 bits) no señalados o de dos complementos.
e) El rango de los valores del parámetro a así como el tamaño del paso de cuantificación de parámetros se pueden elegir arbitrariamente y optimizar hasta las características de señales en cuestión.
f) El número y ancho espectral y/o temporal de las bandas de parámetro activo a se pueden elegir arbitrariamente y optimizar hasta las características de señales determinadas. En particular, la configuración de banda se puede señalar por cuadro o por corriente.
g) Además de, o en lugar de los mecanismos delineados en a) anteriormente, se puede señalar explícitamente por medio de un bit por cuadro en la corriente de bits que solo se utiliza el espectro de MDCT del cuadro actual para computar la aproximación del espectro de MDST, es decir, que los cuadros de MDCT adyacentes no se tienen en cuenta.
[00073] Las formas de realización se refieren a un sistema de la invención para la codificación estéreo unificada en el dominio de MDCT. Esto permite utilizar las ventajas de la codificación estéreo unificada en el sistema de USAC del MPEG incluso a tasas de bits más altas (donde no se utiliza SBR) sin el aumento significativo en la complejidad computacional que ocurriría con una estrategia basada en QMF.
[00074] Las dos listas siguientes resumen los aspectos preferidos de la configuración que se han descrito anteriormente, los cuales se pueden utilizar alternativamente entre sí o además de otros aspectos:
1a) concepto general: predicción 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 utilizando 1 o más cuadros (3 cuadros causan retardo);
lc) truncación del filtro (incluso descendiendo hasta 1-cuadro 2-conexiones, es decir, [-1 01]) para reducir la complejidad computacional;
1 d) tratamiento adecuado de DC y fs/2;
le) tratamiento adecuado de conmutación en forma de ventana;
lf) no utilizar un cuadro anterior/siguiente si éste tiene un tamaño de transformada diferente;
lg) predicción basada en coeficientes de MDCT no cuantificados o cuantificados en el codificador;
2a) cuantificar y codificar la parte real e imaginaria del coeficiente de predicción compleja directamente (es decir, sin parametrización del Entorno de MPEG);
2b) utilizar cuantificador uniforme para esto (tamaño de paso, por ejemplo, 0,1);
2c) utilizar una resolución de frecuencia adecuada para los coeficientes de predicción (por ejemplo, 1 coeficiente por 2 Bandas de Factor de Escala);
2d) señalización económica en el caso de que todos los coeficientes de predicción sean reales;
2e) bit explícito por cuadro para impulsar la operación de R2I de 1-cuadro.
[00075] El codificador comprende adicionalmente: un convertidor espectral (50, 51) para convertir una representación del dominio de tiempo de las dos señales de canal en una representación espectral de las dos señales de canal que tienen señales de sub-bandas para las dos señales de canal, donde el combinador (2031), el predictor (2033) y la calculadora de la señal residual (2034) están configurados para procesar cada una de las sub­ bandas por separado de modo que la primera señal combinada y la señal residual se obtienen para una pluralidad de sub-bandas, donde la interfaz de salida (212) está configurada para combinar la primera señal combinada codificada y la señal residual codificada para la pluralidad de sub-bandas.
[00076] Aunque algunos aspectos se han descrito en el contexto de un aparato, queda claro que dichos aspectos solo representan una descripción del procedimiento correspondiente, donde un bloque o dispositivo corresponde a un paso del procedimiento o a una característica de un paso del procedimiento. De forma análoga, los aspectos descritos en el contexto de un paso del procedimiento también representan una descripción de un bloque o artículo o característica correspondiente de un aparato correspondiente.
[00077] En un ejemplo, se aplica un tratamiento adecuado de conmutación de forma de ventana. En la Fig. 10a se ilustra que una información de forma de ventana 109 se puede introducir en la calculadora del espectro imaginario 1001. Específicamente, la calculadora del espectro imaginario, la cual lleva a cabo la conversión real-aimaginaria del espectro de valor real tal como el espectro de MDCT (como por ejemplo el elemento 2070 en la Fig. 6a o el elemento 1160a en la Fig. 6b) se puede implementar como un filtro FIR o IIR. Los coeficientes FIR o IIR en este módulo 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 (KBD, por sus siglas en inglés) y dependiendo de la configuración 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 módulo real-a-imaginario puede comprender un filtro bidimensional FIR, donde una dimensión es la dimensión de tiempo donde dos cuadros de MDCT subsiguientes se introducen en el filtro FIR y la segunda dimensión es la dimensión de frecuencia, donde se introducen los coeficientes de frecuencia de un cuadro.
[00078] La siguiente tabla proporciona distintos coeficientes de filtro MDST para una secuencia de ventana actual para distintas formas de ventana y distintas implementaciones de la mitad izquierda y la mitad derecha de la ventana.
Tabla A - Parámetros de filtro MDSTpara la ventana actual
Figure imgf000017_0001
[00079] Adicionalmente, la información de forma de ventana 109 proporciona información de la forma de ventana para la ventana anterior, cuando se utiliza 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 MDST correspondientes para la ventana anterior.
Tabla B - Parámetros de filtro MDST para la ventana anterior
Figure imgf000017_0002
[00080] De este modo, dependiendo de la información de la forma de ventana 109, la calculadora del espectro imaginario 1001 en la Fig. 10a se adapta aplicando distintos conjuntos de coeficientes de filtro.
[00081] La información de la forma de ventana, la cual se utiliza en el lado del decodificador se calcula en el lado del codificador y se transmite como información lateral junto con la señal de salida del codificador. En el lado del decodificador, la información 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 Fig. 5b) y se proporciona a la calculadora del espectro imaginario 1001 tal como se ilustra en la Fig. 10a.
[00082] Cuando la información de la forma de ventana 109 señala que el cuadro anterior tenía un tamaño de transformada diferente, entonces se prefiere que el cuadro anterior no se utilice para calcular el espectro imaginario a partir del espectro de valor real. Lo mismo ocurre cuando al interpretar la información de la forma de ventana 109 se descubre que el cuadro siguiente tiene un tamaño de transformada diferente. Entonces, el cuadro siguiente no se utiliza para calcular el espectro imaginario a partir del espectro de valor real. En dicho caso cuando, por ejemplo, el cuadro anterior tenía un distinto tamaño de transformada que el cuadro actual y cuando el cuadro siguiente tiene de nuevo un tamaño de transformada diferente en comparación con el cuadro actual, entonces solo el cuadro actual, es decir, los valores espectrales de la ventana actual, se utilizan para estimar el espectro imaginario.
[00083] La predicción en el codificador está basada en los coeficientes de frecuencia no cuantificados o cuantificados tales como los coeficientes de MDCT. Cuando, por ejemplo, la predicción ilustrada por el elemento 2033 en la Fig. 3a , está basada en datos no cuantificados, entonces la calculadora residual 2034 también opera preferentemente en datos no cuantificados y la señal residual de salida de la calculadora, es decir, la señal residual 205 se cuantifica antes de ser codificada por entropía y transmitida a un decodificador. Sin embargo, en una forma de realización alternativa se prefiere que la predicción esté basada en coeficientes de MDCT cuantificados. Entonces, la cuantificación puede ocurrir antes del combinador 2031 en la Fig. 3a de tal modo que un primer canal cuantificado y un segundo canal cuantificado sean la base para calcular la señal residual. Alternativamente, la cuantificación también puede ocurrir a continuación del combinador 2031 de tal modo que la primera señal de combinación y la segunda señal de combinación se calculen de una forma no cuantificada y se cuantifiquen antes de que se calcule la señal residual. De forma alternativa de nuevo, el predictor 2033 puede operar en el dominio no cuantificado y la señal de predicción 2035 se cuantifica antes de ser introducida en la calculadora residual. Entonces, es útil que la segunda señal de combinación 2032, la cual también se introduce en la calculadora residual 2034, también se cuantifique antes de que la calculadora residual calcule la señal residual 070 en la Fig. 6a, la cual se puede implementar dentro del predictor 2033 en la Fig. 3a, opere en los mismos datos cuantificados que estén disponibles en el lado del decodificador. Entonces se puede asegurar que el espectro de MDST estimado en el codificador para llevar a cabo el cálculo de la señal residual sea exactamente el mismo que el espectro de MDST en el lado del decodificador utilizado para llevar a cabo la predicción inversa, es decir, para calcular la señal lateral desde la señal residual. Para tal fin, la primera señal de combinación tal como la señal M en la línea 204 en la Fig. 6a se cuantifica antes de ser introducida en el bloque 2070. Entonces, el espectro de MDST calculado utilizando el espectro de MDCT cuantificado del cuadro actual, y dependiendo de la información 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 Fig. 6a será de nuevo un espectro no cuantificado. Este espectro no cuantificado se sustraerá del espectro introducido en el sumador 2034b y finalmente se cuantificará en el cuantificador 209b.
[00084] En una forma de realización, la parte real y la parte imaginaria del coeficiente de predicción compleja por banda de predicción se cuantifican y codifican directamente, es decir, por ejemplo, sin la parametrización del Entorno MPEG. La cuantificación se puede llevar a cabo utilizando un cuantificador uniforme con un tamaño de paso, por ejemplo, de 0,1. Esto significa que no se aplica ningún tamaño de paso de cuantificación logarítmica o similar, sino que se aplica cualquier tamaño de paso lineal. En una implementación, el rango de valores para la parte real y la parte imaginaria del coeficiente de predicción compleja tiene un rango desde -3 a 3, lo que significa que se utilizan 60 o, dependiendo de los detalles de implementación, 61 pasos de cuantificación para la parte real y la parte imaginaria del coeficiente de predicción compleja.
[00085] Preferentemente, la parte real aplicada en el multiplicador 2073 en la Fig. 6a y la parte imaginaria 2074 aplicada en la Fig. 6a se cuantifican antes de ser aplicadas de modo que se utiliza de nuevo el mismo valor para la predicción en el lado del codificador así como se utiliza en el lado del decodificador. Esto garantiza que la señal residual de predicción abarque, además del error de cuantificación introducido, cualquier error que pudiera ocurrir cuando se aplica un coeficiente de predicción no cuantificado en el lado del codificador mientras se aplica un coeficiente de predicción cuantificado en el lado del decodificador. Preferentemente, la cuantificación se aplica de modo que, en la medida de lo posible, la misma situación y las mismas señales estén disponibles en el lado del codificador y en el lado del decodificador. De este modo se prefiere cuantificar la entrada en la calculadora real-aimaginaria 2070 utilizando la misma cuantificación aplicada en el cuantificador 209a. Adicionalmente se prefiere cuantificar la parte real y la parte imaginaria del coeficiente de predicción a para llevar a cabo las multiplicaciones en el artículo 2073 y en el artículo 2074. La cuantificación es la misma que se aplica en el cuantificador 2072.
Adicionalmente, la señal lateral emitida por el bloque 2031 en la Fig. 6a también se puede cuantificar antes de los sumadores 2034a y 2034b. Sin embargo, no resulta problemático que el cuantificador 209b lleve a cabo la cuantificación posteriormente a la adición, donde la adición por dichos sumadores se aplica con una señal lateral no cuantificada.
[00086] En un ejemplo adicional, se aplica una señalización económica en caso de que todos los coeficientes de predicción sean reales. Puede ocurrir que todos los coeficientes de predicción para un cuadro determinado, es decir, para la misma porción de tiempo de la señal de audio se calculen como reales. Dicha situación puede ocurrir cuando la señal central completa y la señal lateral completa no están desfasadas entre sí o están un poco desfasadas. Con el fin de ahorrar bits, esto es indicado por un único indicador real. Entonces, no es necesario señalar la parte imaginaria del coeficiente de predicción en la corriente de bits con un código que represente un valor cero. En el lado del decodificador, la interfaz del decodificador de la corriente de bits, tal como un desmultiplexor de la corriente de bits, interpretará este indicador real y, a continuación, no buscará palabras clave para una parte imaginaria pero entenderá que todos los bits están en la sección correspondiente de la corriente de bits como bits para coeficientes de predicción de valor real. Asimismo, cuando el predictor 2033 recibe una indicación de que todas las partes imaginarias de los coeficientes de predicción en el cuadro son cero, no necesitará 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 decodificador de la Fig. 6b se desactivará y la predicción inversa solo tendrá lugar utilizando el coeficiente de predicción de valor real aplicado en el multiplicador 1160b en la Fig. 6b. Esto mismo ocurre para el lado del codificador donde el elemento 2070 se desactivará y la predicción solo tendrá lugar utilizando el multiplicador 2073. Esta información lateral se utiliza preferentemente como un bit adicional bit por cuadro y el decodificador leerá este bit, cuadro por cuadro, con el fin de decidir si el convertidor real-a-imaginario 1160a estará activo para un cuadro o no. De este modo, al proporcionar esta información se logra un tamaño reducido de la corriente de bits debido a la señalización más eficaz de todas las partes imaginarias del coeficiente de predicción que son cero para un cuadro y, adicionalmente, proporciona menos complejidad para el decodificador para dicho cuadro logrando inmediatamente un menor consumo de batería de dicho procesador implementado, por ejemplo, en un dispositivo móvil alimentado por batería.
[00087] La predicción compleja estéreo según las formas de realización preferidas de la presente invención es una herramienta para la codificación eficaz de pares de canales con diferencias de nivel y/o fase entre los canales. Al utilizar un parámetro 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.
Figure imgf000019_0001
[00088] La ecuación anterior es otra representación, la cual se divide con respecto a la parte real y a la parte imaginaria de a y representa la ecuación para una operación combinada de predicción/combinación, en la cual la señal previsible S no se calcula necesariamente.
[00089] Los siguientes elementos de datos se utilizan preferentemente para esta herramienta:
cplx_pred_all 0: Algunas bandas utilizan la codificación L/R, señalada por cplx_pred_used[]
1: Todas las bandas utilizan la predicción compleja estéreo
cplx_pred_used[g][sfb] Una bandera de un bit por grupo de ventanas g y banda de factor de escala sfb (después del mapeo a partir de las bandas de predicción) que indica que 0: no se utiliza la predicción compleja, se utiliza la codificación L/R
1: se utiliza la predicción compleja
complex_coef 0: aIm = 0 para todas las bandas de predicción
1: aIm se transmite para todas las bandas de predicción
use_prev_frame 0: utilizar solo el cuadro actual para estimar la MDST
1: utilizar el cuadro actual y anterior para estimar la MDST
delta_code_time 0: codificación diferencial de frecuencia de los coeficientes de predicción
1: codificación diferencial de tiempo de los coeficientes de predicción
hcod_alpha_q_re Código de Huffman de aRe
hcod_alpha_q_im Código de Huffman de aIm
[00090] Estos elementos de datos se calculan en un codificador y se introducen en la información lateral de una señal de audio multicanal o estéreo. Los elementos se extraen de la información lateral en el lado del decodificador por medio de un extractor de información lateral y se utilizan para controlar la calculadora del decodificador para llevar a cabo una acción correspondiente.
[00091] La predicción compleja estéreo requiere 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.
[00092] En el cómputo del valor estimado de la MDST de mezcla descendente se utiliza la longitud de transformada MDCT de valor uniforme, la cual depende de window_sequence, así como de filter_coefs y filter_coefs_prev, los cuales son arreglos que contienen los núcleos de filtro y los cuales se obtienen según las tablas anteriores.
[00093] Para todos los coeficientes de predicción, la diferencia de un valor anterior (en tiempo o frecuencia) se codifica utilizando un código de Huffman. Los coeficientes de predicción no se transmiten para las bandas de predicción para las cuales se utilizó cplx_pred_used = 0.
[00094] Los coeficientes de predicción inversa cuantificados alpha_re y alpha_im son proporcionados por alpha_re = alpha_q_re*0.1
alpha_im = alpha_q_im*0.1
[00095] Cabe destacar que la invención no se aplica solo a señales estéreo, es decir, señales multicanal que solo tienen dos canales, sino que se aplica también a dos canales de una señal multicanal que tiene tres o más canales tales como una señal 5,1 o 7,1.
[00096] Dependiendo de ciertos requisitos para la implementación, las formas de realización de la invención se pueden implementar en un hardware o en un software. La implementación se puede llevar a cabo utilizando un medio digital de almacenamiento, por ejemplo un disco flexible, un DVD, un CD, una ROM (memoria de solo lectura, según sus siglas en inglés), una PROM (memoria programable de solo lectura, según sus siglas en inglés), una EPROM (una PROM borrable, según sus siglas en inglés), una EEPROM (una PROM borrable eléctricamente) o una memoria FLASH, que tiene señales de control legibles electrónicamente almacenadas en el mismo, las cuales colaboran (o son capaces de colaborar) con un sistema informático programable de modo que se lleve a cabo el procedimiento respectivo.
[00097] Algunas formas de realización según la invención comprenden un soporte de datos no temporal o tangible que tiene señales de control legibles electrónicamente, las cuales son capaces de colaborar con un sistema informático programable, de modo que se lleve a cabo uno de los procedimientos descritos en esta invención.
[00098] En general, las formas de realización de la presente invención se pueden implementar como un producto de programa informático con un código de programa el cual es operativo para llevar a cabo uno de los procedimientos cuando el producto de programa informático se ejecuta en un ordenador. El código de programa se puede almacenar, por ejemplo, en un soporte legible por ordenador.
[00099] Otras formas de realización comprenden el programa informático para llevar a cabo uno de los procedimientos descritos en esta invención, almacenados en un soporte legible por máquina.
[000100] En otros términos, una forma de realización del procedimiento de la invención es, por lo tanto, un programa informático que tiene un código de programa para llevar a cabo uno de los procedimientos descritos en esta invención, cuando el programa informático se ejecuta en un ordenador.
[000101] Una forma de realización adicional de los procedimientos de la invención es, por lo tanto, un soporte de datos (o un medio digital de almacenamiento, o un medio legible por ordenador) que comprende, grabado en el mismo, el programa informático para llevar a cabo uno de los procedimientos descritos en esta invención.
[000102] Una forma de realización adicional del procedimiento de la invención es, por lo tanto, una corriente de datos o una secuencia de señales que representa el programa informático para llevar a cabo uno de los procedimientos descritos en esta invención. La corriente de datos o la secuencia de señales pueden estar configuradas, por ejemplo, para ser transferida mediante una conexión de comunicación de datos, por ejemplo, a través de Internet.
[000103] Una forma de realización adicional comprende un medio de procesamiento, por ejemplo, un ordenador, o un dispositivo lógico programable, configurado o adaptado para llevar a cabo uno de los procedimientos descritos en esta invención.
[000104] Una forma de realización adicional comprende un ordenador que tiene instalado el programa informático para llevar a cabo uno de los procedimientos descritos en esta invención.
[000105] En algunas formas de realización se puede utilizar un dispositivo lógico programable (por ejemplo un arreglo de puertas programables de campo) para llevar a cabo algunas o todas las funcionalidades de los procedimientos descritos en esta invención. En algunas formas de realización, un arreglo de puertas programables de campo puede colaborar con un microprocesador con el fin de llevar a cabo uno de los procedimientos descritos en esta invención. En general, los procedimientos son llevados a cabo preferentemente por cualquier aparato de hardware.
[000106] Las formas de realización descritas anteriormente son simplemente ilustrativas de los principios de la presente invención. Cabe entender que las modificaciones y variantes de los arreglos y detalles descritos en esta invención resultarán evidentes para los expertos en la técnica. Por consiguiente, la invención solo está limitada por el alcance de las inminentes reivindicaciones de la patente y no por los detalles específicos presentados a modo de descripción y explicación de las formas de realización incluidas en esta invención.

Claims (10)

REIVINDICACIONES
1. Decodificador de audio para decodificar una señal de audio multicanal codificada (100), comprendiendo la señal de audio multicanal codificada una primera señal de combinación codificada generada en base a una regla de combinación para combinar una primera señal de audio de canal y una segunda señal de audio de canal de una señal de audio multicanal, una señal residual de predicción codificada e información de predicción, que comprende:
un decodificador de señales (110) para decodificar la primera señal de combinación codificada (104) para obtener una primera señal de combinación decodificada (112) y para decodificar la señal residual codificada (106) para obtener una señal residual decodificada (114); y
una calculadora del decodificador (116) para calcular una señal multicanal decodificada que tiene una primera señal de canal decodificada (117), y una segunda señal de canal decodificada (118) utilizando la señal residual decodificada (114), la información de predicción (108) y la primera señal de combinación decodificada (112), de modo que la primera señal de canal decodificada (117) y la segunda señal de canal decodificada (118) son al menos aproximaciones de la primera señal de canal y la segunda señal de canal de la señal multicanal, donde la información de predicción (108) comprende una porción de valor real distinta de cero y/o una porción imaginaria distinta de cero,
en el que la calculadora del decodificador (116) comprende:
un predictor (1160) para aplicar la información de predicción (108) a la primera señal de combinación decodificada (112) o a una señal (601) derivada de la primera señal de combinación decodificada para obtener una señal de predicción (1163);
una calculadora de señal de combinación (1161) para calcular una segunda señal de combinación (1165) combinando la señal residual decodificada (114) y la señal de predicción (1163); y
un combinador (1162) para combinar la primera señal de combinación decodificada (112) y la segunda señal de combinación (1165) para obtener una señal de audio multicanal decodificada que tiene la primera señal de canal decodificada (117) y la segunda señal de canal decodificada (118); y
en el que el predictor (1160) comprende un transformador real-a-imaginario (1160a) que comprende un selector de cuadro espectral (1000) conectado a una calculadora del espectro imaginario (1001) configurado para filtrar al menos dos cuadros subsiguientes de tiempo de la primera señal de combinación decodificada, donde uno de los dos cuadros subsiguientes de tiempo de la primera señal de combinación decodificada precede o sigue un cuadro actual de la primera señal de combinación decodificada para obtener una parte imaginaria estimada de un cuadro actual de la primera señal de combinación decodificada mediante el uso de un filtro lineal (1004, 1005, 1006, 1007), cuando el selector de cuadro espectral (1000) recibe una información de control (1003) que indica que un cuadro anterior o un cuadro siguiente se van a utilizar para el cálculo de la parte imaginaria estimada, o en el que la primera señal de combinación decodificada comprende una secuencia de cuadros de señales de valor real, y en el que el predictor (1160) comprende un transformador real-a-imaginario (1160a) que comprende un selector de cuadro espectral (1000) conectado a una calculadora de espectro imaginaria (1001) configurado para estimar (1160a) la parte imaginaria estimada del cuadro actual de la primera señal de combinación decodificada mediante el uso solo del cuadro de señal de valor real actual, cuando una indicación en una entrada (1002) del selector de cuadro espectral (1000) indica que se va a calcular un espectro imaginario para un cuadro actual, y cuando la información de control (1003) indica que solo el cuadro actual se va a utilizar para la estimación de la parte imaginaria estimada o mediante el uso del cuadro de señal de valor real actual y tanto solo uno o más cuadros de señal de valor real anteriores o solo uno o más cuadros de señal de valor real siguientes o mediante el uso del cuadro de señal de valor real actual y uno o más cuadros de señal de valor real anteriores y uno o más cuadros de señal de valor real siguientes, cuando el selector de cuadro espectral (1000) recibe una información de control (1003) que indica que se va a utilizar el cuadro anterior o el cuadro siguiente o más cuadros que el cuadro anterior o el cuadro siguiente, respectivamente, para la estimación de la parte imaginaria estimada;
en el que la primera señal de combinación decodificada está asociada con diferentes longitudes de transformadas indicadas por un indicador de longitud de transformadas incluido en la señal multicanal codificada (100),
en el que el predictor (1160) está configurado solamente para utilizar uno o más cuadros de la primera señal de combinación decodificada que tiene la misma longitud de transformada asociada para estimar la parte imaginaria del cuadro actual de la primera señal de combinación decodificada,
en el que el predictor (1160) está configurado para multiplicar la primera señal de combinación decodificada por la porción de valor real para obtener una primera parte de la señal de predicción,
en el que el predictor (1160) está configurado para multiplicar la parte imaginaria estimada (601) del cuadro actual de la primera señal de combinación decodificada por la porción imaginaria de la información de predicción (108) para obtener una segunda parte de la señal de predicción; y
en el que la calculadora de señal de combinación (1161) está configurada para combinar de forma lineal la primera parte de la señal de predicción y la segunda parte de la señal de predicción y la señal residual decodificada para obtener una segunda señal de combinación (1165).
2. Decodificador de audio según la reivindicación 1, en el que la primera señal de combinación codificada (104) y la señal residual codificada (106) se han generado utilizando un solapamiento que genera la conversión de tiempo-espectral,
donde el decodificador comprende además:
un convertidor espectral-tiempo (52, 53) para generar una primera señal de canal de dominio de tiempo y una segunda señal de canal de dominio de tiempo utilizando un algoritmo de conversión espectral-tiempo que coincide con el algoritmo de conversión de tiempo-espectral;
un procesador de solapar/agregar (522) para llevar a cabo un procesamiento de solapar-agregar para la primera señal de canal de dominio de tiempo y para la segunda señal de canal de dominio de tiempo para obtener una primera señal de dominio de tiempo sin solapamiento y una segunda señal de dominio de tiempo sin solapamiento.
3. Decodificador de audio según una de las reivindicaciones anteriores,
en el que la primera señal de combinación codificada o decodificada (104) y la señal residual de predicción codificada o decodificada (106) comprenden, cada una, una primera pluralidad de señales de sub-bandas,
en el que la información de predicción comprende una segunda pluralidad de parámetros de información de predicción, siendo la segunda pluralidad más pequeña que la primera pluralidad,
en el que el predictor (1160) está configurado para aplicar el mismo parámetro de predicción al menos a dos señales de sub-bandas diferentes de la primera señal de combinación decodificada,
en el que la calculadora del decodificador (116) o la calculadora de señal de combinación (1161) o el combinador (1162) están configurados para llevar a cabo un procesamiento en sub-bandas; y
en el que el decodificador de audio comprende además un banco de filtros de síntesis (52, 53) para combinar señales de sub-bandas de la primera señal de combinación decodificada y la segunda señal de combinación decodificada para obtener una primera señal decodificada de dominio de tiempo y una segunda señal decodificada de dominio de tiempo.
4. Codificador de audio para codificar una señal de audio multicanal que tiene dos o más señales de canal, que comprende:
una calculadora del codificador (203) para calcular una primera señal de combinación (204) y una señal residual de predicción (205) mediante el uso de una primera señal de canal (201) y una segunda señal de canal (202) e información de predicción (206), teniendo la información de predicción (206) una parte real y una parte imaginaria, de modo que cuando se combina una señal residual de predicción con una señal de predicción derivada de la primera señal de combinación o una señal derivada de la primera señal de combinación y la información de predicción (206) resulta en una segunda señal de combinación (2032), siendo la primera señal de combinación (204) y la segunda señal de combinación (2032) derivables de la primera señal de canal (201) y la segunda señal de canal (202) mediante el uso de una regla de combinación;
un optimizador (207) para calcular la información de predicción (206) de modo que la señal residual de predicción (205) cumple un objetivo de optimización (208);
un codificador de señales (209) para codificar la primera señal de combinación (204) y la señal residual de predicción (205) para obtener una primera señal de combinación codificada (210) y una señal residual codificada (211); y
una interfaz de salida (212) para combinar la primera señal de combinación codificada (210), la señal residual de predicción codificada (211) y la información de predicción (206) para obtener una señal de audio multicanal codificada, en la que la calculadora del codificador (203) comprende:
un combinador (2031) para combinar la primera señal de canal (201) y la segunda señal de canal (202) en dos formas diferentes para obtener la primera señal de combinación (204) y la segunda señal de combinación (2032);
un predictor (2033) para aplicar la información de predicción (206) a la primera señal de combinación (204) o una señal (600) derivada de la primera señal de combinación (204) para obtener una señal de predicción (2035); y
una calculadora de señal residual (2034) para calcular la señal residual de predicción (205) combinando la señal de predicción (2035) y la segunda señal de combinación (2032),
en el que el predictor (2033) está configurado
para multiplicar la primera señal de combinación (204) por la parte real de la información de predicción (2073) para obtener una primera parte de la señal de predicción;
para estimar (2070) una parte imaginaria estimada (600) de la primera señal de combinación mediante el uso de la primera señal de combinación (204); y
para multiplicar la parte imaginaria estimada de la primera señal combinada por la parte imaginaria de la información de predicción (2074) para obtener una segunda parte de la señal de predicción;
en el que la calculadora de señal residual (2034) está configurada para combinar de forma lineal la primera parte de señal de la señal de predicción y la segunda parte de señal de la señal de predicción y la segunda señal de combinación para obtener la señal residual de predicción (205),
en el que el predictor (2033) está configurado para filtrar al menos dos cuadros subsiguientes de tiempo de la primera señal de combinación, donde uno de los dos cuadros subsiguientes de tiempo de la primera señal de combinación precede o sigue a un cuadro actual de la primera señal de combinación mediante el uso de un filtro lineal (1004, 1005, 1006, 1007), o en el que la primera señal de combinación comprende una secuencia de cuadros de señal de valor real y en el que el predictor (2033) está configurado para estimar la parte imaginaria estimada del cuadro actual de la primera señal de combinación mediante el uso solo del cuadro de señal de valor real actual o mediante el uso del cuadro de señal de valor real actual y tanto solo uno o más de los cuadros de señal de valor real anteriores o siguientes o mediante el uso del cuadro de señal de valor real actual y uno o más cuadros de señal de valor real anteriores y uno o más de los cuadros de señal de valor real siguientes, y
en el que el predictor (2033) está configurado para recibir información de la forma de ventana (109) que indica, si un cuadro actual de la primera señal de combinación tiene una longitud de transformada diferente que un cuadro anterior o siguiente de la primera señal de combinación y para utilizar solo uno o más cuadros de la primera señal de combinación que tiene la misma longitud de transformada asociada para estimar la parte imaginaria estimada del cuadro actual de la primera señal de combinación.
5. Codificador de audio según la reivindicación 4, en el que el predictor (2033) comprende un cuantificador para cuantificar la primera señal de canal, la segunda señal de canal, la primera señal de combinación o la segunda señal de combinación para obtener una o más señales cuantificadas, y en el que el predictor (2033) está configurado para calcular la señal residual utilizando señales cuantificadas.
6. Codificador de audio según una de las reivindicaciones 4 a 5,
en el que la primera señal de canal es una representación espectral de un bloque de muestras;
en el que la segunda señal de canal es una representación espectral de un bloque de muestras, en el que las representaciones espectrales son, ya sea representaciones espectrales reales puras o representaciones espectrales imaginarias puras,
en el que el optimizador (207) está configurado para calcular la información de predicción (206) como un factor de valor real distinto de cero y/o como un factor imaginario distinto de cero, y
en el que la calculadora del codificador (203) está configurada para calcular la primera señal de combinación y la señal residual de predicción de modo que la señal de predicción se deriva de la representación espectral real pura o de la representación espectral imaginaria pura mediante el uso del factor de valor real.
7. Codificador de audio según una de las reivindicaciones 4 a 6,
en el que la primera señal de canal es una representación espectral de un bloque de muestras;
en el que la segunda señal de canal es una representación espectral de un bloque de muestras, en el que las representaciones espectrales son, ya sea representaciones espectrales reales puras o representaciones espectrales imaginarias puras,
en el que el optimizador (207) está configurado para calcular la información de predicción (206) como un factor de valor real distinto de cero y/o como un factor imaginario distinto de cero, y
en el que el predictor de la calculadora del codificador (203) comprende un transformador real-a-imaginario (2070) o un transformador imaginario-a-real para obtener una representación espectral de transformada desde la primera señal de combinación, y
en el que la calculadora del codificador (203) está configurada para calcular la primera señal combinada (204) y la primera señal residual (2032) de modo que la señal de predicción se deriva del espectro transformado mediante el uso del factor imaginario.
8. Procedimiento de decodificación de una señal de audio multicanal codificada (100), comprendiendo la señal de audio multicanal codificada una primera señal de combinación codificada basada en una regla de combinación para combinar una primera señal de audio de canal y una segunda señal de audio de canal de una señal de audio multicanal, una señal residual de predicción codificada e información de predicción, que comprende: decodificar (110) la primera señal de combinación codificada (104) para obtener una primera señal de combinación decodificada (112), y decodificar la señal residual codificada (106) para obtener una señal residual decodificada (114); y
calcular (116) una señal multicanal decodificada que tiene una primera señal de canal decodificada (117), y una segunda señal de canal decodificada (118) mediante el uso de la señal residual decodificada (114), la información de predicción (108) y la primera señal de combinación decodificada (112), de modo que la primera señal de canal decodificada (117) y la segunda señal de canal decodificada (118) son al menos aproximaciones de la primera señal de canal y la segunda señal de canal de la señal multicanal, donde la información de predicción (108) comprende una porción de valor real distinta de cero y/o una porción imaginaria distinta de cero,
en el que el cálculo (116) comprende:
aplicar la información de predicción (108) a la primera señal de combinación decodificada (112) o a una señal (601) derivada de la primera señal de combinación decodificada para obtener una señal de predicción (1163);
calcular una segunda señal de combinación (1165) combinando la señal residual decodificada (114) y la señal de predicción (1163); y
combinar la primera señal de combinación decodificada (112) y la segunda señal de combinación (1165) para obtener una señal de audio multicanal decodificada que tiene la primera señal de canal decodificada (117) y la segunda señal de canal decodificada (118); y
en el que la aplicación de la información de predicción comprende mediante el uso de un transformador real-aimaginario (1160a) que comprende un selector de cuadro espectral (1000) conectado a una calculadora del espectro imaginario (1001) para filtrar al menos dos cuadros subsiguientes de tiempo de la primera señal de combinación decodificada, donde uno de los dos cuadros subsiguientes de tiempo precede o sigue a un cuadro actual de la primera señal de combinación decodificada para obtener una parte imaginaria estimada de un cuadro actual de la primera señal de combinación decodificada mediante el uso de un filtro lineal (1004, 1005, 1006, 1007), cuando el selector de cuadro espectral (1000) recibe una información de control (1003) que indica que un cuadro anterior o un cuadro siguiente se van a utilizar para el cálculo de la parte imaginaria estimada, o en el que la primera señal de combinación decodificada comprende una secuencia de cuadros de señales de valor real, y en el que la aplicación de la información de predicción comprende mediante el uso de un transformador real-a-imaginario (1160 a) que comprende un selector de cuadro espectral (1000) conectado a una calculadora de espectro imaginaria (1001) para estimar (1160a) la parte imaginaria del cuadro actual de la primera señal de combinación decodificada mediante el uso solo del cuadro de señal de valor real actual, cuando una indicación en una entrada (1002) del selector de cuadro espectral (1000) indica que se va a calcular un espectro imaginario para un cuadro actual, y cuando la información de control (1003) indica que solo el cuadro actual se va a utilizar para la estimación de la parte imaginaria estimada o mediante el uso del cuadro de señal de valor real actual y tanto solo uno o más cuadros de señal de valor real anteriores o solo uno o más cuadros de señal de valor real siguientes o mediante el uso del cuadro de señal de valor real actual y uno o más cuadros de señal de valor real anteriores y uno o más cuadros de señal de valor real siguientes, cuando el selector de cuadro espectral (1000) recibe una información de control (1003) que indica que se va a utilizar el cuadro anterior o el cuadro siguiente o más cuadros que el cuadro anterior o el cuadro siguiente, respectivamente, para la estimación de la parte imaginaria estimada;
en el que la primera señal de combinación decodificada está asociada con diferentes longitudes de transformadas indicadas por un indicador de longitud de transformadas incluido en la señal multicanal codificada (100),
en el que la aplicación de la información de predicción comprende solamente el uso de uno o más cuadros de la primera señal de combinación decodificada que tiene la misma longitud de transformada asociada para estimar la parte imaginaria estimada para el cuadro actual de la primera señal de combinación decodificada, en el que la aplicación de la información de predicción comprende la multiplicación de la primera señal de combinación decodificada por la porción de valor real para obtener una primera parte de la señal de predicción, en el que la aplicación de la información de predicción comprende la multiplicación de la parte imaginaria estimada (601) del cuadro actual de la primera señal de combinación decodificada por la porción imaginaria de la información de predicción (108) para obtener una segunda parte de la señal de predicción; y
en el que el cálculo de una segunda señal de combinación (1165) comprende la combinación de forma lineal de la primera parte de la señal de predicción y la segunda parte de la señal de predicción y la señal residual decodificada para obtener una segunda señal de combinación (1165).
9. Procedimiento de decodificación de una señal de audio multicanal que tiene dos o más señales de canal, que comprende:
calcular (203) una primera señal de combinación (204) y una señal residual de predicción (205) mediante el uso de una primera señal de canal (201) y una segunda señal de canal (202) e información de predicción (206), teniendo la información de predicción (206) una parte real y una parte imaginaria, de modo que cuando se combina una señal residual de predicción con una señal de predicción derivada de la primera señal de combinación o una señal derivada de la primera señal de combinación y la información de predicción (206) resulta en una segunda señal de combinación (2032) siendo derivables la primera señal de combinación (204) y la segunda señal de combinación (2032) de la primera señal de canal (201) y la segunda señal de canal (202) mediante el uso de una regla de combinación;
calcular (207) la información de predicción (206) de modo que la señal residual de predicción (205) cumpla un objetivo de optimización (208);
codificar (209) la primera señal de combinación (204) y la señal residual de predicción (205) para obtener una primera señal de combinación codificada (210) y una señal residual codificada (211); y combinar (212) la primera señal de combinación codificada (210), la señal residual de predicción codificada (211) y la información de predicción (206) para obtener una señal de audio multicanal codificada, en el que el cálculo (203) comprende:
combinar la primera señal de canal (201) y la segunda señal de canal (202) de dos formas distintas para obtener la primera señal de combinación (204) y la segunda señal de combinación (2032);
aplicar la información de predicción (206) a la primera señal de combinación (204) o una señal (600) derivada de la primera señal de combinación (204) para obtener una señal de predicción (2035); y
calcular la señal residual de predicción (205) combinando la señal de predicción (2035) y la segunda señal de combinación (2032),
en el que la aplicación de la información de predicción comprende:
multiplicar la primera señal de combinación (204) por la parte real de la información de predicción (2073) para obtener una primera parte de la señal de predicción;
estimar (2070) una parte imaginaria estimada (600) de la primera señal de combinación mediante el uso de la primera señal de combinación (204); y
multiplicar la parte imaginaria estimada de la primera señal de combinación por la parte imaginaria de la información de predicción (2074) para obtener una segunda parte de la señal de predicción;
en el que el cálculo de la señal residual (2034) comprende la combinación de forma lineal de la primera parte de la señal de predicción y la segunda parte de la señal de predicción y la segunda señal de combinación para obtener la señal residual de predicción (205),
en el que la estimación (2070) comprende el filtrado de al menos dos cuadros subsiguientes de tiempo de la primera señal de combinación, donde uno de los dos cuadros subsiguientes de tiempo de la primera señal de combinación precede o sigue a un cuadro actual de la primera señal de combinación para obtener una parte imaginaria estimada de un cuadro actual de la primera señal de combinación mediante el uso de un filtro lineal (1004, 1005, 1006, 1007) o en el que la primera señal de combinación comprende una secuencia de cuadros de señal de valor real y en el que la estimación (2070) estima la parte imaginaria estimada del cuadro actual de la primera señal de combinación mediante el uso solo del cuadro de señal de valor real actual o mediante el uso del cuadro de señal de valor real actual y solo uno o más de los cuadros de señal de valor real anteriores o siguientes o mediante el uso del cuadro de señal de valor real actual y uno o más cuadros de señal de valor real anteriores y uno o más cuadros de señal de valor real siguientes, y
en el que la aplicación de la información de predicción comprende la recepción de información de forma de ventana (109) que indica, si un cuadro actual de la primera señal de combinación tiene una longitud de transformada diferente que un cuadro anterior o siguiente de la primera señal de combinación y solo mediante el uso de uno o más cuadros de la primera señal de combinación que tiene la misma longitud de transformada asociada en la estimación de la parte imaginaria estimada del cuadro actual de la primera señal de combinación.
10. Programa informático adaptado para llevar a cabo, cuando se ejecuta en un ordenador o un procesador, el procedimiento de la reivindicación 8 o el procedimiento de la reivindicación 9.
ES15176781T 2010-04-09 2011-03-23 Codificación de audio multicanal que utiliza predicción compleja y un indicador de longitud de transformada Active ES2704261T3 (es)

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
ES2704261T3 true ES2704261T3 (es) 2019-03-15

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 (1)

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

Family Applications After (2)

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

Country Status (2)

Country Link
ES (4) ES2707473T3 (es)
TR (5) TR201901427T4 (es)

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
ES2708581T3 (es) 2019-04-10
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
ES2704261T3 (es) Codificación de audio multicanal que utiliza predicción compleja y un indicador de longitud de transformada
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
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
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
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