ES2994675T3 - Audio decoder, audio encoder, and related methods using joint coding of scale parameters for channels of a multi-channel audio signal - Google Patents

Audio decoder, audio encoder, and related methods using joint coding of scale parameters for channels of a multi-channel audio signal Download PDF

Info

Publication number
ES2994675T3
ES2994675T3 ES21742333T ES21742333T ES2994675T3 ES 2994675 T3 ES2994675 T3 ES 2994675T3 ES 21742333 T ES21742333 T ES 21742333T ES 21742333 T ES21742333 T ES 21742333T ES 2994675 T3 ES2994675 T3 ES 2994675T3
Authority
ES
Spain
Prior art keywords
scale
parameters
channel
scale parameters
group
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
ES21742333T
Other languages
English (en)
Inventor
Emmanuel Ravelli
Goran Markovic
Jan Frederik Kiene
Franz Reutelhuber
Stefan Döhla
Eleni Fotopoulou
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 ES2994675T3 publication Critical patent/ES2994675T3/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
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
    • 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/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/035Scalar quantisation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • 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/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • 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/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/22Mode decision, i.e. based on audio signal content versus external parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • H04S7/30Control circuits for electronic adaptation of the sound field
    • H04S7/307Frequency adjustment, e.g. tone control
    • 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
    • G10L2019/0001Codebooks
    • G10L2019/0004Design or structure of the codebook
    • G10L2019/0005Multi-stage vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Stereophonic System (AREA)

Abstract

