ES2980822T3 - Codificación y decodificación de parámetros - Google Patents

Codificación y decodificación de parámetros Download PDF

Info

Publication number
ES2980822T3
ES2980822T3 ES20732888T ES20732888T ES2980822T3 ES 2980822 T3 ES2980822 T3 ES 2980822T3 ES 20732888 T ES20732888 T ES 20732888T ES 20732888 T ES20732888 T ES 20732888T ES 2980822 T3 ES2980822 T3 ES 2980822T3
Authority
ES
Spain
Prior art keywords
signal
information
covariance
synthesis
original
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
ES20732888T
Other languages
English (en)
Inventor
Alexandre Boutheon
Guillaume Fuchs
Markus Multrus
Fabian Küch
Oliver Thiergart
Stefan Bayer
Sascha Disch
Jürgen Herre
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Foerderung der Angewandten Forschung eV
Application granted granted Critical
Publication of ES2980822T3 publication Critical patent/ES2980822T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S3/00Systems employing more than two channels, e.g. quadraphonic
    • H04S3/02Systems employing more than two channels, e.g. quadraphonic of the matrix type, i.e. in which input signals are combined algebraically, e.g. after having been phase shifted with respect to each other
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/01Multi-channel, i.e. more than two input channels, sound reproduction with two speakers wherein the multi-channel information is substantially preserved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/03Aspects of down-mixing multi-channel audio to configurations with lower numbers of playback channels, e.g. 7.1 -> 5.1

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Stereophonic System (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

Se describen varios ejemplos de técnicas de codificación y decodificación. En particular, un sintetizador de audio (300) para generar una señal de síntesis (336, 340, yR) a partir de una señal de mezcla descendente (246, x), comprende: una interfaz de entrada (312) para recibir la señal de mezcla descendente (246, x), teniendo la señal de mezcla descendente (246, x) un número de canales de mezcla descendente e información lateral (228), incluyendo la información lateral (228) información de nivel de canal y correlación (314, ξ, χ) de una señal original (212, y), teniendo la señal original (212, y) un número de canales originales; y un procesador de síntesis (404) para generar, de acuerdo con al menos una regla de mezcla, la señal de síntesis (336, 340, yR) utilizando: información de nivel de canal y correlación (220, 314, ξ, χ) de la señal original (212, y); y la información de covarianza (Cx) asociada con la señal downmix (324, 246, x). (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Codificación y decodificación de parámetros
1. Introducción
[0001] Aquí se describen varios ejemplos de una técnica de decodificación. En particular, una invención para decodificar contenido de audio multicanal a bajas velocidades de bits, por ejemplo, utilizando el marco DirAC. Este procedimiento permite obtener una salida de alta calidad mientras se utilizan tasas de bits bajas. Esto se puede utilizar para muchas aplicaciones, incluida la producción artística, la comunicación y la realidad virtual.
1.1 Técnica anterior
[0002] Esta sección describe brevemente la técnica anterior.
1.1.1 Codificación Discreta de Contenido Multicanal
[0003] El enfoque más sencillo para codificar y transmitir contenido multicanal es cuantificar y codificar directamente las formas de onda de la señal de audio multicanal sin ningún procesamiento o suposición previa. Si bien este procedimiento funciona perfectamente en teoría, hay un inconveniente importante que es el consumo de bits necesario para codificar el contenido multicanal. Por lo tanto, los otros procedimientos que se describirían (así como la invención propuesta) son los llamados "enfoques paramétricos", ya que utilizan meta-parámetros para describir y transmitir la señal de audio multicanal en lugar de la propia señal multicanal de audio original.
1.1.2 MPEG Surround
[0004] MPEG Surround es el estándar ISO/MPEG finalizado en 2006 para la codificación paramétrica de sonido multicanal [1]. Este procedimiento se basa principalmente en dos conjuntos de parámetros:
- Coherenciasentre canales(ICC), que describe la coherencia entre todos y cada uno de los canales de una señal de audio multicanal determinada.
- Ladiferencia de nivel de canal(CLD), que corresponde a la diferencia de nivel entre dos canales de entrada de la señal de audio multicanal.
[0005] Una particularidad de MPEG Surround es el uso de las llamadas "estructuras de árbol", esas estructuras permiten "describir dos canales de entrada por medio de un solo canal de salida" (cita de [1]). Como ejemplo, a continuación se puede encontrar el esquema del codificador de una señal de audio multicanal 5.1 utilizando MPEG Surround. En esta figura, los seis canales de entrada (indicados como "L", "L<s>", "R", "R<s>", "C" y "LFE" en la figura) se procesan sucesivamente a través de un elemento de estructura de árbol (indicado como "R_Ott" en la figura). Cada uno de esos elementos de estructura de árbol producirá un conjunto de parámetros, los ICC y CLD mencionados anteriormente), así como una señal residual que se procesará nuevamente a través de otra estructura de árbol y generará otro conjunto de parámetros. Una vez que se alcanza el final del árbol, los diferentes parámetros calculados previamente se transmiten al decodificador, así como a la señal de mezcla descendente. Esos elementos son utilizados por el decodificador para generar una señal multicanal de salida, el procesamiento del decodificador es básicamente la estructura de árbol inversa utilizada por el codificador.
[0006] La principal fortaleza de MPEG Surround se basa en el uso de esta estructura y de los parámetros mencionados anteriormente. Sin embargo, uno de los inconvenientes de MPEG Surround es su falta de flexibilidad debido a la estructura del árbol. También debido a las especificidades del procesamiento, la degradación de la calidad puede ocurrir en algunos artículos en particular.
[0007] Véase, entre otras cosas, la Fig. 7 que muestra una visión general de un codificador envolvente MPEG para una señal 5.1, extraída de [1],
1.2. Codificación de audio direccional
[0008] La codificación de audio direccional (abreviada "DirAC") [2] también es un procedimiento paramétrico para reproducir audio espacial, fue desarrollado por Ville Pulkki de la universidad de Aalto en Finlandia. DirAC se basa en un procesamiento de banda de frecuencia que utiliza dos conjuntos de parámetros para describir los sonidos espaciales:
- La dirección de llegada (DOA); que es un ángulo en grados que describe la dirección de llegada del sonido predominante en una señal de audio.
- Difusividad; que es un valor entre 0 y 1 que describe qué tan "difuso" es el sonido. Si el valor es 0, el sonido no es difuso y se puede asimilar como una fuente puntual que proviene de un ángulo preciso, si el valor es 1, el sonido es completamente difuso y se supone que proviene de "todos" los ángulos.
Para sintetizar las señales de salida, DirAC asume que se descompone en una parte difusa y no difusa, la síntesis de sonido difuso tiene como objetivo producir la percepción de un sonido circundante, mientras que la síntesis de sonido directo tiene como objetivo generar el sonido predominante.
[0009] Si bien DirAC proporciona salidas de buena calidad, tiene un inconveniente importante: no estaba diseñado para señales de audio multicanal. Por lo tanto, los parámetros DOA y de difusión no son adecuados para describir una entrada de audio multicanal y, como resultado, la calidad de la salida se ve afectada.
1.3. Codificación de señales binaurales
[0010] Binaural Cue Coding (BCC) [3] es un enfoque paramétrico desarrollado por Christof Faller. Este procedimiento se basa en un conjunto similar de parámetros que los descritos para MPEG Surround (c.f. 1.1.2) a saber:
- La diferencia de nivel entre canales (ICLD); que es una medida de las relaciones de energía entre dos canales de la señal de entrada multicanal.
- La diferencia de tiempo entre canales (ICTD); que es una medida del retardo entre dos canales de la señal de entrada multicanal.
- La correlación entre canales (ICC); que es una medida de la correlación entre dos canales de la señal de entrada multicanal.
[0011] El enfoque BCC tiene características muy similares en términos de cálculo de los parámetros a transmitir en comparación con la nueva invención que se describirá más adelante, pero carece de flexibilidad y escalabilidad de los parámetros transmitidos.
1.4. Codificación de objetos de audio espacial MPEG
[0012] La codificación de objetos de audio espacial [4] se mencionará simplemente aquí. Es el estándar MPEG para codificar los llamados objetos de audio, que están relacionados con la señal multicanal hasta cierto punto. Utiliza parámetros similares a MPEG Surround.
1.5 Motivación / Inconvenientes de la Técnica Anterior
1,5. Motivaciones
1.5.1.1 Utilizar el marco DirAC
[0013] Un aspecto de la invención que debe mencionarse es que la invención actual debe encajar dentro del marco de DirAC. Sin embargo, también se mencionó de antemano que los parámetros de DirAC no son adecuados para una señal de audio multicanal. Se darán más explicaciones sobre este tema.
[0014] El procesamiento DirAC original utiliza señales de micrófono o señales ambisónicas. A partir de esas señales, se calculan los parámetros, a saber, la dirección de llegada (DOA) y la difusividad.
[0015] Un primer enfoque que se intentó utilizar el DirAC con señales de audio multicanal fue convertir las señales multicanal en contenido ambisónico utilizando un procedimiento propuesto por Ville Pulkki, descrito en [5]. Luego, una vez que esas señales ambisónicas se derivaron de las señales de audio multicanal, el procesamiento DirAC regular se llevó a cabo utilizando DOA y difusividad. El resultado de este primer intento fue que la calidad y las características espaciales de la señal multicanal de salida se deterioraron y no cumplieron con los requisitos de la aplicación objetivo.
[0016] Por lo tanto, la principal motivación detrás de esta novedosa invención es utilizar un conjunto de parámetros que describa de manera eficiente la señal multicanal y también utilizar el marco DirAC, se darán más explicaciones en la sección 1.1.2.
1.5.1.2 Proporcionar un sistema que funcione a bajas tasas de bits
[0017] Uno de los objetivos y el propósito de la presente invención es proponer un enfoque que permita aplicaciones de bajas tasas de bits. Esto requiere encontrar el conjunto óptimo de datos para describir el contenido multicanal entre el codificador y el decodificador. Esto también requiere encontrar la compensación óptima en términos de números de parámetros transmitidos y calidad de salida.
1.5.1.3 Proporcionar un sistema flexible
[0018] Otro objetivo importante de la presente invención es proponer un sistema flexible que pueda aceptar cualquier formato de audio multicanal destinado a ser reproducido en cualquier configuración de altavoz. La calidad de salida no debe dañarse dependiendo de la configuración de entrada.
1.5.2 Inconvenientes de la técnica anterior
[0019] La técnica anterior mencionada anteriormente como varios inconvenientes que se enumeran en la tabla a continuación.
[0020] El documento EP 3022949 A1 describe un decodificador de audio que no reconstruye una estimación de información de covarianza completa aplicando una regla de estimación o una regla de prototipo.
[0021] El documento WO 2007/11156882 A1 describe un decodificador de audio que no se basa en la covarianza para reconstruir una matriz de mezcla.
2. CAMPO DE LA INVENCIÓN
[0022] La invención se refiere a un sintetizador de audio, un procedimiento para generar una señal de síntesis y una unidad de almacenamiento no transitorio que almacena instrucciones que, cuando son ejecutadas por un procesador, hacen que el procesador realice un procedimiento para generar una señal de síntesis. Con el fin de comprender mejor la invención, también se proporcionan ejemplos de un codificador.
2.1 RESUMEN DE LA INVENCIÓN
[0023] De acuerdo con un aspecto, se proporciona un sintetizador de audio para generar una señal de síntesis a partir de una señal de mezcla descendente, teniendo la señal de síntesis un número plural de canales de síntesis, comprendiendo el sintetizador de audio:
una interfaz de entrada configurada para recibir la señal de mezcla descendente, la señal de mezcla descendente tiene un número plural de canales de mezcla descendente e información secundaria, la información secundaria incluye el nivel de canal e información de correlación de una señal original, la señal original tiene un número plural de canales originales; y
un procesador de síntesis configurado para generar, según al menos una regla de mezcla en forma de una matriz, la señal de síntesis usando:
nivel de canal e información de correlación de la señal original; y
información de covarianza de la señal de mezcla descendente,
donde el sintetizador de audio está configurado para reconstruir una versión objetivo de información de covarianza de la señal original,
donde el sintetizador de audio está configurado para reconstruir la versión objetivo de la información de covarianza en función de una versión estimada de la información de covarianza original, donde la versión estimada de la información de covarianza original se informa al número de canales de síntesis,
donde el sintetizador de audio está configurado para obtener la versión estimada de la información de covarianza original a partir de la información de covarianza de la señal de mezcla descendente,
donde el sintetizador de audio está configurado para obtener la versión estimada de la información de covarianza original aplicando, a la información de covarianza de la señal de mezcla descendente, una regla de estimación que es, o está asociada a, una regla prototipo para calcular una señal prototipo.
[0024] El sintetizador de audio se puede configurar para reconstruir la información de covarianza adaptada al número de canales de la señal de síntesis asignando grupos de canales originales a canales de síntesis individuales, o viceversa, de modo que la información de covarianza objetivo reconstruida se informe al número de canales de la señal de síntesis.
[0025] El sintetizador de audio puede configurarse para reconstruir la información de covarianza adaptada al número de canales de la señal de síntesis generando la información de covarianza objetivo para el número de canales originales y aplicando posteriormente una regla de mezcla descendente o regla de mezcla ascendente y compensación de energía para llegar a la covarianza objetivo para los canales de síntesis.
[0026] El sintetizador de audio se puede configurar para reconstruir la versión objetivo de la información de covarianza en función de una versión estimada de la información de covarianza original, donde la versión estimada de la información de covarianza original se informa al número de canales de síntesis o al número de canales originales.
[0027] El sintetizador de audio puede configurarse para normalizar, para al menos un par de canales, la versiónr
estimada (y) de la información de covarianza original (Cy) en las raíces cuadradas de los niveles de los canales del par de canales.
[0028] El sintetizador de audio puede configurarse para construir una matriz con una versión estimada normalizada de la información de covarianza original.
[0029] El sintetizador de audio puede configurarse para completar la matriz insertando entradas obtenidas en la información secundaria del flujo de bits.
[0030] El sintetizador de audio puede configurarse para desnormalizar la matriz escalando la versión estimada de la información de covarianza original por la raíz cuadrada de los niveles de los canales que forman el par de canales.
[0031] El sintetizador de audio puede configurarse para recuperar, entre la información secundaria de la señal de mezcla descendente, estando el sintetizador de audio configurado además para reconstruir la versión objetivo de la información de covarianza mediante una versión estimada del nivel de canal original e información de correlación de ambos:
información de covarianza para al menos un primer canal o par de canales; y
nivel de canal e información de correlación para al menos un segundo canal o par de canales.
[0032] El sintetizador de audio puede configurarse para preferir el nivel de canal y la información de correlación que describe el canal o par de canales obtenidos a partir de la información secundaria del flujo de bits en lugar de la información de covarianza reconstruida a partir de la señal de mezcla descendente para el mismo canal o par de canales.
[0033] Se puede entender que la versión objetivo reconstruida de la información de covarianza original describe una relación de energía entre un par de canales que se basa, al menos parcialmente, en niveles asociados a cada canal del par de canales.
[0034] El sintetizador de audio puede estar configurado para obtener una versión de dominio de frecuencia, FD, de la señal de mezcla descendente, estando la versión FD de la señal de mezcla descendente en bandas o grupos de bandas, donde diferentes niveles de canal e información de correlación están asociados a diferentes bandas o grupos de bandas, donde el sintetizador de audio está configurado para funcionar de manera diferente para diferentes bandas o grupos de bandas, para obtener diferentes reglas de mezcla para diferentes bandas o grupos de bandas.
[0035] La señal de mezcla descendente se divide en ranuras, donde diferentes niveles de canal e información de correlación están asociados a diferentes ranuras, y el sintetizador de audio está configurado para funcionar de manera diferente para diferentes ranuras, para obtener diferentes reglas de mezcla para diferentes ranuras.
[0036] La señal de mezcla descendente se divide en tramas y cada trama se divide en ranuras, donde el sintetizador de audio está configurado para, cuando la presencia y la posición del transitorio en una trama se señaliza como que está en una ranura de transitorio:
asociar el nivel de canal actual y la información de correlación a la ranura transitoria y/o a las ranuras posteriores a la ranura transitoria de la trama; y
asociar, a la ranura de la trama que precede a la ranura transitoria, el nivel de canal y la información de correlación de la ranura anterior.
[0037] El sintetizador de audio puede configurarse para elegir una regla prototipo configurada para calcular una señal prototipo en función del número de canales de síntesis.
[0038] El sintetizador de audio puede estar configurado para elegir la regla de prototipo entre una pluralidad de reglas de prototipo prealmacenadas.
[0039] El sintetizador de audio puede configurarse para definir una regla de prototipo en función de una selección manual.
[0040] La regla de prototipo puede basarse o incluir una matriz con una primera dimensión y una segunda dimensión, donde la primera dimensión está asociada con la cantidad de canales de mezcla descendente, y la segunda dimensión está asociada con la cantidad de canales de síntesis.
[0041] El sintetizador de audio puede configurarse para funcionar a una velocidad de bits igual o inferior a 160 kbit/s.
[0042] El sintetizador de audio puede comprender además un decodificador de entropía para obtener la señal de mezcla descendente con la información secundaria.
[0043] El sintetizador de audio comprende además un módulo de decorrelación para reducir la cantidad decorrelación entre diferentes canales.
[0044] La señal prototipo se puede proporcionar directamente al procesador de síntesis sin realizar decorrelación.
[0045] Al menos uno del nivel de canal y la información de correlación de la señal original, la al menos una regla de mezcla y la información de covarianza asociada con la señal de mezcla descendente en forma de una matriz.
[0046] La información complementaria incluye una identificación de los canales originales; donde el sintetizador de audio puede configurarse además para calcular la al menos una regla de mezcla utilizando al menos uno del nivel de canal e información de correlación de la señal original, una información de covarianza asociada con la señal de mezcla descendente, la identificación de los canales originales y una identificación de los canales de síntesis.
[0047] El sintetizador de audio puede configurarse para calcular al menos una regla de mezcla mediante descomposición de valor singular, SVD.
[0048] La señal de mezcla descendente se puede dividir en tramas, el sintetizador de audio se configura para suavizar un parámetro recibido, o un valor estimado o reconstruido, o una matriz de mezcla, usando una combinación lineal con un parámetro, o un valor estimado o reconstruido, o una matriz de mezcla, obtenida para una trama anterior.
[0049] El sintetizador de audio puede configurarse para, cuando se señaliza la presencia y/o la posición de un transitorio en una trama, desactivar el suavizado del parámetro recibido, o el valor estimado o reconstruido, o la matriz de mezcla.
[0050] La señal de mezcla descendente se puede dividir en tramas y las tramas se dividen en ranuras, donde el nivel de canal y la información de correlación de la señal original se obtienen a partir de la información secundaria del flujo de bits de una manera trama por trama, donde el sintetizador de audio está configurado para usar, para una trama actual, una matriz de mezcla (o regla de mezcla) obtenida escalando, la matriz de mezcla (o regla de mezcla), según se calcula para la trama actual, mediante un coeficiente que aumenta a lo largo de las ranuras posteriores de la trama actual, y añadiendo la matriz de mezcla (o regla de mezcla) utilizada para la trama anterior en una versión escalada por un coeficiente decreciente a lo largo de las ranuras posteriores de la trama actual.
[0051] El número de canales de síntesis puede ser mayor que el número de canales originales. El número de canales de síntesis puede ser menor que el número de canales originales. El número de canales de síntesis y el número de canales originales pueden ser mayores que el número de canales de mezcla descendente.
[0052] Al menos uno o todo el número de canales de síntesis, el número de canales originales y el número de canales de mezcla descendente es un número plural.
[0053] Según un aspecto, se proporciona un procedimiento para generar una señal de síntesis a partir de una señal de mezcla descendente, teniendo la señal de síntesis un número plural de canales de síntesis, comprendiendo el procedimiento:
recibir una señal de mezcla descendente, teniendo la señal de mezcla descendente un número plural de canales de mezcla descendente, e información secundaria, incluyendo la información secundaria:
nivel de canal e información de correlación de una señal original, la señal original tiene un número plural de canales originales;
generar la señal de síntesis usando el nivel de canal y la información de correlación de la señal original y la información de covarianza de la señal de mezcla descendente, comprendiendo el procedimiento además: reconstruir una versión objetivo de la información de covarianza de la señal original en función de una versión estimada de la información de covarianza original, donde la versión estimada de la información de covarianza original se informa al número de canales de síntesis, donde la versión estimada de la información de covarianza original se obtiene de la información de covarianza de la señal de mezcla descendente, donde la versión estimada de la información de covarianza original se obtiene aplicando, a la información de covarianza de la señal de mezcla descendente, una regla de estimación que es, o está asociada a, una regla prototipo para calcular una señal prototipo.
[0054] De acuerdo con un aspecto, se proporciona una unidad de almacenamiento no transitorio que almacena instrucciones que, cuando son ejecutadas por un procesador, hacen que el procesador realice un procedimiento como el anterior.
3. Ejemplos
3.1 Figuras
[0055]
La Figura 1 muestra una vista general simplificada de un procesamiento según la invención.
La Figura 2a muestra un codificador de audio según la invención.
La Figura 2b muestra otra vista de codificador de audio útil para entender la invención.
La Figura 2c muestra otra vista de codificador de audio útil para entender la invención.
La Figura 2d muestra otra vista de codificador de audio útil para entender la invención.
La Figura 3a muestra un sintetizador de audio (decodificador) según la invención.
La Figura 3b muestra otra vista del sintetizador de audio (decodificador) según la invención.
La Figura 3c muestra otra vista del sintetizador de audio (decodificador) según la invención.
Las Figuras 4a-4d muestran ejemplos de síntesis de covarianza.
La Figura 5 muestra un ejemplo de banco de filtros para un codificador de audio útil para entender la invención. Las Figuras 6a-6c muestran ejemplos de operación de un codificador de audio útil para comprender la invención. La Figura 7 muestra un ejemplo de la técnica anterior.
Las Figuras 8a-8c muestran ejemplos de cómo obtener información de covarianza según la invención.
Las Figuras 9a-9d muestran ejemplos de matrices de coherencia entre canales.
Las Figuras 10a-10b muestran ejemplos de marcos.
La Figura 11 muestra un esquema utilizado por el decodificador para obtener una matriz de mezcla.
3.2 Conceptos sobre la invención
[0056] Se mostrará que los ejemplos se basan en la mezcla descendente del codificador de una señal 212 y el suministro de información de nivel de canal y correlación 220 al decodificador. El decodificador genera una regla de mezcla (matriz de mezcla) a partir del nivel de canal y la información de correlación 220. La información que es importante para la generación de la regla de mezcla incluye información de covarianza (por ejemplo, una matriz de covarianza C<y>) de la señal original 212 e información de covarianza (por ejemplo, una matriz de covarianza C<x>) de la señal de mezcla descendente. Mientras que la matriz de covarianza C<x>puede ser estimada directamente por el decodificador analizando la señal de mezcla descendente, la matriz de covarianza C<y>de la señal original 212 es estimada fácilmente por el decodificador. La matriz de covarianza C<y>de la señal original 212 es en general una matriz simétrica (por ejemplo, una matriz 5x5 en el caso de una señal original de 5 canales 212): mientras que la matriz presenta, en la diagonal, el nivel de cada canal, presenta covarianzas entre los canales en las entradas no diagonales. La matriz es diagonal, ya que la covarianza entre los canales genéricos i y j es la misma que la covarianza entre j e i. Por lo tanto, con el fin de proporcionar al decodificador toda la información de covarianza, es necesario señalar al decodificador 5 niveles en las entradas diagonales y 10 covarianzas para las entradas no diagonales. Sin embargo, se mostrará que es posible reducir la cantidad de información a codificar.
[0057] Además, se mostrará que, en algunos casos, en lugar de los niveles y las covarianzas, se pueden proporcionar valores normalizados. Por ejemplo, se pueden proporcionar coherencias entre canales (ICC, también indicadas con £y) y diferencias de nivel entre canales (ICLD, también indicadas con Xi, que indican valores de energía). Las ICC pueden ser, por ejemplo, valores de correlación proporcionados en lugar de las covarianzas para las entradas
no diagonales de la matriz Cy. Un ejemplo de información de correlación puede estar en la forma
algunos ejemplos, solo una parte de las§jestán realmente codificadas.
[0058] De esta manera, se genera una matriz ICC. Las entradas diagonales de la matriz ICC serían en principio igualmente 1, y por lo tanto no es necesario codificarlas en el flujo de bits. Sin embargo, se ha entendido que es posibleXt= 10 •log¡0( jr~ —)
que el codificador proporcione al decodificador los ICLD, por ejemplo, en la forma '"" (véase también a continuación). En algunos ejemplos, todas lasXiestán realmente codificadas.
[0059] Las Figuras 9a-9d muestra ejemplos de una matriz ICC 900, con valores diagonales "d" que pueden ser ICLDsXiy valores no diagonales indicados con 902, 904, 905, 906, 907 (ver a continuación) que pueden ser ICCs.
[0060] En el presente documento, el producto entre matrices se indica por la ausencia de un símbolo. Por ejemplo, el producto apostado entre la matriz A y la matriz B se indica por AB. La transposición conjugada de una matriz se indica con un asterisco (*).
[0061] Cuando se hace referencia a la diagonal, se entiende la diagonal principal.
3.3 La presente invención
[0062] La Figura 1 muestra un sistema de audio 100 con un lado codificador y un lado decodificador. El lado del codificador puede estar incorporado por un codificador 200, y obtiene una señal de audio 212, por ejemplo, de una unidad de sensor de audio (por ejemplo, micrófonos) o puede obtenerse de una unidad de almacenamiento o de una unidad remota (por ejemplo, a través de una transmisión de radio). El lado del decodificador puede estar incorporado por un decodificador de audio (sintetizador de audio) 300, que puede proporcionar contenido de audio a una unidad de reproducción de audio (por ejemplo, altavoces). El codificador 200 y el decodificador 300 pueden comunicarse entre sí, por ejemplo, a través de un canal de comunicación, que puede ser por cable o inalámbrico (por ejemplo, a través de ondas de radiofrecuencia, luz o ultrasonido, etc.). Por lo tanto, el codificador y/o el decodificador pueden incluir o estar conectados a unidades de comunicación (por ejemplo, antenas, transceptores, etc.) para transmitir el flujo de bits codificado 248 desde el codificador 200 al decodificador 300. En algunos casos, el codificador 200 puede almacenar el flujo de bits codificado 248 en una unidad de almacenamiento (por ejemplo, memoria RAM, memoria FLASH, etc.), para su uso futuro. De manera análoga, el decodificador 300 puede leer el flujo de bits 248 almacenado en una unidad de almacenamiento. En algunos ejemplos, el codificador 200 y el decodificador 300 pueden ser el mismo dispositivo: después de haber codificado y guardado el flujo de bits 248, el dispositivo puede necesitar leerlo para la reproducción de contenido de audio.
[0063] Las figuras 2a, 2b, 2c y 2d muestran ejemplos de codificadores 200. En algunos ejemplos, los codificadores de las Figuras 2a y 2b y 2c y 2d pueden ser iguales y solo diferir entre sí debido a la ausencia de algunos elementos en uno y/o en el otro dibujo.
[0064] El codificador de audio 200 puede configurarse para generar una señal de mezcla descendente 246 a partir de una señal original 212 (la señal original 212 tiene al menos dos (por ejemplo, tres o más) canales y la señal de mezcla descendente 246 tiene al menos un canal de mezcla descendente).
[0065] El codificador de audio 200 puede comprender un estimador de parámetros 218 configurado para estimar el nivel de canal y la información de correlación 220 de la señal original 212. El codificador de audio 200 puede comprender un escritor de flujo de bits 226 para codificar la señal de mezcla descendente 246 en un flujo de bits 248. Por lo tanto, la señal de mezcla descendente 246 se codifica en el flujo de bits 248 de tal manera que tiene información secundaria 228 que incluye el nivel de canal y la información de correlación de la señal original 212. En particular, la señal de entrada 212 puede entenderse, en algunos ejemplos, como una señal de audio de dominio de tiempo, tal como, por ejemplo, una secuencia temporal de muestras de audio. La señal original 212 tiene al menos dos canales que pueden, por ejemplo, corresponder a diferentes micrófonos (por ejemplo, para una posición de audio estéreo o, sin embargo, una posición de audio multicanal), o por ejemplo, corresponder a diferentes posiciones de altavoz de una unidad de reproducción de audio. La señal de entrada 212 puede mezclarse de forma descendente en un bloque de cálculo de mezclador descendente 244 para obtener una versión mezclada de forma descendente 246 (también indicada como x) de la señal original 212. Esta versión de mezcla descendente de la señal original 212 también se denomina señal de mezcla descendente 246. La señal de mezcla descendente 246 tiene al menos un canal de mezcla descendente. La señal de mezcla descendente 246 tiene menos canales que la señal original 212. La señal de mezcla descendente 212 puede estar en el dominio del tiempo.
[0066] La señal de mezcla descendente 246 se codifica en el flujo de bits 248 por el escritor de flujo de bits 226 (por ejemplo, incluyendo un codificador de entropía o un multiplexor, o codificador central) para que un flujo de bits se almacene o transmita a un receptor (por ejemplo, asociado al lado del decodificador). El codificador 200 puede incluir un estimador de parámetros (o bloque de estimación de parámetros) 218. El estimador de parámetros 218 puede estimar el nivel de canal y la información de correlación 220 asociada a la señal original 212. La información de nivel y correlación de canal 220 puede codificarse en el flujo de bits 248 como información secundaria 228. En ejemplos, el escritor de flujo de bits 226 codifica la información de nivel de canal y correlación 220. En ejemplos, a pesar de que la Figura 2b no muestra el escritor de flujo de bits 226 aguas abajo del bloque de cálculo de mezcla descendente 235, el escritor de flujo de bits 226 puede no obstante estar presente. En la Fig. 2c se muestra que el escritor de flujo de bits 226 puede incluir un codificador central 247 para codificar la señal de mezcla descendente 246, a fin de obtener una versión codificada de la señal de mezcla descendente 246. La Fig. 2c también muestra que el escritor de flujo de bits 226 puede incluir un multiplexor 249, que codifica en el flujo de bits 228 tanto la señal de mezcla descendente codificada 246 como el nivel de canal y la información de correlación 220 (por ejemplo, como parámetros codificados) en la información secundaria 228.
[0067] Como se muestra en la Figura 2b (que falta en las Figs. 2a y 2c), la señal original 212 puede ser procesada (por ejemplo, por el banco de filtros 214, véase más adelante) para obtener una versión de dominio de frecuencia 216 de la señal original 212.
[0068] Un ejemplo de estimación de parámetros se muestra en la Figura 6c, donde un estimador de parámetros 218 define parámetros§ jyXi(por ejemplo, parámetros normalizados) que se codificarán posteriormente en el flujo de bits. Los estimadores de covarianza 502 y 504 estiman la covarianza C<x>y C<y>, respectivamente, para la señal de mezcla descendente 246 que se va a codificar y la señal de entrada 212. A continuación, en el bloque ICLD 506, se calculan los parámetros ICL<d x>y se proporcionan al escritor de flujo de bits 246. En el bloque de covarianza- a-coherencia 510, se obtienen las ICC§j(412). En el bloque 250, solo se seleccionan algunas de las ICC para ser codificadas.
[0069] Un bloque de cuantificación de parámetros 222 (Figura 2b) puede permitir obtener el nivel de canal y la información de correlación 220 en una versión cuantificada 224.
[0070] El nivel de canal y la información de correlación 220 de la señal original 212 pueden incluir en general información con respecto a la energía (o nivel) de un canal de la señal original 212. Además o como alternativa, la información de nivel de canal y correlación 220 de la señal original 212 puede incluir información de correlación entre pares de canales, tal como la correlación entre dos canales diferentes. La información de nivel de canal y correlación puede incluir información asociada a la matriz de covarianza C<y>(por ejemplo, en su forma normalizada, como la correlación o ICC) donde cada columna y cada fila están asociadas a un canal particular de la señal original 212, y donde los niveles de canal se describen mediante los elementos diagonales de la matriz C<y>y la información de correlación, y la información de correlación se describe mediante elementos no diagonales de la matriz C<y>. La matriz C<y>puede ser tal que sea una matriz simétrica (es decir, es igual a su transpuesta) o una matriz hermítica (es decir, es igual a su transpuesta conjugada). C<y>es en general semidefinido positivo. En algunos ejemplos, la correlación puede sustituirse por la covarianza (y la información de correlación se sustituye por información de covarianza). Se ha entendido que es posible codificar, en la información secundaria 228 del flujo de bits 248, información asociada a menos de la totalidad de los canales de la señal original 212. Por ejemplo, no es necesario proporcionar un nivel de canal e información de correlación con respecto a todos los canales o todos los pares de canales. Por ejemplo, solo un conjunto reducido de información con respecto a la correlación entre pares de canales de la señal de mezcla descendente 212 puede codificarse en el flujo de bits 248, mientras que la información restante puede estimarse en el lado del decodificador. En general, es posible codificar menos elementos que los elementos diagonales de C<y>, y es posible codificar menos elementos que los elementos fuera de la diagonal de C<y>.
[0071] Por ejemplo, el nivel de canal y la información de correlación pueden incluir entradas de una matriz de covarianza C<y>de la señal original 212 (nivel de canal e información de correlación 220 de la señal original) y/o la matriz de covarianza C<x>de la señal de mezcla descendente 246 (información de covarianza de la señal de mezcla descendente), por ejemplo, en forma normalizada. Por ejemplo, la matriz de covarianza puede asociar cada línea y cada columna a cada canal para expresar las covarianzas entre los diferentes canales y, en la diagonal de la matriz, el nivel de cada canal. En algunos ejemplos, la información de nivel de canal y correlación 220 de la señal original 212 como se codifica en la información secundaria 228 puede incluir solo información de nivel de canal (por ejemplo, solo valores diagonales de la matriz de correlación C<y>) o solo información de correlación (por ejemplo, solo valores fuera de la diagonal de la matriz de correlación C<y>). Lo mismo se aplica a la información de covarianza de la señal de mezcla descendente.
[0072] Como se mostrará posteriormente, el nivel de canal y la información de correlación 220 pueden incluir al menos un valor de coherencia (£y) que describe la coherencia entre dos canales i y j de un par de canales i, j. Además o alternativamente, la información de nivel de canal y correlación 220 puede incluir al menos una diferencia de nivel entre canales, ICLD (Xi). En particular, es posible definir una matriz que tenga valores ICLD o valores de coherencia entre canales, ICC. Por lo tanto, los ejemplos anteriores con respecto a la transmisión de elementos de las matrices Cy y Cx pueden generalizarse para otros valores a codificar (por ejemplo, transmitir) para incorporar la información de nivel y correlación de canal 220 y/o la información de coherencia del canal de mezcla descendente.
[0073] La señal de entrada 212 se puede subdividir en una pluralidad de tramas. Las diferentes tramas pueden tener, por ejemplo, la misma duración de tiempo (por ejemplo, cada una de ellas puede estar constituida, durante el tiempo transcurrido para una trama, por el mismo número de muestras en el dominio del tiempo). Por lo tanto, los fotogramas diferentes tienen, en general, la misma duración de tiempo. En el flujo de bits 248, la señal de mezcla descendente 246 (que puede ser una señal de dominio de tiempo) puede codificarse de una manera trama por trama (o en cualquier caso, su subdivisión en tramas puede determinarse por el decodificador). La información de nivel y correlación de canal 220, codificada como información secundaria 228 en el flujo de bits 248, puede estar asociada a cada trama (por ejemplo, los parámetros de la información de nivel y correlación de canal 220 pueden proporcionarse para cada trama, o para una pluralidad de tramas consecutivas). Por consiguiente, para cada trama de la señal de mezcla descendente 246, se puede codificar una información secundaria asociada 228 (por ejemplo, parámetros) en la información secundaria 228 del flujo de bits 248. En algunos casos, se pueden asociar múltiples tramas consecutivas al mismo nivel de canal e información de correlación 220 (por ejemplo, a los mismos parámetros) como se codifica en la información secundaria 228 del flujo de bits 248. Por consiguiente, un parámetro puede resultar asociado colectivamente a una pluralidad de tramas consecutivas. Esto puede ocurrir, en algunos ejemplos, cuando dos tramas consecutivas tienen propiedades similares o cuando la tasa de bits necesita disminuirse (por ejemplo, debido a la necesidad de reducir la carga útil). Por ejemplo:
en caso de carga útil alta, se aumenta el número de tramas consecutivas asociadas a un mismo parámetro particular, para reducir la cantidad de bits escritos en el flujo de bits;
en caso de una carga útil más baja, se reduce el número de tramas consecutivas asociadas a un mismo parámetro particular, para aumentar la calidad de la mezcla.
[0074] En otros casos, cuando se disminuye la velocidad de bits, se aumenta el número de tramas consecutivas asociadas a un mismo parámetro particular, para reducir la cantidad de bits escritos en el flujo de bits, y viceversa.
[0075] En algunos casos, es posible suavizar parámetros (o valores reconstruidos o estimados, tales como covarianzas) usando combinaciones lineales con parámetros (o valores reconstruidos o estimados, tales como covarianzas) que preceden a un marco actual, por ejemplo, por adición, promedio, etc.
[0076] En algunos ejemplos, una trama puede dividirse entre una pluralidad de ranuras posteriores. La Fig. 10A muestra una trama 920 (subdividida en cuatro ranuras consecutivas 921-924) y la Fig. 10B muestra una trama 930 (subdividida en cuatro ranuras consecutivas 931-934). La duración de las diferentes ranuras puede ser la misma. Si la longitud de la trama es de 20 ms y el tamaño de la ranura de 1,25 ms, hay 16 ranuras en una trama (20/1,25=16).
[0077] La subdivisión de ranuras se puede realizar en bancos de filtros (por ejemplo, 214), que se analizan a continuación.
[0078] Incluso si cada trama (y también cada ranura) puede codificarse en el dominio del tiempo, se puede realizar un análisis banda por banda. En los ejemplos, se analiza una pluralidad de bandas para cada trama (o ranura). Por ejemplo, el banco de filtros se puede aplicar a la señal de tiempo y se pueden analizar las señales de subbanda resultantes. En algunos ejemplos, la información de nivel y correlación de canal 220 también se proporciona banda por banda. Por ejemplo, para cada banda de la señal de entrada 212 o la señal de mezcla descendente 246, se puede proporcionar un nivel de canal asociado e información de correlación 220 (por ejemplo, Cy o una matriz ICC). En algunos ejemplos, el número de bandas se puede modificar en función de las propiedades de la señal y/o de la tasa de bits solicitada, o de las mediciones en la carga útil actual. En algunos ejemplos, cuantas más ranuras se requieran, menos bandas se usarán para mantener una tasa de bits similar.
[0079] Dado que el tamaño de la ranura es más pequeño que el tamaño de la trama (en longitud de tiempo), las ranuras se pueden usar oportunamente en caso de transitorio en la señal original 212 detectado dentro de una trama: el codificador (y en particular el banco de filtros 214) puede reconocer la presencia del transitorio, señalar su presencia en el flujo de bits e indicar, en la información secundaria 228 del flujo de bits 248, en qué ranura de la trama se ha producido el transitorio. Además, los parámetros del nivel de canal y la información de correlación 220, codificados en la información secundaria 228 del flujo de bits 248, pueden asociarse en consecuencia solo a las ranuras que siguen al transitorio y/o la ranura donde se ha producido el transitorio. Por lo tanto, el decodificador determinará la presencia del transitorio y asociará el nivel de canal y la información de correlación 220 solo a los intervalos posteriores al transitorio y/o al intervalo donde se ha producido el transitorio (para los intervalos que preceden al transitorio, el decodificador utilizará el nivel de canal y la información de correlación 220 para la trama anterior). En la Fig. 10A, no se ha producido ningún transitorio, y los parámetros 220 codificados en la información secundaria 228 pueden entenderse, por lo tanto, como asociados a toda la trama 920. En la Fig. 10B, el transitorio se ha producido en la ranura 932: por lo tanto, los parámetros 220 codificados en la información secundaria 228 se referirán a las ranuras 932, 933 y 934, mientras que se supondrá que los parámetros asociados a la ranura 931 son los mismos de la trama que ha precedido a la trama 930.
[0080] En vista de lo anterior, para cada trama (o ranura) y para cada banda, se puede definir un nivel de canal particular e información de correlación 220 relacionada con la señal original 212. Por ejemplo, los elementos de la matriz de covarianza Cy (por ejemplo, covarianzas y/o niveles) se pueden estimar para cada banda.
[0081] Si la detección de un transitorio ocurre mientras múltiples fotogramas están asociados colectivamente al mismo parámetro, entonces es posible reducir el número de fotogramas asociados colectivamente al mismo parámetro, para aumentar la calidad de la mezcla.
[0082] La Fig. 10a muestra la trama 920 (aquí indicada como "trama normal") para la cual, en la señal original 212, se definen ocho bandas (las ocho bandas 1...8 se muestran en ordenadas, mientras que las ranuras 921- 924 se muestran en abscisas). Los parámetros del nivel de canal y la información de correlación 220 pueden codificarse en teoría, en la información secundaria 228 del flujo de bits 248, en una forma de banda por banda (por ejemplo, habría una matriz de covarianza para cada banda original). Sin embargo, con el fin de reducir la cantidad de información secundaria 228, el codificador puede agregar múltiples bandas originales (por ejemplo, bandas consecutivas), para obtener al menos una banda agregada formada por múltiples bandas originales. Por ejemplo, en la Figura 10A, las ocho bandas originales se agrupan para obtener cuatro bandas agregadas (la banda agregada 1 está asociada a la banda original 1; la banda agregada 2 está asociada a la banda original 2; la banda agregada 3 agrupa las bandas originales 3 y 5; la banda agregada 4 agrupa las bandas originales 5...8). Las matrices de covarianza, correlación, ICC, etc., pueden asociarse a cada una de las bandas agregadas. En algunos ejemplos, lo que se codifica en la información secundaria 228 del flujo de bits 248, son parámetros obtenidos a partir de la suma (o media, u otra combinación lineal) de los parámetros asociados a cada banda agregada. Por lo tanto, el tamaño de la información secundaria 228 del flujo de bits 248 se reduce aún más. A continuación, "banda agregada" también se denomina "banda de parámetros", ya que se refiere a aquellas bandas utilizadas para determinar los parámetros 220.
[0083] La Fig. 10B muestra la trama 931 (subdividida en cuatro ranuras consecutivas 931-934, o en otro número entero) donde se produce un transitorio. Aquí, el transitorio ocurre en la segunda ranura 932 ("ranura transitoria"). En este caso, el decodificador puede decidir referir los parámetros del nivel de canal y la información de correlación 220 solo a la ranura transitoria 932 y/o a las ranuras posteriores 933 y 934. No se proporcionará la información de nivel y correlación de canal 220 del intervalo anterior 931: se ha entendido que el nivel de canal y la información de correlación del intervalo 931 serán en principio particularmente diferentes del nivel de canal y la información de correlación de los intervalos, pero probablemente serán más similares al nivel de canal y la información de correlación de la trama que precede a la trama 930. Por consiguiente, el decodificador aplicará el nivel de canal y la información de correlación de la trama que precede a la trama 930 a la ranura 931, y el nivel de canal y la información de correlación de la trama 930 solo a las ranuras 932, 933 y 934.
[0084] Dado que la presencia y la posición de las ranuras 931 con el transitorio pueden señalizarse (por ejemplo, en 261, como se muestra más adelante) en la información secundaria 228 del flujo de bits 248, se ha desarrollado una técnica para evitar o reducir el aumento del tamaño de la información secundaria 228: las agrupaciones entre las bandas agregadas pueden cambiarse: por ejemplo, la banda agregada 1 ahora agrupará las bandas originales 1 y 2, la banda agregada 2 agrupará las bandas originales 3...8. Por lo tanto, el número de bandas se reduce aún más con respecto al caso de la Fig. 10A, y los parámetros solo se proporcionarán para dos bandas agregadas.
[0085] La Figura 6a muestra que el bloque de estimación de parámetros (estimador de parámetros) 218 es capaz de recuperar un cierto número de información de nivel de canal y correlación 220.
[0086] La Figura 6a muestra que el estimador de parámetros 218 es capaz de recuperar un cierto número de parámetros (nivel de canal e información de correlación 220), que pueden ser las ICC de la matriz 900 de las Figs. 9a-9d.
[0087] Pero, solo una parte de los parámetros estimados se envía realmente al escritor de flujo de bits 226 para codificar la información secundaria 228. Esto se debe a que el codificador 200 puede configurarse para elegir (en un bloque de determinación 250 no mostrado en las Fig. 1 -5) si codificar o no codificar al menos parte del nivel de canal y la información de correlación 220 de la señal original 212.
[0088] Esto se ilustra en la Fig. 6a como una pluralidad de interruptores 254 que están controlados por una selección (comando) 254 del bloque de determinación 250. Si cada una de las salidas 220 de la estimación de parámetros de bloque 218 es una ICC de la matriz 900 de la Fig. 9c, no todos los parámetros estimados por el bloque de estimación de parámetros 218 están realmente codificados en la información secundaria 228 del flujo de bits 248: en particular, mientras que las entradas 908 (ICC entre los canales: R y L; C y L; C y R; RS y CS) están realmente codificados, las entradas 907 no están codificadas (es decir, el bloque de determinación 250, que puede ser el mismo que el de la Fig. 6c, puede considerarse que ha abierto los interruptores 254 para las entradas no codificadas 907, pero ha cerrado los interruptores 254 para las entradas 908 que se codificarán en la información secundaria 228 del flujo de bits 248). Cabe señalar que la información 254' donde se han seleccionado los parámetros a codificar (entradas 908) puede codificarse (por ejemplo, como un mapa de bits u otra información donde se codifican las entradas 908). En la práctica, la información 254' (que puede ser, por ejemplo, un mapa ICC) puede incluir los índices (esquematizados en la Fig. 9d) de las entradas codificadas 908. La información 254' puede estar en forma de un mapa de bits: por ejemplo, la información 254' puede estar constituida por un campo de longitud fija, cada posición está asociada a un índice de acuerdo con un ordenamiento predefinido, el valor de cada bit proporciona información sobre si el parámetro asociado a ese índice se proporciona realmente o no.
[0089] En general, el bloque de determinación 250 puede elegir si codificar o no codificar al menos una parte del nivel de canal y la información de correlación 220 (es decir, decidir si una entrada de la matriz 900 se va a codificar o no), por ejemplo, sobre la base de la información de estado 252. La información de estado 252 puede basarse en un estado de carga útil: por ejemplo, en caso de que una transmisión esté altamente cargada, será posible reducir la cantidad de información secundaria 228 a codificar en el flujo de bits 248. Por ejemplo, y con referencia a 9c: en caso de carga útil alta, se reduce el número de entradas 908 de la matriz 900 que están realmente escritas en la información secundaria 228 del flujo de bits 248;
en caso de menor carga útil, se reduce el número de entradas 908 de la matriz 900 que están realmente escritas en la información secundaria 228 del flujo de bits 248.
[0090] Alternativa o adicionalmente, las métricas 252 pueden evaluarse para determinar qué parámetros 220 deben codificarse en la información secundaria 228 (por ejemplo, qué entradas de la matriz 900 están destinadas a ser entradas codificadas 908 y cuáles deben descartarse). En este caso, es posible codificar solo en el flujo de bits los parámetros 220 (asociados a métricas más sensibles, por ejemplo, las métricas que están asociadas a una covarianza más perceptualmente significativa pueden asociarse a entradas que se elegirán como entradas codificadas 908).
[0091] Se observa que este proceso puede repetirse para cada trama (o para múltiples tramas, en caso de muestreo descendente) y para cada banda.
[0092] Por consiguiente, el bloque de determinación 250 también puede ser controlado, además de las métricas de estado, etc., por el estimador de parámetros 218, a través del comando 251 en la Fig. 6a.
[0093] En algunos ejemplos (por ejemplo, la figura 6b), el codificador de audio puede estar configurado además para codificar, en el flujo de bits 248, el nivel de canal actual y la información de correlación 220t como incremento 220k con respecto a la información de nivel de canal y de correlación anterior 220(H). Lo que está codificado por este escritor de flujo de bits 226 en la información secundaria 228 puede ser un incremento 220k asociado a una trama (o ranura) actual con respecto a una trama anterior. Esto se muestra en la Figura 6b. Se proporciona un nivel de canal actual e información de correlación 220t a un elemento de almacenamiento 270 para que el elemento de almacenamiento 270 almacene el valor del nivel de canal actual e información de correlación 220t para la trama posterior. Mientras tanto, el nivel de canal actual y la información de correlación 220t pueden compararse con el nivel de canal y la información de correlación 220(t-1) obtenidos previamente. (Esto se muestra en la Figura 6b como el restador 273). Por consiguiente, el resultado 220A de una resta puede ser obtenido por el restador 273. La diferencia 220A puede usarse en el escalador 220s para obtener un incremento relativo 220k entre el nivel de canal anterior y la información de correlación 220(t-1) y el nivel de canal actual y la información de correlación 220t. Por ejemplo, si el nivel de canal actual y la información de correlación 220t son 10% mayores que el nivel de canal anterior y la información de correlación 220(t-1), el incremento 220 codificado en la información secundaria 228 por el escritor de flujo de bits 226 indicará la información del incremento del 10%. En algunos ejemplos, en lugar de proporcionar el incremento relativo 220k, simplemente se puede codificar la diferencia 220A.
[0094] La elección de los parámetros que se codificarán realmente, entre los parámetros como ICC e ICLD como se discutió anteriormente y a continuación, puede adaptarse a la situación particular. Por ejemplo, en algunos ejemplos:
para una primera trama, solo las ICC 908 de la Fig. 9c se seleccionan para codificarse en la información secundaria 228 del flujo de bits 248, mientras que las ICC 907 no se codifican en la información secundaria 228 del flujo de bits 248;
para una segunda trama, se seleccionan diferentes ICC para ser codificadas, mientras que diferentes ICC no seleccionadas no están codificadas.
[0095] Lo mismo puede ser válido para ranuras y bandas (y para diferentes parámetros, como los ICLD). Por lo tanto, el codificador (y en particular el bloque 250) puede decidir qué parámetro se va a codificar y cuál no, adaptando así la selección de los parámetros a codificar a la situación particular (por ejemplo, estado, selección...). Por lo tanto, se puede analizar una "característica de importancia", para elegir qué parámetro codificar y cuál no codificar. La característica de importancia puede ser una métrica asociada, por ejemplo, a los resultados obtenidos en la simulación de operaciones realizadas por el decodificador. Por ejemplo, el codificador puede simular la reconstrucción del decodificador de los parámetros de covarianza no codificados 907, y la característica de importancia puede ser una métrica que indique el error absoluto entre los parámetros de covarianza no codificados 907 y los mismos parámetros que presumiblemente reconstruyó el decodificador. Al medir los errores en diferentes escenarios de simulación (por ejemplo, cada escenario de simulación está asociado a la transmisión de algunos parámetros de covarianza codificados 908 y la medición de los errores que afectan a la reconstrucción de los parámetros de covarianza no codificados 907), es posible determinar el escenario de simulación que se ve menos afectado por los errores (por ejemplo, el escenario de simulación para el que las métricas con respecto a todos los errores en la reconstrucción), para distinguir los parámetros de covarianza 908 que se codificarán de los parámetros de covarianza 907 que no se codificarán en función del escenario de simulación menos afectado. En el escenario menos afectado, los parámetros no seleccionados 907 son aquellos que son más fácilmente reconstruibles, y los parámetros seleccionados 908 son tendencialmente aquellos para los cuales las métricas asociadas al error serían mayores.
[0096] Lo mismo se puede realizar, en lugar de simular parámetros como ICC e ICLD, simulando la reconstrucción o estimación de la covarianza del decodificador, o simulando las propiedades de mezcla o los resultados de la mezcla. En particular, la simulación puede realizarse para cada trama o para cada ranura, y puede realizarse para cada banda o banda agregada.
[0097] Un ejemplo puede ser simular la reconstrucción de la covarianza utilizando la ecuación (4) o (6) (véase más adelante), a partir de los parámetros codificados en la información secundaria 228 del flujo de bits 248. Más en general, es posible reconstruir el nivel de canal y la información de correlación a partir del nivel de canal seleccionado y la información de correlación, simulando así la estimación, en el decodificador (300), del nivel de canal no seleccionado y la información de correlación (220, C<y>), y calcular la información de error entre:
el nivel de canal no seleccionado y la información de correlación (220) según lo estimado por el codificador; y la información de nivel de canal y correlación no seleccionada reconstruida simulando la estimación, en el decodificador (300), de información de nivel de canal y correlación no codificada (220); y
para distinguir, en función de la información de error calculada:
información de correlación y nivel de canal adecuadamente reconstruible; de
información de correlación y nivel de canal no reconstruible adecuadamente,
para decidir:
la selección del nivel de canal no adecuadamente reconstruible y la información de correlación a codificar en la información secundaria (228) del flujo de bits (248); y
la no selección del nivel de canal correctamente reconstruible y la información de correlación, absteniéndose así de codificar en la información secundaria (228) del flujo de bits (248) el nivel de canal correctamente reconstruible y la información de correlación.
En términos generales, el codificador puede simular cualquier operación del decodificador y evaluar una métrica de error a partir de los resultados de la simulación.
[0098] En algunos ejemplos, la característica de importancia puede ser diferente (o comprender otras métricas diferentes) de la evaluación de una métrica asociada a los errores. En algunos casos, la característica de importancia puede estar asociada a una selección manual o basada en una importancia basada en criterios psicoacústicos. Por ejemplo, los pares de canales más importantes pueden seleccionarse para codificarse (908), incluso sin una simulación.
[0099] Ahora, se proporciona alguna discusión adicional para explicar cómo el codificador puede señalar qué parámetros 908 están realmente codificados en la información secundaria 220 del flujo de bits 248.
[0100] Con referencia a la Fig. 9d, los parámetros sobre la diagonal de una matriz ICC 900 están asociados a índices ordenados 1...10 (el orden está predeterminado y es conocido por el decodificador). En la Fig. 9c se muestra que los parámetros seleccionados 908 a codificar son ICC para las parejas L-R, L-C, R-C, LS-RS, que están indexados por los índices 1, 2, 5, 10, respectivamente. Por consiguiente, en la información complementaria 228 del flujo de bits 248, también se proporcionará una indicación de los índices 1,2, 5, 10 (por ejemplo, en la información 254' de la Fig. 6a). Por consiguiente, el decodificador entenderá que las cuatro ICC proporcionadas en la información complementaria 228 del flujo de bits 248 son L-R, L-C, R-C, LS-Rs , en virtud de la información sobre los índices 1,2,5, 10 también proporcionada, por el codificador, en la información complementaria 228. Los índices pueden proporcionarse, por ejemplo, a través de un mapa de bits que asocia la posición de cada bit en el mapa de bits al predeterminado. Por ejemplo, para señalizar los índices 1,2,5,10, es posible escribir "1100100001" (en el campo 254' de la información secundaria 228), ya que el primer, segundo, quinto y décimo bits se refieren a los índices 1, 2, 5, 10 (el experto en la técnica dispone de otras posibilidades). Se trata de un denominado índice unidimensional, pero son posibles otras estrategias de indexación. Por ejemplo, una técnica de número combinatorio, según la cual se codifica un número N (en el campo 254' de la información secundaria 228) que está asociado unívocamente a un par particular de canales (véase también el_sistema de números https://en.wikipedia.org/wiki/Combinatorial number system). El mapa de bits también puede denominarse mapa ICC cuando se refiere a ICC.
[0101] Se observa que en algunos casos, se utiliza una provisión no adaptativa (fija) de los parámetros. Esto significa que, en el ejemplo de la Figura 6a, la elección 254 entre los parámetros a codificar es fija, y no hay necesidad de indicar en el campo 254' los parámetros seleccionados. La Fig. 9b muestra un ejemplo de provisión fija de los parámetros: las ICC elegidas son L-C, L-LS, R-C, C-RS, y no hay necesidad de señalizar sus índices, ya que el decodificador ya sabe qué ICC están codificadas en la información secundaria 228 del flujo de bits 248.
[0102] En algunos casos, sin embargo, el codificador puede realizar una selección entre una provisión fija de los parámetros y una provisión adaptativa de los parámetros. El codificador puede señalar la elección en la información secundaria 228 del flujo de bits 248, de modo que el decodificador pueda saber qué parámetros están realmente codificados.
[0103] En algunos casos, se pueden proporcionar al menos algunos parámetros sin adaptación: por ejemplo:
los ICDL pueden codificarse en cualquier caso, sin necesidad de indicarlos en un mapa de bits; y
las ICC pueden estar sujetas a una disposición adaptativa.
[0104] Las explicaciones se refieren a cada cuadro, ranura o banda. Para una trama, o ranura, o banda posterior, se deben proporcionar diferentes parámetros 908 al decodificador, se asocian diferentes índices a la trama, o ranura, o banda posterior; y se pueden realizar diferentes selecciones (por ejemplo, fijas frente a adaptativas). La Fig. 5 muestra un ejemplo de un banco de filtros 214 del codificador 200 que se puede utilizar para procesar la señal original 212 para obtener la señal de dominio de frecuencia 216. Como se puede observar a partir de la Fig. 5, la señal de dominio de tiempo (TD) 212 se puede analizar, mediante el bloque de análisis de transitorios 258 (detector de transitorios). Además, una conversión en una versión de dominio de frecuencia (FD) 264 de la señal de entrada 212, en múltiples bandas, es proporcionada por el filtro 263 (que puede implementar, por ejemplo, un filtro de Fourier, un filtro de Fourier corto, un espejo de cuadratura, etc.). La versión de dominio de frecuencia 264 de la señal de entrada 212 puede analizarse, por ejemplo, en el bloque de análisis de banda 267, que puede decidir (comando 268) un agrupamiento particular de las bandas, que se realizará en el bloque de agrupamiento de partición 265. Después de eso, la señal FD 216 será una señal en un número reducido de bandas agregadas. La agregación de bandas se ha explicado anteriormente con respecto a las Fig. 10A y 10B. El bloque de agrupación de particiones 267 también puede estar condicionado por el análisis de transitorios realizado por el bloque de análisis de transitorios 258. Como se explicó anteriormente, puede ser posible reducir aún más el número de bandas agregadas en caso de transitorio: por lo tanto, la información 260 sobre el transitorio puede condicionar la agrupación de particiones. Además o como alternativa, la información 261 sobre el transitorio codificada en la información secundaria 228 del flujo de bits 248. La información 261, cuando se codifica en la información secundaria 228, puede incluir, por ejemplo, un indicador que indica si se ha producido el transitorio (tal como: "1", que significa "hubo el transitorio en el marco" frente a "0", que significa: "no hubo transitorio en el cuadro") y/o una indicación de la posición del transitorio en el cuadro (como un campo que indique en qué ranura se había observado el transitorio). En algunos ejemplos, cuando la información 261 indica que no hay transitorio en la trama ("0"), no se codifica ninguna indicación de la posición del transitorio en la información secundaria 228, para reducir el tamaño del flujo de bits 248. La información 261 también se denomina "parámetro transitorio", y se muestra en las Figuras 2d y 6b como codificadas en la información secundaria 228 del flujo de bits 246.
[0105] En algunos ejemplos, la agrupación de particiones en el bloque 265 también puede estar condicionada por información externa 260', como información sobre el estado de la transmisión (por ejemplo, mediciones asociadas a las transmisiones, tasa de error, etc.). Por ejemplo, cuanto mayor sea la carga útil (o mayor sea la tasa de error), mayor será la agregación (tendencialmente menos bandas agregadas que son más anchas), para tener menos cantidad de información secundaria 228 a codificar en el flujo de bits 248. La información 260' puede ser, en algunos ejemplos, similar a la información o métricas 252 de la Fig. 6a.
[0106] En general, no es factible enviar parámetros para cada combinación de banda/ranura, pero las muestras del banco de filtros se agrupan tanto en un número de ranuras como en un número de bandas para reducir el número de conjuntos de parámetros que se transmiten por trama. A lo largo del eje de frecuencia, la agrupación de las bandas en bandas de parámetros utiliza una división no constante en bandas de parámetros donde el número de bandas en una banda de parámetros no es constante, sino que intenta seguir una resolución de banda de parámetros motivada psicoacústicamente, es decir, en bandas más bajas las bandas de parámetros contienen solo una o un pequeño número de bandas de bancos de filtros y, para bandas de parámetros más altos, un número mayor (y en constante aumento) de bandas de bancos de filtros se agrupa en una banda de parámetros.
[0107] Por ejemplo, de nuevo para una velocidad de muestreo de entrada de 48 kHz y el número de bandas de parámetros establecido en 14, el siguientegrupo vectorial grpi4)describe los índices del banco de filtros que dan los límites de banda para las bandas de parámetros (índice a partir de 0):
[0108] La banda de parámetrosj contiene las bandas del banco de filtros^ rP\*\i\-9rPi*\i+
[0109] Tenga en cuenta que el agrupamiento de bandas para 48 kHz también se puede usar directamente para las otras frecuencias de muestreo posibles simplemente truncándolo, ya que el agrupamiento sigue una escala de frecuencia motivada psicoacústicamente y tiene ciertos bordes de banda correspondientes al número de bandas para cada frecuencia de muestreo (Tabla 1).
[0110] Si una trama no es transitoria o no se implementa ningún manejo transitorio, la agrupación a lo largo del eje de tiempo está en todas las ranuras de una trama, de modo que un conjunto de parámetros está disponible por banda de parámetros.
[0111] Aún así, el número de conjuntos de parámetros sería demasiado grande, pero la resolución de tiempo puede ser menor que las tramas de 20 ms (en promedio 40 ms). Por lo tanto, para reducir aún más el número de conjuntos de parámetros enviados por trama, solo se utiliza un subconjunto de las bandas de parámetros para determinar y codificar los parámetros para enviar en el flujo de bits al decodificador. Los subconjuntos son fijos y tanto el codificador como el decodificador los conocen. El subconjunto particular enviado en el flujo de bits es señalizado por un campo en el flujo de bits para indicar el decodificador a qué subconjunto de bandas de parámetros pertenecen los parámetros transmitidos y el decodificador reemplaza los parámetros para este subconjunto por los transmitidos (ICC, ICLD) y mantiene los parámetros de las tramas anteriores (ICCS, ICLD) para todas las bandas de parámetros que no están en el subconjunto actual.
[0112] En un ejemplo, las bandas de parámetros pueden dividirse en dos subconjuntos que contienen aproximadamente la mitad de las bandas de parámetros totales y un subconjunto continuo para las bandas de parámetros inferiores y un subconjunto continuo para las bandas de parámetros superiores. Dado que tenemos dos subconjuntos, el campo de flujo de bits para señalizar el subconjunto es un solo bit, y un ejemplo para los subconjuntos para bandas de 48 kHz y 14 parámetros es:
s,4= [1,1,1.1,1.1,1.0,0,0,0,0,0,01
[0113] Donde<s>-<m>[/] indica a qué banda de parámetros de subconjunto pertenece j.
[0114] Cabe señalar que la señal de mezcla descendente 246 puede codificarse realmente, en el flujo de bits 248, como una señal en el dominio del tiempo: simplemente, el estimador de parámetros subsiguiente 218 estimará los parámetros 220 (por ejemplo,§ jy/ox )en el dominio de la frecuencia (y el decodificador 300 utilizará los parámetros 220 para preparar la regla de mezcla (matriz de mezcla) 403, como se explicará a continuación).
[0115] La Fig. 2d muestra un ejemplo de un codificador 200 que puede ser uno de los codificadores anteriores o puede incluir elementos de los codificadores descritos anteriormente. Una señal de entrada TD 212 se introduce en el codificador y se emite un flujo de bits 248, el flujo de bits 248 incluye la señal de mezcla descendente 246 (por ejemplo, como se codifica por el codificador central 247) y la información de correlación y nivel 220 codificada en la información secundaria 228.
[0116] Como se puede observar a partir de la Fig. 2d, se puede incluir un banco de filtros 214 (se proporciona un ejemplo de banco de filtros en la Fig. 5). Se proporciona una conversión en el dominio de la frecuencia (FD) en un bloque 263 (DMX en el dominio de la frecuencia), para obtener una señal FD 264 que es la versión FD de la señal de entrada 212. Se obtiene la señal FD 264 (también indicada con X) en múltiples bandas. El bloque de agrupamiento de banda/ranura 265 (que puede incorporar el bloque de agrupamiento 265 de la Fig. 5) puede proporcionarse para obtener la señal FD 216 en bandas agregadas. La señal FD 216 puede ser, en algunos ejemplos, una versión de la señal FD 264 en menos bandas. Posteriormente, la señal 216 puede proporcionarse al estimador de parámetros 218, que incluye los bloques de estimación de covarianza 502, 504 (aquí mostrados como un solo bloque) y, aguas abajo, un bloque de codificación y estimación de parámetros 506, 510 (las modalidades de los elementos 502, 504, 506 y 510 se muestran en la Fig. 6c). El bloque de codificación de estimación de parámetros 506, 510 también puede proporcionar los parámetros 220 a codificar en la información secundaria 228 del flujo de bits 248. Un detector de transitorios 258 (que puede incorporar el bloque de análisis de transitorios 258 de la Fig. 5) puede averiguar los transitorios y/o la posición de un transitorio dentro de una trama (por ejemplo, en qué ranura se ha identificado un transitorio). Por consiguiente, la información 261 sobre el transitorio (por ejemplo, parámetro transitorio) se puede proporcionar al estimador de parámetros 218 (por ejemplo, para decidir qué parámetros se van a codificar). El detector de transitorios 258 también puede proporcionar información o comandos (268) al bloque 265, de modo que la agrupación se realiza teniendo en cuenta la presencia y/o la posición del transitorio en la trama.
[0117] Las Figuras 3a, 3b, 3c muestran ejemplos de decodificadores de audio 300 (también llamados sintetizadores de audio). En los ejemplos, los decodificadores de las figuras 3a, 3b, 3c pueden ser el mismo decodificador, solo con algunas diferencias para evitar diferentes elementos. En ejemplos, el decodificador 300 puede ser el mismo que el de las figuras 1 y 4. En ejemplos, el decodificador 300 también puede ser el mismo dispositivo del codificador 200.
[0118] El decodificador 300 está configurado para generar una señal de síntesis (336, 340, y<R>) a partir de una señal de mezcla descendente x en TD (246) o en<f>D (314). El sintetizador de audio 300 comprende una interfaz de entrada 312 configurada para recibir la señal de mezcla descendente 246 (por ejemplo, la misma señal de mezcla descendente que la codificada por el codificador 200) y la información secundaria 228 (como se codifica en el flujo de bits 248). La información secundaria 228 incluye, como se explicó anteriormente, información de nivel y correlación de canal (220, 314), tal como al menos uno de £x, etc., o elementos de la misma (como se explicará a continuación) de una señal original (que puede ser la señal de entrada original 212, y, en el lado del codificador). En algunos ejemplos, el descodificador 300 obtiene todos los ICLD (x) y algunas entradas (pero no todas) 906 o 908 fuera de la diagonal de la matriz ICC 900 (valores de ICC o £).
[0119] El decodificador 300 puede configurarse (por ejemplo, a través de una calculadora de señales prototipo o un módulo de cálculo de señales prototipo 326) para calcular una señal prototipo 328 a partir de la señal de mezcla descendente (324, 246, x), teniendo la señal prototipo 328 el número de canales (mayor que uno) de la señal de síntesis 336.
[0120] El decodificador 300 está configurado (por ejemplo, a través de una calculadora de reglas de mezcla 402) para calcular una regla de mezcla (matriz de mezcla) 403 usando:
el nivel de canal y la información de correlación (por ejemplo, 314, C<y>, £xo elementos de los mismos) de la señal original (212, y); y
información de covarianza (por ejemplo, C<x>o elementos de esta) asociada con la señal de mezcla descendente (324, 246, x).
[0121] El decodificador 300 comprende un procesador de síntesis 404 configurado para generar la señal de síntesis (336, 340, y<R>) utilizando la señal prototipo 328 y la regla de mezcla 403.
[0122] El procesador de síntesis 404 y la calculadora de reglas de mezcla 402 se pueden recopilar en un motor de síntesis 334. En algunos ejemplos, la calculadora de reglas de mezcla 402 puede estar fuera del motor de síntesis 334. En algunos ejemplos, la calculadora de reglas de mezcla 402 de la Figura 3a puede integrarse con el módulo de reconstrucción de parámetros 316 de la Figura 3b.
[0123] El número de canales de síntesis de la señal de síntesis (336, 340, y<R>) es mayor que uno (y en algunos casos es mayor que dos o mayor que tres) y puede ser mayor, menor o el mismo del número de canales originales de la señal original (212, y), que también es mayor que uno (y en algunos casos es mayor que dos o mayor que tres). El número de canales de la señal de mezcla descendente (246, 216, x) es al menos dos, y es menor que el número del número de canales originales de la señal original (212, y) y el número de canales de síntesis de la señal de síntesis (336, 340, yR).
[0124] La interfaz de entrada 312 lee un flujo de bits codificado 248 (por ejemplo, el mismo flujo de bits 248 codificado por el codificador 200). La interfaz de entrada 312 puede ser o comprender un lector de flujo de bits y/o un decodificador de entropía. El flujo de bits 248 tiene codificada, como se explicó anteriormente, la señal de mezcla descendente (246, x) y la información secundaria 228. La información secundaria 228 contiene el nivel de canal original e información de correlación 220, ya sea en la forma emitida por el estimador de parámetros 218 o por cualquiera de los elementos aguas abajo del estimador de parámetros 218 (por ejemplo, bloque de cuantificación de parámetros 222, etc.). La información secundaria 228 puede contener valores codificados, o valores indexados, o ambos. Incluso si la interfaz de entrada 312 no se muestra en la figura 3b para la señal de mezcla descendente (346, x), no obstante, puede aplicarse también a la señal de mezcla descendente, como en la figura 3a. En algunos ejemplos, la interfaz de entrada 312 puede cuantificar los parámetros obtenidos del flujo de bits 248.
[0125] Por lo tanto, el decodificador 300 obtiene la señal de mezcla descendente (246, x), que puede estar en el dominio del tiempo. Como se explicó anteriormente, la señal de mezcla descendente 246 puede dividirse en tramas y/o ranuras (véase anteriormente). En ejemplos, un banco de filtros 320 puede convertir la señal de mezcla descendente 246 en el dominio del tiempo para obtener una versión 324 de la señal de mezcla descendente 246 en el dominio de la frecuencia. Como se explicó anteriormente, las bandas de la versión de dominio de frecuencia 324 de la señal de mezcla descendente 246 se pueden agrupar en grupos de bandas. En ejemplos, se puede llevar a cabo la misma agrupación realizada en el banco de filtros 214 (véase anteriormente). Los parámetros para la agrupación (por ejemplo, qué bandas y/o cuántas bandas se van a agrupar...) pueden basarse, por ejemplo, en la señalización por el mero de partición 265 o el bloque de análisis de bandas 267, codificándose la señalización en la información secundaria 228.
[0126] El decodificador 300 puede incluir un calculador de señal prototipo 326. El calculador de señal de prototipo 326 puede calcular una señal de prototipo 328 a partir de la señal de mezcla descendente (por ejemplo, una de las versiones 324, 246, x), por ejemplo, aplicando una regla de prototipo (por ejemplo, una matriz Q). La regla de prototipo puede incorporarse mediante una matriz de prototipo (Q) con una primera dimensión y una segunda dimensión, donde la primera dimensión está asociada con la cantidad de canales de mezcla descendente, y la segunda dimensión está asociada con la cantidad de canales de síntesis. Por lo tanto, la señal prototipo tiene el número de canales de la señal de síntesis 340 que se generará finalmente.
[0127] El calculador de señal prototipo 326 puede aplicar la llamada mezcla ascendente sobre la señal de mezcla descendente (324, 246, x), en el sentido de que simplemente genera una versión de la señal de mezcla descendente (324, 246, x) en un mayor número de canales (el número de canales de la señal de síntesis a generar), pero sin aplicar mucha "inteligencia". En ejemplos, la calculadora de señales prototipo puede 326 simplemente aplicar una matriz prototipo fija y predeterminada (identificada como "Q" en este documento) a la versión FD 324 de la señal de mezcla descendente 246. En ejemplos, la calculadora de señales prototipo 326 puede aplicar diferentes matrices prototipo a diferentes bandas. La regla de prototipo (Q) se puede elegir entre una pluralidad de reglas de prototipo prealmacenadas, por ejemplo, en función del número particular de canales de mezcla descendente y del número particular de canales de síntesis.
[0128] La señal prototipo 328 puede decorrelacionarse en un módulo de decorrelación 330, para obtener una versión decorrelacionada 332 de la señal prototipo 328. Sin embargo, en algunos ejemplos, ventajosamente el módulo de decorrelación 330 no está presente, ya que la invención ha demostrado ser lo suficientemente efectiva como para permitir su evitación.
[0129] La señal prototipo (en cualquiera de sus versiones 328, 332) puede introducirse en el motor de síntesis 334 (y en particular en el procesador de síntesis 404). Aquí, la señal prototipo (328, 332) se procesa para obtener la señal de síntesis (336, yR). El motor de síntesis 334 (y en particular al procesador de síntesis 404) aplica una regla de mezcla 403 (en algunos ejemplos, discutidos a continuación, las reglas de mezcla son dos, por ejemplo, una para un componente principal de la señal de síntesis y una para un componente residual). La regla de mezcla 403 está incorporada por una matriz. La matriz 403 puede generarse, por ejemplo, mediante la calculadora de reglas de mezcla 402, en función del nivel de canal y la información de correlación (314, tal como o elementos de los mismos) de la señal original (212, y).
[0130] La señal de síntesis 336 como salida por el motor de síntesis 334 (y en particular por el procesador de síntesis 404) se puede filtrar opcionalmente en un banco de filtros 338. Además o como alternativa, la señal de síntesis 336 puede convertirse en el dominio del tiempo en el banco de filtros 338. Por lo tanto, la versión 340 (ya sea en el dominio del tiempo o filtrada) de la señal de síntesis 336 se puede utilizar para la reproducción de audio (por ejemplo, mediante altavoces).
[0131] Con el fin de obtener la regla de mezcla (matriz de mezcla) 403, el nivel de canal y la información de correlación (por ejemplo, Cy,CyR,etc.) de la señal original y la información de covarianza (por ejemplo, Cx) asociada con la señal de mezcla descendente, se pueden proporcionar a la calculadora de reglas de mezcla 402. Para este objetivo, es posible hacer uso de la información de nivel y correlación de canal 220, codificada en la información secundaria 228 por el codificador 200.
[0132] En algunos casos, sin embargo, con el fin de reducir la cantidad de la información codificada en el flujo de bits 248, no todos los parámetros están codificados por el codificador 200 (por ejemplo, no todo el nivel de canal y la información de correlación de la señal original 212 y/o no toda la información de covarianza de la señal de mezcla descendente 246). Por lo tanto, algunos parámetros 318 deben estimarse en el módulo de reconstrucción de parámetros 316.
[0133] El módulo de reconstrucción de parámetros 316 puede alimentarse, por ejemplo, mediante al menos uno de:
una versión 322 de la señal de mezcla descendente 246 (x), que puede ser, por ejemplo, una versión filtrada o una versión FD de la señal de mezcla descendente 246; y
la información secundaria 228 (incluida la información de nivel de canal y correlación 228).
[0134] La información secundaria 228 incluye (como información de nivel y correlación de la señal de entrada) información asociada a la matriz de correlación Cy de la señal original (212, y): en algunos casos, sin embargo, no todos los elementos de la matriz de correlación Cy están realmente codificados. Por lo tanto, se han desarrollado técnicas de estimación y reconstrucción para reconstruir una versión (Cyr) de la matriz de correlación Cy (por ejemplo, a través de pasos intermedios que obtienen una versión estimadaLy
[0135] Los parámetros 314 tal como se proporcionan al módulo 316 pueden obtenerse mediante el decodificador de entropía 312 (interfaz de entrada) y pueden cuantificarse, por ejemplo.
[0136] La Fig. 3c muestra un ejemplo de un decodificador 300 que puede ser una realización de uno de los decodificadores de las Figs. 1/3b. El decodificador 300 incluye una interfaz de entrada 312 representada por el demultiplexor. El decodificador 300 emite una señal de síntesis 340 que puede estar, por ejemplo, en el TD (señal 340), para ser reproducida por altavoces, o en el FD (señal 336). El decodificador 300 de la figura 3c puede incluir un decodificador central 347, que también puede ser parte de la interfaz de entrada 312. Por lo tanto, el decodificador de núcleo 347 puede proporcionar la señal de mezcla descendente x, 246. Un banco de filtros 320 puede convertir la señal de mezcla descendente 246 del TD al FD. La versión FD de la señal de mezcla descendente x, 246 se indica con 324. La señal de mezcla descendente FD 324 se puede proporcionar a un bloque de síntesis de covarianza 388. El bloque de síntesis de covarianza 388 puede proporcionar la señal de síntesis 336 (Y) en el FD. Un banco de filtros inverso 338 puede convertir la señal de audio 314 en su versión TD 340. La señal de mezcla descendente FD 324 se puede proporcionar a un bloque de agrupamiento de banda/ranura 380. El bloque de agrupamiento de banda/ranura 380 puede realizar la misma operación que se ha realizado, en el codificador, por el bloque de agrupamiento de partición 265 de las Fig. 5 y 2d. Como las bandas de la señal de mezcla descendente 216 de las figs. 5 y 2d se habían agrupado o agregado, en el codificador, en pocas bandas (con ancho amplio), y los parámetros 220 (ICC, ICLD) se han asociado a los grupos de bandas agregadas, ahora es necesario agregar la señal de mezcla descendente decodificada de la misma manera, cada banda agregada a un parámetro relacionado. Por lo tanto, el número 385 se refiere a la señal de mezcla descendente Xb después de haber sido agregada. Se observa que el filtro proporciona la representación FD no agregada, por lo que para poder procesar los parámetros de la misma manera que en el codificador, la agrupación de bandas/ranuras en el decodificador (380) hace la misma agregación sobre bandas/ranuras que el codificador para proporcionar la mezcla descendente agregada Xb.
[0137] El bloque de agrupación de banda/ranura 380 también puede agregarse en diferentes ranuras en una trama, de modo que la señal 385 también se agregue en la dimensión de ranura similar al codificador. El bloque de agrupamiento de banda/ranura 380 también puede recibir la información 261, codificada en la información secundaria 228 del flujo de bits 248, que indica la presencia del transitorio y, en caso, también la posición del transitorio dentro de la trama.
[0138] En el bloque de estimación de covarianza 384, se estima la covarianzaCxde la señal de mezcla descendente 246 (324). La covarianzacyse obtiene en el bloque de cálculo de covarianza 386, por ejemplo, haciendo uso de las ecuaciones (4)-(8) se puede usar para este propósito. La Fig. 3c muestra un "parámetro multicanal", que puede ser, por ejemplo, los parámetros 220 (ICC e ICLD). Las covarianzasCyy Cx se proporcionan entonces al bloque de síntesis de covarianza 388, para sintetizar la señal de síntesis 388. En algunos ejemplos, los bloques 384, 386 y 388 pueden incorporar, cuando se toman juntos, tanto la reconstrucción de parámetros 316 como la mezcla se calcularán 402, y el procesador de síntesis 404 como se discutió anteriormente y a continuación.
4. Discusión
4.1 Visión general
[0139] Un enfoque novedoso de los presentes ejemplos tiene como objetivo, entre otras cosas, realizar la codificación y decodificación de contenido multicanal a bajas velocidades de bits (lo que significa igual o inferior a 160 kbits/s) mientras se mantiene una calidad de sonido lo más cerca posible de la señal original y se conservan las propiedades espaciales de la señal multicanal. Una capacidad del enfoque novedoso también es encajarse dentro del marco DirAC mencionado anteriormente. La señal de salida se puede representar en la misma configuración de altavoces que la entrada 212 o en una diferente (que puede ser más grande o más pequeña en términos de altavoces). Además, la señal de salida se puede renderizar en altavoces utilizando renderización binaural.
[0140] La presente sección presentará una descripción en profundidad de la invención y de los diferentes módulos que la componen.
[0141] El sistema propuesto está compuesto por dos partes principales:
- El Codificador 200, que deriva los parámetros necesarios 220 de la señal de entrada 212, los cuantifica (en 222) y los codifica (en 226). El codificador 200 también puede calcular la señal de mezcla descendente 246 que se codificará en el flujo de bits 248 (y puede transmitirse al decodificador 300).
- El decodificador 300, que utiliza los parámetros codificados (por ejemplo, transmitidos) y una señal de mezcla descendente 246 para producir una salida multicanal cuya calidad es lo más cercana posible a la señal original 212.
[0142] Lafigura 1muestra una descripción general del enfoque novedoso propuesto según un ejemplo. Tenga en cuenta que algunos ejemplos solo utilizarán un subconjunto de los bloques de construcción que se muestran en el diagrama general y descartarán ciertos bloques de procesamiento según el escenario de la aplicación.
[0143] La entrada 212 (y) es una señal de audio multicanal 212 (también denominada "flujo multicanal") en el dominio de tiempo o dominio de tiempo-frecuencia (por ejemplo, señal 216), lo que significa, por ejemplo, un conjunto de señales de audio que son producidas o destinadas a ser reproducidas por un conjunto de altavoces.
[0144] La primera parte del procesamiento es la parte de codificación; a partir de la señal de audio multicanal, se calculará una llamada señal de "mezcla descendente" 246 (cf. 4.2.6) junto con un conjunto de parámetros, o información complementaria, 228 (cf. 4.2.2 y 4.2.3) que se derivan de la señal de entrada 212 ya sea en el dominio del tiempo o en el dominio de la frecuencia. Esos parámetros se codificarán (cf. 4.2.5) y, en su caso, transmitido al decodificador 300.
[0145] La señal de mezcla descendente 246 y los parámetros codificados 228 pueden transmitirse a un codificador central y un canal de transmisión que une el lado del codificador y el lado del decodificador del proceso.
[0146] En el lado del decodificador, se procesa la señal de mezcla descendente (4.3.3 y 4.3.4) y se decodifican los parámetros transmitidos (cf. 4.3.2 Los parámetros decodificados se utilizarán para la síntesis de la señal de salida utilizando la síntesis de covarianza (c.f. 4.3.5) y esto conducirá a la señal de salida multicanal final en el dominio del tiempo.
[0147] Antes de entrar en detalles, hay algunas características generales para establecer, siendo válida al menos una de ellas:
- El procesamiento se puede utilizar con cualquier configuración de altavoz. Teniendo en cuenta que, al aumentar el número de altavoces, la complejidad del proceso y los bits necesarios para codificar los parámetros transmitidos también aumentarán.
- Todo el procesamiento se puede realizar sobre una base de trama, es decir, la señal de entrada 212 se puede dividir en tramas que se procesan independientemente. En el lado del codificador, cada trama generará un conjunto de parámetros que se transmitirán al lado del decodificador para ser procesados.
- Un marco también puede dividirse en ranuras; esas ranuras presentan propiedades estadísticas que no se pudieron obtener a escala de marco. Un marco se puede dividir,por ejemplo,en ocho ranuras y la longitud de cada ranura sería igual a 1/8 de la longitud del marco.
4.2 Codificador
[0148] El propósito del codificador es extraer los parámetros apropiados 220 para describir la señal multicanal 212, cuantificarlos (en 222), codificarlos (en 226) como información secundaria 228 y luego, en su caso, transmitirlos al lado del decodificador. Aquí se detallarán los parámetros 220 y cómo se pueden calcular.
[0149] Un esquema más detallado del codificador 200 se puede encontrar en las figuras 2A-2D. Esta descripción general destaca las dos salidas principales 228 y 246 del codificador.
[0150] La primera salida del codificador 200 es la señal de mezcla descendente 228 que se calcula a partir de la entrada de audio multicanal 212; la señal de mezcla descendente 228 es una representación del flujo multicanal original (señal) en menos canales que el contenido original (212). Puede encontrarse más información sobre su cálculo en el punto 4.2.6.
[0151] La segunda salida del codificador 200 son los parámetros codificados 220 expresados como información secundaria 228 en el flujo de bits 248; esos parámetros 220 son un punto clave de los presentes ejemplos: son los parámetros que se utilizarán para describir eficientemente la señal multicanal en el lado del decodificador. Esos parámetros 220 proporcionan una buena compensación entre la calidad y la cantidad de bits necesarios para codificarlos en el flujo de bits 248. En el lado del codificador, el cálculo del parámetro se puede realizar en varios pasos; el proceso se describirá en el dominio de la frecuencia, pero también se puede llevar a cabo en el dominio del tiempo. Los parámetros 220 se estiman primero a partir de la señal de entrada multicanal 212, luego pueden cuantificarse en el cuantificador 222 y luego pueden convertirse en un flujo de bits digital 248 como información secundaria 228. Se puede encontrar más información sobre esos pasos en los párrafos 4.2.2., 4.2.3 y 4.2.5.
4.2.1 Banco de filtros y agrupación de particiones
[0152] Los bancos de filtros se discuten para el lado del codificador (por ejemplo, el banco de filtros 214) o el lado del decodificador (por ejemplo, los bancos de filtros 320 y/o 338).
[0153] La invención puede hacer uso de bancos de filtros en varios puntos durante el procedimiento. Esos bancos de filtros pueden transformar una señal del dominio del tiempo al dominio de la frecuencia (las llamadas bandas agregadas o bandas de parámetros), en este caso denominadas "banco de filtros de análisis" o de la frecuencia al dominio del tiempo (por ejemplo, 338), en este caso denominado "banco de filtros de síntesis".
[0154] La elección del banco de filtros debe coincidir con los requisitos de rendimiento y optimización deseados, pero el resto del procesamiento se puede llevar a cabo independientemente de una elección particular del banco de filtros. Por ejemplo, es posible usar un banco de filtros basado en filtros de espejo en cuadratura o un banco de filtros basado en la transformada de Fourier a corto plazo.
[0155] Con referencia a la figura 5, la salida del banco de filtros 214 del codificador 200 será una señal 216 en el dominio de la frecuencia representada en un determinado número de bandas de frecuencia (266 con respecto a 264). Llevar el resto del procesamiento para todas las bandas de frecuencia (264) podría entenderse como proporcionar una mejor calidad y una mejor resolución de frecuencia, pero también requeriría velocidades de bits más importantes para transmitir toda la información. Por lo tanto, junto con el proceso de banco de filtros, se realiza un llamado "agolpamiento de partición" (265), que corresponde a agrupar alguna frecuencia para representar la información 266 en un conjunto más pequeño de bandas.
[0156] Por ejemplo, la salida 264 del filtro 263 (fig. 5) puede representarse en 128 bandas y la agrupación de particiones en 265 puede conducir a una señal 266 (216) con solo 20 bandas. Hay varias formas de agrupar bandas y una forma significativa puede ser, por ejemplo, tratar de aproximar el ancho de banda rectangular equivalente. El ancho de banda rectangular equivalente es un tipo de división de banda motivada psicoacústicamente que intenta modelar cómo el sistema auditivo humano procesa los eventos de audio, es decir, el objetivo es agrupar los bancos de filtros de una manera adecuada para el oído humano.
4.2.2 Estimación de parámetros (por ejemplo, estimador 218)
Aspecto 1: Uso de matrices de covarianza para describir y sintetizar contenido multicanal
[0157] La estimación de parámetros en 218 es uno de los puntos principales de la invención; se utilizan en el lado del decodificador para sintetizar la señal de audio multicanal de salida. Esos parámetros 220 (codificados como información secundaria 228) se han elegido porque describen de manera eficiente el flujo de entrada multicanal (señal) 212 y no requieren una gran cantidad de datos para ser transmitidos. Esos parámetros 220 se calculan en el lado del codificador y luego se utilizan conjuntamente con el motor de síntesis en el lado del decodificador para calcular la señal de salida.
[0158] Aquí, las matrices de covarianza pueden calcularse entre los canales de la señal de audio multicanal y de la señal de mezcla descendente. Nombre:
-Cy-.Matriz de covarianza del flujo multicanal (señal) y
- Cx: Matriz de covarianza de la corriente de mezcla descendente (señal) 246
[0159] El procesamiento puede llevarse a cabo sobre una base de banda de parámetros, por lo tanto, una banda de parámetros es independiente de otra y las ecuaciones pueden describirse para una banda de parámetros dada sin pérdida de generalidad.
[0160] Para una banda de parámetros dada, las matrices de covarianza se definen de la siguiente manera:
Cy =«{^<8>^ } (<1>)
con
- íH Denota el operador de la pieza real.
- En lugar de la parte real, puede ser cualquier otra operación que dé como resultado un valor real que tenga una relación con el valor complejo del que se deriva (por ejemplo, el valor absoluto)
- * denota el operador de transposición conjugado
-Bque denota la relación entre el número original de bandas y las bandas agrupadas (C.f. 4.2.1. sobre la agrupación de particiones)
-Yyxson respectivamente la señal multicanal original 212 y la señal de mezcla descendente 246 en el dominio de la frecuencia
[0161]Cy(o elementos de este, o valores obtenidos deCyo de elementos de este) también se indican como nivel de canal e información de correlación de la señal original 212.Cx(o elementos de este, o valores obtenidos deCyo de elementos de este) también se indican como información de covarianza asociada con la señal de mezcla descendente 212.
[0162] Para una trama (y banda) dada, solo una o dos matrices de covarianzaCyy/oCxpueden ser emitidas, por ejemplo, por el bloque estimador 218. Al estar el proceso basado en ranuras y no en tramas, se puede llevar a cabo una implementación diferente con respecto a la relación entre las matrices para una ranura dada y para toda la trama. Como ejemplo, es posible calcular la matriz de covarianza (ces) para cada ranura dentro de una trama y sumarlas para generar las matrices para una trama. Tenga en cuenta que la definición para calcular las matrices de covarianza es la matemática, pero también es posible calcular, o al menos, modificar esas matrices de antemano si se desea obtener una señal de salida con características particulares.
[0163] Como se explicó anteriormente, no es necesario que todos los elementos de la(s) matriz(ces)Cyy/oCxestén realmente codificados en la información secundaria 228 del flujo de bits 248. ParaCxes posible simplemente estimarlo a partir de la señal de mezcla descendente 246 codificada aplicando la ecuación (1) y, por lo tanto, el codificador 200 puede abstenerse fácilmente, en toda regla, de codificar cualquier elemento deCx(o más en general de información de covarianza asociada con la señal de mezcla descendente). ParaCy(o para el nivel de canal y la información de correlación asociada a la señal original) es posible estimar, en el lado del decodificador, al menos uno de los elementos deCyutilizando las técnicas que se analizan a continuación.
Aspecto 2a: Transmisión de las matrices de covarianza y/o energías para describir y reconstruir una señal de audio multicanal
[0164] Como se mencionó anteriormente, las matrices de covarianza se utilizan para la síntesis. Es posible transmitir directamente esas matrices de covarianza (o un subconjunto de las mismas) desde el codificador al decodificador.
[0165] En algunos ejemplos, la matrizCxno tiene que transmitirse necesariamente, ya que puede volver a calcularse en el lado del decodificador utilizando la señal de mezcla descendente 246, pero dependiendo del escenario de aplicación, esta matriz podría requerirse como un parámetro transmitido.
[0166] Desde un punto de vista de implementación, no todos los valores en esas matrices C<x>, C<y>tienen que ser codificados o transmitidos, por ejemplo, para cumplir con ciertos requisitos específicos con respecto a las tasas de bits. Los valores no transmitidos se pueden estimar en el lado del decodificador (cf. 4.3.2
Aspecto 2b: Transmisión de Coherencias Intercanal y Diferencias de Nivel Intercanal para describir y reconstruir una señal multicanal
[0167] A partir de las matrices de covarianza C<x>, C<y>, se puede definir y utilizar un conjunto alternativo de parámetros para reconstruir la señal multicanal 212 en el lado del decodificador. Esos parámetros pueden ser, por ejemplo, las Coherencias Intercanal (ICC) y/o las Diferencias de Nivel Intercanal (ICLD). Las coherencias intercanal describen la coherencia entre cada canal del flujo multicanal. Este parámetro puede derivarse de la matriz de covarianzaCycalcularse de la siguiente manera (para una banda de parámetros dada y para dos canales dados / yj)\
con
-§jEl ICC entre los canalesie y de la señal de entrada 212
-CyjLos valores en la matriz de Covarianza - definida previamente en la ecuación (1) - de la señal multicanal entre los canalesiyjde la señal de entrada 212
[0168] Los valores ICC se pueden calcular entre todos y cada uno de los canales de la señal multicanal, lo que puede generar una gran cantidad de datos a medida que crece el tamaño de la señal multicanal. En la práctica, se puede codificar y/o transmitir un conjunto reducido de ICC. Los valores codificados y/o transmitidos deben definirse, en algunos ejemplos, de acuerdo con el requisito de rendimiento.
[0169]Por ejemplo,cuando se trata de una señal producida por una configuración de altavoz 5.1 (o 5.0) según lo definido por la recomendación de la UIT "UIT-R BS.2159-4", es posible elegir transmitir solo cuatro ICC. Esas cuatro ICC pueden ser las siguientes:
- El centro y el canal derecho
- El canal central y el izquierdo
- El canal envolvente izquierdo e izquierdo
- El canal envolvente derecho y derecho
[0170] En general, los índices de las ICC elegidas de la matriz ICC se describen mediante el mapa ICC.
[0171] En general, para cada configuración de altavoz se puede elegir un conjunto fijo de ICC que proporcionan, en promedio, la mejor calidad para ser codificados y/o transmitidos al decodificador. El número de<i>C<c>, y qué ICC se transmitirán, puede depender de la configuración del altavoz y/o la velocidad de bits total disponible y ambos están disponibles en el codificador y el decodificador sin la necesidad de transmisión del mapa de ICC en el flujo de bits 248. En otras palabras, se puede usar un conjunto fijo de ICC y/o un mapa de ICC fijo correspondiente, por ejemplo, dependiendo de la configuración del altavoz y/o la velocidad de bits total.
[0172] Estos conjuntos fijos pueden no ser adecuados para un material específico y producir, en algunos casos, una calidad significativamente peor que la calidad media de todo el material utilizando un conjunto fijo de ICC. Para superar esto en otro ejemplo para cada trama (o ranura), se puede estimar un conjunto óptimo de ICC y un mapa ICC correspondiente en función de una característica para la importancia de una determinada ICC. El mapa de ICC utilizado para la trama actual se codifica y/o transmite explícitamente junto con las ICC cuantificadas en el flujo de bits 248.
[0173] Por ejemplo, la característica de la importancia de un ICC se puede determinar generando la estimación de la Covarianzacy ,o la estimación de la matriz de ICC C utilizando la Covarianza de mezcla descendenteCxde la Ecuación (1) análoga al decodificador que utiliza las Ecuaciones (4) y (6) de 4.3.2. Dependiendo de la característica elegida, la característica se calcula para cada ICC o entrada correspondiente en la matriz de covarianza para cada banda para la que se transmitirán los parámetros en la trama actual y se combinarán para todas las bandas. Esta matriz de características combinadas se utiliza para decidir las ICC más importantes y, por lo tanto, el conjunto de ICC que se utilizarán y el mapa de ICC que se transmitirá.
[0174] Por ejemplo, la característica de la importancia de una ICC es el error absoluto entre las entradas de lar~
covarianza estimadayy la covarianza realCyy la matriz de características combinadas es la suma del error absoluto para cada ICC en todas las bandas que se transmitirán en la trama actual. De la matriz de características combinada, se eligen las n entradas donde el error absoluto sumado es el más alto y n es el número de ICC que se transmitirán para la combinación de altavoz/velocidad de bits y el mapa ICC se construye a partir de estas entradas.
[0175] Además, en otro ejemplo como en la Figura 6b, para evitar un cambio excesivo de los mapas de ICC entre tramas, se puede enfatizar la matriz de características para cada entrada que estaba en el mapa de ICC elegido de la trama de parámetro anterior, por ejemplo, en el caso del error absoluto de la Covarianza aplicando un factor > 1 (220k) a las entradas del mapa de ICC de la trama anterior. Además, en otro ejemplo, un indicador enviado en la información complementaria 228 del flujo de bits 248 puede indicar si el mapa ICC fijo o el mapa ICC óptimo se utiliza en la trama actual y si el indicador indica el conjunto fijo, entonces el mapa ICC no se transmite en el flujo de bits 248.
[0176] El mapa ICC óptimo se codifica y/o transmite, por ejemplo, como un mapa de bits (por ejemplo, el mapa ICC puede incorporar la información 254' de la Fig. 6a).
[0177] Otro ejemplo para transmitir el mapa ICC es transmitir el índice en una tabla de todos los mapas ICC posibles, donde el propio índice está, por ejemplo, codificado adicionalmente por entropía. Por ejemplo, la tabla de todos los mapas ICC posibles no se almacena en la memoria, pero el mapa ICC indicado por el índice se calcula directamente a partir del índice.
[0178] Un segundo parámetro que puede transmitirse conjuntamente con el ICC (o solo) son los ICLD. "ICLD" significa diferencia de nivel entre canales y describe las relaciones de energía entre cada canal de la señal multicanal de entrada 212. No existe una definición única de la ICLD; el aspecto importante de este valor es que describe las relaciones de energía dentro del flujo multicanal.
[0179] Comoejemplo,la conversión deCya ICLD se puede obtener de la siguiente manera:
con:
-XiEl ICLD para el canali.
-PiLa potencia del canal actual i, se puede extraer de la diagonalde Cy. Pi = Cyi,r..
-PdmxjDepende del canali,pero siempre será una combinación lineal de los valores enCx,también depende de la configuración original del altavoz.
[0180] En los ejemplos P<dmx,i>no es el mismo para todos los canales, sino que depende de un mapeo relacionado con la matriz de mezcla descendente (que también es la matriz prototipo para el decodificador), esto se menciona en general en uno de los puntos de la ecuación (3). Dependiendo de si el canal i se mezcla de forma descendente solo en uno de los canales de mezcla descendente o en más de uno de ellos. En otras palabras,Pdmxjpuede ser o incluir la suma sobre todos los elementos diagonales de C<x>donde hay un elemento distinto de cero en la matriz de mezcla descendente, por lo que la ecuación (3) podría reescribirse como:
X
Oimx.i
dondeates un factor de ponderación relacionado con la contribución de energía esperada de un canal a la mezcla descendente, este factor de ponderación se fija para una determinada configuración de altavoces de entrada y se conoce tanto en el codificador como en el decodificador. A continuación, se proporcionará la noción de la matriz Q. Algunos valores deaty matrices Q también se proporcionan al final del documento.
[0181] En el caso de una implementación que define un mapeo para cada canal de entrada i donde el índice de mapeo es el canal j de la mezcla descendente, el canal de entrada i se mezcla únicamente o si el índice de mapeo es mayor que el número de canales de mezcla descendente. Entonces, tenemos un índice de mapeomcLojque se utiliza para determinar Pdmx,i de la siguiente manera:
4.2.3 Cuantificación de parámetros
[0182] Los ejemplos de cuantificación de los parámetros 220, para obtener los parámetros de cuantificación 224, se pueden realizar, por ejemplo, mediante el módulo de cuantificación de parámetros 222 de las Figuras 2b y 4.
[0183] Una vez que se calcula el conjunto de parámetros 220, es decir, las matrices de covarianza {Cx, Cy} o las ICC y las ICLD {..., x}, se cuantifican. La elección del cuantificador puede ser una compensación entre la calidad y la cantidad de datos a transmitir, pero no hay restricción con respecto al cuantificador utilizado.
[0184] A modo de ejemplo, en el caso de que se utilicen las ICC y los ICLD; se podría utilizar un cuantificador no lineal que incluya 10 pasos de cuantificación en el intervalo [-1,1] para las ICC y otro cuantificador no lineal que incluya 20 pasos de cuantificación en el intervalo [-30,30] para los ICLD.
[0185] Además, como una optimización de implementación, es posible elegir muestrear de forma descendente los parámetros transmitidos, lo que significa que los parámetros cuantificados 224 se utilizan dos o más tramas en una fila.
[0186] En un aspecto, el subconjunto de parámetros transmitidos en la trama actual se señaliza mediante un índice de trama de parámetro en el flujo de bits.
4.2.4 Manejo transitorio, parámetros submuestreados
[0187] Algunos ejemplos discutidos aquí a continuación pueden entenderse como mostrados en la Figura 5, que a su vez puede ser un ejemplo del bloque 214 de las Figuras 1 y 2d.
[0188] En el caso de conjuntos de parámetros submuestreados (por ejemplo, como se obtiene en el bloque 265 en la Figura 5), es decir, un conjunto de parámetros 220 para un subconjunto de bandas de parámetros se puede usar para más de una trama procesada, los transitorios que aparecen en más de un subconjunto pueden no conservarse en términos de localización y coherencia. Por lo tanto, puede ser ventajoso enviar los parámetros para todas las bandas en dicha trama. Este tipo especial de trama de parámetro puede ser señalado, por ejemplo, por un indicador en el flujo de bits.
[0189] En un aspecto, se utiliza una detección de transitorios en 258 para detectar dichos transitorios en la señal 212. También se puede detectar la posición del transitorio en la trama actual. La granularidad de tiempo puede estar vinculada favorablemente a la granularidad de tiempo del banco de filtros utilizado 214, de modo que cada posición transitoria puede corresponder a una ranura o un grupo de ranuras del banco de filtros 214. Las ranuras para calcular las matrices de covarianzaCyyCxse eligen en función de la posición del transitorio, por ejemplo, utilizando solo las ranuras desde la ranura que contiene el transitorio hasta el final de la trama actual.
[0190] El detector de transitorios (o bloque de análisis de transitorios 258) puede ser un detector de transitorios también utilizado en la codificación de la señal de mezcla descendente 212, por ejemplo, el detector de transitorios en el dominio del tiempo de un codificador de núcleo IVAS. Por lo tanto, el ejemplo de la Figura 5 también se puede aplicar aguas arriba al bloque de cálculo de mezcla descendente 244.
[0191] En un ejemplo, la aparición de un transitorio se codifica utilizando un bit (como: "1", que significa "hubo el transitorio en el marco" frente a "0", que significa: "no hubo transitorio en la trama"), y si se detecta un transitorio adicionalmente, la posición del transitorio se codifica y/o transmite como campo codificado 261 (información sobre el transitorio) en el flujo de bits 248 para permitir un procesamiento similar en el decodificador 300.
[0192] Si se detecta un transitorio y se va a realizar la transmisión de todas las bandas (por ejemplo, señalizado), el envío de los parámetros 220 usando la agrupación de partición normal podría dar como resultado un pico en la velocidad de datos necesaria para la transmisión de los parámetros 220 como información secundaria 228 en el flujo de bits 248. Además, la resolución temporal es más importante que la resolución de frecuencia. Por lo tanto, puede ser ventajoso, en el bloque 265, cambiar la agrupación de particiones para que dicha trama tenga menos bandas para transmitir (por ejemplo, de muchas bandas en la versión de señal 264 a menos bandas en la versión de señal 266). Un ejemplo emplea dicha agrupación de partición diferente, por ejemplo, combinando dos bandas vecinas en todas las bandas para un factor de muestra descendente normal de 2 para los parámetros. En términos generales, la aparición de un transitorio implica que se puede esperar que las propias matrices de covarianza difieran enormemente antes y después del transitorio. Para evitar artefactos para las ranuras antes del transitorio, solo se puede considerar la ranura transitoria en sí y todas las ranuras siguientes hasta el final de la trama. Esto también se basa en el supuesto de que la señal de antemano es lo suficientemente estacionaria y es posible utilizar la información y las reglas de mezcla que se derivaron para la trama anterior también para las ranuras que preceden al transitorio.
[0193] En resumen, el codificador puede configurarse para determinar en qué ranura de la trama se ha producido el transitorio, y para codificar el nivel de canal y la información de correlación (220) de la señal original (212, y) asociada a la ranura donde se ha producido el transitorio y/o las ranuras posteriores en la trama, sin codificar el nivel de canal y la información de correlación (220) de la señal original (212, y) asociada a las ranuras que preceden al transitorio.
[0194] De manera análoga, el decodificador puede (por ejemplo, en el bloque 380), cuando se señaliza la presencia y la posición del transitorio en una trama (261):
asociar el nivel de canal actual y la información de correlación (220) a la ranura donde se ha producido el transitorio y/o a las ranuras posteriores en la trama; y
asociar, a la ranura de la trama que precede a la ranura donde se ha producido el transitorio, el nivel de canal y la información de correlación (220) de la ranura anterior.
[0195] Otro aspecto importante del transitorio es que, en caso de la determinación de la presencia de un transitorio en la trama actual, ya no se realizan operaciones de suavizado para la trama actual. En caso de un transitorio, no se realiza ningún suavizado para Cy y Cx, pero CyR y Cx del marco actual se utilizan en el cálculo de las matrices de mezcla.
4.2.5 Codificación entrópica
[0196] El módulo de codificación por entropía (escritor de flujo de bits) 226 puede ser el último módulo del codificador; su propósito es convertir los valores cuantificados previamente obtenidos en un flujo de bits binario que también se denominará "información secundaria".
[0197] El procedimiento utilizado para codificar los valores puede ser, por ejemplo, la codificación de Huffmann [6] o la codificación delta. El procedimiento de codificación no es crucial y solo influirá en la tasa de bits final; uno debe adaptar el procedimiento de codificación en función de las tasas de bits que desea lograr.
[0198] Se pueden llevar a cabo varias optimizaciones de implementación para reducir el tamaño del flujo de bits 248. Como ejemplo, se puede implementar un mecanismo de conmutación, que cambia de un esquema de codificación a otro dependiendo de cuál sea más eficiente desde el punto de vista del tamaño del flujo de bits.
[0199] Por ejemplo, los parámetros pueden codificarse delta a lo largo del eje de frecuencia para una trama y la secuencia resultante de índices delta puede codificarse por entropía mediante un codificador de rango.
[0200] Además, en el caso del muestreo descendente de parámetros, también como ejemplo, se puede implementar un mecanismo para transmitir solo un subconjunto de las bandas de parámetros en cada trama para transmitir datos continuamente.
[0201] Esos dos ejemplos necesitan bits de señalización para señalar el aspecto específico del decodificador del procesamiento en el lado del codificador.
4.2.6 Cálculo de mezcla descendente
[0202] La parte de mezcla descendente 244 del procesamiento puede ser simple pero, en algunos ejemplos, crucial. La mezcla descendente puede ser pasiva, lo que significa que la forma en que se calcula permanece igual durante el procesamiento y es independiente de la señal o de sus características en un momento dado. Sin embargo, se ha entendido que el cálculo de mezcla descendente en 244 puede extenderse a uno activo (por ejemplo, como se describe en [7]).
[0203] La señal de mezcla descendente 246 puede calcularse en dos lugares diferentes:
- La primera vez para la estimación de parámetros (ver 4.2.2) en el lado del codificador, porque puede ser necesario (en algunos ejemplos) para el cálculo de la matriz de covarianzaCx.
- La segunda vez en el lado del codificador, entre el codificador 200 y el decodificador 300 (en el dominio del tiempo), la señal de mezcla descendente 246 se codifica y/o transmite al decodificador 300 y se utiliza una base para la síntesis en el módulo 334.
[0204] Como ejemplo, en caso de una mezcla descendente estereofónica para una entrada 5.1, la señal de mezcla descendente se puede calcular de la siguiente manera:
- El canal izquierdo de la mezcla descendente es la suma del canal izquierdo, el canal envolvente izquierdo y el canal central.
- El canal derecho de la mezcla descendente es la suma del canal derecho, el canal envolvente derecho y el canal central. O en el caso de una mezcla descendente monofónica para una entrada 5.1, la señal de mezcla descendente se calcula como la suma de cada canal del flujo multicanal.
[0205] En ejemplos, cada canal de la señal de mezcla descendente 246 puede obtenerse como una combinación lineal de los canales de la señal original 212, por ejemplo, con parámetros constantes, implementando así una mezcla descendente pasiva.
[0206] El cálculo de la señal de mezcla descendente se puede ampliar y adaptar para otras configuraciones de altavoces de acuerdo con la necesidad del procesamiento.
Aspecto 3: Procesamiento de bajo retardo utilizando una mezcla descendente pasiva y un banco de filtros de bajo retardo
[0207] La presente invención puede proporcionar un procesamiento de bajo retardo utilizando una mezcla descendente pasiva, por ejemplo, la descrita anteriormente para una entrada 5.1, y un banco de filtros de bajo retardo. Usando esos dos elementos, es posible lograr retardos inferiores a 5 milisegundos entre el codificador 200 y el decodificador 300.
4,3 Decodificador
[0208] El propósito del decodificador es sintetizar la señal de salida de audio (336, 340, yR) en una configuración de altavoz dada mediante el uso de la señal de mezcla descendente codificada (por ejemplo, transmitida) (246, 324) y la información secundaria codificada 228. El decodificador 300 puede renderizar las señales de audio de salida (334, 240, yR) en la misma configuración de altavoz que la utilizada para la entrada (212, y) o en una diferente. Sin pérdida de generalidad, se asumirá que las configuraciones de los altavoces de entrada y salida son las mismas (pero en los ejemplos pueden ser diferentes). En esta sección, se describirán diferentes módulos que pueden componer el decodificador 300.
[0209] Las figuras 3a y 3b representan una descripción detallada del posible procesamiento del decodificador. Es importante tener en cuenta que al menos algunos de los módulos (en particular los módulos con borde discontinuo como 320, 330, 338) en la figura 3b se pueden descartar dependiendo de las necesidades y requisitos para una aplicación determinada. El decodificador 300 puede ser introducido por (por ejemplo, recibir) dos conjuntos de datos del codificador 200:
- La información complementaria 228 con parámetros codificados (como se describe en 4.2.2)
- La señal de mezcla descendente (246, y), que puede estar en el dominio del tiempo (como se describe en 4.2.6).
[0210] Los parámetros codificados 228 pueden necesitar ser decodificados primero (por ejemplo, por la unidad de entrada 312), por ejemplo, con el procedimiento de codificación inversa que se utilizó anteriormente. Una vez realizado este paso, se pueden reconstruir los parámetros relevantes para la síntesis, por ejemplo, las matrices de covarianza. En paralelo, la señal de mezcla descendente (246, x) se puede procesar a través de varios módulos: primero se puede usar un banco de filtros de análisis 320 (cf.4.2.1) para obtener una versión de dominio de frecuencia 324 de la señal de mezcla descendente 246. A continuación, la señal prototipo 328 puede calcularse (cf. 4.3.3) y se puede llevar a cabo una etapa de decorrelación adicional (en 330) (cf. 4.3.4). Un punto clave de la síntesis es el motor de síntesis 334, que utiliza las matrices de covarianza (por ejemplo, como se reconstruye en el bloque 316) y la señal prototipo (328 o 332) como entrada y genera la señal final 336 como salida (cf. 4.3.5). Finalmente, se puede realizar un último paso en un banco de filtros de síntesis 338 (por ejemplo, si el banco de filtros de análisis 320 se usó previamente) que genera la señal de salida 340 en el dominio del tiempo.
4.3.1 Decodificación de entropía (por ejemplo, bloque 312)
[0211] La decodificación entrópica en el bloque 312 (interfaz de entrada) puede permitir obtener los parámetros cuantificados 314 obtenidos previamente en 4. La decodificación del flujo de bits 248 puede entenderse como una operación directa; el flujo de bits 248 puede leerse de acuerdo con el procedimiento de codificación utilizado en 4.2.5 y luego decodificarlo.
[0212] Desde un punto de vista de implementación, el flujo de bits 248 puede contener bits de señalización que no son datos, pero que indican algunas particularidades del procesamiento en el lado del codificador.
[0213] Por ejemplo, los dos primeros bits utilizados pueden indicar qué procedimiento de codificación se ha utilizado en caso de que el codificador 200 tenga la posibilidad de cambiar entre varios procedimientos de codificación. El siguiente bit también se puede usar para describir qué bandas de parámetros se transmiten actualmente.
[0214] Otra información que puede codificarse en la información secundaria del flujo de bits 248 puede incluir un indicador que indica un transitorio y el campo 261 que indica en qué ranura de una trama se produce un transitorio.
4.3.2 Reconstrucción de parámetros
[0215] La reconstrucción de parámetros se puede realizar, por ejemplo, mediante el bloque 316 y/o la calculadora de reglas de mezcla 402.
[0216] Un objetivo de esta reconstrucción de parámetros es reconstruir las matrices de covarianzaCxyCy (o más en información de covarianza general asociada a la señal de mezcla descendente 246 y la información de nivel y correlación de la señal original) a partir de la señal de mezcla descendente 246 y/o de la información lateral 228 (o en su versión representada por los parámetros cuantificados 314). Esas matrices de covarianzaCx ye ypueden ser obligatorias para la síntesis porque son las que describen eficientemente la señal multicanal 246.
[0217] La reconstrucción de parámetros en el módulo 316 puede ser un proceso de dos pasos: primero, la matrizCx(o más en general la información de covarianza asociada a la señal de mezcla descendente 246) se vuelve a calcular a partir de la señal de mezcla descendente 246 (esta etapa puede evitarse en los casos donde la información de covarianza asociada a la señal de mezcla descendente 246 se codifica realmente en la información secundaria 228 del flujo de bits 248); y
entonces, la matrizCy(o más en general la información de nivel y correlación de la señal original 212) puede restaurarse, por ejemplo, usando al menos parcialmente los parámetros transmitidos yCxo más en general la información de covarianza asociada a la señal de mezcla descendente 246 (esta etapa puede evitarse en los casos donde la información de nivel y correlación de la señal original 212 está realmente codificada en la información secundaria 228 del flujo de bits 248).
[0218] Se observa que, en algunos ejemplos, para cada trama es posible suavizar la matriz de covarianza Cx de la trama actual usando una combinación lineal con una matriz de covarianza reconstruida de la trama actual precedente, por ejemplo, por adición, promedio, etc. Por ejemplo, en el t-ésimo fotograma, la covarianza final que se utilizará para la ecuación (4) puede tener en cuenta la covarianza objetivo reconstruida para el fotograma anterior, por ejemplo
[0219] Sin embargo, en caso de la determinación de la presencia de un transitorio en la trama actual, las operaciones de suavizado ya no se realizan para la trama actual. En caso de un transitorio, no se realiza ningún suavizado. Se utiliza Cxdel cuadro actual.
[0220] A continuación se puede encontrar una visión general del proceso.
[0221]Nota: En cuanto al codificador, el procesamiento aquí se puede hacer sobre una base de banda de parámetros independientemente para cada banda, por razones de claridad, el procesamiento se describirá solo para una banda específica y la notación se adaptará en consecuencia.
Aspecto 4a: Reconstrucción de parámetros en caso de que se transmitan las matrices de covarianza [0222] Para este aspecto, se asume que los parámetros codificados (por ejemplo, transmitidos) en la información secundaria 228 (matriz de covarianza asociada a la señal de mezcla descendente 246 e información de nivel de canal y correlación de la señal original 212) son las matrices de covarianza (o un subconjunto de las mismas) como se define en el aspecto 2a. Sin embargo, en algunos ejemplos, la matriz de covarianza asociada a la señal de mezcla descendente 246 y/o el nivel de canal y la información de correlación de la señal original 212 pueden incorporarse mediante otra información.
[0223] Si las matrices de covarianza completasCxyCyse codifican (por ejemplo, se transmiten), no hay más procesamiento que hacer en el bloque 318 (y el bloque 318 puede, por lo tanto, evitarse en dichos ejemplos). Si solo se codifica un subconjunto de al menos una de esas matrices (por ejemplo, transmitida), se deben estimar los valores faltantes. Las matrices de covarianza finales como se usan en el motor de síntesis 334 (o más en particular en el procesador de síntesis 404) se compondrán de los valores codificados (por ejemplo, transmitidos) 228 y los estimados en el lado del decodificador. Por ejemplo, si solo algunos elementos de la matrizCyestán codificados en la información secundaria 228 del flujo de bits 248, los elementos restantes de Cy se estiman aquí.
[0224] Para la matriz de covarianzaCxde la señal de mezcla descendente 246, es posible calcular los valores faltantes utilizando la señal de mezcla descendente 246 en el lado del decodificador y aplicar la ecuación (1).
[0225] En un aspecto donde la aparición y posición de un transitorio se transmite o codifica, las mismas ranuras para calcular la matriz de covarianzaCxde la señal de mezcla descendente 246 se utilizan como en el lado del codificador.
[0226] Para la matriz de covarianza c y, los valores faltantes se pueden calcular, en una primera estimación, de la siguiente manera:
Con:
unaestimaciónde la matriz de covarianza de la señal original 212 (es un ejemplo de versión estimada del nivel de canal original e información de correlación)
- Qla llamada matriz prototipo (regla prototipo, regla de estimación) que describe la relación entre la mezcla descendente y la señal original (c.f. 4.3.3) (es un ejemplo de regla de prototipo)
-Cxla matriz de covarianza de la señal de mezcla descendente (es un ejemplo de información de covarianza de la señal de mezcla descendente 212)
- * denota la transposición conjugada
[0227] Una vez que se realizan esos pasos, las matrices de covarianza se obtienen nuevamente y se pueden usar para la síntesis final.
Aspecto 4b: Reconstrucción de parámetros en caso de que se transmitieran las ICC e ICLD
[0228] Para este aspecto, se puede suponer que los parámetros codificados (por ejemplo, transmitidos) en la información secundaria 228 son las ICC y los ICLD (o un subconjunto de ellos) como se define en el aspecto 2b.
[0229] En este caso, puede ser necesario primero volver a calcular la matriz de covarianzaCx.Esto se puede hacer utilizando la señal de mezcla descendente 212 en el lado del decodificador y aplicando la ecuación (1).
[0230] En un aspecto donde se transmite la aparición y la posición de un transitorio, se utilizan las mismas ranuras para calcular la matriz de covarianzaCxde la señal de mezcla descendente que en el codificador. A continuación, la matriz de covarianzacypodrá volver a calcularse a partir de las ICC y las ICLD; esta operación podrá llevarse a cabo de la siguiente manera:
[0231] Se puede obtener la energía (también conocida como nivel) de cada canal de la entrada multicanal. Esas energías se derivan utilizando los ICLD transmitidos y la siguiente fórmula
Z i
A =Pdm x.i' 1010 (5)
donde
dondeaies el factor de ponderación relacionado con la contribución de energía esperada de un canal a la mezcla descendente, este factor de ponderación se fija para una determinada configuración de altavoz de entrada y se conoce tanto en el codificador como en el decodificador. En el caso de una implementación que define un mapeo para cada canal de entrada i donde el índice de mapeo es el canal j de la mezcla descendente, el canal de entrada i se mezcla únicamente o si el índice de mapeo es mayor que el número de canales de mezcla descendente. Por lo tanto, tenemos un índice de mapeomicLDique se utiliza para determinarPdmx.ide la siguiente manera:
[0232] Las anotaciones son las mismas que las utilizadas en la estimación de parámetros en 4.2.3.
[0233] Esas energías se pueden usar para normalizar elCy estimado.En el caso de que no todas las ICC se transmitan desde el lado del codificador, se puede calcular una estimación deCypara los valores no transmitidos. La matriz de covarianza estimadaCyse puede obtener con la matriz prototipoQy la matriz de covarianzaCxusando la ecuación (4).
[0234] Esta estimación de la matriz de covarianza conduce a una estimación de la matriz ICC, para la cual el término del índice (i,y) puede estar dado por:
Por lo tanto, la matriz "reconstruida" se puede definir de la siguiente manera:
Donde:
- El subíndiceRindica la matriz reconstruida (que es un ejemplo de la versión reconstruida del nivel original y la información de correlación)
- El conjunto{transmitido, índices}corresponde a todos los(i, j)pares que se han decodificado (por ejemplo, transmitidos desde el codificador al decodificador) en la información complementaria 228.
[0235] En los ejemplos £ // se puede preferir ,;y en ^ virtud de ser menos preciso que el valor codificado [0236] Finalmente, a partir de esta matriz ICC reconstruida, se puede deducir la matriz de covarianza reconstruidaCyn.Esta matriz se puede obtener aplicando las energías obtenidas en la ecuación (5) a la matriz ICC reconstruida, por lo tanto, para los índices(i,j):
[0237] En caso de que se transmita la matriz ICC completa, solo se necesitan las ecuaciones (5) y (8). Los párrafos anteriores representan un enfoque para reconstruir los parámetros faltantes, se pueden utilizar otros enfoques y el procedimiento propuesto no es único.
[0238] A partirdel ejemploen el aspecto 1b que utiliza una señal 5.1, se puede observar que los valores que no se transmiten son los valores que deben estimarse en el lado del decodificador.
[0239] Ahora se pueden obtener las matrices de covarianzaCxyCyR.Es importante destacar que la matriz reconstruidaCyrpuede ser una estimación de la matriz deCyde la señal de entrada 212. La compensación de la presente invención puede ser tener la estimación de la matriz de covarianza en el lado del decodificador lo suficientemente cerca del original, pero también transmitir la menor cantidad de parámetros posible. Esas matrices pueden ser obligatorias para la síntesis final que se representa en 4.3.5.
[0240] Se observa que, en algunos ejemplos, para cada trama es posible suavizar la matriz de covarianza reconstruida de la trama actual usando una combinación lineal con una matriz de covarianza reconstruida de la trama actual precedente, por ejemplo, por adición, promedio, etc. Por ejemplo, en el t-ésimo fotograma, la covarianza final que se utilizará para la síntesis puede tener en cuenta la covarianza objetivo reconstruida para el fotograma anterior, por ejemplo
[0241] Sin embargo, en caso de un transitorio, no se realiza ningún suavizado y se utiliza CyR para el marco actual en el cálculo de las matrices de mezcla.
[0242] También se observa que, algunos ejemplos, para cada trama la matriz de covarianza no suavizada de los canales de mezcla descendente Cx se utiliza para la reconstrucción de parámetros, mientras que una matriz de covarianza suavizada Cx,t como se describe en la sección 4.2.3 se utiliza para la síntesis.
[0243] La Fig. 8a reanuda la operación para obtener las matrices de covarianza Cx yCyRen el decodificador 300 (por ejemplo, como se realiza en los bloques 386 o 316...). En los bloques de la Fig. 8a, entre paréntesis, también se indica la ecuación que adopta el bloque particular. Como se puede observar, el estimador de covarianza 384, a través de la ecuación (1), permite llegar a la covarianza Cx de la señal de mezcla descendente 324 (o en su versión de banda reducida 385). El primer estimador de bloque de covarianza 384’, mediante el uso de la ecuación (4) y la regla de tipo adecuada Q, permite llegar a la primera estimaciónyde la covarianza<c y .>Posteriormente, un bloque de covarianza a coherencia 390, mediante la aplicación de la ecuación (6), obtiene las coherencias<i f>Posteriormente, un bloque de reemplazo de ICC 392, al adoptar la ecuación (7), elige entre las ICC estimadas ('%■)y la ICC señalizada en la información secundaria 228 del flujo de bits 348. Las coherencias elegidas ^Rse introducen luego en un bloque de aplicación de energía 394 que aplica energía de acuerdo con el ICLD (xi). Luego, la matriz de covarianza objetivoCyRse proporciona a la calculadora de reglas del mezclador 402 o al bloque de síntesis de covarianza 388 de la Fig. 3a, o a la calculadora de reglas del mezclador de la Fig. 3c o a un motor de síntesis 344 de la Fig. 3b.
4.3.3 Cálculo de la señal prototipo (bloque 326)
[0244] Un propósito del módulo de señal prototipo 326 es dar forma a la señal de mezcla descendente 212 (o su versión de dominio de frecuencia 324) de una manera que pueda ser utilizada por el motor de síntesis 334 (véase 4.3.5). El módulo de señal prototipo 326 puede realizar una mezcla ascendente de la señal de mezcla descendente. El cálculo de la señal prototipo 328 puede ser realizado por el módulo de señal prototipo 326 multiplicando la señal de mezcla descendente 212 (o 324) por la denominada matriz prototipoQ:
Con
-Qla matriz prototipo (que es un ejemplo de la regla del prototipo)
- X la señal de mezcla descendente (212 o 324)
-Ypla señal prototipo (328).
[0245] La forma en que se establece la matriz prototipo puede depender del procesamiento y puede definirse para cumplir con los requisitos de la aplicación. La única restricción puede ser que el número de canales de la señal prototipo 328 tenga que ser el mismo que el número deseado de canales de salida; esto restringe directamente el tamaño de la matriz prototipo. Por ejemplo, Q puede ser una matriz que tiene el número de líneas que es el número de canales de la señal de mezcla descendente (212, 324) y el número de columnas que es el número de canales de la señal de salida de síntesis final (332, 340).
[0246] Comoejemplo,en el caso de señales 5.1 o 5.0, la matriz prototipo se puede establecer de la siguiente manera:
[0247] Se observa que la matriz prototipo puede ser predeterminada y fija. Por ejemplo, Q puede ser el mismo para todas las tramas, pero puede ser diferente para diferentes bandas. Además, hay diferentes Q para diferentes relaciones entre el número de canales de la señal de mezcla descendente y el número de canales de la señal de síntesis. Q se puede elegir entre una pluralidad de Q prealmacenados, por ejemplo, en función del número particular de canales de mezcla descendente y del número particular de canales de síntesis.
Aspecto 5: Reconstrucción de parámetros en el caso de que la configuración del altavoz de salida sea diferente de la configuración del altavoz de entrada:
[0248] Una aplicación de la invención propuesta es generar una señal de salida 336 o 340 en una configuración de altavoz que es diferente de la señal original 212 (es decir, con una mayor o menor cantidad de altavoces, por ejemplo).
[0249] Para ello, hay que modificar la matriz prototipo en consecuencia. En este escenario, la señal prototipo obtenida con la ecuación (9) contendrá tantos canales como la configuración del altavoz de salida.Por ejemplo,si tenemos señales de 5 canales como entrada (en el lado de la señal 212) y queremos obtener una señal de 7 canales como salida (en el lado de la señal 336), la señal prototipo ya contendrá 7 canales.
[0250] Una vez hecho esto, la estimación de la matriz de covarianza en la ecuación (4) sigue en pie y todavía se utilizará para estimar los parámetros de covarianza para los canales que no estaban presentes en la señal de entrada 212.
[0251] Los parámetros transmitidos 228 entre el codificador y el decodificador siguen siendo relevantes y la ecuación (7) también se puede usar. Más precisamente, los parámetros codificados (por ejemplo, transmitidos) deben asignarse a los pares de canales que están lo más cerca posible, en términos de geometría, de la configuración original. Básicamente, es necesario llevar a cabo una operación de adaptación.
[0252]Por ejemplo,si en el lado del codificador se estima un valor ICC entre un altavoz a la derecha y un altavoz a la izquierda, este valor puede asignarse al par de canales de la configuración de salida que tienen la misma posición izquierda y derecha; en el caso de que la geometría sea diferente, este valor puede asignarse al par de altavoces cuyas posiciones son lo más cercanas posible a la original.
[0253] Luego, una vez que se obtiene la matriz de covarianza objetivo Cy para la nueva configuración de salida, el resto del procesamiento no cambia.
[0254] Por consiguiente, para adaptar la matriz de covarianza objetivo (CyR) al número de canales de síntesis, es posible:
utilizar una matriz prototipo Q que convierte el número de canales de mezcla descendente en el número de canales de síntesis; esto se puede obtener mediante
adaptar la fórmula (9), de modo que la señal prototipo tenga el número de canales de síntesis;
adaptar la fórmula (4), por lo tanto, estimaryen el número de canales de síntesis; mantener las fórmulas (5)-(8), que por lo tanto se obtienen en el número de canales originales;
pero asignar grupos de canales originales (por ejemplo, pares de canales originales) en canales de síntesis únicos (por ejemplo, elegir las asignaciones en términos de geometría), o viceversa.
[0255] Se proporciona un ejemplo en la Fig. 8b, que es una versión de la Fig. 8a donde se indica el número de canales de alguna matriz y vectores. Cuando las ICC (tal como se obtienen a partir de la información secundaria 228 del flujo de bits 348) se aplican a la matriz de ICC en 392, grupos de canales originales (por ejemplo, pares de canales originales) en canales de síntesis únicos (por ejemplo, eligiendo las asignaciones en términos de geometría), o viceversa.
[0256] Otra posibilidad de generar una matriz de covarianza objetivo para un número de canales de salida diferente al número de canales de entrada es generar primero la matriz de covarianza objetivo para el número de canales de entrada (por ejemplo, el número de canales originales de la señal de entrada 212) y luego adaptar esta primera matriz de covarianza objetivo al número de canales de síntesis, obteniendo una segunda matriz de covarianza objetivo correspondiente al número de canales de salida. Esto se puede hacer aplicando una regla de mezcla ascendente o descendente, por ejemplo, una matriz que contiene los factores para la combinación de ciertos canales de entrada (originales) a los canales de salida a la primera matriz de covarianza objetivoCyR,y en una segunda etapa aplicar esta matrizCyRa las potencias de canal de entrada transmitidas (ICLD) y obtener un vector de potencias de canal para el número de canales de salida (síntesis), y ajustar la primera matriz de covarianza objetivo de acuerdo con los vectores para obtener una segunda matriz de covarianza objetivo con el número solicitado de canales de síntesis. Esta segunda matriz de covarianza objetivo ajustada ahora se puede usar en la síntesis. Un ejemplo de esto se proporciona en la Figura 8c, que es una versión de la Figura 8a donde los bloques 390-394 operan reconstruyendo la matriz de covarianza objetivoCyR paratener el número de canales originales de la señal original 212. Después de eso, en el bloque 395 se puede aplicar una señal prototipo Q<n>(para transformar en el número de canales de síntesis) y el vector ICLD. En particular, el bloque 386 de la Fig. 8c es el mismo que el bloque 386 de la Fig. 8a, aparte del hecho de que en la Fig. 8c el número de canales de la covarianza objetivo reconstruida es exactamente el mismo que el número de canales originales de la señal de entrada 212 (y en la Fig. 8a, para generalidad, la covarianza objetivo reconstruida tiene el número de canales de síntesis).
4.3.4 Decorrelación
[0257] El propósito del módulo de decorrelación 330 es reducir la cantidad de correlación entre cada canal de la señal prototipo. La señal de altavoces altamente correlacionada puede conducir a fuentes fantasmas y degradar la calidad y las propiedades espaciales de la señal multicanal de salida. Este paso es opcional y se puede implementar o no según los requisitos de la aplicación. En la presente invención, la decorrelación se utiliza antes del motor de síntesis. Comoejemplo,se puede usar un decorrelacionador de frecuencia de todo paso.
Nota sobre MPEG Surround:
[0258] En MPEG Surround según la técnica anterior, existe el uso de las llamadas "matrices de mezcla" (denotadasMiyM2en el estándar). La matrizMicontrola cómo se introducen las señales de mezcla descendente disponibles en los decorrelacionadores. La matrizM2describe cómo se combinarán las señales directas y las decorrelacionadas para generar la señal de salida.
[0259] Si bienpuede habersimilitudes con la matriz prototipo definida en 4.3.3 y también con el uso de decorreladores descritos en esta presente sección, es importante tener en cuenta que:
- La matriz prototipoQtiene una función completamente diferente a las matrices utilizadas en MPEG Surround, el punto de esta matriz es generar la señal prototipo. El propósito de esta señal prototipo es ser introducida en el motor de síntesis.
- La matriz prototipo no está destinada a preparar las señales de mezcla descendente para los decorreladores y puede adaptarse según los requisitos y la aplicación objetivo. Por ejemplo, la matriz prototipo puede generar una señal prototipo para una configuración de altavoz de salida mayor que la de entrada.
- El uso de los decorrelacionadores en la invención propuesta no es obligatorio; el procesamiento se basa en el uso de la matriz de covarianza dentro del motor de síntesis (c.f. 5,1.
- La invención propuesta no genera la señal de salida mediante la combinación de una señal directa y una decorrelacionada.
- El cálculo de Aft yM2depende en gran medida de la estructura del árbol, los diferentes coeficientes de esas matrices dependen de los casos desde el punto de vista de la estructura. Este no es el caso en la invención propuesta, el procesamiento es agnóstico del cálculo mixto descendente (cf. 5.2) y conceptualmente el procesamiento propuesto tiene como objetivo considerar la relación entre todos los canales en lugar de solo los pares de canales, como se puede hacer con una estructura de árbol.
Por lo tanto, la presente invención difiere de MPEG Surround según la técnica anterior.
4.3.5 Motor de síntesis, cálculo de matrices
[0260] La última etapa del decodificador incluye el motor de síntesis 334 o el procesador de síntesis 402 (y adicionalmente un banco de filtros de síntesis 338 si es necesario). Un propósito del motor de síntesis 334 es generar la señal de salida final 336 con respecto a ciertas restricciones. El motor de síntesis 334 puede calcular una señal de salida 336 cuyas características están limitadas por los parámetros de entrada. En la presente invención, los parámetros de entrada 318 del motor de síntesis 338, excepto de la señal prototipo 328 (o 332) son las matrices de covarianzaCxyCy.EspecialmenteCyRse conoce como lamatriz de covarianza objetivoporque las características de la señal de salida deben estar lo más cerca posible de la definida porCy(se mostrará que sediscute una versión estimada y una versión preconstruida de la matriz de covarianza objetivo).
[0261] El motor de síntesis 334 que se puede utilizar no es único, comoejemplo,se puede utilizar una síntesis de covarianza de la técnica anterior [8], que se incorpora a la presente mediante esta referencia. Otro motor de síntesis 333 que podría usarse sería el descrito en el procesamiento DirAC en [2].
[0262] La señal de salida del motor de síntesis 334 podría necesitar un procesamiento adicional a través del banco de filtros de síntesis 338.
[0263] Como resultado final, se obtiene la señal multicanal de salida 340 en el dominio del tiempo.
Aspecto 6: Señales de salida de alta calidad utilizando la "síntesis de covarianza"
[0264] Como se mencionó anteriormente, el motor de síntesis 334 utilizado no es único y se puede utilizar cualquier motor que utilice los parámetros transmitidos o un subconjunto de los mismos. Sin embargo, un aspecto de la presente invención puede ser proporcionar señales de salida de alta calidad 336, por ejemplo, mediante el uso de la síntesis de covarianza [8].
[0265] Este procedimiento de síntesis tiene como objetivo calcular una señal de salida 336 cuyas características se definen por la matriz de covarianzaCyR.Para ello, se calculan las denominadasmatrices de mezcla óptimas,esas matrices mezclarán la señal prototipo 328 en la señal de salida final 336 y proporcionarán el resultado óptimo, desde un punto de vista matemático, dada una matriz de covarianza objetivoCyR.
[0266] Lamatriz de mezcla Mes la matriz que transformará la señal prototipoxpen la señal de salida yR(336) a través de la relaciónyR = Mxp.
[0267] La matriz de mezcla también puede ser una matriz que transformará la señal de mezcla descendente x en la señal de salida a través de la relaciónyR = Mx.A partir de esta relación, también podemos deducir CyR =MCxM*.
[0268] En el procesamiento presentadoCyRyCxpueden ser en algunos ejemplos ya conocidos (ya que son respectivamente la matriz de covarianza objetivoCyRy la matriz de covarianzaCxde la señal de mezcla descendente 246).
[0269] Una solución desde un punto de vista matemático viene dada por M =KyPKx-1,dondeKyyKx-1son todas matrices obtenidas al realizar la descomposición de valores singulares enCxyCyR.ParaP,es el parámetro libre aquí, pero se puede encontrar una solución óptima (desde un punto de vista perceptivo para el oyente) con respecto a la restricción dictada por la matriz prototipoQ.La prueba matemática de lo que se indica aquí se puede encontrar en [8].
[0270] Este motor de síntesis 334 proporciona una salida de alta calidad 336 porque el enfoque está diseñado para proporcionar la solución matemática óptima para la reconstrucción del problema de la señal de salida.
[0271] En términos menos matemáticos, es importante entender que las matrices de covarianza representan relaciones de energía entre los diferentes canales de una señal de audio multicanal. La matrizCypara la señal multicanal original 212 y la matrizCxpara la señal multicanal mezclada hacia abajo 246. Cada valor de esas matrices traduce la relación de energía entre dos canales del flujo multicanal.
[0272] Por lo tanto, la filosofía detrás de la síntesis de covarianza es producir una señal cuyas características son impulsadas por la matriz de covarianza objetivo CyR. Esta matrizCyRse calculó de manera que describa la señal de entrada original 212 (o la señal de salida que queremos obtener, en caso de que sea diferente de la señal de entrada). Luego, teniendo esos elementos, la síntesis de covarianza mezclará óptimamente la señal prototipo para generar la señal de salida final.
[0273] En un aspecto adicional, la matriz de mezcla utilizada para la síntesis de una ranura es una combinación de la matriz de mezclaMde la trama actual y la matriz de mezclaMpde la anterior para garantizar una síntesis suave, por ejemplo, una interpolación lineal basada en el índice de ranura dentro de la trama actual.
[0274] En un aspecto adicional donde se transmite la aparición y la posición de un transitorio, la matriz de mezcla anteriorMpse utiliza para todas las ranuras antes de la posición del transitorio y la matriz de mezclaMse utiliza para la ranura que contiene la posición del transitorio y todas las ranuras siguientes en la trama actual. Se observa que, en algunos ejemplos, para cada trama o ranura es posible suavizar la matriz de mezcla de una trama o ranura actual usando una combinación lineal con una matriz de mezcla usada para la trama o ranura anterior, por<ejemplo, por adición, promedio,>Y<etc>=<.>u<Su>v<pongamos que, para una trama actual t, la banda i de la ranura s de la señal>de salida se obtiene mediante ' ‘ SJ " donde Msjes una combinación de Mri,/la matriz de mezcla utilizada parala trama anterior yMt ies la matriz de mezcla calculada para la trama actual, por ejemplo, interpolación lineal entre ellas:
dondenses el número de ranuras en una trama (por ejemplo, 16) y t-1 y t indican la trama anterior y actual. Más en general, la matriz de mezclaMs,íasociada a cada ranura se puede obtener escalando a lo largo de las ranuras posteriores de un fotograma actual t la matriz de mezclaMt-u,como se calcula para el presente fotograma, por un coeficiente creciente, y añadiendo, a lo largo de las ranuras posteriores del fotograma actual t, la matriz de mezcla escalada por un coeficiente decreciente. Los coeficientes pueden ser lineales.
[0275] Puede disponerse que, en caso de un transitorio (por ejemplo, como se indica en la información 261), las matrices de mezcla actuales y pasadas no se combinen sino la anterior hasta la ranura que contiene el transitorio y la actual para la ranura que contiene el transitorio y todas las ranuras siguientes hasta el final de la trama.
Donde s es el índice de ranura, i es el índice de banda, t y t-1 indican la trama actual y anterior ystes la ranura que contiene el transitorio.
Diferencias con el documento de la técnica anterior [81
[0276] También es importante tener en cuenta que la invención propuesta va más allá del alcance del procedimiento propuesto en [8]. Las diferencias notables son, entre otras:
- La matriz de covarianza objetivoCyRse calcula en el lado del codificador del procesamiento propuesto.
- La matriz de covarianza objetivoCyRtambién se puede calcular de una manera diferente (en la invención propuesta, la matriz de covarianza no es la suma de una parte difusa y directa).
- El procesamiento no se realiza para cada banda de frecuencia individualmente, sino que se agrupa para las bandas de parámetros (como se menciona en 0).
- Desde una perspectiva más global: la síntesis de covarianza es aquí solo un bloque de todo el proceso y debe usarse conjuntamente con todos los demás elementos del lado del decodificador.
4,3. Aspectos preferidos como una lista
[0277] Al menos uno de los siguientes aspectos puede caracterizar el lado del codificador y el lado del decodificador:
1. Del lado del codificador
a. Introducir una señal de audio multicanal 246.
b. Convertir la señal 212 del dominio del tiempo al dominio de la frecuencia (216) utilizando un banco de filtros 214
c. Calcular la señal de mezcla descendente 246 en el bloque 244
d. A partir de la señal original 212 y/o la señal de mezcla descendente 246, estimar un primer conjunto de parámetros para describir el flujo multicanal (señal) 246: matrices de covarianzaCxy/oCy
e. Transmitir y/o codificar directamente las matrices de covarianzaCxy/oCyo calcular las ICC y/o ICLD y transmitirlas
f. Codificar los parámetros transmitidos 228 en el flujo de bits 248 utilizando un esquema de codificación apropiado
g. Calcular la señal de mezcla descendente 246 en el dominio del tiempo
h. Transmitir la información secundaria (es decir, los parámetros) y la señal de mezcla descendente 246 en el dominio del tiempo
2. Del lado del decodificador
a. Decodificar el flujo de bits 248 que contiene la información secundaria 228 y la señal de mezcla descendente 246
b. (opcional) Aplicar el banco de filtros 320 a la señal de mezcla descendente 246 con el fin de obtener una versión 324 de la señal de mezcla descendente 246 en el dominio de frecuencia
c. Reconstruir las matrices de covarianzaCxyCyRa partir de los parámetros decodificados previamente 228 y la señal de mezcla descendente 246
d. Calcular la señal prototipo 328 a partir de la señal de mezcla descendente 246 (324)
e. (opcional) Decorrelacionar la señal prototipo (en el bloque 330)
f. Aplicar el motor de síntesis 334 en la señal prototipo usandoCxyCyRreconstruidos
g. (opcional) Aplicar el banco de filtros de síntesis 338 a la salida 336 de la síntesis de covarianza 334 h. Obtener la señal multicanal de salida 340
4.5 Síntesis de covarianza
[0278] En la presente sección se discuten algunas técnicas que pueden implementarse en los sistemas de las Figs. 1 -3d. Sin embargo, estas técnicas también pueden implementarse de forma independiente: por ejemplo, en algunos ejemplos no hay necesidad del cálculo de covarianza como se ejerce para las Figs. 8a-8c y en las ecuaciones (1)-(8). Por lo tanto, en algunos ejemplos, cuando se hace referencia aCyR(reconstruida, covarianza objetivo), esto también puede sustituirse porCy(que también podría proporcionarse directamente, sin reconstrucción). No obstante, las técnicas de esta sección se pueden utilizar ventajosamente junto con las técnicas analizadas anteriormente.
[0279] A continuación se hace referencia a las Figuras 4a-4d. Aquí, se analizan ejemplos de bloques de síntesis de covarianza 388a- 388d. Los bloques 388a-388d pueden incorporar, por ejemplo, el bloque 388 de las Fig. 3c para realizar síntesis de covarianza. Los bloques 388a-388d pueden, por ejemplo, ser parte del procesador de síntesis 404 y la calculadora de reglas de mezcla 402 del motor de síntesis 334 y/o del bloque de reconstrucción de parámetros 316 de la Fig. 3a. Las Figuras 4A-4D, la señal de mezcla descendente 324 está en el dominio de frecuencia, FD, (es decir, aguas abajo del banco de filtros 320), y se indica con X, mientras que la señal de síntesis 336 también está en el FD, y se indica con Y. Sin embargo, es posible generalizar estos resultados, por ejemplo, en el dominio del tiempo. Se observa que cada uno de los bloques de síntesis de covarianza 388a- 388d de las Figuras 4A-4D puede referirse a una sola banda de frecuencia (por ejemplo, una vez desagregada en 380), y las matrices de covarianza Cx yCyR(u otra información reconstruida) pueden, por lo tanto, asociarse a una banda de frecuencia específica. La síntesis de covarianza se puede realizar, por ejemplo, de una manera cuadro por cuadro, y en ese caso las matrices de covarianza Cx yCyR(u otra información reconstruida) se asocian a un solo cuadro (o a múltiples cuadros consecutivos): por lo tanto, las síntesis de covarianza se pueden realizar de una manera cuadro por cuadro o de una manera de múltiples cuadros por múltiples cuadros.
[0280] En la Fig. 4a, el bloque de síntesis de covarianza 388a puede estar constituido por un bloque de mezcla óptimo con compensación de energía 600a y falta de bloque correlacionador. Básicamente, se encuentra una sola matriz de mezcla M y la única operación importante que se realiza adicionalmente es el cálculo de una matriz de mezcla compensada en energía M'.
[0281] La Fig. 4b muestra un bloque de síntesis de covarianza 388b inspirado en [8]. El bloque de síntesis de covarianza 388b puede permitir obtener la señal de síntesis 336 como una señal de síntesis que tiene un primer componente principal 336m y un segundo componente residual 336R. Si bien el componente principal 336M se puede obtener en una matriz de mezcla de componentes principales óptima 600B, por ejemplo, al encontrar una matriz de mezcla M<m>a partir de las matrices de covarianza Cx yCyRy sin decorrelacionadores, el componente residual 336R se puede obtener de otra manera. M<r>debe satisfacer en principio la relaciónCyR = MCxM*.Típicamente, la matriz de mezcla obtenida no satisface completamente esto y se puede encontrar una covarianza objetivo residual conCr = CyR - MCxM*.Como se puede observar, la señal de mezcla descendente 324 se puede derivar en una ruta 610b (la ruta 610b se puede llamar segunda ruta en paralelo a una primera ruta 610b'que incluye el bloque 600b). Se puede obtener una versión prototipo 613b (indicada conYpR)de la señal de mezcla descendente 324 en el bloque de señal prototipo (bloque de mezcla ascendente) 612b. Por ejemplo, se puede usar una ecuación tal como la ecuación (9), es decir
YpR<=>XQ
[0282] En el presente documento se proporcionan ejemplos de Q (matriz prototipo o matriz de mezcla ascendente). Aguas abajo del bloque 612b, está presente un decorrelacionador 614b, para decorrelacionar la señal prototipo 613b, para obtener una señal decorrelacionada 615b (también indicada con? ).A partir de la señal decorrelacionada 615b, la matriz de covarianza de la señal decorrelacionada?(615b) se estima en el bloque 616b. Al usar la matriz de covarianza de la señal decorrelacionada Pcomo el equivalente de Cx de la mezcla de componentes principales yCrcomo la covarianza objetivo en otro bloque de mezcla óptimo, el componente residual 336R de la señal de síntesis 336 se puede obtener en un bloque de matriz de mezcla de componentes residuales óptimo 618b. El bloque de matriz de mezcla de componentes residuales óptimo 618b puede implementarse de tal manera que se genere una matriz de mezcla M<r>, para mezclar la señal decorrelacionada 615b y obtener el componente residual 336R de la señal de síntesis 336 (para una banda específica). En el bloque sumador 620b, el componente residual 336R se suma al componente principal 336M (las trayectorias 610b y 610b' se unen, por lo tanto, en el bloque sumador 620b).
[0283] La Fig. 4c muestra un ejemplo de síntesis de covarianza 388c alternativa a la síntesis de covarianza 388b de la Fig. 4b. El bloque de síntesis de covarianza 388c permite obtener la señal de síntesis 336 como una señal Y que tiene un primer componente principal 336M'y un segundo componente residual 336R'. Si bien el componente principal 336M'se puede obtener en una matriz de mezcla de componentes principales óptima 600C, por ejemplo, al encontrar una matriz de mezcla M<m>a partir de las matrices de covarianza Cx yCyR(oC y otra información 220) y sin correladores, el componente residual 336R’ se puede obtener de otra manera.La señal de mezcla descendente 324 se puede derivar en una ruta 610c (la ruta 610c se puede llamar segunda ruta en paralelo a una primera ruta 610c'que incluye el bloque 600c). Se puede obtener una versión prototipo 613c de la señal de mezcla descendente 324 en el bloque de mezcla descendente (bloque de mezcla ascendente) 612c, aplicando la matriz prototipo Q (por ejemplo, una matriz que mezcla de forma ascendente la señal de mezcla descendente 234 en una versión 613c de la señal de mezcla descendente 234 en un número de canales que es el número de canales de síntesis). Por ejemplo, se puede usar una ecuación tal como la ecuación (9). En el presente documento se proporcionan ejemplos de Q. Aguas abajo del bloque 612c, se puede proporcionar un decorrelacionador 614c. En algunos ejemplos, la primera ruta no tiene decorrelacionador, mientras que la segunda ruta tiene un decorrelacionador.
[0284] El decorrelacionador 614c puede proporcionar una señal decorrelacionada 615c (también indicada con?). Sin embargo, contrariamente a la técnica utilizada en el bloque de síntesis de covarianza 388b de la Fig. 4b, en el bloque de síntesis de covarianza 388c de la Fig. 4c la matriz de covarianza de la señal decorrelacionada 615c no se estima a partir de la señal decorrelacionada 615c(?).Por el contrario, la matriz de covarianza de la señal decorrelacionada 615c se obtiene (en el bloque 616c) a partir de:
la matriz de covarianza Cx de la señal de mezcla descendente 324 (por ejemplo, como se estima en el bloque 384 en la Fig. 3c y /o usando la ecuación (1)); y
la matriz prototipo Q.
[0285] Al utilizar la matriz de covarianza' ' 'estimada a partir de la matriz de covarianza Cx de la señal de mezcla descendente 324 como el equivalente deCxde la matriz de mezcla de componentes principales yCycomo la matriz de covarianza objetivo, el componente residual 336R' de la señal de síntesis 336 se obtiene en un bloque de matriz de mezcla de componentes residuales óptimo 618c. El bloque de matriz de mezcla de componentes residuales óptimo 618c puede implementarse de tal manera que se genere una matriz de mezcla de componentes residuales M<r>, para obtener el componente residual 336R' mezclando la señal decorrelacionada 615c de acuerdo con la matriz de mezcla de componentes residuales M<r>. En el bloque sumador 620c, el componente residual 336R' se suma al componente principal 336M', para obtener la señal de síntesis 336 (las rutas 610c y 610c' se unen, por lo tanto, en el bloque sumador 620c).
[0286] En algunos ejemplos, el componente residual 336R o 336R'no siempre o no necesariamente se calcula (y la trayectoria 610b o 610c no siempre se usa). En algunos ejemplos, mientras que para algunas bandas la síntesis de covarianza se realiza sin calcular la señal residual 336R o 336R', para otras bandas de la misma trama la síntesis de covarianza se procesa también teniendo en cuenta la señal residual 336R o 336R'. La Fig. 4d muestra un ejemplo del bloque de síntesis de covarianza 388d que puede ser un caso particular del bloque de síntesis de covarianza 388b o 388c: aquí, un selector de banda 630 puede seleccionar o deseleccionar (de una manera representada por el interruptor 631) el cálculo de la señal residual 336R o 336R'. Por ejemplo, la ruta 610b o 610c puede ser activada selectivamente por el selector 630 para algunas bandas, y desactivada para otras bandas. En particular, la ruta 610b o 610c puede desactivarse para bandas por encima de un umbral predeterminado (por ejemplo, un umbral fijo), que puede ser un umbral (por ejemplo, un máximo) que distingue entre bandas para las cuales el oído humano es insensible a la fase (bandas con frecuencia por encima del umbral) y bandas para las cuales el oído humano es sensible a la fase (bandas con frecuencia por debajo del umbral), de modo que el componente residual 336R o 336R 'no se calcula para las bandas con frecuencia por debajo del umbral, y se calcula para bandas con frecuencia por encima del umbral.
[0287] El ejemplo de la Fig. 4d también se puede obtener sustituyendo el bloque 600b o 600c con el bloque 600a de la Fig. 4a y sustituyendo el bloque 610b o 610c con el bloque de síntesis de covarianza 388b de la Fig. 4b o el bloque de síntesis de covarianza 388c de la Fig. 4c.
[0288] Aquí se proporcionan algunas indicaciones sobre cómo obtener la regla de mezcla (matriz) en cualquiera de los bloques 338, 402 (o 404), 600a, 600b, 600c, etc. Como se explicó anteriormente, hay muchas formas de obtener las matrices de mezcla, pero algunas de ellas se analizan aquí con mayor detalle.
[0289] En particular, en primer lugar, se hace referencia al bloque de síntesis de covarianza 388b de la Fig. 4b. En el bloque de matriz de mezcla de componentes principales óptimo 600C, la matriz de mezcla M para el componente principal 336M de la señal de síntesis 336 se puede obtener, por ejemplo, a partir de:
la matriz de covarianza Cy de la señal original 212 (Cy puede estimarse usando al menos algunas de las fórmulas (6)-(8) discutidas anteriormente, véase, por ejemplo, la Fig. 8; puede estar en la llamada forma "versión objetivo"CyR, por ejemplo,según lo estimado con la fórmula (8)); y
la matriz de covarianzaCxde la señal de mezcla descendente 246, 324 (Cy puede estimarse usando, por ejemplo, usando la fórmula (1)).
[0290] Por ejemplo, como propone [8], se admite descomponer las matrices de covarianzaCxyCy,que son hermitianas y semidefinidas positivas, según la siguiente factorización:
[0291]KxyKyse pueden obtener, por ejemplo, aplicando descomposición de valor singular (SVD) dos veces a partir deCxyCy.Por ejemplo:
la SVD enCxpuede proporcionar una matriz Ucx de vectores singulares (por ejemplo, vectores singulares izquierdos); y
una matriz diagonal Scx de valores singulares;
de modo queKxse obtiene multiplicando Ucx por una matriz diagonal que tiene, en sus entradas, las raíces cuadradas de los valores en las entradas correspondientes de Scx.
Además, la SVD enCypuede proporcionar:
una matriz Vcy de vectores singulares (por ejemplo, vectores singulares derechos); y
una matriz diagonal Scy de valores singulares,
de modo queKyse obtiene multiplicando Ucy por una matriz diagonal que tiene, en sus entradas, las raíces cuadradas de los valores en las entradas correspondientes de Scy.
Entonces, es posible obtener una matriz de mezcla de componentes principalesMmque, cuando se aplica a la señal de mezcla descendente 324, permitirá obtener el componente principal 336M de la señal de síntesis 336. La matriz de mezcla de componentes principalesMmse puede obtener de la siguiente manera:
Mm = KyPK- 1
[0292] SiKxes una matriz no convertible, se puede obtener una matriz inversa regularizada con técnicas conocidas y sustituirla en lugar deKx-1.
[0293] El parámetroPes en general libre, pero se puede optimizar. Para llegar aP,es posible aplicar SVD en: Cx (matriz de covarianza de la señal de mezcla descendente 324); y
Cf(matriz de covarianza de la señal prototipo 613b).
[0294] Una vez que se realizan las SVD, es posible obtenerPcomo
P = VAU*
[0295]Aes una matriz que tiene tantas filas como el número de canales de síntesis, y tantas columnas como el número de canales de mezcla descendente.Aes una identidad en su primer bloque cuadrado, y se completa con ceros en las entradas restantes. Ahora se explica cómo se obtienen \/and U de Cx yCf, Vy Uson matrices de vectores singulares obtenidos de una SVD:
USV* = K*Q*G~Ky
[0296] S es la matriz diagonal de valores singulares típicamente obtenidos a través de SVD. '■ es una matriz y
diagonal que normaliza las energías por canal de la señal prototipo - (615b) sobre las energías de la señal de síntesis. Y .Para obtenerG>\primero es necesario calcular,cr=<?c* <?' es decir, la matriz de covarianza de la señal prototipo y (614b). Luego, con el fin de llegar a ,,yd e 'v, los valores diagonales de ‘ 'se normalizan en los valores diagonales correspondientes de Cy, proporcionando por lo tanto Un ejemplo es que las entradas diagonales de se ‘''calculang-u = EÜ'
como ' "v '* ’dondeCy“ .son los valores de las entradas diagonales de Cy, yC?uson los valores de las entradas diagonales de'''
[0297] Una vez que se obtieneMm = KyPKx1, la matriz de covarianzaCrdel componente residual se obtiene a partir de
[0298] Una vez que se obtieneCr,es posible obtener una matriz de mezcla para mezclar la señal decorrelacionada 615b para obtener la señal residual 336R donde en una mezcla óptima idénticaCrtiene el mismo papel queCyRen la mezcla óptima principal y la covarianza de los prototipos decorrelacionados toma el papel de la covarianza de la señal de entradaCxtenía la mezcla óptima principal.
[0299] Sin embargo, se ha entendido que, en comparación con la técnica de la Fig. 4b, la técnica de la Fig. 4c presenta algunas ventajas. En algunos ejemplos, la técnica de la figura 4c es la misma que la técnica de la figura 4c al menos para calcular la matriz principal y para generar el componente principal de la señal de síntesis. Por el contrario, la técnica de la Fig. 4c difiere de la técnica de la Fig. 4b en el cálculo de la matriz de mezcla residual y, más en general, para generar el componente residual de la señal de síntesis. A continuación se hace referencia a la Figura 11 en relación con la Figura 4c para el cálculo de la matriz de mezcla residual. En el ejemplo de la Figura 4c, se utiliza un decorrelacionador 614c en el dominio de frecuencia que asegura la decorrelación de la señal prototipo 613c pero retiene las energías de la propia señal prototipo 613b.
[0300] Además, en el ejemplo de la Figura 4c podemos suponer (al menos por aproximación) que los canales decorrelacionados de la señal decorrelacionada 615c son mutuamente incoherentes y, por lo tanto, que todos los elementos no diagonales de la matriz de covarianza de las señales decorrelacionadas son cero. Con ambos supuestos, podemos simplemente estimar la covarianza de los prototipos decorrelacionados aplicando Q en Cx y tomar solo la diagonal principal de esa covarianza (es decir, las energías de las señales del prototipo). Esta técnica de la Fig. 4c es más eficiente que la estimación del ejemplo de la Fig. 4b, a partir de la señal decorrelacionada 615b, donde tendríamos que hacer la misma agregación de banda/ranura que ya se hizo para Cx. Por lo tanto, en el ejemplo de la Fig. 4c, podemos aplicar simplemente una multiplicación de matriz de la Cx ya agregada. Por lo tanto, se calcula la misma matriz de mezcla para todas las bandas del mismo grupo agregado de bandas.
[0301] Por lo tanto, la covarianza 711( ' )de la señal decorrelacionada se puede estimar, en 710, utilizando
P decorr = d Í& @ (Q C x Q)
como la diagonal principal de una matriz con todos los elementos no diagonales establecidos en cero que se utiliza como covarianza de señal de entradac''.En ejemplos dondeCxse suaviza para realizar la síntesis del componente principal 336M' de la señal de síntesis, se puede usar la técnica según la cual la versión deCxque se usa para calcularPdecorres laCxno suavizada.
[0302] Ahora, se debe usar un prototipo de matriz Qr. Sin embargo, se ha observado que, para la señal residual, Qr es la matriz de identidad. El conocimiento de las propiedades d e '1 (matriz diagonal) y Qr (matriz de identidad) conduce a una mayor simplificación en el cálculo de la matriz de mezcla (se puede omitir al menos una SVD), consulte la siguiente técnica y el listado de Matlab.
[0303] En primer lugar, de manera similar al ejemplo de la Figura 4b, la matriz de covarianza objetivo residualCr(Hermitiano, semidefinido positivo) de la señal de entrada 212 se puede descomponer comoCr = KKr*.La matrizKrse puede obtener a través de SVD (702): la SVD 702 aplicada aCrgenera:
una matriz Uor de vectores singulares (por ejemplo, vectores singulares izquierdos);
una matriz diagonal Sor de valores singulares;
de modo que Kr se obtiene (en 706) multiplicando UCr por una matriz diagonal que tiene, en sus entradas, las raíces cuadradas de los valores en las entradas correspondientes de SCr (habiéndose obtenido esta última en 704).
[0304] En este punto, teóricamente podría ser posible aplicar otra SVD, esta vez a la covarianza de los prototipos decorrelacionados .
[0305] Sin embargo, en este ejemplo (Fig. 4c), para reducir el esfuerzo computacional, se ha elegido una ruta diferente.‘ ',como se estima a partir de= d,a9(Qc^ Q)■ es una matriz diagonal y, por lo tanto, no se necesita SVD (SVD de una matriz diagonal da los valores singulares como un vector ordenado de los elementos diagonales y los vectores singulares izquierdo y derecho solo indican el índice de la clasificación). Al calcular (en 712) la raíz cuadrada
de cada valor en las entradas de la diagonal de' Kyseobtiene una matriz diagonal. Esta matriz diagonal^ es tal
queKyRy<= C ,>con la ventaja de que no ha sido necesaria ninguna SVD para la obtención de T. A partir de la covarianza diagonal de las señales decorrelacionadas ’ , se calcula una matriz ‘ de covarianza estimada de la señal decorrelacionada 615c. Pero dado que la matriz prototipo es Qr (es decir, la matriz de identidad), es posible usarla
directamente para formular ’ como donde c™ son valores de las entradas diagonales deCr,y son
valores de las entradas diagonales de ‘ . v es una matriz diagonal (obtenida en 722) que normaliza las energías por canal de la señal decorrelacionada -v" (615b) sobre las energías deseadas de la señal de síntesis y.
[0306] En este punto, es posible (en 734) multiplicarftJ porGJ^también el resultado 735 de la multiplicación ;;!/ P '
y 'Entonces (736),Krse multiplica por v para obtenerK'y(es deciry' r *y ).A partir deK'y,se puede realizar una SVD (738), para obtener una matriz vectorial singular izquierda U y una matriz vectorial singular derecha V. Al multiplicar (740) V y U*, se obtiene una matriz(P = VUH)P. Finalmente (742), es posible obtener la matriz de mezclaMrpara la señal residual aplicando:
dondeK r~i(obtenido en 745) puede sustituirse por el inverso regularizado. Por lo tanto,Mrse puede usar en el bloque 618c para la mezcla residual.
[0307] Aquí se proporciona un código Matlab para realizar la síntesis de covarianza como se ha analizado anteriormente. Se observa que el código el asterisco (*) significa multiplicación, y el ápice (') significa la matriz hermítica.
%Calcular matriz de mezcla residual
función [M] =
ComputeMixingMatrixResiduaKC_hat_y,Cr,reg_sx,reg_ghat)
Eps_= único íle-15): %Epsilon a evitar
divisiones por cero num oulputs = size(Cr,1);
%de descomposición de Cy
[U_Dr. S_Cr] = svd(Cr);
Kr = Ü_Crsqrt(S_Cr);
%SVD de una maliiz diagonal son los elementos diagonales ordenados,
/podemos omitir el pedido y obtener Kx directamente deCy
K_h at_y=s qrt( dia g( C_haly));
lim it=m ax( K_h at_y }*reg_sx+eps_;
S_hat_y_neg_diag=máx. (K_hat_y,límite);
%Formular Kx regularizado
K_h at_y_neg_in verso=l./S_h at_y _re g_d iag;
% Formular matriz de normalización G hal
% Q es la matriz de identidad en caso de la parte residual/difúsa, por lo que
% a*Cx’ Q' = Cx
Cy_hat_diag = diag(C_tiat_y);
limit = max(Dy_hat_diag}*reg_ghat+eps_;
Cy_hat_diag = máx.(Cy_hat_diag. límite):;
G_hat = sqrtfd iag [Cr]./Cy_hat_diag};
% F o rm u la r P ó ptim o
% K x , G _ h a t son m atrices d ia g o n a les , Q es I...
KJ i a t_ y = K _h a t_y . *G _ h a t;
p ara k = 1 ; salida_nurm
K y_d as h k ,: )= K r [k ,: )* K _ h a t_ y (k ) ;
fin
[U ,~ V ] = s v d (K y _ d a s íi
P = V *U ';
% F o rm u la r M
M ^ K r 'P ;
para k = 1 :s a lid a_ n u m
M ( : ,k )= M (:.k )’ K _ h a t_ y _ re g _ in v e rs o ( k ) ;
fin
fin
[0308] Una discusión sobre la síntesis de covarianza de las figs. 4b y 4c se proporcionan aquí. En algunos ejemplos, se pueden considerar dos formas de síntesis para cada banda, para algunas bandas se aplica la síntesis completa que incluye el camino residual de la Fig. 4b, para bandas, típicamente por encima de una cierta frecuencia donde el oído humano es insensible a la fase, para alcanzar las energías deseadas en el canal se aplica una compensación de energía.
[0309] Por lo tanto, también en el ejemplo de la Figura 4b, para bandas por debajo de un cierto límite de banda (umbral) (fijo, conocido por el decodificador), se puede llevar a cabo la síntesis completa de acuerdo con la Figura 4b (por ejemplo, en el caso de la Figura 4d). En el ejemplo de la Figura 4b, la covarianza Q de la señal decorrelacionada 615b se deriva de la propia señal decorrelacionada 615b. Por el contrario, en el ejemplo de la Figura 4c, se utiliza un decorrelacionador 614c en el dominio de frecuencia que asegura la decorrelación de la señal prototipo 613c pero retiene las energías de la propia señal prototipo 613b.
[0310] Consideraciones adicionales:
- En ambos ejemplos de las Figuras 4b y 4c: en la primera ruta (610b', 610c') se genera una matriz de mezcla M<m>(en el bloque 600b, 600c) confiando en la covarianza Cy de la señal original 212 y la covarianza Cx de la señal de mezcla descendente 324;
- En ambos ejemplos de las Figuras 4b y 4c: en la segunda ruta (610b, 610c), hay un decorrelacionador (614b, 614c), y se genera una matriz de mezcla Mr (en el bloque 618b, 618c), que debe tener en cuenta la covarianza ‘ ' de la señal decorrelacionada (616b, 616c); pero
- En el ejemplo de la Figura 4b, la covarianza'•'de la señal decorrelacionada (616b, 616c) se calcula, de manera intuitiva, utilizando la señal decorrelacionada (616b, 616c), y se pondera en las energías del canal original y; - En el ejemplo de la Figura 4c, la covarianza de la señal decorrelacionada (616b, 616c) se calcula, contra intuitivamente, estimándola a partir de la matrizCx,y se pondera en las energías del canal original y.
[0311] Se observa que la matriz de covarianza(CyR)puede ser la matriz objetivo reconstruida discutida anteriormente (por ejemplo, obtenida a partir del nivel de canal y la información de correlación 220 escrita en la información secundaria 228 del flujo de bits 248), y por lo tanto puede considerarse que está asociada a la covarianza de la señal original 212. De todos modos, como se utilizará para la señal de síntesis 336, la matriz de covarianza(CyR)también se puede considerar como la covarianza asociada a la señal de síntesis. Lo mismo se aplica a la matriz de covarianza residual Cr, que puede entenderse como la matriz de covarianza residual (Cr) asociada a la señal de síntesis, y la matriz de covarianza principal, que puede entenderse como la matriz de covarianza principal asociada a la señal de síntesis.
5. Ventajas
5.1 Reducción del uso de la decorrelación y uso óptimo del motor de síntesis
[0312] Dada la técnica propuesta, así como los parámetros que se utilizan para el procesamiento y la forma en que esos parámetros se combinan con el motor de síntesis 334, se explica que se reduce la necesidad de una fuerte decorrelación de la señal de audio (por ejemplo, en su versión 328) y también que el impacto de la decorrelación (por ejemplo, artefactos o degradaciones de propiedades espaciales o degradaciones de la calidad de la señal) disminuye, si no se elimina, incluso en ausencia del módulo de decorrelación 330.
[0313] Más precisamente, como se indicó anteriormente, la parte de decorrelación 330 del procesamiento es opcional. De hecho, el motor de síntesis 334 se encarga de decorrelacionar la señal 328 utilizando la matriz de covarianza objetivoCy(o un subconjunto de la misma) y garantiza que los canales que componen la señal de salida 336 estén decorrelacionados adecuadamente entre ellos. Los valores en la matriz de covarianzaCyrepresentan las relaciones de energía entre los diferentes canales de nuestra señal de audio multicanal, por lo que se utilizó como objetivo para la síntesis.
[0314] Además, los parámetros codificados (por ejemplo, transmitidos) 228 (por ejemplo, en su versión 314 o 318) combinados con el motor de síntesis 334 pueden garantizar una salida de alta calidad 336 dado el hecho de que el motor de síntesis 334 utiliza la matriz de covarianza objetivoCypara reproducir una señal multicanal de salida 336 cuyas características espaciales y calidad de sonido son lo más cercanas posible a la señal de entrada 212.
5.2 Procesamiento agnóstico de mezcla descendente
[0315] Dada la técnica propuesta, así como la forma en que se calculan las señales prototipo 328 y cómo se utilizan con el motor de síntesis 334, se explica aquí que el decodificador propuesto es independiente de la forma en que se calculan las señales de mezcla descendente 212 en el codificador.
[0316] Esto significa que, la invención propuesta en el decodificador 300 se puede llevar independientemente de la forma en que se calculan las señales de mezcla descendente 246 en el codificador y que la calidad de salida de la señal 336 (o 340) no depende de un procedimiento de mezcla descendente particular.
5.3 Escalabilidad de los parámetros
[0317] Dada la técnica propuesta, así como la forma en que se calculan los parámetros (28, 314, 318) y la forma en que se utilizan con el motor de síntesis 334, así como la forma en que se estiman en el lado del decodificador, se explica que los parámetros utilizados para describir las señales de audio multicanal son escalables en número y en propósito.
[0318] Típicamente, solo se codifica (por ejemplo, se transmite) un subconjunto de los parámetros (por ejemplo, un subconjunto de Cy y/o Cx, por ejemplo, elementos de) estimados en el lado del codificador: esto permite reducir las tasas de bits utilizadas por el procesamiento. Por lo tanto, la cantidad de parámetros (por ejemplo, elementos de Cy y/o Cx) codificados (por ejemplo, transmitidos) puede ser escalable, dado el hecho de que los parámetros no transmitidos se reconstruyen en el lado del decodificador. Esto da la oportunidad de escalar todo el procesamiento en términos de calidad de salida y tasas de bits, cuantos más parámetros se transmitan, mejor calidad de salida y viceversa.
[0319] Además, esos parámetros (por ejemplo, Cy y/o Cx o elementos de los mismos) tienen un propósito escalable, lo que significa que podrían ser controlados por la entrada del usuario para modificar las características de la señal multicanal de salida. Además, esos parámetros pueden calcularse para cada banda de frecuencia y, por lo tanto, permiten una resolución de frecuencia escalable.
[0320] Por ejemplo, podría ser posible decidir cancelar un altavoz en la señal de salida (336, 340) y, por lo tanto, podría ser posible manipular directamente los parámetros en el lado del decodificador, para lograr dicha transformación.
[0321] 5.4 Flexibilidad de la configuración de salida
[0322] Dada la técnica propuesta, así como el motor de síntesis 334 utilizado y la flexibilidad de los parámetros (por ejemplo, Cy y/o Cx o elementos de los mismos), se explica aquí que la invención propuesta permite un amplio espectro de posibilidades de representación relativas a la configuración de salida.
[0323] Más precisamente, la configuración de salida no tiene que ser la misma que la configuración de entrada. Es posible manipular la matriz de covarianza objetivo reconstruida que se alimenta al motor de síntesis para generar una señal de salida 340 en una configuración de altavoz que sea mayor o menor o simplemente con una geometría diferente a la original. Esto es posible por los parámetros que se transmiten y también porque el sistema propuesto es agnóstico de la señal downmixed (c.f. 5,2.
[0324] Por esas razones, se explica que la invención propuesta es flexible desde el punto de vista de la configuración de los altavoces de salida.
5. Algunos ejemplos de matrices prototipo
[0325] Aquí debajo de las tablas para 5.1 ya, pero con el LFE omitido, desde entonces también incluimos el LFE en el procesamiento (con solo un ICC para la relación LFE/C y el ICLD para el LFE enviado solo en la banda de parámetros más baja y establecido en 1 y cero respectivamente para todas las demás bandas en la síntesis en el lado del decodificador). La denominación y las órdenes de los canales siguen las CICP que se encuentran en ISO/IEC 23091-3, "Information technology - Coding independent code-points - Part 3: Audio”, Q siempre se utiliza como matriz prototipo en el decodificador y como matriz de mezcla descendente en el codificador. 5.1/CICP6.aise utilizarán para calcular los ICLD.
'110\
<m>:0^ 0
1 V
V2
2 V
V2
2 0V
a¡= [0.4444 0.4444 0.2 0.2 0.4444 0.4444]
7.1 (C IC P 12)
V2 V2 1 0 1 0 \
2 = f 1 °
Vo 1 V2 V2 0 10V
a¡ = [0.2857 0.2857 0.5714 0.5714 0.2857 0.2857 0.2857 0.2857]
5.1+ 4 (C IC P 16)
V2 V2 1 0 1 0 1 0\
HVo1 01V2 V2 0 1 01 0V
otí = [0.1818 0.1818 0.3636 0.3636 0,1818 0.1818 0.1818 0.1818 0.1818 0.1818]
7.1+ 4 (C IC P 19)
1 0 V 2 V 2 I 0 1 0 1 0 1 0
Q =0 1 V 2 V 2 0 1 0 1 0 1 0 1
“i =
[0.1538 0.1538 0.3077 0.3077 0.1538 0.1538 0.1538 0.1538 0.1538 0.1538 0.1538 0.1538] 6. Procedimientos
[0326] Aunque las técnicas anteriores se han discutido principalmente como componentes o dispositivos de función, los 2 ejemplos anteriores también se pueden implementar como procedimientos. Los bloques y elementos descritos anteriormente también se pueden entender como etapas y/o fases de los procedimientos.
7. Unidades de almacenamiento
[0327] Además, la invención puede implementarse en una unidad de almacenamiento no transitorio que almacena instrucciones que, cuando son ejecutadas por un procesador, hacen que el procesador realice un procedimiento como el anterior.
[0328] Además, la invención puede implementarse en una unidad de almacenamiento no transitorio que almacena instrucciones que, cuando son ejecutadas por un procesador, hacen que el procesador controle al menos una de las funciones del codificador o el decodificador.
[0329] La unidad de almacenamiento puede, por ejemplo, ser parte del codificador 200 o del decodificador 300.
8. Otros aspectos
[0330] Aunque se describieron algunos aspectos dentro del contexto de un dispositivo, se debe entender que dichos aspectos también representan una descripción del procedimiento correspondiente, de modo tal que un bloque o un componente estructural de un dispositivo también se debe entender como una etapa de un procedimiento correspondiente o como una característica de una etapa de un procedimiento. En analogía con eso, los aspectos que se describieron dentro del contexto o como etapa de un procedimiento también representan una descripción de un bloque correspondiente o un detalle o característica de un dispositivo correspondiente. Algunas o todas las etapas del procedimiento se pueden llevar a cabo mediante el uso de un dispositivo de hardware, tal como un microprocesador, un ordenador programable o un circuito electrónico. En algunas realizaciones, algunas o varias de las etapas más importantes del procedimiento se pueden realizar mediante dicho dispositivo.
[0331] Dependiendo de ciertos requisitos de implementación específicos, las realizaciones de la invención se pueden implementar en un hardware o un software. La implementación puede ser efectuada utilizando un medio de almacenamiento digital, por ejemplo, un disco flexible, un DVD, un CD, un ROM, un PROM, un EPROM, un EEPROM o una memoria FLASH que tiene señales de control legibles electrónicamente almacenadas en el mismo que cooperan (o son capaces de cooperar) con un sistema informático programable de modo tal que se efectúa el procedimiento respectivo. Por eso, el medio de almacenamiento digital puede ser legible por ordenador.
[0332] Por consiguiente, algunas realizaciones que no cubre esta invención comprenden un soporte de datos que tiene señales de control legibles electrónicamente, capaces de cooperar con un sistema informático programable, de modo tal que se lleva a cabo cualquiera de los procedimientos descritos en esta invención.
[0333] En general, las realizaciones de la presente invención se podrían implementar como un producto de programa informático que tiene un código de programa, el código de programa siendo efectivo para realizar cualquiera de los procedimientos cuando el producto de programa informático se ejecuta en un ordenador. El código de programa también se puede almacenar en un soporte legible por máquina, por ejemplo.
[0334] Otras realizaciones incluyen el programa informático para realizar cualquiera de los procedimientos descritos en esta invención, dicho programa informático siendo almacenado en un soporte legible a través de una máquina.
[0335] En otras palabras, una realización del procedimiento inventivo es, por consiguiente, un programa informático que tiene un código de programa para realizar cualquiera de los procedimientos descritos en esta invención, cuando el programa informático se ejecuta en un ordenador.
[0336] Un aspecto adicional de los procedimientos inventivos es, por lo tanto, un soporte de datos (o un medio de almacenamiento digital, o un medio legible por ordenador) que comprende, grabado en el mismo, el programa informático para realizar uno de los procedimientos descritos en esta solicitud. El soporte de datos, el medio de almacenamiento digital o el medio grabado son típicamente tangibles o no volátiles.
[0337] Otra realización no cubierta por la invención es, por consiguiente, un flujo de datos o una secuencia de señales que representan el programa informático para realizar cualquiera de los procedimientos descritos en esta invención. El flujo de datos o la secuencia de señales se pueden configurar, por ejemplo, para que se transfieran a través de un enlace de comunicación de datos, por ejemplo, a través de Internet.
[0338] Otra realización no cubierta por la invención comprende un medio de procesamiento, por ejemplo, un ordenador, o un dispositivo lógico programable, configurado o adaptado para realizar cualquiera de los procedimientos descritos en esta invención.
[0339] Un aspecto adicional comprende un ordenador que tiene instalado en el mismo el programa informático para realizar uno de los procedimientos descritos en esta solicitud.
[0340] Un aspecto adicional de acuerdo con la invención comprende un aparato o un sistema configurado para transferir (por ejemplo, electrónica u ópticamente) un programa informático para realizar uno de los procedimientos descritos en esta invención a un receptor. El receptor puede ser, por ejemplo, un ordenador, un dispositivo móvil, un dispositivo de memoria o similares. El aparato o sistema puede, por ejemplo, comprender un servidor de archivos para transferir el programa informático al receptor.
[0341] En algunas realizaciones, se puede usar un dispositivo lógico programable (por ejemplo, una matriz de puerta de campo programable, Field-Programmable Gate Array, FPGA) para realizar algunas o todas las funcionalidades de los procedimientos descritos en esta invención. En algunas realizaciones, una matriz de puerta de campo programable puede cooperar con un microprocesador para realizar cualquiera de los procedimientos descritos en esta invención. En general, los procedimientos se realizan preferentemente por cualquier aparato de hardware.
[0342] El aparato descrito en esta solicitud se puede implementar usando un aparato de hardware, o usando un ordenador, o usando una combinación de un aparato de hardware y un ordenador.
[0343] Los procedimientos descritos en esta solicitud se pueden realizar usando un aparato de hardware, o usando un ordenador, o usando una combinación de un aparato de hardware y un ordenador.
[0344] Los aspectos descritos anteriormente son simplemente ilustrativos de los principios de la presente invención. Se entiende que, para otros expertos en la materia, resultarán evidentes modificaciones y variaciones de las disposiciones y los detalles descritos en esta invención. Por lo tanto, la intención es que la invención esté limitada solo por el alcance de las reivindicaciones de patente inminentes y no por los detalles específicos presentados a modo de descripción y explicación de los aspectos de esta solicitud.
9. Bibliography & References
[1] J. Herre, K. Kjorling, J. Breebart, C. Faller, S. Disch, H. Purnhagen, J. Koppens, J. Hilpert, J. Roden, W. Oomen, K. Linzmeier and K. S. Chong, “MPEG Surround—The ISO/MPEG Standard for Efficient and Compatible Multichannel Audio Coding,” Audio English Society, vol. 56, no. 11, pp. 932-955, 2008.
[2] V. Pulkki, “Spatial Sound Reproduction with Directional Audio Coding,” Audio English Society, vol. 55, no. 6, pp. 503-516, 2007.
[3] C. Faller and F. Baumgarte, “Binaural Cue Coding - Part II: Schemes and Applications,” IEEE Transactions on Speech and Audio Processing, vol. 11, no. 6, pp. 520-531,2003.
[4] O. Hellmuth, H. Purnhagen, J. Koppens, J. Herre, J. Engdegard, J. Hilpert, L. Villemoes, L. Terentiv, C. Falch, A. Holzer, M. L. Valero, B. Resch, H. Mundt and H.-O. Oh, “MPEG Spatial Audio Object Coding - The ISO/MPEG Standard for Efficient Coding of Interactive Audio Scenes,” in a Es , San Fransisco, 2010.
[5] L. Mikko-Ville and V. Pulkki, “Converting 5.1. Audio Recordings to B-Format for Directional Audio Coding Reproduction,” in ICASSP, Prague, 2011.
[6] D. A. Huffman, “A Method for the Construction of Minimum-Redundancy Codes,” Proceedings of the IRE, vol. 40, no. 9, pp. 1098-1101, 1952.
[7] A. Karapetyan, F. Fleischmann and J. Plogsties, “Active Multichannel Audio Downmix,” in 145th Audio Engineering Society, New York, 2018.
[8] J. Vilkamo, T. Backstrom and A. Kuntz, “Optimized Covariance Domain Framework for Time-Frequency Processing of Spatial Audio,” Journal of the Audio Engineering Society, vol. 61, no. 6, pp. 403-411,2013.

Claims (24)

REIVINDICACIONES
1. Un sintetizador de audio (300) para generar una señal de síntesis (336, 340, yr) a partir de una señal de mezcla descendente (246, x), teniendo la señal de síntesis (336, 340,<yr>) un número plural de canales de síntesis, comprendiendo el sintetizador de audio (300):
una interfaz de entrada (312) configurada para recibir la señal de mezcla descendente (246, x), teniendo la señal de mezcla descendente (246, x) un número plural de canales de mezcla descendente e información secundaria (228), incluyendo la información secundaria (228) información de nivel de canal y de correlación (314, £ x) de una señal original (212, y), teniendo la señal original (212, y) un número plural de canales originales; y
un procesador de síntesis (404) configurado para generar, según al menos una regla de mezcla en forma de una matriz, la señal de síntesis (336, 340, yr) utilizando:
nivel de canal e información de correlación (220, 314, £ x) de la señal original (212, y); y
información de covarianza (Cx) de la señal de mezcla descendente (324, 246, x), caracterizada por: donde el sintetizador de audio (300) está configurado para reconstruir (386) una versión objetivo (CyR) de información de covarianza (Cy) de la señal original,
donde el sintetizador de audio (300) está configurado para reconstruir la versión objetivo (Cyr) de la información
C~
de covarianza (Cy) en base a una versión estimada ( y ) de la información de covarianza original (Cy),
C~
donde la versión estimada (y )de la información de covarianza original (Cy) se informa al número de canales de síntesis,
donde el sintetizador de audio (300) está configurado para obtener la versión estimada( y )de la información de covarianza original a partir de la información de covarianza (Cx) de la señal de mezcla descendente (324, 246, x),
C~
donde el sintetizador de audio (300) está configurado para obtener la versión estimada( y )de la información de covarianza original (220) aplicando, a la información de covarianza (Cx) de la señal de mezcla descendente (324, 246, x), una regla de estimación (Q) que es, o está asociada a, una regla prototipo para calcular una señal prototipo (326).
2. El sintetizador de audio (300) según la reivindicación 1, que comprende:
una calculadora de señal prototipo (326) configurada para calcular la señal prototipo (328) a partir de la señal de mezcla descendente (324, 246, x), teniendo la señal prototipo (328) el número de canales de síntesis;
una calculadora de reglas de mezcla (402) configurada para calcular al menos una regla de mezcla (403) usando: el nivel de canal y la información de correlación (314, £ x) de la señal original (212, y); y
la información de covarianza (Cx) de la señal de mezcla descendente (324, 246, x); donde el procesador de síntesis (404) está configurado para generar la señal de síntesis (336, 340, yr) usando la señal prototipo (328) y la al menos una regla de mezcla (403).
3. El sintetizador de audio según cualquiera de las reivindicaciones anteriores, configurado para reconstruir la versión objetivo (CyR) de la información de covarianza (Cy) adaptada al número de canales de la señal de síntesis (336, 340, yr).
4. El sintetizador de audio según la reivindicación 3, configurado para reconstruir la versión objetivo (CyR) de la información de covarianza (Cy) adaptada al número de canales de la señal de síntesis (336, 340,<yr>) mediante la asignación de grupos de canales originales a canales de síntesis únicos, o viceversa, de modo que la versión objetivo reconstruida de la información de covarianza (CyR) se informa al número de canales de la señal de síntesis (336, 340,<yr>).
5. El sintetizador de audio según la reivindicación 4, configurado para reconstruir la versión objetivo (CyR) de la información de covarianza (Cy) adaptada al número de canales de la señal de síntesis (336, 340,<yr>) generando la versión objetivo (CyR) de la información de covarianza para el número de canales originales y aplicando posteriormente una regla de mezcla descendente o una regla de mezcla ascendente y una compensación de energía para llegar a la versión objetivo (CyR) de la covarianza para los canales de síntesis.
6. El sintetizador de audio según cualquiera de las reivindicaciones anteriores, configurado para normalizar, para al menos un par de canales, la versión estimada ( ^) de la información de covarianza original (Cy) en las raíces cuadradas de los niveles de los canales del par de canales.
7. El sintetizador de audio según la reivindicación 6, configurado para construir una matriz con versión estimada (y)de la información de covarianza original (Cy).
8. El sintetizador de audio según la reivindicación 7, configurado para completar la matriz insertando entradas (908) obtenidas en la información secundaria (228) del flujo de bits (248).
9. El sintetizador de audio según cualquiera de las reivindicaciones 6-8, configurado para desnormalizar lar
matriz escalando la versión estimada (y)de la información de covarianza original (Cy) por la raíz cuadrada de los niveles de los canales que forman el par de canales.
10. El sintetizador de audio según cualquiera de las reivindicaciones anteriores, configurado para recuperar, entre la información secundaria (228) de la señal de mezcla descendente (324, 246, x), el nivel de canal y la información de correlación( £x),el sintetizador de audio está configurado además para reconstruir la versión objetivor
(Cyr) de la información de covarianza (Cy) tanto por una versión estimada (y)del nivel de canal original como por la información de correlación (220) de ambos:
información de covarianza (Cx) para al menos un par de canales; y
nivel de canal e información de correlación (£ x) para al menos un segundo canal y un par de canales.
11. El sintetizador de audio según la reivindicación 10, configurado para preferir el nivel de canal y la información de correlación (£ x) que describe el canal o par de canales obtenidos a partir de la información secundaria (228) del flujo de bits (248) en lugar de la información de covarianza (Cy) reconstruida a partir de la señal de mezcla descendente (324, 246, x) para el mismo canal o par de canales.
12. El sintetizador de audio según cualquiera de las reivindicaciones anteriores, donde la versión objetivo reconstruida (CyR) de la información de covarianza (Cy) describe una relación de energía entre un par de canales o se basa, al menos parcialmente, en niveles asociados a cada canal del par de canales.
13. El sintetizador de audio según cualquiera de las reivindicaciones anteriores, configurado para obtener una versión de dominio de frecuencia, FD (324) de la señal de mezcla descendente (246, x), la versión FD (324) de la señal de mezcla descendente (246, x) se divide en bandas o grupos de bandas, donde diferentes niveles de canal e información de correlación (220) están asociados a diferentes bandas o grupos de bandas, donde el sintetizador de audio está configurado para operar de manera diferente para diferentes bandas o grupos de bandas, para obtener diferentes reglas de mezcla (403) para diferentes bandas o grupos de bandas.
14. El sintetizador de audio según cualquiera de las reivindicaciones anteriores, donde la señal de mezcla descendente (324, 246, x) se divide en ranuras, donde diferentes niveles de canal e información de correlación (220) están asociados a diferentes ranuras, y el sintetizador de audio está configurado para funcionar de manera diferente para diferentes ranuras, para obtener diferentes reglas de mezcla (403) para diferentes ranuras.
15. El sintetizador de audio según cualquiera de las reivindicaciones anteriores, donde la señal de mezcla descendente (324, 246, x) se divide en tramas y cada trama se divide en ranuras, donde el sintetizador de audio está configurado para, cuando la presencia y la posición del transitorio en una trama se señaliza (261) como que está en una ranura transitoria:
asociar el nivel de canal actual y la información de correlación (220) a la ranura transitoria y/o a las ranuras posteriores a la ranura transitoria de la trama; y
asociar, a la ranura de la trama que precede a la ranura transitoria, el nivel de canal y la información de correlación (220) de la ranura anterior.
16. El sintetizador de audio según cualquiera de las reivindicaciones anteriores, configurado para elegir la regla de prototipo (Q) configurada para calcular una señal de prototipo (328) en función del número de canales de síntesis.
17. El sintetizador de audio según cualquiera de las reivindicaciones anteriores, donde la regla de prototipo incluye una matriz (Q) con una primera dimensión y una segunda dimensión, donde la primera dimensión está asociada con el número de canales de mezcla descendente, y la segunda dimensión está asociada con el número de canales de síntesis.
18. El sintetizador de audio según cualquiera de las reivindicaciones anteriores, donde la información secundaria (228) incluye una identificación de los canales originales; donde el sintetizador de audio está configurado además para calcular la al menos una regla de mezcla (403) usando al menos una de la información de nivel de canal y de correlación (£ x) de la señal original (212, y), una información de covarianza (Cx) de la señal de mezcla descendente (246, x), la identificación de los canales originales y una identificación de los canales de síntesis.
19. El sintetizador de audio según cualquiera de las reivindicaciones anteriores, donde la señal de mezcla descendente se divide en tramas, donde el sintetizador de audio está configurado para suavizar un parámetro recibido, o un valor estimado o reconstruido, o una matriz de mezcla, usando una combinación lineal con un parámetro, o un valor estimado o reconstruido, o una matriz de mezcla, obtenida para una trama anterior.
20. El sintetizador de audio según la reivindicación 19, configurado para, cuando se señaliza la presencia y/o la posición de un transitorio en una trama (261), desactivar el suavizado del parámetro recibido, o valor estimado o reconstruido, o matriz de mezcla.
21. El sintetizador de audio según cualquiera de las reivindicaciones anteriores, donde la señal de mezcla descendente se divide en tramas y las tramas se dividen en ranuras, donde el nivel de canal y la información de correlación (220, £ x) de la señal original (212, y) se obtiene a partir de la información secundaria (228) del flujo de bits (248) a modo de trama por trama, el sintetizador de audio está configurado para usar, para una trama actual, una regla de mezcla obtenida mediante el escalado, la regla de mezcla, según se calcula para la trama actual, mediante un coeficiente que aumenta a lo largo de las ranuras posteriores de la trama actual, y mediante la adición de la regla de mezcla utilizada para la trama anterior en una versión escalada por un coeficiente decreciente a lo largo de las ranuras posteriores de la trama actual.
22. Un procedimiento para generar una señal de síntesis a partir de una señal de mezcla descendente, teniendo la señal de síntesis un número plural de canales de síntesis, comprendiendo el procedimiento:
recibir una señal de mezcla descendente (246, x), teniendo la señal de mezcla descendente (246, x) un número plural de canales de mezcla descendente, e información secundaria (228), incluyendo la información secundaria (228):
información de nivel de canal y de correlación (220) de una señal original (212, y), y de la señal original (212, y) que tiene un número plural de canales originales;
generar la señal de síntesis usando el nivel de canal y la información de correlación (220) de la señal original (212, y) y la información de covarianza (Cx) de la señal de mezcla descendente (246, x), caracterizado por el procedimiento que comprende además:
reconstruir (386) una versión objetivo (C<yr>) de la información de covarianza (Cy) de la señal original en función de una versión estimada (ry) deja información de covarianza original (Cy),
donde la versión estimada (ry)de la información de covarianza original (Cy) se informa al número de canales de síntesis,
donde la versión estimada( r y)de la información de covarianza original se obtiene a partir de la información de C~ covarianza (Cx) de la señal de mezcla descendente (324, 246, x), donde la versión estimada( y )de la información de covarianza original (220) se obtiene aplicando, a la información de covarianza (Cx) de la señal de mezcla descendente (324, 246, x), una regla de estimación (Q) que es, o está asociada a, una regla prototipo para calcular una señal prototipo (326).
23. El procedimiento según la reivindicación 22, comprendiendo el procedimiento:
calcular la señal prototipo a partir de la señal de mezcla descendente (246, x), teniendo la señal prototipo el número de canales de síntesis;
calcular una regla de mezcla utilizando el nivel de canal y la información de correlación de la señal original (212, y) y la información de covarianza de la señal de mezcla descendente (246, x); y
generar la señal de síntesis utilizando la señal prototipo y la regla de mezcla.
24. Una unidad de almacenamiento no transitorio que almacena instrucciones que, cuando son ejecutadas por un procesador, hacen que el procesador realice un procedimiento según la reivindicación 22.
ES20732888T 2019-06-14 2020-06-15 Codificación y decodificación de parámetros Active ES2980822T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19180385 2019-06-14
PCT/EP2020/066456 WO2020249815A2 (en) 2019-06-14 2020-06-15 Parameter encoding and decoding

Publications (1)

Publication Number Publication Date
ES2980822T3 true ES2980822T3 (es) 2024-10-03

Family

ID=66912589

Family Applications (1)

Application Number Title Priority Date Filing Date
ES20732888T Active ES2980822T3 (es) 2019-06-14 2020-06-15 Codificación y decodificación de parámetros

Country Status (14)

Country Link
US (3) US11990142B2 (es)
EP (2) EP3984028B1 (es)
JP (2) JP7471326B2 (es)
KR (3) KR102798446B1 (es)
CN (2) CN114270437B (es)
AU (3) AU2020291190B2 (es)
BR (1) BR112021025265A2 (es)
CA (2) CA3193359A1 (es)
ES (1) ES2980822T3 (es)
MX (1) MX2021015314A (es)
PL (1) PL3984028T3 (es)
TW (2) TWI792006B (es)
WO (1) WO2020249815A2 (es)
ZA (1) ZA202110293B (es)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3195301A1 (en) 2020-10-13 2022-04-21 Andrea EICHENSEER Apparatus and method for encoding a plurality of audio objects and apparatus and method for decoding using two or more relevant audio objects
MX2023004248A (es) 2020-10-13 2023-06-08 Fraunhofer Ges Forschung Aparato y metodo para codificar una pluralidad de objetos de audio usando informacion de direccion durante una mezcla descendente o aparato y metodo para decodificacion usando una sintesis de covarianza optimizada.
UA130176C2 (uk) * 2020-12-02 2025-12-03 Долбі Лабораторіс Лайсензін Корпорейшн Носій інформації та спосіб кодування звукового сигналу, в якому використовують стратегію понижувального мікшування
WO2022214480A1 (en) * 2021-04-06 2022-10-13 Dolby International Ab Encoding of envelope information of an audio downmix signal
CN115691521B (zh) * 2021-07-29 2026-03-13 华为技术有限公司 一种音频信号的编解码方法和装置
GB2624869A (en) * 2022-11-29 2024-06-05 Nokia Technologies Oy Parametric spatial audio encoding
GB2637109A (en) * 2022-12-01 2025-07-16 Nokia Technologies Oy Binaural audio rendering of spatial audio
TWI907957B (zh) * 2023-02-23 2025-12-11 弗勞恩霍夫爾協會 音訊訊號表示解碼單元和音訊訊號表示編碼單元
WO2024208420A1 (en) 2023-04-05 2024-10-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio processor, audio processing system, audio decoder, method for providing a processed audio signal representation and computer program using a time scale modification
CN119724213A (zh) * 2024-12-02 2025-03-28 深圳市声扬科技有限公司 数据获取方法、装置、电子设备及存储介质
CN120561446B (zh) * 2025-07-29 2025-10-14 无锡九方科技有限公司 一种基于通道相关的卫星观测资料三维变分同化方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1768107B1 (en) * 2004-07-02 2016-03-09 Panasonic Intellectual Property Corporation of America Audio signal decoding device
US20070055510A1 (en) * 2005-07-19 2007-03-08 Johannes Hilpert Concept for bridging the gap between parametric multi-channel audio coding and matrixed-surround multi-channel coding
US7822616B2 (en) * 2005-08-30 2010-10-26 Lg Electronics Inc. Time slot position coding of multiple frame types
WO2007080211A1 (en) 2006-01-09 2007-07-19 Nokia Corporation Decoding of binaural audio signals
US8175280B2 (en) * 2006-03-24 2012-05-08 Dolby International Ab Generation of spatial downmixes from parametric representations of multi channel signals
US8126152B2 (en) * 2006-03-28 2012-02-28 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for a decoder for multi-channel surround sound
UA94117C2 (ru) * 2006-10-16 2011-04-11 Долби Свиден Ав Усовершенстованное кодирование и отображение параметров многоканального кодирования микшированных объектов
KR101100221B1 (ko) 2006-11-15 2011-12-28 엘지전자 주식회사 오디오 신호의 디코딩 방법 및 그 장치
KR101290394B1 (ko) 2007-10-17 2013-07-26 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 다운믹스를 이용한 오디오 코딩
RU2497204C2 (ru) * 2008-05-23 2013-10-27 Конинклейке Филипс Электроникс Н.В. Устройство параметрического стереофонического повышающего микширования, параметрический стереофонический декодер, устройство параметрического стереофонического понижающего микширования, параметрический стереофонический кодер
EP2351024A1 (en) * 2008-10-01 2011-08-03 GVBB Holdings S.A.R.L Decoding apparatus, decoding method, encoding apparatus, encoding method, and editing apparatus
US8666752B2 (en) * 2009-03-18 2014-03-04 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding multi-channel signal
US9026450B2 (en) * 2011-03-09 2015-05-05 Dts Llc System for dynamically creating and rendering audio objects
EP2560161A1 (en) * 2011-08-17 2013-02-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Optimal mixing matrices and usage of decorrelators in spatial audio processing
EP2690621A1 (en) * 2012-07-26 2014-01-29 Thomson Licensing Method and Apparatus for downmixing MPEG SAOC-like encoded audio signals at receiver side in a manner different from the manner of downmixing at encoder side
EP2717265A1 (en) * 2012-10-05 2014-04-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder, decoder and methods for backward compatible dynamic adaption of time/frequency resolution in spatial-audio-object-coding
US8804971B1 (en) * 2013-04-30 2014-08-12 Dolby International Ab Hybrid encoding of higher frequency and downmixed low frequency content of multichannel audio
EP2804176A1 (en) 2013-05-13 2014-11-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio object separation from mixture signal using object-specific time/frequency resolutions
EP3022949B1 (en) 2013-07-22 2017-10-18 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung E.V. Multi-channel audio decoder, multi-channel audio encoder, methods, computer program and encoded audio representation using a decorrelation of rendered audio signals
EP2838086A1 (en) * 2013-07-22 2015-02-18 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. In an reduction of comb filter artifacts in multi-channel downmix with adaptive phase alignment
EP2830060A1 (en) * 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Noise filling in multichannel audio coding
EP2830053A1 (en) * 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Multi-channel audio decoder, multi-channel audio encoder, methods and computer program using a residual-signal-based adjustment of a contribution of a decorrelated signal
UA117258C2 (uk) * 2013-10-21 2018-07-10 Долбі Інтернешнл Аб Структура декорелятора для параметричного відновлення звукових сигналів
EP2866227A1 (en) * 2013-10-22 2015-04-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method for decoding and encoding a downmix matrix, method for presenting audio content, encoder and decoder for a downmix matrix, audio encoder and audio decoder
EP2879131A1 (en) * 2013-11-27 2015-06-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Decoder, encoder and method for informed loudness estimation in object-based audio coding systems
US9959877B2 (en) * 2016-03-18 2018-05-01 Qualcomm Incorporated Multi channel coding
GB201718341D0 (en) * 2017-11-06 2017-12-20 Nokia Technologies Oy Determination of targeted spatial audio parameters and associated spatial audio playback
GB2595475A (en) * 2020-05-27 2021-12-01 Nokia Technologies Oy Spatial audio representation and rendering

Also Published As

Publication number Publication date
PL3984028T3 (pl) 2024-08-19
EP3984028B1 (en) 2024-04-17
WO2020249815A3 (en) 2021-02-04
ZA202110293B (en) 2022-08-31
KR20220025107A (ko) 2022-03-03
EP4398243B1 (en) 2026-01-28
US20220122617A1 (en) 2022-04-21
CA3143408C (en) 2025-10-07
KR20220025108A (ko) 2022-03-03
CN114270437A (zh) 2022-04-01
WO2020249815A2 (en) 2020-12-17
KR102745647B1 (ko) 2024-12-23
AU2021286307C1 (en) 2024-08-29
AU2021286309A1 (en) 2022-01-20
AU2021286307B2 (en) 2023-06-15
US20220108707A1 (en) 2022-04-07
EP4398243A3 (en) 2024-10-09
US12266372B2 (en) 2025-04-01
AU2020291190A1 (en) 2022-01-20
TWI843389B (zh) 2024-05-21
CN114270437B (zh) 2025-05-30
EP3984028A2 (en) 2022-04-20
BR112021025265A2 (pt) 2022-03-15
KR20220024593A (ko) 2022-03-03
JP7696986B2 (ja) 2025-06-23
KR102798446B1 (ko) 2025-04-22
MX2021015314A (es) 2022-02-03
JP2022537026A (ja) 2022-08-23
TWI792006B (zh) 2023-02-11
EP3984028C0 (en) 2024-04-17
US12277941B2 (en) 2025-04-15
CA3143408A1 (en) 2020-12-17
AU2021286309B2 (en) 2023-05-04
US11990142B2 (en) 2024-05-21
US20220122621A1 (en) 2022-04-21
CN119541509A (zh) 2025-02-28
CA3193359A1 (en) 2020-12-17
JP7471326B2 (ja) 2024-04-19
TW202105365A (zh) 2021-02-01
EP4398243A2 (en) 2024-07-10
KR102799690B1 (ko) 2025-04-23
AU2021286307A1 (en) 2022-01-20
TW202322102A (zh) 2023-06-01
JP2024029071A (ja) 2024-03-05
AU2020291190B2 (en) 2023-10-12

Similar Documents

Publication Publication Date Title
ES2980822T3 (es) Codificación y decodificación de parámetros
ES2687952T3 (es) Reducción de fallas de filtro peine en mezcla descendente de canales múltiples con alineación de fase adaptativa
ES2312025T3 (es) Esquema de codificador/descodificador de multicanal casi transparente o transparente.
ES2733878T3 (es) Codificación mejorada de señales de audio digitales multicanales
EP3022949B1 (en) Multi-channel audio decoder, multi-channel audio encoder, methods, computer program and encoded audio representation using a decorrelation of rendered audio signals
US11115770B2 (en) Multi-channel decorrelator, multi-channel audio decoder, multi channel audio encoder, methods and computer program using a premix of decorrelator input signals
ES2401554T3 (es) Aparato, procedimiento y programa de computadora para mezclar hacia arriba una señal de audio mezclada hacia abajo
RU2806701C2 (ru) Кодирование и декодирование параметров
RU2803451C2 (ru) Кодирование и декодирование параметров
HK40065281A (en) Parameter encoding and decoding
HK40065281B (en) Parameter encoding and decoding
HK1225548A1 (en) Multi-channel decorrelator, multi-channel audio decoder, methods and computer program using a premix of decorrelator input signals
HK1225548B (en) Multi-channel decorrelator, multi-channel audio decoder, methods and computer program using a premix of decorrelator input signals
HK1224867A1 (en) Multi-channel audio decoder, multi-channel audio encoder, methods, computer program and encoded audio representation using a decorrelation of rendered audio signals
HK1224867B (en) Multi-channel audio decoder, multi-channel audio encoder, methods, computer program and encoded audio representation using a decorrelation of rendered audio signals