1. Códec de audio que incluye un decodificador para decodificar una señal de audio multicanal que comprende datos de audio e información sobre parámetros de escala codificados conjuntamente, comprendiendo el decodificador: un decodificador de parámetros de escala (220) para decodificar la información para obtener parámetros de escala primero y segundo; y un procesador de señal (210) para aplicar parámetros de escala primero y segundo a una representación de canal primera y segunda derivada de los datos para obtener el primer y segundo canal de la señal de audio decodificada, en donde los parámetros de escala comprenden información sobre un primer y segundo grupo de parámetros de escala, estando configurado el decodificador de parámetros de escala (220) para combinar un parámetro de escala del primer grupo y un parámetro de escala del segundo grupo utilizando una primera regla de combinación para obtener un parámetro de escala del primer conjunto, y utilizando una segunda regla de combinación que es diferente de la primera regla de combinación para obtener un parámetro de escala del segundo conjunto. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Decodificador de audio, codificador de audio y métodos relacionados que utilizan codificación conjunta de parámetros de escala para canales de una señal de audio multicanal
La presente invención se refiere a procesamiento de señales de audio y, por ejemplo, se puede aplicar en un procesamiento estéreo MDCT de, por ejemplo, IVAS.
Además, la presente invención se puede aplicar en la codificación conjunta de los parámetros de conformación de ruido espectral estéreo
La conformación de ruido espectral conforma el ruido de cuantificación en el dominio de frecuencia de modo que el oído humano percibe mínimamente el ruido de cuantificación y, por lo tanto, se puede maximizar la calidad perceptual de la señal de salida decodificada.
La conformación de ruido espectral es una técnica utilizada en la mayoría de los códecs de audio basados en transformadas del estado de la técnica.
Codificación de audio avanzada (AAC)
En este enfoque [1] [2], el espectro MDCT se particiona en una serie de bandas de factores de escala no uniformes. Por ejemplo, a 48 kHz, el MDCT tiene 1024 coeficientes y se particiona en 49 bandas de factores de escala. En cada banda, se utiliza un factor de escala para modificar la escala de los coeficientes MDCT de esa banda. Luego se emplea un cuantificador escalar con un tamaño de paso constante para cuantificar los coeficientes MDCT modificados en escala. En el lado de decodificador, se realiza una modificación de escala inversa en cada banda, conformando el ruido de cuantificación introducido por el cuantificador escalar.
Los 49 factores de escala se codifican en el flujo de bits como información adicional. Por lo general, requiere un número significativamente alto de bits para codificar los factores de escala, debido al número relativamente alto de factores de escala y la alta precisión requerida. Esto se puede convertir en un problema con velocidad de bits baja y/o con un retardo bajo.
TCX basado en MDCT
En un TCX basado en MDCT, un códec de audio basado en transformada utilizado en las normas MPEG-D USAC [3] y 3GPP EVS [4], la conformación de ruido espectral se realiza con la ayuda de filtros de percepción basados en LPC, filtro de percepción similar como se usa en códecs de voz basados en ACELP recientes (por ejemplo, AMR-WB).
En este enfoque, un conjunto de 16 coeficientes de predicción lineal (LPC) se estima primero en una señal de entrada previamente enfatizada. Luego se ponderan y cuantifican los LPC. La respuesta de frecuencia de los LPC ponderados y cuantificados luego se calcula en 64 bandas espaciadas uniformemente. Los coeficientes MDCT luego se modifican en escala en cada banda usando la respuesta de frecuencia calculada. Los coeficientes MDCT modificados en escala luego se cuantifican usando un cuantificador escalar con un tamaño de paso controlado por una ganancia global. En el decodificador, se realiza una modificación de escala inversa en cada 64 bandas, conformando el ruido de cuantificación introducido por el cuantificador escalar.
Este enfoque tiene una clara ventaja con respecto al enfoque AAC: requiere la codificación de solo 16 parámetros (LPC) 1 (ganancia global) como información adicional (a diferencia de los 49 parámetros en AAC). Además, 16 LPC se pueden codificar de manera eficiente con un pequeño número de bits al emplear una representación LSF y un cuantificador de vector. En consecuencia, el enfoque TCX basado en MDCT requiere menos bits de información adicional como el enfoque de AAC, que puede hacer una diferencia significativa con velocidad de bits baja y/o retardo bajo.
TCX mejorado basado en MDCT (LPC psicoacústico)
Se publica un sistema TCX mejorado basado en MDCT en [5]. En este nuevo enfoque, la autocorrelación (para estimar los LPC) ya no se realiza en el dominio del tiempo, sino que se calcula en el dominio MDCT utilizando una transformada inversa de las energías de coeficientes MDCT. Esto permite usar una escala de frecuencia no uniforme simplemente agrupando los coeficientes MDCT en 64 bandas no uniformes y calculando la energía de cada banda. También reduce la complejidad necesaria para calcular la autocorrelación.
Nueva conformación de ruido espectral (SNS)
En una técnica mejorada para la conformación de ruido espectral como se describe [6] e implementa en el códec de comunicación de baja complejidad (LC3 /LC3plus), se puede obtener una velocidad de bits baja sin pérdida sustancial de calidad por modificación de escala, en el lado de codificador, con un mayor número de factores de escala y al submuestrear los parámetros de escala en el lado de codificador en un segundo conjunto de 16 parámetros de escala (parámetros SNS). Por lo tanto, se obtiene información adicional de velocidad de bits baja por un lado y, sin embargo, un procesamiento espectral de alta calidad del espectro de señal de audio debido a la modificación de escala fina por otro lado.
Predicción lineal estéreo (SLP)
En la tesis descrita en [7], un conjunto de coeficientes de predicción lineal se calculan no solo considerando la predicción intercuadro, sino también considerando la predicción de un canal a otro. El conjunto de coeficientes bidimensionales calculados se cuantifica y codifican utilizando técnicas similares a las de la LP de canal individual, pero sin considerar la cuantificación del residuo en el contexto de la tesis. Sin embargo, la implementación descrita viene con un alto retardo y una complejidad significativa y, por lo tanto, es bastante inadecuada para una aplicación en tiempo real que requiere un bajo retardo, por ejemplo, para los sistemas de comunicación.
En un sistema estéreo como el sistema basado en MDCT que se describe en [8], el preprocesamiento de las señales de canal L R discretas se realiza con el fin de modificar la escala de los espectros utilizando la conformación de ruido de dominio de frecuencia al "dominio blanqueado". Luego, se realiza procesamiento estéreo conjunto para cuantificar y codificar los espectros blanqueados de manera óptima.
Los parámetros de escala para las técnicas de conformación de ruido espectral descritas anteriormente se cuantifican codificados de forma independiente para cada canal. Esto da como resultado una doble velocidad de bits de información adicional que se debe enviar al decodificador a través del flujo de bits.
El documento US 2007/016427 A1 describe técnicas y herramientas para representar, codificar y decodificar información de factores de escala. Durante la codificación de factores de escala, un codificador utiliza uno o más de selección de resolución de factor de escala flexible, predicción espacial de factores de escala, predicción flexible de factores de escala, suavizado de amplitudes de factor de escala ruidosas, reordenación de residuos de predicción de factor de escala y predicción de residuos de predicción de factor de escala. Durante la decodificación, un decodificador utiliza uno o más de selección de resolución de factor de escala flexible, predicción espacial de factores de escala, predicción flexible de factores de escala, reordenación de residuos de predicción de factor de escala y predicción de residuos de predicción de factor de escala.
Un objeto de la presente invención es proporcionar un concepto de codificación/decodificación mejorado o más eficiente.
Este objeto se logra mediante un decodificador de audio de la reivindicación 1, un codificador de audio de la reivindicación 17, un método de decodificación de la reivindicación 35, un método de codificación de la reivindicación 36 o un programa informático de la reivindicación 37.
La presente invención se basa en el hallazgo de que se pueden obtener ahorros de velocidad de bits para casos, donde las señales L, R o, generalmente, dos o más canales de una señal multicanal están correlacionados. En este caso, los parámetros extraídos para ambos canales son bastante similares.
Por lo tanto, se aplica una codificación de cuantificación conjunta de los parámetros que da como resultado un ahorro significativo de la velocidad de bits. Este ahorro de velocidad de bits se puede usar en varias direcciones diferentes. Una dirección puede ser gastar la velocidad de bits guardada en la codificación de la señal central de modo que se mejore la calidad perceptual general de la señal estéreo o multicanal. Otra dirección es alcanzar una velocidad de bits general más baja en un caso donde la codificación de la señal central y, por lo tanto, la calidad perceptiva general no se mejora, sino que se deja en la misma calidad.
La reivindicación independiente 17 define, de acuerdo con un primer aspecto, un codificador de audio para codificar una señal de audio multicanal que comprende dos o más canales, que comprende una calculadora de parámetros de escala para calcular un primer grupo de parámetros de escala codificados conjuntamente y un segundo grupo de parámetros de escala codificados conjuntamente para un primer conjunto de parámetros de escala para un primer canal de la señal de audio multicanal y para un segundo conjunto de parámetros de escala para un segundo canal de la señal de audio multicanal. El codificador de audio comprende adicionalmente un procesador de señales para aplicar el primer conjunto de parámetros de escala al primer canal y para aplicar el segundo conjunto de parámetros de escala al segundo canal de la señal de audio multicanal. El procesador de señales deriva adicionalmente datos de audio multicanal del primer y segundo datos de canal obtenidos mediante la aplicación del primer y segundo conjunto de parámetros de escala, respectivamente. El codificador de audio tiene adicionalmente un formador de señales codificadas para usar los datos de audio multicanal y la información sobre el primer grupo de parámetros de escala codificados conjuntamente y la información sobre el segundo grupo de parámetros de escala codificados conjuntamente para obtener una señal de audio multicanal codificada.
Preferentemente, la calculadora de parámetros de escala se configura para que sea adaptativa de modo que, para cada cuadro o subcuadro de la señal de audio multicanal, se realice una determinación, si se va a realizar la codificación conjunta de parámetros de escala o la codificación por separado de parámetros de escala. En una realización adicional, esta determinación se basa en un análisis de similitud entre los canales de la señal de audio multicanal en consideración. En particular, el análisis de similitud se realiza mediante el cálculo de una energía de los parámetros codificados conjuntamente y, en particular, una energía de un conjunto de parámetros de escala del primer grupo y el segundo grupo de parámetros de escala codificados conjuntamente. Particularmente, la calculadora de parámetros de escala calcula el primer grupo como una suma entre el primer y segundo parámetros de escala correspondientes y calcula el segundo grupo como una diferencia entre el primer y segundo parámetros de escala correspondientes. En particular, el segundo grupo y, preferentemente, los parámetros de escala que representan la diferencia, se utilizan para la determinación de la medición de similitud con el fin de decidir si se va a realizar la codificación conjunta de los parámetros de escala o la codificación por separado de los parámetros de escala. Esta situación se puede señalizar a través de una bandera estéreo o multicanal.
Además, se prefiere cuantificar específicamente los parámetros de escala con un proceso de cuantificación de dos etapas. Un cuantificador de vector de primera etapa cuantifica la pluralidad de parámetros de escala o, generalmente, elementos de información de audio para determinar un resultado de cuantificación de vector de primera etapa y para determinar una pluralidad de elementos de cuantificación intermedios correspondientes al resultado de cuantificación de vector de primera etapa. Además, el cuantificador comprende un determinador de elemento residual para calcular una pluralidad de elementos residuales a partir de la pluralidad de elementos cuantificados intermedios y la pluralidad de elementos de información de audio. Además, se proporciona un cuantificador de vector de segunda etapa para cuantificar la pluralidad de elementos residuales para obtener un resultado de cuantificación de vector de segunda etapa, en donde el resultado de cuantificación de vector de primera etapa y el resultado de cuantificación de vector de segunda etapa juntos representan la representación cuantificada de la pluralidad de elementos de información de audio que son, en una realización, los parámetros de escala. En particular, los elementos de información de audio pueden ser parámetros de escala codificados conjuntamente o parámetros de escala codificados por separado. Además, otros elementos de información de audio pueden ser cualquier elemento de información de audio que sea útil para cuantificación de vector. Particularmente, aparte de los parámetros de escala o factores de escala como elementos de información de audio específicos, otros elementos de información de audio útiles para el vector cuantificado son valores espectrales tales como líneas MDCT o FFT. Incluso otros elementos de información de audio que se pueden cuantificar por vector son valores de audio de dominio de tiempo tales como valores de muestreo de audio o grupos de muestras de audio de dominio de tiempo o grupos de líneas de frecuencia de dominio espectral o datos LPC u otros datos de envoltura, ya sea una representación de datos espectral o de envoltura de tiempo.
En una implementación preferida, el determinador de elemento residual calcula, para cada elemento residual, una diferencia entre los elementos de información de audio correspondientes tales como un parámetro de escala y un elemento cuantificado intermedio correspondiente tales como un parámetro de escala cuantificado o factor de escala. Además, el determinador de elemento residual se configura para amplificar o ponderar, para cada elemento residual, una diferencia entre un elemento de información de audio correspondiente y un elemento cuantificado intermedio correspondiente de modo que la pluralidad de elementos residuales sean mayores que la diferencia correspondiente o para amplificar o ponderar la pluralidad de elementos de información de audio y/o la pluralidad de elementos cuantificados intermedios antes de calcular una diferencia entre los elementos amplificados para obtener los elementos residuales. Mediante este procedimiento, se puede realizar un control útil del error de cuantificación. En particular, cuando el segundo grupo de elementos de información de audio tales como los diferentes parámetros de escala son bastante pequeños, que es típicamente el caso, cuando el primer y el segundo canal están correlacionados entre sí de modo que se ha determinado la cuantificación conjunta, los elementos residuales son típicamente bastante pequeños.
Por lo tanto, cuando se amplifican los elementos residuales, el resultado de la cuantificación comprenderá más valores que no se cuantifican a 0 en comparación con un caso, donde esta amplificación no se ha realizado. Por lo tanto, una amplificación en el codificador o lado de cuantificación puede ser útil.
Este es particularmente el caso cuando, como en otra realización preferida, se realiza la cuantificación del segundo grupo de parámetros de escala codificados conjuntamente, tal como los parámetros de escala de diferencia. Debido al hecho de que estos parámetros de escala adicionales son de todos modos pequeños, puede surgir una situación en la que, sin la amplificación, la mayoría de los diferentes parámetros de escala se cuantifican a 0 de todos modos. Por lo tanto, con el fin de evitar esta situación que podría dar como resultado una pérdida de impresión estéreo y, por lo tanto, en una pérdida de calidad psicoacústica, la amplificación se realiza de modo que solo una pequeña cantidad o casi ningún parámetro de escala adicional se cuantifica a 0. Esto, por supuesto, reduce el ahorro en velocidad de bits. Debido a este hecho, sin embargo, los elementos de datos residuales cuantificados son de todos modos solo pequeños, es decir, dan como resultado índices de cuantificación que representan valores pequeños y el incremento de la velocidad de bits no es demasiado alto, ya que los índices de cuantificación para valores pequeños se codifican de manera más eficiente que los índices de cuantificación para valores más altos. Esto incluso se puede mejorar mediante la realización adicional de una operación de codificación entrópica que favorece aún más los índices de cuantificación pequeños con respecto a la velocidad de bits sobre los índices de cuantificación más altos.
En otra realización preferida, el cuantificador de vector de primera etapa es un cuantificador de vector que tiene un determinado libro de códigos y el cuantificador de vector de segunda etapa es un cuantificador de vector algebraico que da como resultado, un índice de cuantificación, en un número de libro de códigos, un índice de vector en un libro de códigos base y un índice Voronoi. Preferentemente, tanto el cuantificador de vector como el cuantificador de vector algebraico se configuran para realizar una cuantificación de vector de nivel dividido donde ambos cuantificadores tienen el mismo procedimiento de nivel dividido. Además, los cuantificadores de vector de primera y segunda etapa se configuran de tal manera que el número de bits y, por lo tanto, la precisión del resultado de cuantificador de vector de primera etapa es mayor que el número de bits o la precisión del resultado de cuantificador de vector de segunda etapa, o el número de bits y, por lo tanto, la precisión del resultado de cuantificador de vector de primera etapa es diferente del número de bits o la precisión del resultado de cuantificador de vector de segunda etapa. En otras realizaciones, el cuantificador de vector de primera etapa tiene una velocidad de bits fija y el cuantificador de vector de segunda etapa tiene una velocidad de bits variable. Por lo tanto, en general, las características de la primera etapa y los cuantificadores de vector de segunda etapa son diferentes entre sí.
La reivindicación independiente 1 define un decodificador de audio para decodificar una señal de audio codificada que comprende datos de audio multicanal que comprenden datos para dos o más canales de audio, e información sobre parámetros de escala codificados conjuntamente, de acuerdo con el primer aspecto, el decodificador de audio comprende un decodificador de parámetros de escala para decodificar la información sobre los parámetros de escala codificados conjuntamente. Además, el decodificador de audio tiene un procesador de señales, donde el decodificador de parámetros de escala se configura para combinar un parámetro de escala codificado conjuntamente del primer grupo y el parámetro de escala codificado conjuntamente del segundo grupo usando diferentes reglas de combinación para obtener los parámetros de escala para el primer conjunto de parámetros de escala y los parámetros de escala para el segundo conjunto de parámetros de escala que luego se utilizan por el procesador de señales.
De acuerdo con el aspecto adicional de la presente invención, se proporciona un descuantificador de audio que comprende un descuantificador de vector de primera etapa, un descuantificador de vector de segunda etapa y un combinador para combinar la pluralidad de elementos de información de cuantificador intermedios obtenidos por el descuantificador de vector de primera etapa y la pluralidad de elementos residuales obtenidos del descuantificador de vector de segunda etapa para obtener una pluralidad descuantificada de elementos de información de audio.
El primer aspecto de la codificación conjunta de parámetros de escala se puede combinar con el segundo aspecto relacionado con la cuantificación de vector de dos etapas. Por otro lado, el aspecto de la cuantificación de vector de dos etapas se puede aplicar a parámetros de escala codificados por separado, tales como parámetros de escala para un canal izquierdo y un canal derecho, o se pueden aplicar a los parámetros de escala media como otro tipo de elemento de información de audio. Por lo tanto, el segundo aspecto de cuantificación de vector de dos etapas se puede aplicar independientemente del primer aspecto o junto con el primer aspecto.
Posteriormente, se resumen las realizaciones preferidas de la presente invención.
En un sistema estéreo donde se utiliza codificación basada en transformada (MDCT), los parámetros de modificación de escala que se extraen de cualquiera de las técnicas descritas en la sección introductoria para realizar la conformación de ruido de dominio de frecuencia en el lado de codificador, se deben cuantificar y codificar para incluirse como información adicional al flujo de bits. Luego, en el lado de decodificador, los parámetros de modificación de escala se decodifican y se utilizan para modificar la escala del espectro de cada canal para conformar el ruido de cuantificación de una manera que sea mínimamente perceptible.
Codificación independiente de los parámetros de conformación de ruido espectral de los dos canales: se pueden aplicar izquierda y derecha.
Los parámetros de modificación de escala de conformación de ruido espectral se codifican de forma adaptativa, ya sea de forma independiente o conjunta, dependiendo del grado de correlación entre los dos canales. En resumen:
• Se calcula una representación de media/lateral de los parámetros de modificación de escala
• Se calcula la energía de los parámetros laterales.
• Dependiendo de la energía - que indica el grado de correlación entre las dos señales - se codifican los parámetros:
• Independientemente: como el enfoque actual, utilizando para cada canal, por ejemplo, una cuantificación de vector de dos etapas (VQ)
• Conjuntamente:
• El vector medio se codifica usando, por ejemplo, una cuantificación de vector de dos etapas. El vector lateral se codifica usando un esquema de cuantificación más grueso, por ejemplo, asumiendo que la salida VQ de primera etapa comprende valores cuantificados de cero y aplicando solo la cuantificación de segunda etapa, por ejemplo, un cuantificador de vector algebraico (AVQ)
• Un bit adicional se utiliza para señalizar si el vector lateral cuantificado es cero o no
• Un bit adicional para señalizar si los dos canales se codifican conjuntamente o de forma independiente se envía al decodificador
En la figura 24 se muestra una implementación de codificador basada en MDCT-estéreo como se describe en detalle en [8]. Una parte esencial del sistema estéreo descrito en [8] es que el procesamiento estéreo se realiza en los espectros "blanqueados". Por lo tanto, cada canal se somete a un preprocesamiento, donde para cada cuadro, después de la creación de ventanas, el bloque de dominio de tiempo se transforma en el dominio MDCT, luego el conformado de ruido temporal (TNS) se aplica adaptativamente, ya sea antes o después de la conformación de ruido espectral (SNS) dependiendo de las características de la señal. Luego de la conformación del ruido espectral, se realiza procesamiento estéreo conjunto, es decir, una decisión adaptativa M-S, L/R por banda para cuantificar y codificar los coeficientes de espectros blanqueados de manera eficiente. Como siguiente etapa, se realiza el análisis de llenado inteligente de espacios (IGF) estéreo y se escriben los bits de información respectivos en el flujo de bits. Finalmente, los coeficientes procesados se cuantifican y codifican. Se han añadido números de referencia similares a los de la figura 1. El cálculo y procesamiento de los factores de escala se lleva a cabo en los bloques SNS entre los dos bloques TNS en la figura 24. La ventana de bloques ilustra una operación de creación de ventanas. El bloque MCLT significa transformada solapada compleja modificada. El bloque MDCT representa la transformada de coseno discreta modificada. El espectro de potencia de bloque representa el cálculo de un espectro de potencia. La decisión de conmutación de bloque representa un análisis de la señal de entrada para determinar las longitudes de bloque que se utilizarán para la ventana. El bloque TNS representa la conformación de ruido temporal y esta característica se realiza antes o después de la modificación de escala del espectro en el bloque SNS.
En la implementación de códec MDCT-estéreo descrito en [7], en el lado de codificador, el preprocesamiento de los canales L-R discretos se realiza con el fin de modificar la escala de los espectros utilizando la conformación de ruido de dominio de frecuencia al "dominio blanqueado". Luego, se realiza procesamiento estéreo conjunto para cuantificar y codificar los espectros blanqueados de manera óptima.
En el lado de decodificador, como se ilustra en la figura 25 y se describe en[8], la señal codificada se decodifica y se realiza cuantificación inversa y procesamiento estéreo inverso. Luego, el espectro de cada canal se "desblanquea" por los parámetros de conformación de ruido espectral que se recuperan del flujo de bits. Se han añadido números de referencia similares a los de la figura 1. La decodificación y procesamiento de los factores de escala se lleva a cabo en los bloques 220 en la figura 25. Los bloques indicados en la figura se relacionan con los bloques en el codificador en la figura 24 y típicamente realizan las operaciones inversas correspondientes. El bloque “ventana y OLA” realiza una operación de creación de ventanas de síntesis y una operación de superposición y suma posterior para obtener las señales de salida de dominio de tiempo L y R.
La conformación de ruido de dominio de frecuencia (FDNS) aplicada en el sistema en [8] se reemplaza aquí con SNS como se describe en [6]. En los diagramas de bloques de la figura 1 y la figura 2 se muestra un diagrama de bloques de la ruta de procesamiento de SNS para el codificador y el decodificador, respectivamente.
Preferentemente, se puede obtener una velocidad de bits baja sin pérdida sustancial de calidad por modificación de escala, en el lado de codificador, con un mayor número de factores de escala y al submuestrear los parámetros de escala en el lado de codificador en un segundo conjunto de parámetros de escala o factores de escala, donde los parámetros de escala en el segundo conjunto que luego se codifica y transmite o almacena a través de una interfaz de salida son menores que el primer número de parámetros de escala. Por lo tanto, se obtiene una modificación de escala fina por un lado y una velocidad de bits baja por otro lado en el lado de codificador.
En el lado de decodificador, el pequeño número transmitido de factores de escala se decodifica por un decodificador de factor de escala para obtener un primer conjunto de factores de escala donde el número de factores de escala o parámetros de escala en el primer conjunto es mayor que el número de factores de escala o parámetros de escala del segundo conjunto y, luego, nuevamente, se realiza una modificación de escala fina usando el mayor número de parámetros de escala en el lado de decodificador dentro de un procesador espectral para obtener una representación espectral de modificación de escala fina.
Por lo tanto, se obtiene una velocidad de bits baja por un lado y, sin embargo, un procesamiento espectral de alta calidad del espectro de señal de audio por otro lado.
La conformación de ruido espectral como se hace en realizaciones preferidas se implementa usando sólo una velocidad de bits muy baja. Por lo tanto, esta conformación de ruido espectral puede ser una herramienta esencial incluso en un códec de audio basado en transformada de velocidad de bits baja. La conformación de ruido espectral conforma el ruido de cuantificación en el dominio de frecuencia de modo que el oído humano percibe mínimamente el ruido de cuantificación y, por lo tanto, se puede maximizar la calidad perceptual de la señal de salida decodificada.
Las realizaciones preferidas se basan en parámetros espectrales calculados a partir de mediciones relacionadas con la amplitud, tales como energías de una representación espectral. En particular, las energías en banda o, en general, las mediciones relacionadas con la amplitud por banda se calculan como la base para los parámetros de escala, donde los anchos de banda utilizados en el cálculo de las medidas relacionadas con la amplitud por banda incrementan de bandas inferiores a superiores con el fin de acercarse a la característica de la audición humana en la medida de lo posible. Preferentemente, la división de la representación espectral en bandas se realiza de acuerdo con la escala Bark bien conocida.
En realizaciones adicionales, se calculan parámetros de escala de dominio lineal y se calculan particularmente para el primer conjunto de parámetros de escala con el alto número de parámetros de escala, y este alto número de parámetros de escala se convierte en un dominio tipo logaritmo. Un dominio tipo logaritmo es generalmente un dominio, en el cual se expanden valores pequeños y se comprimen valores altos. Luego, la operación de submuestreo o disminución de los parámetros de escala se realiza en el dominio tipo logaritmo que puede ser un dominio logarítmico con la base 10, o un dominio logarítmico con la base 2, donde se prefiere este último para fines de implementación. El segundo conjunto de factores de escala se calcula luego en el dominio tipo logaritmo y, preferentemente, se realiza una cuantificación de vector del segundo conjunto de factores de escala, en donde los factores de escala se encuentran en el dominio tipo logaritmo. Por lo tanto, el resultado de la cuantificación de vectores indica parámetros de escala de dominio tipo logaritmo. El segundo conjunto de factores de escala o parámetros de escala tiene, por ejemplo, un número de factores de escala la mitad del número de factores de escala del primer conjunto, o incluso un tercio o incluso más preferentemente, un cuarto. Luego, el pequeño número cuantificado de parámetros de escala en el segundo conjunto de parámetros de escala se trae al flujo de bits y luego se transmite desde el lado de codificador al lado de decodificador o se almacena como una señal de audio codificada junto con un espectro cuantificado que también se ha procesado usando estos parámetros, donde este procesamiento implica adicionalmente cuantificación usando una ganancia global. Preferentemente, sin embargo, el codificador deriva de estos factores de segunda escala de dominio tipo logaritmo cuantificados una vez más un conjunto de factores de escala de dominio lineal, que es el tercer conjunto de factores de escala, y el número de factores de escala en el tercer conjunto de factores de escala es mayor que el segundo número y es preferentemente incluso igual al primer número de factores de escala en el primer conjunto de primeros factores de escala. Luego, en el lado de codificador, estos factores de escala interpolados se utilizan para procesar la representación espectral, donde la representación espectral procesada finalmente se cuantifica y, de cualquier manera, se codifica por entropía, tal como mediante codificación Huffman, codificación aritmética o codificación basada en cuantificación de vectores, etc.
En el decodificador que recibe una señal codificada que tiene un bajo número de parámetros espectrales junto con la representación codificada de la representación espectral, el bajo número de parámetros de escala se interpola a un alto número de parámetros de escala, es decir, para obtener un primer conjunto de parámetros de escala donde un número de parámetros de escala de los factores de escala del segundo conjunto de factores de escala o parámetros de escala es menor que el número de parámetros de escala del primer conjunto, es decir, el conjunto como calculado por el decodificador de parámetro/factor de escala. Luego, un procesador espectral ubicado dentro del aparato para decodificar una señal de audio codificada procesa la representación espectral decodificada usando este primer conjunto de parámetros de escala para obtener una representación espectral modificada en escala. Un convertidor para convertir la representación espectral modificada en escala entonces opera para finalmente obtener una señal de audio decodificada que está preferentemente en el dominio de tiempo.
Otras realizaciones dan como resultado ventajas adicionales que se exponen más adelante. En realizaciones preferidas, la conformación de ruido espectral se realiza con la ayuda de 16 parámetros de modificación de escala similares a los factores de escala utilizados en [6] u [8] o [1]. Estos parámetros se obtienen en el codificador al calcular primero la energía del espectro MDCT en 64 bandas no uniformes (similares a las 64 bandas no uniformes de la técnica anterior 3), luego al aplicar algún procesamiento a las 64 energías (suavizado, pre-énfasis, umbral mínimo de ruido, conversión logarítmica), luego al submuestrear las 64 energías procesadas por un factor de 4 para obtener 16 parámetros que finalmente se normalizan y modifican en escala. Estos 16 parámetros luego se cuantifican usando cuantificación de vector (usando cuantificación de vector similar como se usa en la técnica anterior 2/3). Los parámetros cuantificados luego se interpolan para obtener 64 parámetros de modificación de escala interpolados. Estos 64 parámetros de modificación de escala se utilizan luego para conformar directamente el espectro MDCt en las 64 bandas no uniformes. De manera similar a las técnicas anteriores 2 y 3, los coeficientes MDCT modificados en escala luego se cuantifican usando un cuantificador escalar con un tamaño de paso controlado por una ganancia global.
En una realización adicional, la información sobre los parámetros de escala codificados conjuntamente para uno de los dos grupos tal como el segundo grupo relacionado preferentemente con los parámetros de escala laterales no comprende índices de cuantificación u otros bits de cuantificación, sino solo información tal como una bandera o un solo bit que indica que los parámetros de escala para el segundo grupo son todos cero para una porción o cuadro de la señal de audio. Esta información se determina por el codificador mediante un análisis o por otros medios y se utiliza por el decodificador para sintetizar el segundo grupo de parámetros de escala con base en esta información tal como mediante la generación de parámetros de escala cero para la porción de tiempo o cuadro de la señal de audio o se utiliza por el decodificador para calcular el primer y el segundo conjunto de parámetros de escala solo usando el primer grupo de parámetros de escala codificados conjuntamente.
En una realización adicional, el segundo grupo de parámetros de escala codificados conjuntamente se cuantifica solo usando la segunda etapa de cuantificación del cuantificador de dos etapas, que preferentemente es una etapa de cuantificador de velocidad variable. En este caso, se asume que la primera etapa da como resultado todos los valores cuantificados cero, de modo que solo la segunda etapa es efectiva. En incluso una realización adicional, solo se aplica la primera etapa de cuantificación del cuantificador de dos etapas, que preferentemente es una etapa de cuantificación de velocidad fija, y la segunda etapa no se utiliza en absoluto para una porción de tiempo o cuadro de la señal de audio. Este caso corresponde a una situación, donde se asume que todos los elementos residuales son cero o más pequeños que el tamaño de paso de cuantificación más pequeño o primero de la segunda etapa de cuantificación.
Se analizan posteriormente realizaciones preferidas de la presente invención con respecto a las figuras anexas, en las cuales:
la figura 1
ilustra un decodificador de acuerdo con el primer aspecto;
la figura 2
ilustra un codificador de acuerdo con el primer aspecto;
la figura 3a
ilustra otro codificador de acuerdo con el primer aspecto;
la figura 3b
ilustra otra implementación de un codificador de acuerdo con el primer aspecto;
la figura 4a
ilustra una realización adicional de un decodificador de acuerdo con el primer aspecto;
la figura 4b
ilustra otra realización de un decodificador;
La figura 5
ilustra una realización adicional de un codificador;
La figura 6
ilustra una realización adicional de un codificador;
la figura 7a
ilustra una implementación preferida de un cuantificador de vector de acuerdo con un primer o segundo aspecto; la figura 7b
ilustra un cuantificador adicional de acuerdo con el primer o segundo aspecto;
la figura 8a
ilustra un decodificador de acuerdo con un primer aspecto de la presente invención;
la figura 8b
ilustra un codificador de acuerdo con el primer aspecto de la presente invención;
la figura 9a
ilustra un codificador de acuerdo con el segundo aspecto de la presente invención;
o
la figura 9b
ilustra un decodificador de acuerdo con el segundo aspecto de la presente invención;
la figura 10
ilustra una implementación preferida de un decodificador de acuerdo con el primer o segundo aspecto;
la figura 11
es un diagrama de bloques de un aparato para codificar una señal de audio;
la figura 12
es una representación esquemática de una implementación preferida de la calculadora de factores de escala de la figura 1;
la figura 13
es una representación esquemática de una implementación preferida del submuestreador de la figura 1;
la figura 14
es una representación esquemática del codificador de factor de escala de la figura 4;
la figura 15
es una ilustración esquemática del procesador espectral de la figura 1;
la figura 16
ilustra una representación general de un codificador por un lado y un decodificador por otro lado que implementa la conformación de ruido espectral (SNS);
la figura 17
ilustra una representación más detallada del lado de codificador por un lado y el lado de decodificador por otro lado donde la conformación de ruido temporal (TNS) se implementa junto con la conformación de ruido espectral (SNS);
la figura 18
ilustra un diagrama de bloques de un aparato para decodificar una señal de audio codificada;
la figura 19
ilustra una ilustración esquemática que ilustra detalles del decodificador de factor de escala, el procesador espectral y el decodificador de espectro de la figura 8;
la figura 20
ilustra una subdivisión del espectro en 64 bandas;
la figura 21
ilustra una ilustración esquemática de la operación de submuestreo por un lado y la operación de interpolación por otro lado;
la figura 22a
ilustra una señal de audio de dominio de tiempo con cuadros superpuestos;
la figura 22b
ilustra una implementación del conversor de la figura 1;
la figura 22c
ilustra una ilustración esquemática del convertidor de la figura 8;
la figura 23
ilustra un histograma que compara diferentes procedimientos inventivos;
la figura 24
ilustra una realización de un codificador; y
la figura 22c
ilustra una realización de un decodificador.
La figura 8 ilustra un decodificador de audio para decodificar una señal de audio codificada que comprende datos de audio multicanal que comprenden datos para dos o más canales de audio e información sobre parámetros de escala codificados conjuntamente. El decodificador comprende un decodificador de parámetros de escala 220 y un procesador de señales 210, 212, 213 ilustrado en la figura 8a como un solo elemento. El decodificador de parámetros de escala 220 recibe la información sobre el primer grupo codificado conjuntamente y el segundo grupo de parámetros de escala donde, preferentemente, el primer grupo de parámetros de escala son parámetros de escala media y el segundo grupo de parámetros de escala son parámetros de escala laterales. Preferentemente, el procesador de señales recibe la primera representación de canal de los datos de audio multicanal y la segunda representación de canal de los datos de audio multicanal y aplica el primer conjunto de parámetros de escala a una primera representación de canal derivada de los datos de audio multicanal y aplica el segundo conjunto de parámetros de escala a la segunda representación de canal derivada de los datos de audio multicanal para obtener el primer canal y el segundo canal de la señal de audio decodificada en la salida del bloque 210, 212, 213 de la figura 8a. Preferentemente, los parámetros de escala codificados conjuntamente comprenden información sobre el primer grupo de parámetros de escala codificados conjuntamente tal como parámetros de escala media e información sobre un segundo grupo de parámetros de escala codificados conjuntamente tal como parámetros de escala lateral. Además, el decodificador de parámetros de escala 220 se configura para combinar un parámetro de escala codificado conjuntamente del primer grupo y un parámetro de escala codificado conjuntamente del segundo grupo usando una primera regla de combinación para obtener un parámetro de escala del primer conjunto de parámetros de escala y para combinar los mismos parámetros de escala codificados conjuntamente del primer y segundo grupo usando una segunda regla de combinación que es diferente de la primera regla de combinación para obtener un parámetro de escala del segundo conjunto de parámetros de escala. Por lo tanto, el decodificador de parámetros de escala 220 aplica dos reglas de combinación diferentes.
En una realización preferida, las dos reglas de combinación diferentes son una regla de combinación de más o suma por un lado y una regla de combinación de resta o diferencia por otro lado. Sin embargo, en otras realizaciones, la primera regla de combinación puede ser una regla de combinación de multiplicación y la segunda regla de combinación puede ser una regla de combinación de cociente o división. Por lo tanto, todos los otros pares de reglas de combinación también son útiles dependiendo de la representación de los parámetros de escala correspondientes del primer grupo y el segundo grupo o del primer conjunto y el segundo conjunto de parámetros de escala.
La figura 8b ilustra un codificador de audio correspondiente para codificar una señal de audio multicanal que comprende dos o más canales. El codificador de audio comprende una calculadora de parámetros de escala 140, un procesador de señales 120 y un formador de señales codificadas 1480, 1500. La calculadora de parámetros de escala 140 se configura para calcular un primer grupo de parámetros de escala codificados conjuntamente y un segundo grupo de parámetros de escala codificados conjuntamente a partir de un primer conjunto de parámetros de escala para un primer canal de la señal de audio multicanal y a partir de un segundo conjunto de parámetros de escala para un segundo canal de la señal de audio multicanal. Además, el procesador de señales se configura para aplicar el primer conjunto de parámetros de escala al primer canal de la señal de audio multicanal y para aplicar el segundo conjunto de parámetros de escala al segundo canal de la señal de audio multicanal para derivar datos de audio multicanal codificados. Los datos de audio multicanal se derivan de los primeros y segundos canales modificados en escala y los datos de audio multicanal se utilizan por el formador de señales codificadas 1480, 1500 junto con la información sobre el primer y el segundo grupo de parámetros de escala codificados conjuntamente para obtener la señal de audio multicanal codificada en la salida del bloque 1500 en la figura 8b.
La figura 1 ilustra una implementación adicional del decodificador de la figura 8a. Particularmente, el flujo de bits se ingresa en el procesador de señales 210 que realiza, típicamente, decodificación de entropía y cuantificación inversa junto con procedimientos de llenado inteligente de espacios (procedimientos IGF) y procesamiento estéreo inverso de los canales modificados en escala o blanqueados. La salida del bloque 210 se modificada en escala o se decodifica por blanqueamiento a izquierda y derecha o, generalmente, varios canales decodificados de una señal multicanal. El flujo de bits comprende bits de información adicional para los parámetros de escala para izquierda y derecha en el caso de codificación separada y bits de información laterales para los parámetros de escala codificados conjuntamente y escalados ilustrados como parámetros de escala M, S en la figura 1. Estos datos se introducen en el parámetro de escala o decodificador de factor de escala 220 que, en su salida, genera los factores de escala izquierdos decodificados y los factores de escala derecha decodificados que luego se aplican en el bloque de espectro de forma 212, 230 para finalmente obtener un espectro preferentemente MDCT para izquierda y derecha que luego se puede convertir en un dominio de tiempo usando una determinada operación MDCT inversa.
La implementación del lado de codificador correspondiente se proporciona en la figura 2. La figura 2 comienza a partir de un espectro MDCT que tiene un canal izquierdo y derecho que se introducen en un conformador de espectro 120a, y la salida del conformador de espectro 120a se introduce en un procesador 120b que, por ejemplo, realiza un procesamiento estéreo, operaciones de llenado inteligente de espacios en un lado de codificador y operaciones de codificación (entropía) y cuantificación correspondientes. Por lo tanto, los bloques 120a, 120b juntos representan el procesador de señales 120 de la figura 8b. Además, para el propósito de calcular los factores de escala que se realizan en los factores de escala de SNS (conformación de ruido espectral) calculados de bloque 120b, también se proporciona un espectro MDST y el espectro MDST junto con el espectro MDCT se reenvía a una calculadora de espectro de potencia 110a. Alternativamente, la calculadora de espectro de potencia 110a puede operar directamente en la señal de entrada sin un procedimiento de espectro MDCT o MDST. Otra manera sería calcular el espectro de potencia de una operación DFT en lugar de una MDCT y una operación MDST, a manera de ejemplo. Además, los factores de escala se calculan mediante la calculadora de parámetros de escala 140 que se ilustra en la figura 2 como una codificación de cuantificación de bloques de factores de escala. En particular, las salidas del bloque 140, dependiendo de la similitud entre el primer y el segundo canal, ya sea factores de escala codificados separados para izquierda y derecha o factores de escala codificados conjuntamente para M y S. Esto se ilustra en la figura 2 a la derecha del bloque 140. Por lo tanto, en esta implementación, el bloque 110b calcula los factores de escala para izquierda y derecha y el bloque 140 luego determina, si la codificación separada, es decir, codificación para los factores de escala izquierdo y derecho es mejor o peor que codificación de factores de escala codificados conjuntamente, es decir, factores de escala M y S derivados de los factores de escala separados por las dos reglas de combinación diferentes tales como una adición por un lado y una resta por otro lado.
El resultado del bloque 140 son bits de información adicional para L, R o M, S que, junto con el resultado del bloque 120b, se introducen en un flujo de bits de salida ilustrado por la figura 2.
La figura 3a ilustra una implementación preferida del codificador de la figura 2 o la figura 8b. El primer canal se ingresa en un bloque 1100a que determina los parámetros de escala separados para el primer canal, es decir, para el canal L. Además, el segundo canal se ingresa en el bloque 1100b que determina los parámetros de escala separados para el segundo canal, es decir, para R. Luego, los parámetros de escala para el canal izquierdo y los parámetros de escala para el canal derecho se reducen proporcionalmente mediante un submuestreador 130a para el primer canal y un submuestreador 130b para el segundo canal. Los resultados son parámetros submuestreados (DL) para el canal izquierdo y parámetros submuestreados (DR) para el canal derecho.
Luego, tanto estos datos DL como DR se introducen en un determinador de parámetros de escala conjunta 1200. El determinador de parámetros de escala conjunta 1200 genera el primer grupo de parámetros de escala codificados conjuntamente tal como parámetros de escala media o M y un segundo grupo de parámetros de escala codificados conjuntamente tal como parámetros de escala lateral o S. Ambos grupos se introducen en los cuantificadores de vector correspondientes 140a, 140b para obtener valores cuantificados que luego se encuentran en un codificador de entropía final 140c y se van a codificar para obtener la información sobre los parámetros de escala codificados conjuntamente.
El codificador de entropía 140c se puede implementar para realizar un algoritmo de codificación de entropía aritmética o un algoritmo de codificación entrópica con una tabla de códigos Huffman unidimensional o con una o más tablas de códigos Huffman dimensionales.
Otra implementación del codificador se ilustra en la figura 3b, donde el submuestreo no se realiza con los parámetros de escala separados tales como con izquierda y derecha como se ilustra en 130a, 130b en la figura 3a. En su lugar, se cambia el orden de las operaciones de la determinación de parámetros de escala conjunta y el posterior submuestreo mediante los correspondientes submuestreadores 130a, 130b. Si se utiliza la implementación de la figura 3a o la figura 3b, depende de la implementación determinada, donde se prefiere la implementación de la figura 3a, ya que la determinación de parámetros de escala conjunta 1200 ya se realiza en los parámetros de escala submuestreados, es decir, las dos reglas de combinación diferentes realizadas por la calculadora de parámetros de escala 140 se realizan típicamente en un número menor de entradas en comparación con el caso en la figura 3b.
La figura 4a ilustra la implementación de un decodificador para decodificar una señal de audio codificada que tiene datos de audio multicanal que comprenden datos para dos o más canales de audio e información sobre parámetros de escala codificados conjuntamente. Sin embargo, el decodificador en la figura 4a es solo una parte de todo el decodificador de la figura 8a, ya que solo una parte del procesador de señales y, en particular, los modificadores de escala de canal 212a, 212b correspondientes se ilustran en la figura 4a. Con respecto al decodificador de parámetros de escala 220, este elemento comprende un decodificador de entropía 2200 que invierte el procedimiento realizado por el bloque correspondiente 140c en la figura 3a. Además, el decodificador de entropía emite parámetros de escala codificados conjuntamente cuantificados, tal como parámetros de escala M cuantificados y parámetros de escala S cuantificados. Los grupos correspondientes de parámetros de escala se introducen en los descuantificadores 2202 y 2204 con el fin de obtener valores descuantificados para M y S. Estos valores descuantificados luego se introducen en un determinador de parámetros de escala separado 2206 que genera parámetros de escala para izquierda y derecha, es decir, parámetros de escala separados. Estos parámetros de escala correspondientes se introducen en los interpoladores 222a, 222b para obtener los parámetros de escala interpolados para izquierda (IL) y los parámetros de escala interpolados para derecha (IR). Ambos datos se introducen en un modificador de escala de canal 212a y 212b, respectivamente. De manera adicional, los modificadores de escala de canal reciben de manera correspondiente la primera representación de canal posterior a todo el procedimiento realizado mediante el bloque 210 en la figura 1, a manera de ejemplo. En consecuencia, el modificador de escala de canal 212b también obtiene su representación de segundo canal correspondiente como salida por el bloque 210 en la figura 1. Luego, se lleva a cabo una modificación de escala de canal final o "espectro de forma" como se denomina en la figura 1 para obtener un canal espectral conformado para izquierda y derecha que se ilustran como "espectro MDCT" en la figura 1. Luego, se puede realizar una conversión de dominio de frecuencia final a dominio de tiempo para cada canal ilustrado en 240a, 240b para finalmente obtener un primer canal decodificado y un segundo canal decodificado de una señal de audio multicanal en una representación de dominio de tiempo.
En particular, el decodificador de parámetros de escala 220 ilustrado en la porción izquierda de la figura 4a se puede incluir dentro de un decodificador de audio como se muestra en la figura 1 o como se muestra colectivamente en la figura 4a, pero también se puede incluir como un decodificador local dentro de un codificador como se mostrará con respecto a la figura 5 que muestra explícitamente el decodificador de parámetros de escala local 220 en la salida del codificador de parámetros de escala 140.
La figura 4b ilustra una implementación adicional donde, con respecto a la figura 4a, se intercambia el orden de interpolación y determinación de parámetros de escala para determinar los parámetros de escala separados. En particular, la interpolación tiene lugar con los parámetros de escala codificados conjuntamente M y S usando los interpoladores 222a, 222b de la figura 4b, y los parámetros de escala codificados conjuntamente interpolados tal como IM e IS se introducen en el determinador de parámetros de escala separado 2206. Luego, la salida del bloque 2206 son los parámetros de escala sobremuestreados, es decir, los parámetros de escala para cada una de las, por ejemplo, 64 bandas ilustradas en la figura 21.
La figura 5 ilustra una implementación preferida adicional del codificador de la figura 8b, la figura 2 o la figura 3a, la figura 3b. El primer canal y el segundo canal se introducen en un convertidor de dominio de tiempo a frecuencia opcional tal como 100a, 100b de la figura 5. La representación espectral producida por los bloques 100a, 100b se ingresa en un modificador de escala de canal 120a que modifica la escala individualmente de la representación espectral para el canal izquierdo y derecho. Por lo tanto, el modificador de escala de canal 120a realiza una operación de espectro de forma ilustrada en 120a de la figura 2. La salida del modificador de escala de canal se ingresa en un procesador de canales 120b de la figura 5, y la salida de canales procesados del bloque 120b se ingresa en el formador de señales codificadas 1480,1500 para obtener la señal de audio codificada.
Además, con el fin de determinar los parámetros de escala codificados por separado o conjuntamente, se proporciona una calculadora de similitud 1400 que recibe, como entrada, el primer canal y el segundo canal directamente en el dominio de tiempo. De manera alternativa, la calculadora de similitud puede recibir el primer canal y el segundo canal en la salida de los convertidores de dominio de tiempo a frecuencia 100A, 100b, es decir, la representación espectral.
Aunque se expondrá con respecto a la figura 6 que la similitud entre los dos canales se calcula con base en el segundo grupo de parámetros de escala codificados conjuntamente, es decir, con base en los parámetros de escala laterales, se va a señalar que esta similitud también se puede calcular con base en el dominio de tiempo o canales de dominio espectral directamente sin el cálculo explícito de los parámetros de escala codificados conjuntamente. De manera alternativa, la similitud también se puede determinar con base en el primer grupo de parámetros de escala codificados conjuntamente, es decir, con base en los parámetros de escala media. Particularmente, cuando la energía de los parámetros de escala lateral es menor que un umbral, entonces se determina que se puede realizar codificación conjunta. De manera análoga, la energía de los parámetros de escala media en un cuadro también se puede medir, y la determinación de una codificación conjunta se puede realizar cuando la energía de los parámetros de escala media es mayor que otro umbral, a manera de ejemplo. Por lo tanto, se pueden implementar muchas formas diferentes para determinar la similitud entre el primer canal y el segundo canal para decidir la codificación conjunta de parámetros de escala o la codificación separada de parámetros de escala. Sin embargo, se debe mencionar que la determinación para la codificación conjunta o separada de parámetros de escala no necesariamente tiene que ser idéntica a la determinación de la codificación estéreo conjunta para los canales, es decir, si dos canales se codifican conjuntamente usando una representación media/lateral o se codifican por separado en una representación L, R. La determinación de la codificación conjunta de los parámetros de escala se realiza independientemente de la determinación del procesamiento estéreo para los canales reales, ya que la determinación de cualquier tipo de procesamiento estéreo realizado en el bloque 120b en la figura 2 se realiza después y posteriormente a una modificación de escala o conformación del espectro utilizando factores de escala para media y lateral. Particularmente, como se ilustra en la figura 2, el bloque 140 puede determinar una codificación conjunta. Por lo tanto, como se ilustra por la flecha en la figura 2 que apunta al bloque 140, los factores de escala para M y S pueden ocurrir dentro de este bloque. En el caso de la aplicación de un decodificador de parámetros de escala local 220 dentro del codificador de la figura 5, entonces los parámetros de escala realmente utilizados para conformar el espectro, aunque sean parámetros de escala para izquierda y parámetros de escala para derecha, sin embargo, se derivan de los parámetros de escala codificados y decodificados para media y lateral.
Con respecto a la figura 5, se proporciona un módulo de decisión de modo 1402. El módulo de decisión de modo 1402 recibe la salida de la calculadora de similitud 1400 y decide una codificación separada de los parámetros de escala cuando los canales no son suficientemente similares. Sin embargo, cuando se determina que los canales son similares, entonces se determina una codificación conjunta de los parámetros de escala mediante el bloque 1402, y la información, ya sea que se aplique la codificación conjunta separada o de cambio de los parámetros de escala, se señala mediante una información adicional correspondiente o bandera 1403 ilustrada en la figura 5 que se proporciona desde el bloque 1402 al formador de señales codificadas 1480, 1500. Además, el codificador comprende el codificador de parámetros de escala 140 que recibe los parámetros de escala para el primer canal y los parámetros de escala para el segundo canal y codifica los parámetros de escala ya sea por separado o conjuntamente como se controla por el módulo de decisión de modo 1402. El codificador de parámetros de escala 140 puede, en una realización, emitir los parámetros de escala para el primer y el segundo canal como se indica mediante las líneas discontinuas de modo que el modificador de escala de canal 120a realiza una modificación de escala con el primer y segundo parámetros de escala de canal correspondientes. Sin embargo, se prefiere aplicar un decodificador de parámetros de escala local 220 dentro del codificador de modo que la modificación de escala de canal se lleva a cabo con los parámetros de escala codificados y decodificados localmente de modo que los parámetros de escala descuantificados se apliquen para una modificación de escala de canal en el codificador. Esto tiene la ventaja de que exactamente la misma situación tiene lugar dentro del modificador de escala de canal en el codificador y el decodificador al menos con respecto a los parámetros de escala utilizados para la modificación de escala de canal o conformación de espectro.
La figura 6 ilustra una realización preferida adicional de la presente invención con respecto al codificador de audio. Se proporciona una calculadora de espectro MDCT 100 que puede, por ejemplo, ser un convertidor de dominio de tiempo a dominio de frecuencia que aplica un algoritmo MDCT. Además, se proporciona una calculadora de espectro de potencia 110a como se ilustra en la figura 2. Los parámetros de escala separados se calculan mediante una calculadora correspondiente 1100, y con el propósito de calcular los parámetros de escala codificados conjuntamente, un bloque de adición 1200a y un bloque de resta 1200b. Luego, con el propósito de determinar la similitud, se realiza un cálculo de energía por cuadro con los parámetros laterales, es decir, el segundo grupo de parámetros de escala codificados conjuntamente. En el bloque 1406, se realiza una comparación con un umbral y este bloque que es similar al módulo de decisión de modo 1402 para el cuadro de la figura 5 emite la bandera de modo o bandera estéreo para el cuadro correspondiente. Además, la información se proporciona al codificador controlable que realiza una codificación separada o conjunta en el cuadro actual. Con este fin, el codificador controlable 140 recibe los parámetros de escala calculados por un bloque 1100, es decir, los parámetros de escala separados y, adicionalmente, recibe los parámetros de escala codificados conjuntamente, es decir, los determinados por el bloque 1200a y 1200b.
El bloque 140 genera preferentemente una bandera de cero para el cuadro, cuando el bloque 140 determina que todos los parámetros laterales de un cuadro se cuantifican a 0. Este resultado ocurrirá cuando el primer y el segundo canal están muy cerca entre sí y las diferencias entre los canales y, por lo tanto, las diferencias entre los factores de escala son de modo que estas diferencias son más pequeñas que el umbral de cuantificación más bajo aplicado por el cuantificador incluido en el bloque 140. El bloque 140 genera la información sobre los parámetros de escala codificados conjuntamente o codificados por separado para el cuadro correspondiente.
La figura 9a ilustra un cuantificador de audio para cuantificar una pluralidad de elementos de información de audio. El cuantificador de audio comprende un cuantificador de vector de primera etapa 141, 143 para cuantificar la pluralidad de elementos de información de audio tales como factores de escala o parámetros de escala o valores espectrales, etc. para determinar un resultado de cuantificación de vector de primera etapa 146. Además, el bloque 141, 143 genera una pluralidad de elementos cuantificados intermedios correspondientes al resultado de cuantificación de vector de primera etapa. Los elementos cuantificados intermedios son, por ejemplo, los valores asociados con el resultado de primera etapa. Cuando el resultado de primera etapa identifica un determinado libro de códigos con, por ejemplo, 16 ciertos valores (cuantificados), entonces los elementos cuantificados intermedios son los 16 valores asociados al índice de vector de libro de códigos que es el resultado de primera etapa 146. Los elementos cuantificados intermedios y los elementos de información de audio en la entrada en el cuantificador de vector de primera etapa 141, 143 se introducen en un determinador de elemento residual para calcular una pluralidad de elementos residuales a partir de la pluralidad de elementos cuantificados intermedios y la pluralidad de elementos de información de audio. Esto se hace, por ejemplo, al calcular una diferencia para cada artículo entre el elemento original y el elemento cuantificado. Los elementos residuales se ingresan en un cuantificador de vector de segunda etapa 145 para cuantificar la pluralidad de elementos residuales para obtener el resultado de cuantificación de vector de segunda etapa. Luego, el resultado de cuantificación de vector de primera etapa en la salida del bloque 141, 143 y el resultado de segunda etapa en la salida del bloque 145 juntos representan la representación cuantificada de la pluralidad de elementos de información de audio que se codifica por un formador de señales codificadas opcional 1480, 1500 que emite los elementos de información de audio cuantificados que no solo se cuantifican en la realización preferida sino que se codifican adicionalmente por entropía.
Un descuantificador de audio correspondiente se ilustra en la figura 9b. El descuantificador de audio comprende un descuantificador de vector de primera etapa 2220 para descuantificar un resultado de cuantificación de primera etapa incluido en la pluralidad cuantificada de elementos de información de audio para obtener una pluralidad de elementos de información de audio cuantificados intermedios. Además, se proporciona un descuantificador de vector de segunda etapa 2260 y se configura para descuantificar un resultado de cuantificación de vector de segunda etapa incluido en la pluralidad cuantificada de elementos de información de audio para obtener una pluralidad de elementos residuales. Tanto los elementos intermedios del bloque 2220 como los elementos residuales del bloque 2260 se combinan mediante un combinador 2240 para combinar la pluralidad de elementos de audio cuantificados intermedios y la pluralidad de elementos residuales para obtener una pluralidad descuantificada de elementos de información de audio. En particular, los elementos cuantificados intermedios en la salida del bloque 2220 son parámetros de escala codificados por separado tal como para L y R o el primer grupo de los parámetros de escala codificados conjuntamente, por ejemplo, para M , y los elementos residuales pueden representar los parámetros de escala laterales codificados conjuntamente, por ejemplo, es decir, el segundo grupo de parámetros de escala codificados conjuntamente.
La figura 7a ilustra una implementación preferida del cuantificador de vector de primera etapa 141,143 de la figura 9a. En la etapa 701, se realiza una cuantificación de vector de un primer subconjunto de parámetros de escala para obtener un primer índice de cuantificación. En una etapa 702, se realiza una cuantificación de vector de un segundo subconjunto de parámetros de escala para obtener un segundo índice de cuantificación. Además, dependiendo de la implementación, se realiza una cuantificación de vector de un tercer subconjunto de parámetros de escala como se ilustra en el bloque 703 para obtener un tercer índice de cuantificación que es un índice opcional. El procedimiento en la figura 7a se aplica cuando hay una cuantificación de nivel dividido. A modo de ejemplo, la señal de entrada de audio se separa en 64 bandas ilustradas en la figura 21. Estas 64 bandas se submuestrean a 16 bandas/factores de escala, de modo que toda la banda está cubierta por 16 factores de escala. Estos 16 factores de escala se cuantifican mediante el cuantificador de vector de primera etapa 141, 143 en un modo de nivel dividido ilustrado en la figura 7a. Los primeros 8 factores de escala de los 16 factores de escala de la figura 21 que se obtienen mediante el submuestreo de los 64 factores de escala originales se cuantifican por vector mediante la etapa 701 y, por lo tanto, representan el primer subconjunto de parámetros de escala. Los 8 parámetros de escala restantes para las 8 bandas superiores representan el segundo subconjunto de parámetros de escala que se cuantifican por vector en la etapa 702. Dependiendo de la implementación, una separación de todo el conjunto de parámetros de escala o elementos de información de audio no necesariamente se tiene que hacer en exactamente dos subconjuntos, sino que también se puede hacer en tres subconjuntos o incluso más subconjuntos.
Independientemente de cuántas divisiones se realicen, los índices para cada nivel juntos representan el resultado de primera etapa. Como se analizó con respecto a la figura 14, estos índices se pueden combinar mediante un combinador de índices en la figura 14 para tener un índice individual de primera etapa. Alternativamente, el resultado de primera etapa puede consistir en el primer índice, y el segundo índice y un tercer índice potencial y probablemente incluso más índices que no se combinan, pero que se codifican por entropía tal como están.
Además de los índices correspondientes que forman el resultado de primera etapa, las etapas 701, 702, 703 también proporciona los parámetros de escala intermedios que se utilizan en el bloque 704 con el propósito de calcular los parámetros de escala residuales para el cuadro. Por lo tanto, la etapa 705 que se realiza, por ejemplo, mediante el bloque 142 de la figura 9a, da como resultado los parámetros de escala residual que luego se procesan mediante una cuantificación de vector (algebraica) realizada mediante la etapa 705 con el fin de generar el resultado de segunda etapa. Por lo tanto, el resultado de primera etapa y el resultado de segunda etapa se generan para los parámetros de escala separados L, los parámetros de escala separados R y el primer grupo de parámetros de escala conjuntos M. Sin embargo, como se ilustra en la figura 7b, la cuantificación de vector (algebraico) del segundo grupo de parámetros de escala codificados conjuntamente o parámetros de escala laterales solo se realiza mediante la etapa 706 que se encuentra en una implementación preferida idéntica la etapa 705 y se realiza nuevamente mediante el bloque 142 de la figura 9a.
En una realización adicional, la información sobre los parámetros de escala codificados conjuntamente para uno de los dos grupos tal como el segundo grupo relacionado preferentemente con los parámetros de escala laterales no comprende índices de cuantificación u otros bits de cuantificación, sino solo información tal como una bandera o un solo bit que indica que los parámetros de escala para el segundo grupo son todos cero para una porción o cuadro de la señal de audio o están todos en un valor determinado tal como un valor pequeño.
Esta información se determina por el codificador mediante un análisis o por otros medios y se utiliza por el decodificador para sintetizar el segundo grupo de parámetros de escala con base en esta información tal como mediante la generación de parámetros de escala cero para la porción de tiempo o cuadro de la señal de audio o mediante la generación de determinados parámetros de escala de valor o mediante la generación de pequeños parámetros de escala aleatoria todos que son por ejemplo más pequeños que la etapa de cuantificación más pequeña o primera o se utiliza por el decodificador para calcular el primer y el segundo conjunto de parámetros de escala solo usando el primer grupo de parámetros de escala codificados conjuntamente. Por lo tanto, en lugar de realizar la etapa 705 en la figura 7a, solo se escribe la bandera de todo cero para el segundo grupo de parámetros de escala codificados conjuntamente como el resultado de segunda etapa. El cálculo en el bloque 704 se puede omitir también en este caso y se puede reemplazar por un módulo de decisión para decidir si se debe activar y transmitir la bandera de todo cero o no. Este módulo de decisión se puede controlar mediante una entrada de usuario que indica un salto de la codificación de los parámetros S en conjunto o una información de velocidad de bits o se puede realizar realmente un análisis de los elementos residuales. Por lo tanto, para el cuadro que tiene el bit de todo cero, el decodificador de parámetros de escala no realiza ninguna combinación sino que calcula el segundo conjunto de parámetros de escala solo usando el primer grupo de parámetros de escala codificados conjuntamente tal como dividiendo los parámetros de escala codificados del primer grupo por dos o mediante ponderación usando otro valor predeterminado.
En una realización adicional, el segundo grupo de parámetros de escala codificados conjuntamente se cuantifica solo usando la segunda etapa de cuantificación del cuantificador de dos etapas, que preferentemente es una etapa de cuantificador de velocidad variable. En este caso, se asume que la primera etapa da como resultado todos los valores cuantificados cero, de modo que solo la segunda etapa es efectiva. Este caso se ilustra en la figura 7b.
En incluso una realización adicional, solo se aplica la primera etapa de cuantificación tal como 701, 702, 703 del cuantificador de dos etapas en la figura 7a, que preferentemente es una etapa de cuantificación de velocidad fija, y la segunda etapa 705 no se utiliza en absoluto para una porción de tiempo o cuadro de la señal de audio. Este caso corresponde a una situación, donde se asume que todos los elementos residuales son cero o más pequeños que el tamaño de paso de cuantificación más pequeño o primero de la segunda etapa de cuantificación. Luego, la figura 7b, el elemento 706 correspondería a los elementos 701,702, 703 de la figura 7a y el elemento 704 se podría omitir también y se puede reemplazar por un módulo de decisión para decidir si se utiliza o no la cuantificación de primera etapa. Este módulo de decisión se puede controlar mediante una entrada de usuario o una información de velocidad de bits o se puede realizar realmente un análisis de los elementos residuales para determinar que los elementos residuales son lo suficientemente pequeños para que la precisión del segundo grupo de parámetros de escala codificados conjuntamente cuantificados por la etapa individual sea suficiente.
En una implementación preferida de la presente invención que se ilustra adicionalmente en la figura 14, el cuantificador de vector algebraico 145 realiza adicionalmente un cálculo de nivel dividido y, preferentemente, realiza la misma operación de nivel dividido que se realiza por el cuantificador de vector. Por lo tanto, los subconjuntos de los valores residuales corresponden, con respecto al número de banda, al subconjunto de parámetros de escala. Para el caso de tener dos niveles divididos, es decir, para las primeras 8 bandas submuestreadas de la figura 21, el cuantificador de vector algebraico 145 genera el primer resultado de nivel. Además, el cuantificador de vector algebraico 145 genera un segundo resultado de nivel para los 8 factores de escala submuestreados o parámetros de escala superiores o, generalmente, elementos de información de audio.
Preferentemente, el cuantificador de vector algebraico 145 se implementa como el cuantificador de vector algebraico definido en la sección 5.2.3.1.6.9 de ETSI TS 126 445 V13.2.0 (2016-08) mencionado como referencia (4) donde el resultado de la cuantificación de vector de entramado de múltiples velocidades correspondiente es un número de libro de códigos para cada 8 elementos, un índice de vector en el libro de códigos base y un índice Voronoi de 8 dimensiones. Sin embargo, en caso de tener solo un libro de códigos, se puede evitar el número de libro de códigos y solo es suficiente el índice de vector en el libro de códigos base y el índice Voronoi n-dimensional correspondiente. Por lo tanto, estos elementos que son el elemento a, el elemento b y el elemento c o solo el elemento b y el elemento c para cada nivel para el resultado de cuantificación de vector algebraico representan el resultado de cuantificación de segunda etapa.
Posteriormente, se hace referencia a la figura 10 que ilustra una operación de decodificación correspondiente que coincide con la codificación de la figura 7a, 7b o la codificación de la figura 14 de acuerdo con el primer o el segundo aspecto de la presente invención o de acuerdo con ambos aspectos.
En la etapa 2221 de la figura 10, se recuperan los factores de escala media cuantificados, es decir, el segundo grupo de factores de escala codificados conjuntamente. Esto se hace cuando la bandera de modo estéreo o el elemento 1403 de la figura 5 indica un valor verdadero. Luego, se realiza una decodificación de primera etapa 2223 y una decodificación de segunda etapa 2261 para volver a realizar los procedimientos realizados por el codificador de la figura 14 y, particularmente, por el cuantificador de vector algebraico 145 descrito con respecto a la figura 14 o descrito con respecto a la figura 7a. En la etapa 2225, se asume que los factores de escala laterales son todos 0. En la etapa 2261, se verifica por medio del valor de bandera 0, si realmente vienen factores de escala cuantificados distintos de cero para el cuadro. En caso de que el valor de bandera 0 indique que hay factores de escala lateral distintos de cero para el cuadro, entonces los factores de escala laterales cuantificados se recuperan y decodifican usando la decodificación de segunda etapa 2261 o realizando el bloque 706 de la figura 7b solamente. En el bloque 2207, los parámetros de escala codificados conjuntamente se transforman nuevamente a los parámetros de escala codificados por separado para luego emitir los parámetros de escala izquierdo y derecho cuantificados que luego se pueden usar para la modificación de escala inversa del espectro en el decodificador.
Cuando el valor de bandera de modo estéreo indica un valor de cero o cuando se determina que se ha utilizado una codificación separada dentro del cuadro, entonces solo se realiza la decodificación de primera etapa 2223 y la decodificación de segunda etapa 2261 para los factores de escala izquierdo y derecho y, dado que los factores de escala izquierdo y derecho ya están en la representación codificada por separado, no se requiere ninguna transformación tal como el bloque 2207. El proceso de codificación y decodificación eficientes de los factores de escala SNS que se necesitan para modificar la escala del espectro antes del procesamiento estéreo en el lado de codificador y después del procesamiento estéreo inverso en el lado de decodificador se describe más adelante para mostrar una implementación preferida de la presente invención como un pseudocódigo de ejemplo con comentarios.
Cuantificación conjunta y codificación de factores de escala
Calcular lateral de los M factores de escala de cada cana/sns/y snsry calcular la energía tota l del ladoener_side.
ener_s¡de=0;
for (i = 0; i < M; i++)
{
s¡de[¡] = snsl[¡] - snsr[¡];
ener_s¡de = ener_side s¡de[i]A2;
}
S/'ener_sidees menor que un determinado umbral, las dos señales están altamente correlacionadas y la codificación se debe hacer conjuntamente o de forma independiente.
¡f (ener_s¡de < threshold )codificar factores de escala conjuntamente
{
Señalizar codificación MS a flujo de bits
Calcular media de iosMfactores de escala de cada snsl y snsR
for (i = 0; i < M; i++)
{
m¡d[¡] = (snsl[¡] snsr[¡]) * 0.5f;
}
Cuantificar media con cuantificación de vector de primera etapa (VQ), la función devuelve e l libro de códigos estocástico indexf 1 y ¡os parámetros medios cuantificados intermedios mid_q.
indexM = sns_1st_cod( mid, m¡d_q );
Cuantificar media con cuantificación de vector algebraico de segunda etapa (A VQ), la función devuelve índices de dimensiones divididas y la media cuantificada fina l mid_q.
¡ndexl_2 = sns_2st_cod( mid, m¡d_q );
Cuantificar lado - asum ir cuantificación gruesa y establecer todos los parámetros "cuantificados" a cero.
for ( i = 0; i < M; i++ )
{
side_q[i] = O.f;
}
Cuantificar lateral con cuantificación de vector algebraico de segunda etapa (A VQ), la fundón devuelve índices de dimensiones divididas y e l lateral cuantificado finalside_q.
¡ndexr_2 = sns_2st_cod( side, slde_q);
Detectar s i los factores de escala cuantificados son cero, s í es así, señalizarlo a l flujo de bits con un b¡t
¡f ( flag_zero)
{
enviar b it de señal a flujo de bits
}
Transformar tos factores de escala cuantificados de vuelta a la representación L -R
for (i = 0; i < M; i++)
{
snsl_q[¡] = m¡d_q[¡] s¡de_q[¡] * 0.5f;
snsr_q[¡] = mid_q[¡] - s¡de_q[¡] * 0.5f;
}
}
elsefactores de escala de código Independientemente
{
Señalizar codificación LR a flujo de bits
Cuantificar factores de escala de canal izguierdo con cuantificación de vector de primera etapa (VQ), ¡a fundón devuelve e l libro de códigos estocástico indexf 1 y los parámetros snsl cuantificados sns/_q
indexM = sns_1st_cod( snsl, snsl_q );
Cuantificar factores de escala de canal izquierdo con cuantificación de vector algebraico de segunda etapa
(A VQ), ¡a función devuelve índices de dimensiones divididas y e l snsl cuantificado fina l sns/_q
¡ndexl_2 = sns_2st_cod( snsl, snsl_q );
Cuantificar factores de escala de canal derecho con cuantificación de vector de primera etapa (VQ), ¡a función devuelve e l libro de códigos estocástico indexr_ 1 y los parámetros snsr cuantificados snsr_q
¡ndexr_1 = sns_1st_cod( snsr, snsr_q );
Cuantificar factores de escala de canal derecho con cuantificación de vector algebraico de segunda etapa
(A VQ), la fundón devuelve índices de dimensiones divididas y e l snsr cuantificado fina l snsr_q
¡ndexr_2 = sns_2st_cod( snsr, snsr_q );
}
Em itir factores de escala SNS cuantificadossnsl_qysnsr_qpara realizarla modificación de escala del espectro.
Se puede usar cualquier tipo de cuantificación, por ejemplo, cuantificación escalar uniforme o no uniforme y codificación aritmética o de entropía, para representar los parámetros. En la implementación descrita, como se puede ver en la descripción del algoritmo, se implementa un esquema de cuantificación de vector de 2 etapas:
• Primera etapa: 2 divisiones (8 dimensiones cada una) con 5 bits cada una, por lo tanto, codificado con 10 bits
• Segunda etapa: cuantificación de vector algebraico (AVQ), nuevamente 2 divisiones con modificación de escala del residuo, donde los índices de libro de códigos están codificados por entropía y, por lo tanto, utiliza una velocidad de bits variable.
Dado que la señal lateral para canales altamente correlacionados se puede considerar pequeña, el uso de, por ejemplo, AVQ de 2a etapa de escala reducida solo es suficiente para representar los parámetros s Ns correspondientes. Al omitir la VQ de 1a etapa para estas señales, se puede lograr una complejidad significativa y un ahorro de bits para la codificación de los parámetros SNS.
Más adelante se proporciona una descripción de pseudocódigo de cada etapa de cuantificación implementada. Primera etapa con cuantificación de vector de 2 divisiones usando 5 bits para cada división:
codebook índex = sns_lst_cod{
jotrada ; parámetros sns para cuantíficar
salida : sns_q parámetro de escala sns cuantificado
)
{
d iv id iré I vector coeficientes a ta m itad
jO = 0;
j1 = M / 2 ;
in icia tizar distancia mínima
dist_min - 1,0e30f;
puntero a ubicación de memoria de ios libros de códigos almacenados
p = sns_vq_cdbk1;
indexO = 0;
Cuantificación de vector dividido
U tilizar representación de 5 b its 32~2A5 para encontrar e i índice óptimo con ia distancia mínimafor ( i = 0; i < 32; i++ )
{
dist _ 0.0;
for ( j - j0; j < j1; j++ )
{
obtenerla diferencia de ios parámetros sns con cada uno de ios vectores cuantifícados de 8 dimensiones, que se almacenan secuencia/mente en ia memoria.
temp - sns[j] - *p++;
calcular distancia
dist = dist temp * temp;
}
índice de retom o de libro de códigos con distancia mínima
if ( dist < dist_min )
{
dist_min - dist;
indexO = i;
}
}
Habiendo encontrado e l índice óptimo de i vector, obtener valores cuantifícados de ios prim eros M /2 factores de escala SNS del libro de códigos
Apuntar a ta dirección en la memoria a i lib ro de códigos seleccionado
p _ &sns_vq_cdbk1 [indexO * ( M / 2 )];
f ° r ( j = j 0 ; j < j i ; j )
{
snsq[j] = *p++;increm entar apuntador en uno
}
Repetir e l procedim iento para ia segunda división del vector
j0 = M / 2 ;
j1 = M;
dist_min = 1.0e30f;
p = sns_vq_cdbk2;
indexl = 0;
for ( i = 0; i < 32; i++ )
{
dist = 0.0;
for ( j = j0; j < j 1; j++ )
{
temp = sns[j] - *p_dico++;
dist = temp * temp;
}
if ( dist < dist_min )
{
dist_min = dist;
indexl = i;
}
}
Obtenerlos valores cuantificados para los factores restantes del libro de códigos
p = &sns_vq_cdbk2[index1 * ( M / 2 )];
f ° r ( j = j0; j < j1 ;j++ )
{
snsq[j] = *p++;
}
E l índice final es la suma de los índices de la primera división segunda división multiplicado por e i factor de 2 A 5=32. Porto tanto, solo se necesita muttiptexar un índice en e i flujo de bits
Índex = indexO ( indexl « 5 );
retum índex;
}
Cuantificación de vector algebraico de segunda etapa:
sns_2st_cod(
¡nput sns,vector normalizado para cuantificar
¡nput/output snsq, i: lera etapa o: 1era+2da etapa
output ¡ndex[],
)
{
scale = 1.0 / 2.5;
Calcular residuo de cuantificación de primera etapa y escala residual para una cuantificación más fina
for ( i = 0; i < M; ¡++ )
{
x[¡] = ( sns[¡] - snsq[¡]) / scale;
}
Cuantificar e l residuo utilizando AVQ (vector de código algebraico) utilizado en EVS para ia cuantificación de segunda etapa de ios coeficientes LPC [4], Donde x es e i residuo, xq es e l residuo cuantificado devuelto de ia función, 2 marca e i proceso de 2 divisiones e indx es un arreglo que contiene ios índices de ios libros de códigos para cada división
AVQ_cod_lpc( x, xq, indx, 2 );
R efinarlos factores de escala SNS cuantificados a l añadir e l residuo cuantificado que concluye la segunda etapa de cuantificación
for ( i = 0; i < M; i++ )
{
snsq[¡] = snsq[¡] scale * xq[¡];
}
}
Los índices que se emiten del proceso de codificación finalmente se empaquetan en el flujo de bits y se envían al decodificador.
El procedimiento AVQ divulgado anteriormente para la segunda etapa se implementa de manera preferible como se describe en EVS con referencia a la LPC de alta velocidad (subcláusula 5.3.3.2.1.3) en el capítulo de TCX basada en MDCT. Específicamente para el cuantificador de vector algebraico de segunda etapa utilizado se indica cuantificador de vector algebraico 5.3.3.2.1.3.4, y la VQ algebraica utilizada para cuantificar el refinamiento se describe en la subcláusula 5.2.3.1.6.9. . En una realización, se tiene, para cada índice, un conjunto de palabras de código para el índice de libro de códigos base y un conjunto de palabras de código para el índice Voronoi, y todo esto está codificado por entropía y, por lo tanto, de velocidad de bits variable. Por lo tanto, los parámetros de la AVQ en cada subbanda j consisten en el número de libro de códigos, el índice de vector en el libro de códigos base y el índice Voronoi n- (tal como 8-) dimensional.
Decodificación de factores de escala
En el extremo de decodificador, los índices se extraen del flujo de bits y se utilizan para decodificar y derivar los valores cuantificados de los factores de escala. Más adelante se proporciona un ejemplo de pseudocódigo del procedimiento.
El procedimiento de la decodificación de 2 etapas se describe en detalle en el pseudocódigo más adelante.
Leerla codificación estéreo de señalización de bits de i flujo de bits
¡f ( stereo_mode ¡s true )
{
Leer índices para recuperar ios factores de escala media cuan tífica dos.
Decodificación de primera etapa, introducir indexi_ 1 y devolver media cuantificada,mid_q sns_1st_dec( indexM, m¡d_q);
Decodificación de segunda etapa, introducir indices indexi_2y devolver media cuantificada fina l m id j\sns_2st_dec( m¡d_q, ¡ndexl_2);
Asum ir que ios factores de escala lateral cuan tífica dos son cero después de ia primera etapafor (¡=0; i<M; i++)
{
s¡de_q[¡] = O.f;
}
S i se señaliza en ei flujo de bits que ios factores de escala lateral no son cero, realizar decodificación de segunda etapa
¡f ( flag_zero es false )
{
introducir índices de segunda etapa indexr_2y devolver lado cuantificado,side_q sns_2st_dec( s¡de_q, ¡ndexr_2);
}
Transformar factores de escala cuantificados SNS iaterai-media a L-R
for (i = 0; i < M; i++)
{
SNS_QI[¡] = m¡d_q[¡] s¡de_q[¡] * 0.5f;
SNS_Qr[¡] = m¡d_q[¡] - s¡de_q[¡] * 0.5f;
}
}
else
{
Decodificación de dos etapas para recuperar ios factores de escala cuantificados SNS L-R Decodificación de primera etapa L
sns_1st_dec( indexM, SNS_QI);
Decodificación de segunda etapa L
sns_2st_dec( SNS_QI, indexl );
Decodificación de primera etapa R
sns_1st_dec( *¡ndexr++, SNS_Qr);
Decodificación de segunda etapa R [1]
sns_2st_dec( SNS_Qr, indexr);
}
Devolver factores de escala cuantificados para cada cana!para m odificar escala dei espectro decodificado )
p_dico = &sns_vq_cdk21( in d e x l ) * C il / 2 ) ] ;
fo r ( i = M / 2; i < M; i++ )
{
s n s q íil = *p_dico++;
>
>___________________________________________________________
El procedimiento de la decodificación de 2 etapas se describe en detalle en el pseudocódigo más adelante.
sns_1st_dec(
¡nput: índex,índice de libro de códigos
output snsq, sns cuantificado
)
{
Para recuperar indexO y in d e x l que representan los índices para cada división dei índice, se debe realizarla operación inversa:
¡ndexO= ¡ndex%32;donde % representa ei resto de dividir con 32
¡ndex1=index/32;
Puntero a i prim er libro de códigos para ia primera m itad de ios parámetros SNS cuantificados
p = &sns_vq_cdbk1[( indexO ) * ( M / 2 )];
Recuperar vector de valores cuantificados almacenados secuenciaimente en memoria
for ( i = 0; i < M / 2; i++ )
{
snsq[¡] = *p++;
}
Puntero a l segundo libro de códigos para recuperar ia segunda m itad de ios parámetros SNS
p = &sns_vq_cdbk2[( indexl ) * ( M / 2 )];
Recuperar vector de valores cuantificados almacenados secuenciaimente en memoria
for ( i = M / 2; i < M; i++ )
{
snsq[¡] = *p++;
}
}
Los factores de escala SNS cuantificados recuperados de la primera etapa se refinan mediante la decodificación del residuo en la segunda etapa. El procedimiento se da en el pseudocódigo más adelante:
sns_2st_dec(
¡nput/output snsq,i: le ra etapa o: 1era+2da etapa
¡nput ¡ndx,i: index[] (4 bits por palabra)
)
{
floatscale = 1.0/2.5;
Derivar de índices indx ios M residuos cuantificadosxq, de la función de decodificación AVQ de 2 divisiones AVQ_dec_lpc( indx, xq, 2 );
Reconstruir ios parámetros SNS cuantificados finales a i añadir ios residuos modificados en escala
for ( i = 0; i < M; i++ )
{
snsq[¡] = snsq[¡] scale * (float) xq[¡];
}
}
Con respecto a la modificación de escala o amplificación/ponderación del residuo en el lado de codificador y la modificación de escala o atenuación/ ponderación en el lado de decodificador, los factores de ponderación no se calculan por separado para cada valor o división, sino que se utiliza un solo peso o un pequeño número de peso diferente (como una aproximación para evitar la complejidad) para modificar la escala de todos los parámetros. Esta escala es un factor que determina el equilibrio de, por ejemplo, cuantificación gruesa (más cuantificaciones a cero) ahorro de velocidad de bits y precisión de cuantificación (con distorsión espectral respectiva), y se puede predeterminar en el codificador de modo que este valor predeterminado no se tenga que transmitir al decodificador, pero se puede establecer o inicializar de forma fija en el decodificador para ahorrar bits de transmisión. Por lo tanto, una mayor escala del residuo requeriría más bits pero tendría una distorsión espectral mínima, en tanto que la reducción de la escala ahorraría bits adicionales y si la distorsión espectral se mantiene en un rango aceptable, eso podría servir como un medio de ahorro de velocidad de bits adicional.
Ventajas de las Realizaciones Preferidas
• Ahorros sustanciales de bits cuando se correlacionan dos canales y los parámetros SNS se codifican conjuntamente. Más adelante se muestra un ejemplo de ahorro de bits por cuadro logrado en el sistema descrito en la sección anterior:
• Independiente: 88.1 bits en promedio
• Nuevo independiente: 72.0 bits en promedio
• Nuevo conjunto: 52.1 bits en promedio
donde
• "Independiente" es la implementación MDCT-estéreo descrita en [8] usando SNS [6] para el FDNS que codifica los dos canales solo independientemente con VQ de 2 etapas
• Primera etapa: Libro de códigos entrenado de 8 bits (16 dimensiones)
• Segunda etapa: AVQ del residuo modificado en escala con un factor de 4 (velocidad de bits variable)
• "Nuevo independiente" se refiere a la realización descrita anteriormente de la invención donde la correlación de los dos canales no es lo suficientemente alta y se codifican por separado, utilizando un nuevo enfoque VQ de 2 etapas como se describió anteriormente y el residuo se modifica en escala con un factor reducido de 2.5
• “Nuevo conjunto” se refiere al caso codificado conjuntamente (también descrito anteriormente), donde nuevamente en la segunda etapa el residuo se modifica en escala con un factor reducido de 2.5.
• Otra ventaja del método propuesto es el ahorro de complejidad computacional. Como se muestra en [6] el nuevo SNS es más óptimo en términos de complejidad computacional de la FDNS basada en LPC descrita en [5] debido a los cálculos de autocorrelación que se necesitan para estimar los LPC. Por lo tanto, al comparar la complejidad computacional del sistema estéreo basado en MDCT de [8] donde se utiliza FDNS basada en LPC mejorada [5] hasta una implementación donde el nuevo SNS [6] reemplaza el enfoque basado en LPC, hay ahorros de aproximadamente 6 WMOPS a una velocidad de muestreo de 32 kHz.
Además, la nueva cuantificación de dos etapas con VQ para la primera etapa y AVQ con escala reducida para la segunda etapa logra una reducción adicional de la complejidad computacional. Para la realización descrita en la sección anterior, la complejidad computacional se reduce adicionalmente por aproximadamente 1 WMOPS a una velocidad de muestreo de 32 kHz, con la compensación de distorsión espectral aceptable.
Sumario de Aspectos o Realizaciones Preferidas
1. Codificación conjunta de parámetros de conformación de ruido espectral, donde se calcula la representación media/lateral de los parámetros y media se codifica usando cuantificación y codificación entrópica y lateral se codifica usando un esquema de cuantificación más grueso.
2. Determinar de manera adaptativa si los parámetros de conformación de ruido se deben codificar de forma independiente o conjunta con base en la correlación o coherencia de canal.
3. Bit de señalización enviado para determinar si los parámetros se codificaron de forma independiente o conjunta.
4. Aplicaciones basadas en la implementación MDCT-estéreo:
• señalización con bits donde los coeficientes laterales son cero
• que se utiliza la SNS
• que el espectro de potencia se utiliza para calcula lar SNS
• que se utilizan 2 divisiones con 5 bits en la primera etapa.
• Ajustar la modificación de escala del residuo de la AVQ de segunda etapa puede reducir aún más el número de bits para la cuantificación de segunda etapa.
La figura 23 ilustra una comparación en el número de bits para ambos canales en línea con una implementación de la técnica previa actual (descrita como "independiente" anteriormente), la nueva implementación independiente de acuerdo con el segundo aspecto de la presente invención y para la nueva implementación conjunta de acuerdo con el primer aspecto de la presente invención. La figura 23 ilustra un histograma donde el eje vertical representa la frecuencia de aparición y el eje horizontal ilustra los intervalos del número total de bits para codificar los parámetros para ambos canales.
Posteriormente, se ilustran realizaciones preferidas adicionales donde se da un énfasis específico al cálculo de los factores de escala para cada canal de audio y donde además se da énfasis específico a la aplicación específica de submuestreo o sobremuestreo de los parámetros de escala, que se aplica ya sea antes o después del cálculo de los parámetros de escala codificados conjuntamente como se ilustra con respecto a la figura 3a, figura 3b.
La figura 11 ilustra un aparato para codificar una señal de audio 160. La señal de audio 160 preferentemente está disponible en el dominio de tiempo, aunque otras representaciones de la señal de audio tal como un dominio de predicción o cualquier otro dominio también serían principalmente útiles. El aparato comprende un convertidor 100, una calculadora de factores de escala 110, un procesador espectral 120, un submuestreador 130, un codificador de factor de escala 140 y una interfaz de salida 150. El convertidor 100 se configura para convertir la señal de audio 160 en una representación espectral. La calculadora de factores de escala 110 se configura para calcular un primer conjunto de parámetros de escala o factores de escala a partir de la representación espectral. El otro canal se recibe en el bloque 120, y los parámetros de escala de los otros canales se reciben por el bloque 140.
A lo largo de la especificación, el término “factor de escala” o “parámetro de escala” se usa para referirse al mismo parámetro o valor, es decir, un valor o parámetro que se usa, posteriormente a algún procesamiento, para ponderar algún tipo de valores espectrales. Esta ponderación, cuando se realiza en el dominio lineal es en realidad una operación de multiplicación con un factor de modificación de escala.
Sin embargo, cuando la ponderación se realiza en un dominio logarítmico, entonces la operación de ponderación con un factor de escala se realiza mediante una operación de suma o resta real. Por lo tanto, en los términos de la presente solicitud, la modificación de escala no solo significa multiplicar o dividir, sino que también significa, dependiendo del determinado dominio, suma o resta o, generalmente significa cada operación, mediante la cual el valor espectral, por ejemplo, se pondera o modifica usando el factor de escala o parámetro de escala.
El submuestreador 130 se configura para el submuestreo del primer conjunto de parámetros de escala para obtener un segundo conjunto de parámetros de escala, en donde un segundo número de los parámetros de escala en el segundo conjunto de parámetros de escala es menor que un primer número de parámetros de escala en el primer conjunto de parámetros de escala. Esto también se describe en el recuadro de la figura 11 que indica que el segundo número es menor que el primer número. Como se ilustra en la figura 11, el codificador de factor de escala se configura para generar una representación codificada del segundo conjunto de factores de escala, y esta representación codificada se reenvía a la interfaz de salida 150. Debido al hecho de que el segundo conjunto de factores de escala tiene un menor número de factores de escala que el primer conjunto de factores de escala, la velocidad de bits para transmitir o almacenar la representación codificada del segundo conjunto de factores de escala es menor en comparación con una situación, en la que no se habría realizado el submuestreo de los factores de escala realizados en el submuestreador 130.
Además, el procesador espectral 120 se configura para procesar la salida de representación espectral por el convertidor 100 en la figura 11 usando un tercer conjunto de parámetros de escala, el tercer conjunto de parámetros de escala o factores de escala que tiene un tercer número de factores de escala que es mayor que el segundo número de factores de escala, en donde el procesador espectral 120 se configura para usar, con el propósito de procesamiento espectral del primer conjunto de factores de escala como ya está disponible del bloque 110 a través de la línea 171. Alternativamente, el procesador espectral 120 se configura para usar el segundo conjunto de factores de escala como salida por el submuestreador 130 para el cálculo del tercer conjunto de factores de escala como se ilustra por la línea 172. En una implementación adicional, el procesador espectral 120 utiliza la salida de representación codificada por el codificador de factor/parámetro de escala 140 con el propósito de calcular el tercer conjunto de factores de escala como se ilustra por la línea 173 en la figura 11. Preferentemente, el procesador espectral 120 no utiliza el primer conjunto de factores de escala, sino que utiliza el segundo conjunto de factores de escala calculado por el submuestreador o incluso más preferentemente utiliza la representación codificada o, generalmente, el segundo conjunto cuantificado de factores de escala y, luego, realiza una operación de interpolación para interpolar el segundo conjunto cuantificado de parámetros espectrales para obtener el tercer conjunto de parámetros de escala que tiene un mayor número de parámetros de escala debido a la operación de interpolación.
Por lo tanto, la representación codificada del segundo conjunto de factores de escala que se genera mediante el bloque 140 comprende un índice de libro de códigos para un libro de códigos de parámetros de escala preferentemente utilizado o un conjunto de índices de libro de códigos correspondientes. En otras realizaciones, la representación codificada comprende los parámetros de escala cuantificados de factores de escala cuantificados que se obtienen, cuando el índice de libro de códigos o el conjunto de índices de libro de códigos o, generalmente, la representación codificada se ingresa en un decodificador de vector del lado de decodificador o cualquier otro decodificador.
Preferentemente, el procesador espectral 120 utiliza el mismo conjunto de factores de escala que también está disponible en el lado de decodificador, es decir, utiliza el segundo conjunto cuantificado de parámetros de escala junto con una operación de interpolación para finalmente obtener el tercer conjunto de factores de escala.
En una realización preferida, el tercer número de factores de escala en el tercer conjunto de factores de escala es igual al primer número de factores de escala. Sin embargo, también es útil un número menor de factores de escala. A modo de ejemplo, por ejemplo, se podrían derivar 64 factores de escala en el bloque 110 y luego se podrían submuestrear de los 64 factores de escala a 16 factores de escala para transmisión. Luego, se podría realizar una interpolación no necesariamente a 64 factores de escala, sino a 32 factores de escala en el procesador espectral 120. Alternativamente, se podría realizar una interpolación a un número incluso mayor tal como más de 64 factores de escala según sea el caso, siempre y cuando el número de factores de escala transmitidos en la señal de salida codificada 170 sea menor que el número de factores de escala calculados en el bloque 110 o calculados y utilizados en el bloque 120 de la figura 11.
Preferentemente, la calculadora de factores de escala 110 se configura para realizar varias operaciones ilustradas en la figura 12. Estas operaciones se refieren a un cálculo 111 de una medición relacionada con la amplitud por banda, donde la representación espectral para un canal se ingresa en el bloque 111. El cálculo para el otro canal se realizará de manera similar. Una medición relacionada con la amplitud preferida por banda es la energía por banda, pero también se pueden utilizar otras mediciones relacionadas con la amplitud, por ejemplo, la suma de las magnitudes de las amplitudes por banda o la suma de amplitudes cuadradas que corresponde a la energía. Sin embargo, aparte de la potencia de 2 utilizada para calcular la energía por banda, también se pueden usar otras potencias, tal como una potencia de 3 que reflejaría la sonoridad de la señal, e incluso se pueden usar potencias diferentes de números enteros, tal como potencias de 1.5 o 2.5, para calcular mediciones relacionadas con la amplitud por banda. Incluso se pueden usar potencias inferiores a 1.0 siempre que se asegure que los valores procesados por dichas potencias sean positivos.
Una operación adicional realizada por la calculadora de factores de escala puede ser un suavizado interbanda 112. Este suavizado interbanda se utiliza preferentemente para alisar las posibles inestabilidades que pueden aparecer en el vector de mediciones relacionadas con la amplitud como se obtienen mediante la etapa 111. Si se no realizara este suavizado, estas inestabilidades se amplificarían cuando se convierten en un dominio logarítmico más tarde, como se ilustra en 115, especialmente en valores espectrales donde la energía es cercana a 0. Sin embargo, en otras realizaciones, no se realiza el suavizado interbanda.
Otra operación preferida realizada por la calculadora de factores de escala 110 es la operación de énfasis previo 113. Esta operación pre-énfasis tiene un propósito similar a una operación de pre-énfasis utilizada en un filtro perceptual basado en LPC del procesamiento TCX basado en MDCT como se analizó anteriormente con respecto a la técnica anterior. Este procedimiento incrementa la amplitud del espectro conformado en las frecuencias bajas que da como resultado un ruido de cuantificación reducido en las frecuencias bajas.
Sin embargo, dependiendo de la implementación, la operación de pre-énfasis - como las otras operaciones específicas -no necesariamente se tiene que realizar.
Otra operación de procesamiento opcional es el procesamiento de adición de umbral mínimo de ruido 114. Este procedimiento mejora la calidad de las señales que contienen dinámicas espectrales muy altas tales como, por ejemplo, Glockenspiel, al limitar la amplificación de amplitud del espectro conformado en los valles, lo que tiene el efecto indirecto de reducir el ruido de cuantificación en los picos, a costa de un incremento del ruido de cuantificación en los valles, donde el ruido de cuantificación de todos modos no es perceptible debido a las propiedades de enmascaramiento del oído humano tales como el umbral de escucha absoluto, el preenmascaramiento, el posenmascaramiento o el umbral de enmascaramiento general que indica que, típicamente, un tono de volumen bastante bajo relativamente cercano en frecuencia a un tono de alto volumen no es perceptible en absoluto, es decir, está completamente enmascarado o solo se percibe aproximadamente por el mecanismo auditivo humano, de modo que esta contribución espectral se puede cuantificar de forma bastante gruesa.
Sin embargo, la operación de adición de umbral mínimo de ruido 114 no necesariamente se tiene que realizar.
Además, el bloque 115 indica una conversión de dominio tipo logaritmo. Preferentemente, una transformación de una salida de uno de los bloques 111, 112, 113, 114 en la figura 12 se realiza en un dominio tipo logaritmo. Un dominio tipo logaritmo es un dominio, en el cual se expanden valores cercanos a 0 y se comprimen valores altos. Preferentemente, el dominio logarítmico es un dominio con una base de 2, pero también se pueden utilizar otros dominios logarítmicos. Sin embargo, un dominio logarítmico con la base de 2 es mejor para una implementación en un procesador de señales de punto fijo.
La salida de la calculadora de factores de escala 110 es un primer conjunto de factores de escala.
Como se ilustra en la figura 12, cada uno de los bloques 112 a 115 se puede unir, es decir, la salida del bloque 111, por ejemplo, ya podría ser el primer conjunto de factores de escala. Sin embargo, se prefieren todas las operaciones de procesamiento y, particularmente, la conversión de dominio tipo logaritmo. Por lo tanto, incluso se podría implementar la calculadora de factores de escala realizando solo las etapas 111 y 115 sin los procedimientos en las etapas 112 a 114, a manera de ejemplo. En la salida del bloque 115, se obtiene un conjunto de parámetros de escala para un canal (tal como L) y también se puede obtener un conjunto de parámetros de escala para el otro canal (tal como R) mediante un cálculo similar.
Por lo tanto, la calculadora de factores de escala se configura para realizar uno o dos o más de los procedimientos ilustrados en la figura 12 como se indica mediante las líneas de entrada/salida que conectan varios bloques.
La figura 13 ilustra una implementación preferida del submuestreador 130 de la figura 11 nuevamente para un canal individual. Los datos para el otro canal se calculan de manera similar. Preferentemente, se realiza un filtrado de paso bajo o, generalmente, un filtrado con una determinada ventana w(k) en la etapa 131 y, luego, se realiza una operación de submuestreo/disminución del resultado del filtrado. Debido al hecho de que el filtrado de paso bajo 131 y en realizaciones preferidas la operación de submuestreo/disminución 132 son ambas operaciones aritméticas, el filtrado 131 y el muestreo descendente 132 se pueden realizar dentro de una sola operación como se describirá más adelante. Preferentemente, la operación de submuestreo/disminución se realiza de tal manera que se realiza una superposición entre los grupos individuales de parámetros de escala del primer conjunto de parámetros de escala. Preferentemente, se lleva a cabo una superposición de un factor de escala en la operación de filtrado entre dos parámetros calculados disminuidos. Por lo tanto, la etapa 131 realiza un filtro de paso bajo en el vector de parámetros de escala antes de la disminución. Este filtro de paso bajo tiene un efecto similar a la función de propagación utilizada en modelos psicoacústicos. Reduce el ruido de cuantificación en los picos, a costa de un incremento del ruido de cuantificación alrededor de los picos donde de todos modos se enmascara perceptualmente al menos en un mayor grado con respecto al ruido de cuantificación en los picos.
Además, el submuestreador realiza adicionalmente una eliminación de valor promedio 133 y una etapa de modificación de escala adicional 134. Sin embargo, la operación de filtrado de paso bajo 131, la etapa de eliminación de valor medio 133 y la etapa de modificación de escala 134 son solo etapas opcionales. Por lo tanto, el submuestreador ilustrado en la figura 13 o ilustrado en la figura 11 se puede implementar para realizar solo la etapa 132 o para realizar dos etapas ilustradas en la figura 13 tal como la etapa 132 y una de las etapas131, 133 y 134. De manera alternativa, el submuestreador puede realizar las cuatro etapas o solo tres de las cuatro etapas ilustradas en la figura 13 siempre y cuando se realice la operación de submuestreo/disminución 132.
Como se describe en la figura 13, las operaciones de audio en la figura 13 realizadas por el submuestreador se realizan en el dominio tipo registro con el fin de obtener mejores resultados.
La figura 15 ilustra una implementación preferida del procesador espectral. El procesador espectral 120 incluido dentro del codificador de la figura 11 comprende un interpolador 121 que recibe el segundo conjunto cuantificado de parámetros de escala para cada canal o alternativamente para un grupo de parámetros de escala codificados conjuntamente y que genera el tercer conjunto de parámetros de escala para un canal de para un grupo de parámetros de escala codificados conjuntamente donde el tercer número es mayor que el segundo número y preferentemente igual al primer número. Además, el procesador espectral comprende un conversor de dominio lineal 120. Luego, se realiza una conformación espectral en el bloque 123 usando los parámetros de escala lineal por un lado y la representación espectral por otro lado que se obtiene por el convertidor 100. Preferentemente, una operación de conformación de ruido temporal posterior, es decir, una predicción sobre la frecuencia se realiza con el fin de obtener valores residuales espectrales en la salida del bloque 124, en tanto que la información adicional TNS se reenvía a la interfaz de salida como se indica mediante la flecha 129.
Finalmente, el procesador espectral 125, 120b tiene al menos uno de un cuantificador/codificador escalar que se configura para recibir una única ganancia global para toda la representación espectral, es decir, para un cuadro completo, y una funcionalidad de procesamiento estéreo y una funcionalidad de procesamiento IGF, etc. Preferentemente, la ganancia global se deriva dependiendo de ciertas consideraciones de velocidad de bits. Por lo tanto, la ganancia global se establece de modo que la representación codificada de la representación espectral generada por el bloque 125, 120b cumple con ciertos requisitos tales como un requisito de velocidad de bits, un requisito de calidad o ambos. La ganancia global se puede calcular iterativamente o se puede calcular en una medición de avance de alimentación según sea el caso. Generalmente, la ganancia global se utiliza junto con un cuantificador y una alta ganancia global generalmente da como resultado una cuantificación más gruesa donde una baja ganancia global da como resultado una cuantificación más fina. Por lo tanto, en otras palabras, una ganancia global alta da como resultado un tamaño de paso de cuantificación más alto en tanto que una ganancia global baja da como resultado un tamaño de paso de cuantificación más pequeño cuando se obtiene un cuantificador fijo. Sin embargo, también se pueden usar otros cuantificadores junto con la funcionalidad de ganancia global tal como un cuantificador que tiene algún tipo de funcionalidad de compresión para valores altos, es decir, algún tipo de funcionalidad de compresión no lineal de modo que, por ejemplo, los valores más altos estén más comprimidos que los valores más bajos. La dependencia anterior entre la ganancia global y la aspereza de cuantificación es válida, cuando la ganancia global se multiplica a los valores antes de la cuantificación en el dominio lineal correspondiente a una adición en el dominio logarítmico. Sin embargo, si la ganancia global se aplica por una división en el dominio lineal, o por una resta en el dominio logarítmico, la dependencia es al revés. Lo mismo es cierto, cuando la "ganancia global" representa un valor inverso.
Posteriormente, se proporcionan implementaciones preferidas de los procedimientos individuales descritos con respecto a las figuras 11 a 15.
Descripción detallada etapa a etapa de realizaciones preferidas
CODIFICADOR:
• Etapa 1: Energía por banda (111)
Las energías por bandaEB(n)se calculan como sigue:
Con X(k) son los coeficientes MDCT,Nb= 64 es el número de bandas yInd(rí)son los índices de banda. Las bandas no son uniformes y siguen la escala Bark perceptualmente relevante (más pequeña en bajas frecuencias, más grande en altas frecuencias).
• Etapa 2: Suavizado (112)
La energía por banda E<b>(¿>) se suaviza utilizando
Observación: esta etapa se utiliza principalmente para suavizar las posibles inestabilidades que pueden aparecer en el vector . Si no se suavizan, estas inestabilidades se amplifican cuando se convierten en dominio logarítmico (ver etapa 5), especialmente en los valles donde la energía es cercana a 0.
• Etapa 3: Pre-énfasis (113)
La energía suavizada por bandaEs(b)se enfatiza previamente utilizando
congmcontrola la inclinación de preénfasis y depende de la frecuencia de muestreo. Es, por ejemplo, 18 a 16 kHz y 30 a 48 kHz. El pre-énfasis utilizado en esta etapa tiene el mismo propósito que el pre-énfasis utilizado en el filtro de percepción basado en LPC de la técnica anterior 2, incrementa la amplitud del espectro conformado en las frecuencias bajas, que da como resultado un ruido de cuantificación reducido en las frecuencias bajas.
• Etapa 4: Ruido de fondo (114)
Se añade un umbral mínimo de ruido a -40dB para Ep(b) usando
con el ruido de fondo que se calcula por
Esta etapa mejora la calidad de las señales que contienen dinámicas espectrales muy altas tal como, por ejemplo, glockenspiel, al limitar la amplificación de amplitud del espectro conformado en los valles, lo que tiene el efecto indirecto de reducir el ruido de cuantificación en los picos, a costa de un incremento del ruido de cuantificación en los valles donde de todos modos no es perceptible.
• Etapa 5: Logaritmo (115)
Luego se realiza una transformación en el dominio logarítmico usando
• Etapa 6: Submuestreo (131, 132)
El vectorEi(b)luego se submuestrea por un factor de 4 usando
Con
Esta etapa aplica un filtro de paso bajo (w(k)) en el vectorEi(b)antes de la disminución. Este filtro de paso bajo tiene un efecto similar a la función de propagación utilizada en modelos psicoacústicos: reduce el ruido de cuantificación en los picos, a costa de un incremento del ruido de cuantificación alrededor de los picos donde de todos modos se enmascara perceptualmente.
• Etapa 7: Eliminación de media y Modificación de escala (133, 134)
Los factores de escala finales se obtienen después de la eliminación de media y la modificación de escala por un factor de 0.85
Dado que el códec tiene una ganancia global adicional, la media se puede eliminar sin ninguna pérdida de información. La eliminación de media también permite una cuantificación de vector más eficiente. La modificación de escala de 0.85 comprime ligeramente la amplitud de la curva de conformación de ruido. Tiene un efecto perceptual similar a la función de propagación mencionada en la Etapa 6: ruido de cuantificación reducido en los picos y ruido de cuantificación incrementado en los valles.
• Etapa 8: Cuantificación (141, 142)
Los factores de escala se cuantifican usando cuantificación de vector, produciendo índices que luego se empaquetan en el flujo de bits y se envían al decodificador, y factores de escala cuantificadosscfe(n).
• Etapa 9: Interpolación (121, 122)
Los factores de escala cuantificadosscfQ(rí)se interpolan usando
y transformado de nuevo en dominio lineal usando
La interpolación se utiliza para obtener una curva de conformación de ruido suave y, por lo tanto, para evitar cualquier salto de amplitud grande entre bandas adyacentes.
• Etapa 10: Conformación espectral (123)
Los factores de escala SNSgsNS(b)se aplican en las líneas de frecuencia MDCT para cada banda por separado con el fin de generar el espectro conformadoXs(k)
La figura 18 ilustra una implementación preferida de un aparato para decodificar una señal de audio codificada 250 (una señal estéreo codificada como L, R o M, S) que comprende información sobre una representación espectral codificada e información sobre una representación codificada de un segundo conjunto de parámetros de escala (codificados por separado o conjuntamente). El decodificador comprende una interfaz de entrada 200, un decodificador de espectro 210 (por ejemplo, realizar procesamiento IGF o procesamiento estéreo inverso o procesamiento de descuantificación), un decodificador de factor/parámetro de escala 220, un procesador espectral 230 (por ejemplo, para R, L) y un convertidor 240 (por ejemplo, para R, L). La interfaz de entrada 200 se configura para recibir la señal de audio codificada 250 y para extraer la representación espectral codificada que se reenvía al decodificador de espectro 210 y para extraer la representación codificada del segundo conjunto de factores de escala que se reenvía al decodificador de factor de escala 220. Además, el decodificador de espectro 210 se configura para decodificar la representación espectral codificada para obtener una representación espectral decodificada que se reenvía al procesador espectral 230. El decodificador de factor de escala 220 se configura para decodificar el segundo conjunto codificado de parámetros de escala para obtener un primer conjunto de parámetros de escala reenviados al procesador espectral 230. El primer conjunto de factores de escala tiene un número de factores de escala o parámetros de escala que es mayor que el número de factores de escala o parámetros de escala en el segundo conjunto. El procesador espectral 230 se configura para procesar la representación espectral decodificada usando el primer conjunto de parámetros de escala para obtener una representación espectral modificada en escala. Luego, el convertidor 240 convierte la representación espectral modificada en escala para finalmente obtener la señal de audio decodificada 260 que es una señal estéreo o una señal multicanal con más de dos canales.
Preferentemente, el decodificador de factor de escala 220 se configura para operar sustancialmente de la misma manera que se ha analizado con respecto al procesador espectral 120 de la figura 11 en relación con el cálculo del tercer conjunto de factores de escala o parámetros de escala como se analizó en relación con los bloques 141 o 142 y, particularmente, con respecto a los bloques 121, 122 de la figura 15. Particularmente, el decodificador de factor de escala se configura para realizar el mismo procedimiento sustancialmente para la interpolación y la transformación nuevamente en el dominio lineal como se ha analizado anteriormente con respecto a la etapa 9. Por lo tanto, como se ilustra en la figura 19, el decodificador de factor de escala 220 se configura para aplicar un libro de códigos de decodificación 221 al uno o más índices por cuadro que representan la representación de parámetros de escala codificada. Luego, se realiza una interpolación en el bloque 222 que es sustancialmente la misma interpolación que se ha analizado con respecto al bloque 121 en la figura 15. Luego, se utiliza un convertidor de dominio lineal 223 que es sustancialmente el mismo convertidor de dominio lineal 122 que se ha analizado con respecto a la figura 15. Sin embargo, en otras implementaciones, los bloques 221, 222, 223 pueden operar de manera diferente a lo que se ha analizado con respecto a los bloques correspondientes en el lado del codificador.
Además, el decodificador de espectro 210 ilustrado en la figura 18 o 19 comprende un bloque descuantificador/decodificador que recibe, como entrada, el espectro codificado y que emite un espectro descuantificado que se descuantifica preferentemente usando la ganancia global que se transmite adicionalmente desde el lado de codificador al lado de decodificador dentro de la señal de audio codificada en una forma codificada. El bloque 210 también puede realizar procesamiento IGF o procesamiento estéreo inverso tal como decodificación MS. El descuantificador/decodificador 210 puede, por ejemplo, comprender una funcionalidad aritmética o de decodificador Huffman que recibe, como entrada, algún tipo de códigos y que produce índices de cuantificación que representan valores espectrales. Luego, estos índices de cuantificación se introducen en un descuantificador junto con la ganancia global y la salida son valores espectrales descuantificados que luego se pueden someter a un procesamiento TNS tal como una predicción inversa sobre la frecuencia en un bloque de procesamiento de decodificador TNS 211 que, sin embargo, es opcional. En particular, el bloque de procesamiento de decodificador TNS recibe adicionalmente la información adicional TNS que se ha generado por el bloque 124 de la figura 15 como se indica por la línea 129. La salida de la etapa de procesamiento de decodificador TNS 211 se ingresa en un bloque de conformación espectral 212 que opera para cada canal por separado usando los factores de escala separados, donde el primer conjunto de factores de escala calculado por el decodificador de factor de escala se aplica a la representación espectral decodificada que se puede o no procesar por TNS según sea el caso, y la salida es la representación espectral modificada en escala para cada canal que luego se ingresa en el convertidor 240 de la figura 18.
Posteriormente, se analizan procedimientos adicionales de realizaciones preferidas del decodificador.
DECODIFICADOR:
• Etapa 1: Cuantificación (221)
Los índices de cuantificador de vector producidos en la etapa de codificador 8 se leen a partir del flujo de bits y se utilizan para decodificar los factores de escala cuantificados scfQ(n).
• Etapa 2: Interpolación (222, 223)
Igual que en la etapa 9 del codificador.
• Etapa 3: Conformación espectral (212)
Los factores de escala SNSgsNS(b)se aplican en las líneas de frecuencia MDCT cuantificadas para cada banda por separado con el fin de generar el espectro decodificadoX(k)como se señala en el siguiente código.
X(k) = Xs (k) • gSTS(b) para k = Ind(b)..Ind(b 1) — 1, para b = 0..63
La figura 16 y la figura 17 ilustran una configuración de codificador/decodificador general en donde la figura 16 representa una implementación sin procesamiento TNS, en tanto que la figura 17 ilustra una implementación que comprende procesamiento TNS. Las funcionalidades similares ilustradas en la figura 16 y la figura 17 corresponden a funcionalidades similares en las otras figuras cuando se indican números de referencia idénticos. Particularmente, como se ilustra en la figura 16, la señal de entrada 160, por ejemplo, una señal estéreo o una señal multicanal se ingresa en una etapa de transformada 110 y, posteriormente, se realiza el procesamiento espectral 120. En particular, el procesamiento espectral se refleja mediante un codificador SNS indicado por los números de referencia 123, 110, 130, 140 que indica que el codificador SNS de bloque implementa las funcionalidades indicadas por estos números de referencia. Posteriormente al bloque codificador SNS, se realiza una operación de codificación de cuantificación 120b, 125 y la señal codificada se ingresa en el flujo de bits como se indica en 180 en la figura 16. Luego, el flujo de bits 180 se produce en el lado de decodificador y posterior a una cuantificación y decodificación inversas ilustradas por el número de referencia 210, la operación de decodificador SNS ilustrada por los bloques 210, 220, 230 de la figura 18 se realiza de modo que, al final, posterior a una transformada inversa 240, se obtiene la señal de salida decodificada 260.
La figura 17 ilustra una representación similar a la de la figura 16, pero se indica que, preferentemente, el procesamiento TNS se realiza posterior al procesamiento SNS en el lado de codificador y, correspondientemente, el procesamiento TNS 211 se realiza antes del procesamiento SNS 212 con respecto a la secuencia de procesamiento en el lado de decodificador.
Preferentemente, se utiliza la herramienta adicional TNS entre conformación de ruido espectral (SNS) y cuantificación/codificación (ver, diagrama de bloques más adelante). TNS (conformación de ruido temporal) también conforma el ruido de cuantificación, pero también hace una conformación de dominio de tiempo (a diferencia de la conformación de dominio de frecuencia de SNS). TNS es útil para señales que contienen ataques agudos y para señales de voz.
TNS se aplica generalmente (en AAC por ejemplo) entre la transformada y SNS. Preferentemente, sin embargo, se prefiere aplicar TNS en el espectro conformado. Esto evita algunos artefactos que se produjeron por el decodificador TNS al operar el códec a bajas velocidades de bits.
La figura 20 ilustra una subdivisión preferida de los coeficientes espectrales o líneas espectrales como se obtiene por el bloque 100 en el lado de codificador en bandas. En particular, se indica que las bandas inferiores tienen un número menor de líneas espectrales que las bandas superiores.
En particular, el eje x en la figura 20 corresponde al índice de bandas e ilustra la realización preferida de 64 bandas y el eje y corresponde al índice de las líneas espectrales que ilustran 320 coeficientes espectrales en un cuadro. En particular, la figura 20 ilustra a modo de ejemplo la situación del caso de banda súper-ancha (SWB) donde hay una frecuencia de muestreo de 32 kHz.
Para el caso de banda ancha, la situación con respecto a las bandas individuales es de modo que un cuadro da como resultado 160 líneas espectrales y la frecuencia de muestreo es de 16 kHz de modo que, para ambos casos, un cuadro tiene una longitud en tiempo de 10 milisegundos.
La figura 21 ilustra más detalles sobre el submuestreo preferido realizado en el submuestreador 130 de la figura 11 o el sobremuestreo o interpolación correspondiente como se realiza en el decodificador de factor de escala 220 de la figura 18 o como se ilustra en el bloque 222 de la figura 19.
A lo largo del eje x, se da el índice para las bandas de 0 a 63. Particularmente, hay 64 bandas que van de 0 a 63.
Los 16 puntos submuestreados correspondientes a scfQ (i) se ilustran como líneas verticales 1100. En particular, la figura 21 ilustra cómo se realiza una cierta agrupación de parámetros de escala para obtener finalmente el punto submuestreado 1100. A modo de ejemplo, el primer bloque de cuatro bandas consiste en (0, 1, 2, 3) y el punto medio de este primer bloque está en 1.5 indicado por el elemento 1100 en el índice 1.5 a lo largo del eje x.
Correspondientemente, el segundo bloque de cuatro bandas es (4, 5, 6, 7), y el punto medio del segundo bloque es 5.5.
Las ventanas 1110 corresponden a las ventanas w(k) analizadas con respecto a la etapa 6 de submuestreo descrito anteriormente. Se puede observar que estas ventanas están centradas en los puntos submuestreados y existe la superposición de un bloque a cada lado como se analizó anteriormente.
La etapa de interpolación 222 de la figura 19 recupera las 64 bandas de los 16 puntos submuestreados. Esto se observa en la figura 21 al calcular la posición de cualquiera de las líneas 1120 con base en los dos puntos submuestreados indicados en 1100 alrededor de una determinada línea 1120. El siguiente ejemplo lo ejemplifica.
La posición de la segunda banda se calcula con base en las dos líneas verticales que la rodean (1.5 y 5.5) : 2=1.5+1/8x(5.5-1.5).
Correspondientemente, la posición de la tercera banda con base en las dos líneas verticales 1100 a su alrededor (1.5 y 5.5): 3=1.5+3/8x(5.5-1.5).
Se realiza un procedimiento específico para las dos primeras bandas y las dos últimas bandas. Para estas bandas, no se puede realizar una interpolación, porque no existirían líneas verticales o valores correspondientes a líneas verticales 1100 fuera del rango que va de 0 a 63. Por lo tanto, para abordar este problema, se realiza una extrapolación como se describe con respecto a la etapa 9: interpolación como se describió anteriormente para las dos bandas 0, 1 por un lado y 62 y 63 por otro lado.
Posteriormente, se analiza una implementación preferida del convertidor 100 de la figura 11 por un lado y el convertidor 240 de la figura 18 por otro lado.
En particular, la figura 22a ilustra un programa para indicar el encuadre realizado en el lado del codificador dentro del convertidor 100. La figura 22b ilustra una implementación preferida del conversor 100 de la figura 11 en el lado de codificador y la figura 22c ilustra una implementación preferida del conversor 240 en el lado de decodificador.
El convertidor 100 en el lado de codificador se implementa preferentemente para realizar un cuadro con cuadros superpuestos tal como un 50% de superposición de modo que el cuadro 2 se superpone con el cuadro 1 y el cuadro 3 se superpone con el cuadro 2 y el cuadro 4. Sin embargo, también se pueden realizar otras superposiciones o un procesamiento no superpuesto, pero se prefiere realizar una superposición de 50% junto con un algoritmo MDCT. Con este fin, el convertidor 100 comprende una ventana de análisis 101 y un convertidor espectral 102 conectado posteriormente para realizar un procesamiento FFT, un procesamiento MDC<t>o cualquier otro tipo de procesamiento de conversión de tiempo a espectro para obtener una secuencia de cuadros correspondiente a una secuencia de representaciones espectrales como se ingresa en la figura 11 a los bloques posteriores al convertidor 100.
De manera correspondiente, las representaciones espectrales modificadas en escala se ingresan en el convertidor 240 de la figura 18. Particularmente, el convertidor comprende un convertidor de tiempo 241 que implementa una operación FFT inversa, una operación MDCT inversa o una operación de conversión de espectro a tiempo correspondiente. La salida se inserta en una ventana de síntesis 242 y la salida de la ventana de síntesis 242 se ingresa en un procesador de superposición-suma 243 para realizar una operación de superposición-suma para finalmente obtener la señal de audio decodificada. En particular, el procesamiento de superposición-suma en el bloque 243, por ejemplo, realiza una adición de muestra por muestra entre las muestras correspondientes de la segunda mitad de, por ejemplo, el cuadro 3 y la primera mitad del cuadro 4 de modo que se obtienen los valores de muestreo de audio para la superposición entre el cuadro 3 y el cuadro 4 como se indica por el elemento 1200 en la figura 22a. Se realizan operaciones similares de superposiciónsuma de una manera de muestra por muestra para obtener los valores de muestreo de audio restantes de la señal de salida de audio decodificada.
Se mencionará aquí que todas las alternativas o aspectos como se analizó anteriormente y todos los aspectos como se definen por reivindicaciones independientes en las siguientes reivindicaciones se pueden usar individualmente, es decir, sin ninguna otra alternativa u objeto que la alternativa, objeto o reivindicación independiente contemplada. Sin embargo, en otras realizaciones, se pueden combinar dos o más de las alternativas o los aspectos o las reivindicaciones independientes entre sí y, en otras realizaciones, se pueden combinar todos los aspectos o alternativas y todas las reivindicaciones independientes entre sí.
Aunque se describen más aspectos anteriormente, las reivindicaciones adjuntas indican dos aspectos diferentes, es decir, un decodificador de audio, un codificador de audio y métodos relacionados que utilizan codificación conjunta de parámetros de escala para canales de una señal de audio multicanal, o un cuantificador de audio, un descuantificador de audio o métodos relacionados. Estos dos aspectos se pueden combinar o utilizar por separado, como sea el caso, y las invenciones de acuerdo con estos aspectos son aplicables a otra aplicación de procesamiento de audio diferente de las aplicaciones específicas descritas anteriormente.
Además, se hace referencia a las figuras 3a, 3b, 4a, 4b, 5, 6, 8a, 8b adicionales que ilustran el primer aspecto y las figuras 9a, 9b que ilustran el segundo aspecto y las figuras 7a, 7b que ilustran el segundo aspecto como se aplica dentro del primer aspecto.
Una señal codificada de forma inventiva se puede almacenar en un medio de almacenamiento digital o un medio de almacenamiento no transitorio o se puede transmitir en un medio de transmisión tal como un medio de transmisión inalámbrico o un medio de transmisión alámbrico tal como Internet.
Si bien se han descrito algunos aspectos en el contexto de un aparato, es obvio que estos aspectos también representan una descripción del método correspondiente, en el cual un bloque o dispositivo corresponde a una etapa del método o a una característica de una etapa del método. De manera análoga, los aspectos descritos en el contexto de una etapa del método también representan una descripción de un bloque o elemento correspondiente o de una característica de un aparato correspondiente.
Dependiendo de ciertos requisitos de implementación, las realizaciones de la invención se pueden implementar en hardware o en software. La implementación se puede realizar utilizando un medio de almacenamiento digital, por ejemplo, un disquete, un DVD, un CD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, que tenga señales de control electrónicamente legibles almacenadas en el mismo, que cooperan (o sean capaces de cooperar) con un sistema informático programable de manera que se realiza el método respectivo.
Algunas realizaciones comprenden un portador de datos que tiene señales de control electrónicamente legibles
que son capaces de cooperar con un sistema informático programable, de modo que se lleva a cabo uno de los métodos descritos en la presente.
En general, las realizaciones de la presente invención pueden ser implementadas en forma de producto de programa informático con un código de programa, donde el código de programa cumple la función de ejecutar uno de los métodos al ejecutarse el programa informático en un ordenador. El código de programa puede ser almacenado, por ejemplo, en un portador legible por una máquina.
Otras realizaciones comprenden el programa informático para realizar uno de los métodos descritos en la presente, almacenado en un portador legible por máquina o un medio de almacenamiento no transitorio. En otras palabras, una realización del método inventivo es, por lo tanto, un programa informático que tiene un código de programa para realizar uno de los métodos descritos en la presente, cuando el programa informático se ejecuta en un ordenador.
Una realización adicional de los métodos inventivos es, por lo tanto, un portador 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 métodos descritos en la presente.
Otra realización del método inventivo es, por lo tanto, un flujo de datos o una secuencia de señales que representan el programa informático para realizar uno de los métodos descritos en la presente. El flujo de datos o la secuencia de señales pueden estar configurados, por ejemplo, para ser transferida a través de una conexión de comunicación de datos, por ejemplo a través de Internet.
Otra realización comprende un medio de procesamiento, por ejemplo un ordenador o un dispositivo lógico programable, configurado o adaptado para realizar uno de los métodos descritos en el presente documento.
Otra realización comprende un ordenador que tiene instalado en él el programa informático para llevar a cabo uno de los métodos descritos en la presente.
En algunas realizaciones, se puede utilizar un dispositivo lógico programable (por ejemplo, una matriz de puertas programable en campo) para llevar a cabo algunas o todas las funcionalidades de los métodos descritos en la presente. En algunas realizaciones, una matriz de puertas programables en campo puede cooperar con un microprocesador para llevar a cabo uno de los métodos descritos en la presente. Por lo general, los métodos son ejecutados preferentemente por cualquier aparato de hardware.
Las realizaciones anteriormente descritas son meramente ilustrativas de los principios de la presente invención. Se entiende que modificaciones y variaciones de las disposiciones y los detalles aquí descritos resultarán evidentes para los expertos en la técnica. Es la intención, por consiguiente, limitarse sólo por el alcance de las reivindicaciones de patente que siguen y no por los detalles específicos presentados a modo de descripción y explicación de las realizaciones en el presente documento.
Referencias
[1] ISO/IEC 11172-3,Information technology - Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s - Parte 3: Audio, 1993.
[2] ISO/IEC 13818-7,Information technology - Generic coding of moving pictures and associated audio information - Parte 7: Advanced Audio Coding (AAC),2003.
[3] ISO/IEC 23003-3;Information technology - MPEG audio technologies - Parte 3: Unified speech and audio coding.
[4] 3GPP TS 26.445,Codee for Enhanced Voice Services (EVS); Descripción algorítmica detallada.
[5] G. Markovic, G. Fuchs, N. Rettelbach, C. Helmrich y B. Schubert, “LINEAR PREDICTION BASED CODING SCHEME USING SPECTRAL DOMAIN NOISE SHAPNG“. Patente US 9,595,262 B2, 14 de marzo de 2017.
[6] E. Ravelli, M. Schnell, C. Benndorf, M. Lutzky y M. Dietz, “Apparatus and method for encoding and decoding an audio signal using downsampling or interpolation of scale parameters“. Publicación WO: WO 2019091904 A 1 ,5112018.
[7] A. Biswas, Advances in Perceptual Stereo Audio Coding Using LinearPrediction Techniques, Eindhoven: Universidad Técnica de Eindhoven, 2017.
[8] G. Markovic, E. Ravelli, M. Schnell, S. Dohla, W. Jaegars, M. Dietz, C. Heimrich, E. Fotopoulou, M. Multrus, S. Bayer, G. Fuchs y J. Herre, “APPARATUS AND METHOD FOR MDCT M/S STEREO WITH GLOBAL ILD WITH IMPROVED MID/SIDE DECISION“. Publicación WO: WO2017EP5117.

Claims (37)

REIVINDICACIONES
1. Decodificador de audio para decodificar una señal de audio codificada que comprende datos de audio multicanal que comprenden datos para dos o más canales de audio e información sobre parámetros de escala codificados conjuntamente que comprenden:
un decodificador de parámetros de escala (220) para decodificar la información sobre los parámetros de escala codificados conjuntamente para obtener un primer conjunto de parámetros de escala para un primer canal de una señal de audio decodificada y un segundo conjunto de parámetros de escala para un segundo canal de la señal de audio decodificada; y
un procesador de señales (210, 212, 230) para aplicar el primer conjunto de parámetros de escala a una primera representación de canal derivada de los datos de audio multicanal y para aplicar el segundo conjunto de parámetros de escala a una segunda representación de canal derivada de los datos de audio multicanal para obtener el primer canal y el segundo canal de la señal de audio decodificada,
en donde los parámetros de escala codificados conjuntamente comprenden información sobre un primer grupo de parámetros de escala codificados conjuntamente e información sobre un segundo grupo de parámetros de escala codificados conjuntamente, y
en donde el decodificador de parámetros de escala (220) se configura para combinar un parámetro de escala codificado conjuntamente del primer grupo y un parámetro de escala codificado conjuntamente del segundo grupo usando una primera regla de combinación para obtener un parámetro de escala del primer conjunto de parámetros de escala, y usando una segunda regla de combinación que es diferente de la primera regla de combinación para obtener un parámetro de escala del segundo conjunto de parámetros de escala.
2. Decodificador de audio de la reivindicación 1, en donde el primer grupo de parámetros de escala codificados conjuntamente comprende parámetros de escala media y el segundo grupo de parámetros de escala codificados conjuntamente comprende parámetros de escala lateral, y en donde el decodificador de parámetros de escala (220) se configura para usar, en la primera regla de combinación, una adición y para usar, en la segunda regla de combinación, una resta.
3. Decodificador de audio de la reivindicación 1 o 2, en donde la señal de audio codificada se organiza en una secuencia de cuadros, en donde un primer cuadro comprende los datos de audio multicanal y la información sobre los parámetros de escala codificados conjuntamente, y en donde un segundo cuadro comprende información de parámetros de escala codificados por separado, y
en donde el decodificador de parámetros de escala (220) está configurado para detectar que el segundo cuadro comprende la información de parámetros de escala codificada por separado y para calcular el primer conjunto de parámetros de escala y el segundo conjunto de parámetros de escala para el segundo cuadro.
4. Decodificador de audio de la reivindicación 3, en donde el primer cuadro y el segundo cuadro comprenden cada uno información adicional de estado que indica, en un primer estado, que el primer cuadro comprende la información sobre los parámetros de escala codificados conjuntamente y, en un segundo estado, que el segundo cuadro comprende la información de parámetros de escala codificados por separado, y
en donde el decodificador de parámetros de escala (220) se configura para leer la información adicional de estado del segundo cuadro, para detectar que el segundo cuadro comprende la información de parámetros de escala codificada por separado con base en la información adicional de estado leída, o para leer la información adicional de estado del primer cuadro, y para detectar que el primer cuadro comprende la información sobre los parámetros de escala codificados conjuntamente usando la información adicional de estado leída.
5. Decodificador de audio de una de las reivindicaciones anteriores,
en donde el procesador de señales (210, 212, 230) se configura para decodificar los datos de audio multicanal para derivar la primera representación de canal y la segunda representación de canal, en donde la primera representación de canal y la segunda representación de canal son representaciones de dominio espectral que tienen valores de muestreo espectral, y
en donde el procesador de señales (210, 212, 230) se configura para aplicar cada parámetro de escala del primer conjunto y el segundo conjunto a una pluralidad correspondiente de los valores de muestreo espectral para obtener una representación espectral conformada del primer canal y una representación espectral conformada del segundo canal.
6. Decodificador de audio de la reivindicación 5, en donde el procesador de señales (210, 212, 230) se configura para convertir la representación espectral conformada del primer canal y la representación espectral conformada del segundo canal en un dominio de tiempo para obtener una representación de dominio de tiempo del primer canal y una representación de dominio de tiempo del segundo canal de la señal de audio decodificada.
7. Decodificador de audio de una de las reivindicaciones anteriores, en donde la primera representación de canal comprende un primer número de bandas, en donde el primer conjunto de parámetros de escala comprende un segundo número de parámetros de escala, el segundo número que es menor que el primer número, y
en donde el procesador de señales (210, 212, 230) se configura para interpolar el segundo número de parámetros de escala para obtener un número de parámetros de escala interpolados que es mayor o igual que el primer número de bandas, y en donde el procesador de señales (210, 212, 230) se configura para escalar la primera representación de canal usando los parámetros de escala interpolados,
o
en donde la primera representación de canal comprende un primer número de bandas, en donde la información sobre el primer grupo de parámetros de escala codificados conjuntamente comprende un segundo número de parámetros de escala codificados conjuntamente, el segundo número que es menor que el primer número,
en donde el decodificador de parámetros de escala (220) se configura para interpolar el segundo número de parámetros de escala codificados conjuntamente para obtener un número de parámetros de escala codificados conjuntamente interpolados que son mayores o iguales al primer número de bandas, y
en donde el decodificador de parámetros de escala (220) se configura para procesar los parámetros de escala codificados conjuntamente interpolados para determinar el primer conjunto de parámetros de escala y el segundo conjunto de parámetros de escala.
8. Decodificador de audio de una de las reivindicaciones anteriores, en donde la señal de audio codificada se organiza en una secuencia de cuadros, en donde la información sobre el segundo grupo de parámetros de escala codificados conjuntamente comprende, en un cuadro determinado, una información adicional cero, en donde el decodificador de parámetros de escala (220) se configura para detectar la información adicional cero para determinar que el segundo grupo de parámetros de escala codificados conjuntamente son todos cero para el cuadro determinado, y
en donde el decodificador de parámetros de escala (220) se configura para derivar los parámetros de escala del primer conjunto de parámetros de escala y el segundo conjunto de parámetros de escala solo del primer grupo de parámetros de escala codificados conjuntamente o para establecer, en la combinación del parámetro de escala codificado conjuntamente del primer grupo y el parámetro de escala codificado conjuntamente del segundo grupo, a valores cero o valores que son más pequeños que un umbral de ruido.
9. Decodificador de audio de una de las reivindicaciones anteriores,
en donde el decodificador de parámetros de escala (220) se configura
para descuantificar la información sobre el primer grupo de parámetros de escala codificados conjuntamente usando un primer modo de descuantificación, y
para descuantificar la información sobre el segundo grupo de parámetros de escala codificados conjuntamente usando un segundo modo de descuantificación, el segundo modo de descuantificación que es diferente del primer modo de descuantificación.
10. Decodificador de audio de la reivindicación 9, en donde el decodificador de parámetros de escala (220) se configura para usar el segundo modo de descuantificación que tiene asociado una precisión de cuantificación menor o mayor que el primer modo de descuantificación.
11. Decodificador de audio de la reivindicación 9 o 10, en donde el decodificador de parámetros de escala (220) se configura para usar, como el primer modo de cuantificación, una primera etapa de cuantificación (2220) y una segunda etapa de cuantificación (2260) y un combinador (2240), el combinador (2240) que recibe, como entrada, un resultado de la primera etapa de cuantificación (2220) y un resultado de la segunda etapa de cuantificación (2260), y
para utilizar, como el segundo modo de descuantificación, la segunda etapa de descuantificación (2220) del primer modo de descuantificación que recibe, como una entrada, la información sobre el segundo grupo de parámetros de escala codificados conjuntamente.
12. Decodificador de audio de la reivindicación 11, en donde la primera etapa de descuantificación (2220) es una etapa de descuantificación de vector y en donde la segunda etapa de descuantificación (2260) es una etapa de descuantificación de vector algebraico, o en donde la primera etapa de descuantificación (2220) es una etapa de descuantificación de velocidad fija y en donde la segunda etapa de descuantificación (2260) es una etapa de descuantificación de velocidad variable.
13. Decodificador de audio de la reivindicación 11 o 12, en donde la información sobre el primer grupo de parámetros de escala codificados conjuntamente comprende, para un cuadro de la señal de audio codificada, dos o más índices y en donde la información sobre el segundo grupo de parámetros de escala codificados conjuntamente comprende un único índice o un número menor de índices o el mismo número de índices que en el primer grupo, y
en donde el decodificador de parámetros de escala (220) se configura para determinar, en la primera etapa de cuantificación (2220), por ejemplo, para cada índice de los dos o más índices, parámetros de escala codificados conjuntamente intermedios del primer grupo, y en donde el decodificador de parámetros de escala (220) se configura para calcular, en la segunda etapa de cuantificación (2260), parámetros de escala codificados conjuntamente residuales del primer grupo, por ejemplo, del número único o menor o el mismo número de índices de la información sobre el primer grupo de parámetros de escala codificados conjuntamente y para calcular, mediante el combinador (2240) el primer grupo de parámetros de escala codificados conjuntamente a partir de los parámetros de escala codificados conjuntamente intermedios del primer grupo y los parámetros de escala codificados conjuntamente residuales del primer grupo.
14. Decodificador de audio de una de las reivindicaciones 11 - 13, en donde la primera etapa de descuantificación (2220) comprende usar un índice para un primer libro de códigos que tiene un primer número de entradas o usar un índice que representa una primera precisión, en donde la segunda etapa de descuantificación (2260) comprende usar un índice para un segundo libro de códigos que tiene un segundo número de entradas o usar un índice que representa una segunda precisión, y en donde el segundo número es menor o mayor que el primer número o la segunda precisión es menor o mayor que la primera precisión.
15. Decodificador de audio de una de las reivindicaciones anteriores, en donde la información sobre el segundo grupo de parámetros de escala codificados conjuntamente indica que el segundo grupo de parámetros de escala codificados conjuntamente son todos cero o en un valor determinado para un cuadro de la señal de audio codificada, y en donde el decodificador de parámetros de escala (220) se configura para usar, en la combinación usando la primera regla o la segunda regla, un parámetro de escala codificado conjuntamente que es cero o que está en el cierto valor o que es un parámetro de escala codificado conjuntamente sintetizado, o
en donde, para el cuadro que comprende la información de todo cero o cierto valor, el decodificador de parámetros de escala (220) se configura para determinar el segundo conjunto de parámetros de escala solo usando el primer grupo de parámetros de escala codificados conjuntamente sin una operación de combinación.
16. Decodificador de audio de una de las reivindicaciones 9 o 10, en donde el decodificador de parámetros de escala (220) se configura para usar, como el primer modo de cuantificación, la primera etapa de descuantificación (2220) y la segunda etapa de descuantificación (2260) y el combinador (2240), el combinador (2240) que recibe, como entrada, un resultado de la primera etapa de descuantificación (2220) y un resultado de la segunda etapa de descuantificación (2260), y para usar, como la segunda etapa de descuantificación, la primera etapa de descuantificación (2220) del primer modo de cuantificación.
17. Codificador de audio para codificar una señal de audio multicanal que comprende dos o más canales, que comprende:
una calculadora de parámetros de escala (140) calcular un primer grupo de parámetros de escala codificados conjuntamente y un segundo grupo de parámetros de escala codificados conjuntamente a partir de un primer conjunto de parámetros de escala para un primer canal de la señal de audio multicanal y a partir de un segundo conjunto de parámetros de escala para un segundo canal de la señal de audio multicanal;
un procesador de señales (120) para aplicar el primer conjunto de parámetros de escala al primer canal de la señal de audio multicanal y para aplicar el segundo conjunto de parámetros de escala al segundo canal de la señal de audio multicanal y para derivar datos de audio multicanal; y
un formador de señales codificadas (1480, 1500) para usar los datos de audio multicanal e información sobre el primer grupo de parámetros de escala codificados conjuntamente e información sobre el segundo grupo de parámetros de escala codificados conjuntamente para obtener una señal de audio multicanal codificada.
18. Codificador de audio de la reivindicación 17, en donde el procesador de señales (120) se configura, en la aplicación,
para codificar el primer grupo de parámetros de escala codificados conjuntamente y el segundo grupo de parámetros de escala codificados conjuntamente para obtener la información sobre el primer grupo de parámetros de escala codificados conjuntamente y la información sobre el segundo grupo de parámetros de escala codificados conjuntamente, para decodificar localmente la información sobre el primer y el segundo grupo de parámetros de escala codificados conjuntamente para obtener un primer conjunto de parámetros de escala decodificados localmente y un segundo conjunto de parámetros de escala decodificados localmente, y
para modificar la escala del primer canal usando el primer conjunto de parámetros de escala decodificados localmente y para modificar la escala del segundo canal usando el segundo conjunto de parámetros de escala decodificados localmente,
o
en donde el procesador de señales (120) se configura, en la aplicación,
para cuantificar el primer grupo de parámetros de escala codificados conjuntamente y el segundo grupo de parámetros de escala codificados conjuntamente para obtener un primer grupo cuantificado de parámetros de escala codificados conjuntamente y un segundo grupo cuantificado de parámetros de escala codificados conjuntamente,
para decodificar localmente el primer y el segundo grupo cuantificados de parámetros de escala codificados conjuntamente para obtener un primer conjunto de parámetros de escala decodificados localmente y un segundo conjunto de parámetros de escala decodificados localmente, y
para modificar la escala del primer canal usando el primer conjunto de parámetros de escala decodificados localmente y para modificar la escala del segundo canal usando el segundo conjunto de parámetros de escala decodificados localmente.
19. Codificador de audio de la reivindicación 17 o 18,
en donde la calculadora de parámetros de escala (140) se configura para combinar un parámetro de escala del primer conjunto de parámetros de escala y un parámetro de escala del segundo conjunto de parámetros de escala usando una primera regla de combinación para obtener un parámetro de escala codificado conjuntamente del primer grupo de parámetros de escala codificados conjuntamente, y usando una segunda regla de combinación diferente de la primera regla de combinación para obtener un parámetro de escala codificado conjuntamente del segundo grupo de parámetros de escala codificados conjuntamente.
20. Codificador de audio de la reivindicación 19, en donde el primer grupo de parámetros de escala codificados conjuntamente comprende parámetros de escala media y el segundo grupo de parámetros de escala codificados conjuntamente comprende parámetros de escala lateral, y en donde la calculadora de parámetros de escala (140) se configura para usar, en la primera regla de combinación, una adición y para usar, en la segunda regla de combinación, una resta.
21. Codificador de audio de una de las reivindicaciones 17-20, en donde la calculadora de parámetros de escala se configura para procesar una secuencia de cuadros de la señal de audio multicanal,
en donde la calculadora de parámetros de escala (140) se configura
para calcular el primer y segundo grupo de parámetros de escala codificados conjuntamente para un primer cuadro de la secuencia de cuadros, y
para analizar un segundo cuadro de la secuencia de cuadros para determinar un modo de codificación separado para el segundo cuadro, y
en donde el formador de señales codificadas (1480, 1500) se configura para introducir una información adicional de estado en la señal de audio codificada que indica un modo de codificación separado para el segundo cuadro o un modo de codificación conjunta para el primer cuadro, e información sobre el primer conjunto y el segundo conjunto de parámetros de escala codificados por separado para el segundo cuadro.
22. Codificador de audio de una de las reivindicaciones 17-21, en donde la calculadora de parámetros de escala (140) se configura
para calcular el primer conjunto de parámetros de escala para el primer canal y el segundo conjunto de parámetros de escala para el segundo canal,
para submuestrear el primer y el segundo conjunto de parámetros de escala para obtener un primer conjunto submuestreado y un segundo conjunto submuestreado; y
para combinar un parámetro de escala del primer conjunto submuestreado y el segundo conjunto submuestreado usando diferentes reglas de combinación para obtener un parámetro de escala codificado conjuntamente del primer grupo y un parámetro de escala codificado conjuntamente del segundo grupo,
o
en donde la calculadora de parámetros de escala (140) se configura
para calcular el primer conjunto de parámetros de escala para el primer canal y el segundo conjunto de parámetros de escala para el segundo canal,
para combinar un parámetro de escala del primer conjunto y un parámetro de escala del segundo conjunto usando diferentes reglas de combinación para obtener un parámetro de escala codificado conjuntamente del primer grupo y un parámetro de escala codificado conjuntamente del segundo grupo, y
para submuestrear del primer grupo de parámetros de escala codificados conjuntamente para obtener un primer grupo submuestreado de parámetros de escala codificados conjuntamente, y para reducir el muestreo del segundo grupo de parámetros de escala codificados conjuntamente para obtener un segundo grupo submuestreado de parámetros de escala codificados conjuntamente,
en donde el primer grupo submuestreado y el segundo grupo submuestreado representan la información sobre el primer grupo de parámetros de escala codificados conjuntamente y la información sobre el segundo grupo de parámetros de escala codificados conjuntamente.
23. Codificador de audio de la reivindicación 21 o 22,
en donde la calculadora de parámetros de escala (140) se configura para calcular una similitud del primer canal y el segundo canal en el segundo cuadro y para determinar el modo de codificación separado en caso de que una similitud calculada se encuentre en una primera relación con un umbral o para determinar el modo de codificación conjunta en caso de que la similitud calculada se encuentre en una segunda relación diferente con el umbral.
24. Codificador de audio de la reivindicación 23, en donde la calculadora de parámetros de escala (140) se configura para calcular, para el segundo cuadro, una diferencia entre el parámetro de escala del primer conjunto y el parámetro de escala del segundo conjunto para cada banda,
para procesar cada diferencia del segundo cuadro de modo que se eliminen los signos negativos para obtener diferencias procesadas del segundo cuadro,
para combinar las diferencias procesadas para obtener una medición de similitud,
para comparar la medición de similitud con el umbral, y
para decidir a favor del modo de codificación separada, cuando la medición de similitud es mayor que el umbral, o para decidir a favor del modo de codificación conjunta, cuando la medición de similitud es menor que el umbral.
25. Codificador de audio de una de las reivindicaciones 17-24, en donde el procesador de señales (120) se configura para cuantificar el primer grupo de parámetros de escala codificados conjuntamente usando una función de cuantificación de primera etapa (141, 143) para obtener uno o más primeros índices de cuantificación como un resultado de primera etapa y para obtener un primer grupo intermedio de parámetros de escala codificados conjuntamente,
para calcular (142) un primer grupo residual de parámetros de escala codificados conjuntamente a partir del primer grupo de parámetros de escala codificados conjuntamente y el primer grupo intermedio de parámetros de escala codificados conjuntamente, y
para cuantificar el primer grupo residual de parámetros de escala codificados conjuntamente usando una función de cuantificación de segunda etapa (145) para obtener uno o más índices de cuantificación como un resultado de segunda etapa.
26. Codificador de audio de una de las reivindicaciones 17-25,
en donde el procesador de señales (120) se configura para cuantificar el segundo grupo de parámetros de escala codificados conjuntamente usando una función de cuantificación de etapa individual para obtener uno o más índices de cuantificación como el resultado de etapa individual, o
en donde el procesador de señales (120) se configura para cuantificar el primer grupo de parámetros de escala codificados conjuntamente usando al menos una función de cuantificación de primera etapa y una función de cuantificación de segunda etapa, y en donde el procesador de señales (120) se configura para cuantificar el segundo grupo de parámetros de escala codificados conjuntamente usando una función de cuantificación de etapa individual, en donde la función de cuantificación de etapa individual se selecciona de la función de cuantificación de primera etapa y la función de cuantificación de segunda etapa.
27. Codificador de audio de una de las reivindicaciones 21 -26, en donde la calculadora de parámetros de escala (140) se configura
para cuantificar el primer conjunto de parámetros de escala usando una función de cuantificación de primera etapa (141, 143) para obtener uno o más primeros índices de cuantificación como un resultado de primera etapa y para obtener un primer conjunto intermedio de parámetros de escala,
para calcular (142) un primer conjunto residual de parámetros de escala a partir del primer conjunto de parámetros de escala y el primer conjunto intermedio de parámetros de escala, y
para cuantificar el primer conjunto residual de parámetros de escala usando una función de cuantificación de segunda etapa (145) para obtener uno o más índices de cuantificación como un resultado de segunda etapa,
o
en donde la calculadora de parámetros de escala (140) se configura
para cuantificar el segundo conjunto de parámetros de escala usando una función de cuantificación de primera etapa (141,143) para obtener uno o más primeros índices de cuantificación como un resultado de primera etapa y para obtener un segundo conjunto intermedio de parámetros de escala,
para calcular (142) un segundo conjunto residual de parámetros de escala a partir del segundo conjunto de parámetros de escala y el segundo conjunto intermedio de parámetros de escala, y
para cuantificar el segundo conjunto residual de parámetros de escala usando una función de cuantificación de segunda etapa (145) para obtener uno o más índices de cuantificación como un resultado de segunda etapa.
28. Codificador de audio de la reivindicación 25 o 27,
en donde la función de cuantificación de segunda etapa (145) utiliza un valor de amplificación o ponderación inferior a 1 para incrementar el primer grupo residual de parámetros de modificación de escala codificados conjuntamente o el primer o segundo conjunto residual de parámetros de escala antes de realizar una cuantificación de vector, en donde la cuantificación de vector se realiza usando valores residuales incrementados, y/o
en donde, a modo de ejemplo, el valor de ponderación o amplificación se utiliza para dividir un parámetro de modificación de escala por el valor de ponderación o amplificación, en donde el valor de ponderación está preferentemente entre 0,1 y 0,9, o más preferentemente entre 0,2 y 0,6 o incluso más preferentemente entre 0,25 y 0,4, y/o
en donde se utiliza el mismo valor de amplificación para todos los parámetros de modificación de escala del primer grupo residual de parámetros de modificación de escala codificados conjuntamente o el primer o segundo conjunto residual de parámetros de escala.
29. Codificador de audio de una de las reivindicaciones 25-28,
en donde la función de cuantificación de primera etapa (141,143) comprende al menos un libro de códigos con un primer número de entradas correspondientes a un primer tamaño del uno o más índices de cuantificación,
en donde la función de cuantificación de segunda etapa (145) o la función de cuantificación de etapa individual comprende al menos un libro de códigos con un segundo número de entradas correspondientes a un segundo tamaño del uno o más índices de cuantificación, y
en donde el primer número es mayor o menor que el segundo número o el primer tamaño es mayor o menor que el segundo tamaño, o
en donde la función de cuantificación de primera etapa (141, 143) es una función de cuantificación de velocidad fija y en donde la función de cuantificación de segunda etapa (145) es una función de cuantificación de velocidad variable.
30. Codificador de audio de una de las reivindicaciones 17-29, en donde la calculadora de parámetros de escala (140) se configura
para recibir una primera representación MDCT para el primer canal y una segunda representación MDCT para el segundo canal,
para recibir una primera representación MDST para el primer canal y una segunda representación MDST para el segundo canal,
para calcular un primer espectro de potencia para el primer canal de la primera representación MDCT y la primera representación MDST y un segundo espectro de potencia para el segundo canal de la segunda representación MDCT y la segunda representación MDST, y
para calcular el primer conjunto de parámetros de escala para el primer canal del primer espectro de potencia y para calcular el segundo conjunto de parámetros de escala para el segundo canal del segundo espectro de potencia.
31. Codificador de audio de la reivindicación 30,
en donde el procesador de señales (120) se configura para modificar la escala de la primera representación MDCT usando información derivada del primer conjunto de parámetros de escala, y para modificar la escala de la segunda representación MDCT usando información derivada del segundo conjunto de parámetros de escala.
32. Codificador de audio de una de las reivindicaciones 17-31,
en donde el procesador de señales (120) se configura para procesar además una representación de primer canal en escala y una representación de segundo canal en escala usando un procesamiento multicanal conjunto para derivar una representación procesada multicanal de la señal de audio multicanal, o
en donde el procesador de señales (120) se configura para procesar adicionalmente una primera representación de canal de escala y una segunda representación de canal de escala usando un procesamiento multicanal conjunto para derivar una representación procesada multicanal de la señal de audio multicanal, y para procesar adicionalmente la representación procesada multicanal de la señal de audio multicanal usando un procesamiento de replicación de banda espectral o un procesamiento de llenado de hueco inteligente o un procesamiento de mejora de ancho de banda para obtener una representación de los canales de la señal de audio multicanal y para cuantificar y codificar la representación de los canales de la señal de audio multicanal para obtener los datos de audio multicanal.
33. Codificador de audio de una de las reivindicaciones 17 - 32, que se configura para determinar, para un cuadro de la señal de audio multicanal, la información sobre el segundo grupo de parámetros de escala codificados conjuntamente como una información de valores todos cero o todos de cierto valor que indica el mismo valor o un valor cero para todos los parámetros de escala codificados conjuntamente del cuadro y en donde el formador de señales codificadas (1480, 1500) se configura para usar la información de valores todos cero o todos de cierto valor para obtener la señal de audio multicanal codificada.
34. Codificador de audio de una de las reivindicaciones 17-33
en donde la calculadora de parámetros de escala
(140) se configura
para calcular el primer grupo de parámetros de escala codificados conjuntamente y el segundo grupo de parámetros de escala codificados conjuntamente para un primer cuadro,
para calcular el primer grupo de parámetros de escala codificados conjuntamente para un segundo cuadro,
en donde, en el segundo cuadro, los parámetros de escala codificados conjuntamente no se calculan ni codifican, y
en donde el formador de señales codificadas (1480, 1500) se configura para usar una bandera como la información sobre el segundo grupo de parámetros de escala codificados conjuntamente que indica que, en el segundo cuadro, cualquier parámetro de escala codificados conjuntamente del segundo grupo no se incluye en la señal de audio multicanal codificada.
35. Método para decodificar una señal de audio codificada que comprende datos de audio multicanal que comprenden datos para dos o más canales de audio e información sobre parámetros de escala codificados conjuntamente que comprenden:
decodificar la información sobre los parámetros de escala codificados conjuntamente para obtener un primer conjunto de parámetros de escala para un primer canal de una señal de audio decodificada y un segundo conjunto de parámetros de escala para un segundo canal de la señal de audio decodificada; y
aplicar el primer conjunto de parámetros de escala a una primera representación de canal derivada de los datos de audio multicanal y para aplicar el segundo conjunto de parámetros de escala a una segunda representación de canal derivada de los datos de audio multicanal para obtener el primer canal y el segundo canal de la señal de audio decodificada,
en donde los parámetros de escala codificados conjuntamente comprenden información sobre un primer grupo de parámetros de escala codificados conjuntamente e información sobre un segundo grupo de parámetros de escala codificados conjuntamente, y
en donde la decodificación comprende combinar un parámetro de escala codificado conjuntamente del primer grupo y un parámetro de escala codificado conjuntamente del segundo grupo usando una primera regla de combinación para obtener un parámetro de escala del primer conjunto de parámetros de escala, y usando una segunda regla de combinación que es diferente de la primera regla de combinación para obtener un parámetro de escala del segundo conjunto de parámetros de escala.
36. Método para codificar una señal de audio multicanal que comprende dos o más canales, que comprende:
calcular un primer grupo de parámetros de escala codificados conjuntamente y un segundo grupo de parámetros de escala codificados conjuntamente a partir de un primer conjunto de parámetros de escala para un primer canal de la señal de audio multicanal y a partir de un segundo conjunto de parámetros de escala para un segundo canal de la señal de audio multicanal;
aplicar el primer conjunto de parámetros de escala al primer canal de la señal de audio multicanal y aplicar el segundo conjunto de parámetros de escala al segundo canal de la señal de audio multicanal y para derivar datos de audio multicanal; y
usar los datos de audio multicanal e información sobre el primer grupo de parámetros de escala codificados conjuntamente e información sobre el segundo grupo de parámetros de escala codificados conjuntamente para obtener una señal de audio multicanal codificada.
37. Programa informático para realizar, cuando se ejecuta en un ordenador o un procesador, el método de la reivindicación 35 o la reivindicación 36.
ES21742333T 2020-07-07 2021-07-05 Audio decoder, audio encoder, and related methods using joint coding of scale parameters for channels of a multi-channel audio signal Active ES2994675T3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP20184555 2020-07-07
PCT/EP2021/068520 WO2022008448A1 (en) 2020-07-07 2021-07-05 Audio decoder, audio encoder, and related methods using joint coding of scale parameters for channels of a multi-channel audio signal

Publications (1)

Publication Number Publication Date
ES2994675T3 true ES2994675T3 (en) 2025-01-29

Family

ID=71661617

Family Applications (2)

Application Number Title Priority Date Filing Date
ES21742333T Active ES2994675T3 (en) 2020-07-07 2021-07-05 Audio decoder, audio encoder, and related methods using joint coding of scale parameters for channels of a multi-channel audio signal
ES21742334T Active ES2991919T3 (es) 2020-07-07 2021-07-05 Cuantificador de audio y descuantificador de audio y métodos relacionados

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES21742334T Active ES2991919T3 (es) 2020-07-07 2021-07-05 Cuantificador de audio y descuantificador de audio y métodos relacionados

Country Status (14)

Country Link
US (2) US20230133513A1 (es)
EP (3) EP4179529B1 (es)
JP (3) JP7641355B2 (es)
KR (2) KR20230066547A (es)
CN (2) CN115843378A (es)
AU (2) AU2021303726B2 (es)
BR (2) BR112023000223A2 (es)
CA (2) CA3184222A1 (es)
ES (2) ES2994675T3 (es)
MX (2) MX2023000341A (es)
PL (2) PL4179529T3 (es)
TW (2) TWI793666B (es)
WO (2) WO2022008454A1 (es)
ZA (2) ZA202213859B (es)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115843378A (zh) 2020-07-07 2023-03-24 弗劳恩霍夫应用研究促进协会 使用针对多声道音频信号的声道的缩放参数的联合编码的音频解码器、音频编码器以及相关方法
GB2623516A (en) * 2022-10-17 2024-04-24 Nokia Technologies Oy Parametric spatial audio encoding
WO2024175187A1 (en) * 2023-02-21 2024-08-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder for encoding a multi-channel audio signal
TWI864704B (zh) * 2023-04-26 2024-12-01 弗勞恩霍夫爾協會 用於音訊編碼器中之尺度參數之諧度相依傾斜控制之設備及方法
WO2026013262A1 (en) * 2024-07-12 2026-01-15 Telefonaktiebolaget Lm Ericsson (Publ) Low-rate noise shaping vector quantizer for audio coding
WO2026043132A1 (ko) * 2024-08-19 2026-02-26 엘지전자 주식회사 블루투스 연결에 기반하여 멀티채널 오디오 신호를 제어하기 위한 장치 및 방법

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3246715B2 (ja) * 1996-07-01 2002-01-15 松下電器産業株式会社 オーディオ信号圧縮方法,およびオーディオ信号圧縮装置
US5966688A (en) * 1997-10-28 1999-10-12 Hughes Electronics Corporation Speech mode based multi-stage vector quantizer
US6148283A (en) * 1998-09-23 2000-11-14 Qualcomm Inc. Method and apparatus using multi-path multi-stage vector quantizer
US20030215013A1 (en) * 2002-04-10 2003-11-20 Budnikov Dmitry N. Audio encoder with adaptive short window grouping
CN1458646A (zh) * 2003-04-21 2003-11-26 北京阜国数字技术有限公司 一种滤波参数矢量量化和结合量化模型预测的音频编码方法
US7739119B2 (en) * 2004-03-02 2010-06-15 Ittiam Systems (P) Ltd. Technique for implementing Huffman decoding
KR100773539B1 (ko) 2004-07-14 2007-11-05 삼성전자주식회사 멀티채널 오디오 데이터 부호화/복호화 방법 및 장치
US7797162B2 (en) * 2004-12-28 2010-09-14 Panasonic Corporation Audio encoding device and audio encoding method
BRPI0608753B1 (pt) 2005-03-30 2019-12-24 Koninl Philips Electronics Nv codificador de áudio, decodificador de áudio, método para codificar um sinal de áudio de multicanal, método para gerar um sinal de áudio de multicanal, sinal de áudio de multicanal codificado, e meio de armazenamento
US8032240B2 (en) 2005-07-11 2011-10-04 Lg Electronics Inc. Apparatus and method of processing an audio signal
US7539612B2 (en) * 2005-07-15 2009-05-26 Microsoft Corporation Coding and decoding scale factor information
KR100803212B1 (ko) * 2006-01-11 2008-02-14 삼성전자주식회사 스케일러블 채널 복호화 방법 및 장치
US8046214B2 (en) * 2007-06-22 2011-10-25 Microsoft Corporation Low complexity decoder for complex transform coding of multi-channel sound
US8515767B2 (en) * 2007-11-04 2013-08-20 Qualcomm Incorporated Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs
ES2645375T3 (es) * 2008-07-10 2017-12-05 Voiceage Corporation Dispositivo y método de cuantificación y cuantificación inversa de filtro LPC de tasa de bits variable
ES2988414T3 (es) * 2008-07-11 2024-11-20 Fraunhofer Ges Zur Foerderungder Angewandten Forschung E V Decodificador de audio
WO2010042024A1 (en) * 2008-10-10 2010-04-15 Telefonaktiebolaget Lm Ericsson (Publ) Energy conservative multi-channel audio coding
JP5358691B2 (ja) * 2009-04-08 2013-12-04 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 位相値平滑化を用いてダウンミックスオーディオ信号をアップミックスする装置、方法、およびコンピュータプログラム
CA2992917C (en) * 2010-04-09 2020-05-26 Dolby International Ab Mdct-based complex prediction stereo coding
EP2643833B1 (en) 2010-11-26 2020-01-01 Nokia Technologies Oy Low complexity target vector identification
WO2012110476A1 (en) 2011-02-14 2012-08-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Linear prediction based coding scheme using spectral domain noise shaping
WO2013092292A1 (en) * 2011-12-21 2013-06-27 Dolby International Ab Audio encoder with parallel architecture
WO2013141638A1 (ko) 2012-03-21 2013-09-26 삼성전자 주식회사 대역폭 확장을 위한 고주파수 부호화/복호화 방법 및 장치
EP2873074A4 (en) 2012-07-12 2016-04-13 Nokia Technologies Oy VECTORIAL QUANTIFICATION
US9293146B2 (en) * 2012-09-04 2016-03-22 Apple Inc. Intensity stereo coding in advanced audio coding
EP3011562A2 (en) * 2013-06-17 2016-04-27 Dolby Laboratories Licensing Corporation Multi-stage quantization of parameter vectors from disparate signal dimensions
EP2830047A1 (en) * 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for low delay object metadata coding
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
EP4439552B1 (en) * 2014-03-28 2025-09-24 Samsung Electronics Co., Ltd Device for quantization of linear prediction coefficient
RU2670377C2 (ru) 2014-08-28 2018-10-22 Нокиа Текнолоджиз Ой Квантование аудиопараметров
WO2017125544A1 (en) * 2016-01-22 2017-07-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for mdct m/s stereo with global ild with improved mid/side decision
EP3208800A1 (en) * 2016-02-17 2017-08-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for stereo filing in multichannel coding
EP3324407A1 (en) 2016-11-17 2018-05-23 Fraunhofer Gesellschaft zur Förderung der Angewand Apparatus and method for decomposing an audio signal using a ratio as a separation characteristic
WO2019091573A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding and decoding an audio signal using downsampling or interpolation of scale parameters
CN114420139A (zh) * 2018-05-31 2022-04-29 华为技术有限公司 一种下混信号的计算方法及装置
BR112020026967A2 (pt) * 2018-07-04 2021-03-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificação de áudio de multissinal usando branqueamento de sinal como pré-processamento
JP2020134463A (ja) 2019-02-25 2020-08-31 ソニーセミコンダクタソリューションズ株式会社 測距装置、測距方法、並びにプログラム
WO2021256082A1 (ja) * 2020-06-18 2021-12-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法、及び、復号方法
CN115843378A (zh) 2020-07-07 2023-03-24 弗劳恩霍夫应用研究促进协会 使用针对多声道音频信号的声道的缩放参数的联合编码的音频解码器、音频编码器以及相关方法

Also Published As

Publication number Publication date
CN115843378A (zh) 2023-03-24
PL4179529T3 (pl) 2025-07-14
AU2021303726A1 (en) 2023-02-09
US12475900B2 (en) 2025-11-18
EP4179531C0 (en) 2024-08-21
EP4447044A2 (en) 2024-10-16
AU2021306852B2 (en) 2024-05-23
CA3184222A1 (en) 2022-01-13
TW202209303A (zh) 2022-03-01
TW202211208A (zh) 2022-03-16
WO2022008454A1 (en) 2022-01-13
JP7581477B2 (ja) 2024-11-12
JP2023532809A (ja) 2023-07-31
US20230133513A1 (en) 2023-05-04
AU2021306852A1 (en) 2023-02-02
KR20230043876A (ko) 2023-03-31
MX2023000341A (es) 2023-03-14
ES2991919T3 (es) 2024-12-05
WO2022008448A1 (en) 2022-01-13
EP4179529B1 (en) 2024-10-30
CA3184522A1 (en) 2022-01-13
EP4179531B1 (en) 2024-08-21
TWI793666B (zh) 2023-02-21
BR112022026703A2 (pt) 2023-01-24
JP7641355B2 (ja) 2025-03-06
EP4179529A1 (en) 2023-05-17
JP2023532808A (ja) 2023-07-31
MX2023000340A (es) 2023-02-09
EP4447044A3 (en) 2024-10-23
PL4179531T3 (pl) 2025-01-20
AU2021303726B2 (en) 2024-06-20
US20230197090A1 (en) 2023-06-22
KR20230066547A (ko) 2023-05-16
ZA202213859B (en) 2023-10-25
ZA202300267B (en) 2024-01-31
EP4179531A1 (en) 2023-05-17
BR112023000223A2 (pt) 2023-01-31
EP4179529C0 (en) 2024-10-30
CN116114016A (zh) 2023-05-12
TWI841856B (zh) 2024-05-11
JP2025063256A (ja) 2025-04-15

Similar Documents

Publication Publication Date Title
ES2994675T3 (en) Audio decoder, audio encoder, and related methods using joint coding of scale parameters for channels of a multi-channel audio signal
KR102423959B1 (ko) 다운샘플링 또는 스케일 파라미터의 보간을 사용하여 오디오 신호를 인코딩 및 디코딩하기 위한 장치 및 방법
RU2807462C1 (ru) Устройство квантования аудиоданных, устройство деквантования аудиоданных и соответствующие способы
RU2809981C1 (ru) Аудиодекодер, аудиокодер и связанные способы с использованием объединенного кодирования параметров масштабирования для каналов многоканального аудиосигнала
HK40083782B (en) Audio decoder, audio encoder, and related methods using joint coding of scale parameters for channels of a multi-channel audio signal
HK40083782A (en) Audio decoder, audio encoder, and related methods using joint coding of scale parameters for channels of a multi-channel audio signal
HK40085169B (en) Audio quantizer and audio dequantizer and related methods
HK40085169A (en) Audio quantizer and audio dequantizer and related methods
HK40029859A (en) Apparatus and method for encoding and decoding an audio signal using downsampling or interpolation of scale parameters
HK40029859B (en) Apparatus and method for encoding and decoding an audio signal using downsampling or interpolation of scale parameters