ES2932053T3 - Codificación de audio estéreo con normalización basada en ild antes de la decisión media/lateral - Google Patents
Codificación de audio estéreo con normalización basada en ild antes de la decisión media/lateral Download PDFInfo
- Publication number
- ES2932053T3 ES2932053T3 ES17700980T ES17700980T ES2932053T3 ES 2932053 T3 ES2932053 T3 ES 2932053T3 ES 17700980 T ES17700980 T ES 17700980T ES 17700980 T ES17700980 T ES 17700980T ES 2932053 T3 ES2932053 T3 ES 2932053T3
- Authority
- ES
- Spain
- Prior art keywords
- channel
- audio signal
- signal
- band
- spectral
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000010606 normalization Methods 0.000 title claims abstract description 29
- 230000005236 sound signal Effects 0.000 claims abstract description 322
- 230000003595 spectral effect Effects 0.000 claims abstract description 265
- 238000001228 spectrum Methods 0.000 claims description 87
- 238000000034 method Methods 0.000 claims description 40
- 230000009466 transformation Effects 0.000 claims description 26
- 238000007493 shaping process Methods 0.000 claims description 23
- 238000013139 quantization Methods 0.000 claims description 15
- 238000007781 pre-processing Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000002123 temporal effect Effects 0.000 claims description 10
- 230000009977 dual effect Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 50
- 238000012937 correction Methods 0.000 description 16
- 230000000873 masking effect Effects 0.000 description 11
- 238000012805 post-processing Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 101100049557 Mus musculus Vsig2 gene Proteins 0.000 description 5
- 230000002087 whitening effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 108010076504 Protein Sorting Signals Proteins 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 101150046595 ETFB gene Proteins 0.000 description 1
- KZSNJWFQEVHDMF-UHFFFAOYSA-N Valine Chemical compound CC(C)C(N)C(O)=O KZSNJWFQEVHDMF-UHFFFAOYSA-N 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/03—Spectral prediction for preventing pre-echo; Temporary noise shaping [TNS], e.g. in MPEG2 or MPEG4
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0204—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0212—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/22—Mode decision, i.e. based on audio signal content versus external parameters
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Mathematical Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Stereophonic System (AREA)
- Fittings On The Vehicle Exterior For Carrying Loads, And Devices For Holding Or Mounting Articles (AREA)
Abstract
La figura ilustra un aparato para codificar un primer canal y un segundo canal de una señal de entrada de audio que comprende dos o más canales para obtener una señal de audio codificada según una realización. El aparato comprende un normalizador (110) configurado para determinar un valor de normalización para la señal de entrada de audio dependiendo del primer canal de la señal de entrada de audio y dependiendo del segundo canal de la señal de entrada de audio, donde el normalizador (110) está configurado para determinar un primer canal y un segundo canal de una señal de audio normalizada modificando, dependiendo del valor de normalización, al menos uno del primer canal y el segundo canal de la señal de entrada de audio. Además, el aparato comprende una unidad de codificación (120) que está configurada para generar una señal de audio procesada que tiene un primer canal y un segundo canal, y tal que al menos una banda espectral del segundo canal de la señal de audio procesada es una banda espectral de una señal lateral en función de una banda espectral del primer canal de la señal de audio normalizada y en función de una banda espectral del segundo canal de la señal de audio normalizada. La unidad de codificación (120) está configurada para codificar la señal de audio procesada para obtener la señal de audio codificada. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Codificación de audio estéreo con normalización basada en ild antes de la decisión media/lateral
[0001] La presente invención se refiere a la codificación de señales de audio y la decodificación de señales de audio y, en particular, con un aparato y procedimiento para Estéreo MDCT M/S (por sus siglas en inglés, Modified Discrete Cosine Transform MID/Side, Transformada de Coseno Discreta Modificada) con ILD (por sus siglas en inglés, (interaural level difference, diferencia de nivel interaural) Global con Detección Medio/lado mejorada.
[0002] El procesamiento M/S (M/S = Medio/lado) por bandas en los codificadores basados en MDCT (MDCT = Modified Discrete Cosine Transform, Transformada de Coseno Discreta Modificada) es un procedimiento conocido y eficaz para el procesamiento estéreo. Sin embargo, no es suficiente para las señales paneadas y es indispensable un procesamiento adicional, tal como la predicción compleja o una codificación de los ángulos entre un canal medio y uno lateral).
[0003] En [1], [2], [3] y [4], se describe el procesamiento M/S en señales formadas en ventanas y transformadas no normalizadas (no blanqueadas).
[0004] En [7], se describe la predicción entre los canales medio y laterales. En [7], se describe un codificador que codifica una señal de audio sobre la base de una combinación de dos canales de audio. El codificador de audio obtiene una señal de combinación que es una señal media y, además obtiene una señal residual de predicción que es una señal lateral predicha derivada de la señal media. La primera señal de combinación y la señal residual de predicción se codifican y escriben en un flujo de datos junto con la información de predicción. Además, [7] describe un decodificador que genera primeros y segundos canales de audio decodificados utilizando la señal residual de predicción, la primera señal de combinación y la información de predicción.
[0005] En [5], se describe la aplicación del acoplamiento estéreo M/S después de la normalización de manera independiente por cada banda. En particular, [5] se refiere al códec Opus. Opus codifica la señal media y la señal lateral como señales normalizadas m = M/||M|| y s = S/||S||. Para recuperar M y S de m y s, se codifica el ángulo 0s = arctan (arcotangente)(||S||/||M||). Como N es el tamaño de la banda y a es el número total de bits disponibles para m y s, la distribución óptima para m es amid = (a -(N - 1) log2 tan 0s)/2.
[0006] En las estrategias conocidas (por ejemplo en [2] y [4]), se combinan complicados bucles de tasa/distorsión con la decisión de qué canales de bandas se van a transformar (por ejemplo, usando M/S, a lo que también puede seguir el cálculo residual de predicción de M a S de [7]), con el fin de reducir la correlación entre canales. Esta complicada estructura tiene un elevado coste informático.
[0007] La separación del modelo perceptual del bucle de tasa (como ocurre en [6a], [6b] y [13]) simplifica significativamente el sistema.
[0008] Además, la codificación de los coeficientes de predicción o los ángulos de cada banda requiere un considerable número de bits (como por ejemplo en [5] y [7]).
[0009] En [1], [3] y [5] solo se lleva a cabo una decisión todo a lo ancho del espectro para decidir si todo el espectro debe ser codificado M/S (del inglés Mid/Side, Medio/Lateral) o L/R (del inglés, Left/Right, Izquierda/Derecha).
[0010] La codificación M/S no es eficiente si existe una ILD (diferencia de nivel interaural), es decir, si los canales están paneados.
[0011] Como se señalaba anteriormente, se sabe que el procesamiento M/S banda por banda en los codificadores basados en MDCT (por sus siglas en inglés, Modified Discrete Cosine Transform, Transformada de Coseno Discreta Modificada), es un procedimiento eficaz para el procesamiento estéreo. La ganancia de codificación por el procesamiento M/S varía del 0 % en el caso de los canales no correlacionados al 50 % en el caso de los monofónicos o de una diferencia de fase n/2 entre los canales. Debido al desenmascaramiento estéreo y al desenmascaramiento inverso (véase [1]), es importante contar con una firme decisión M/S.
[0012] En [2], cada banda, en que los umbrales de enmascaramiento entre izquierdo y derecho varían en menos de 2dB, se opta por la codificación M/S como procedimiento de codificación.
[0013] En [1], la decisión M/S se basa en el consumo estimado de bits para la codificación M/S y para la codificación L/R (L/R = izquierda/derecha) de los canales. La demanda de tasa de bits para la codificación M/S y para la codificación L/R se estima según los espectros y los umbrales de enmascaramiento utilizando entropía perceptual (PE, por sus siglas en inglés). Se calculan los umbrales de enmascaramiento correspondientes al canal izquierdo y al derecho. Se presume que los umbrales de enmascaramiento correspondientes al canal medio y al canal lateral son el mínimo de los umbrales izquierdo y derecho.
[0014] Además, [1] describe cómo se derivan los umbrales de codificación de los canales individuales que se van a codificar. Específicamente, los umbrales de codificación correspondientes a los canales izquierdo y derecho se calculan mediante los respectivos modelos perceptuales para estos canales. En [1], los umbrales de codificación correspondientes al canal M y al canal S se eligen por igual y se derivan en términos de mínimo de los umbrales de codificación derecho e izquierdo.
[0015] Asimismo, [1] describe la decisión entre la codificación L/R y la codificación M/S de tal manera que se obtenga un buen rendimiento de codificación. Específicamente, se estima una entropía perceptual para la codificación L/R y la codificación M/S utilizando los umbrales.
[0016] En [1] y [2], así como en [3] y [4], el procesamiento M/S se lleva a cabo en una señal formada en ventana y transformada no normalizada (no blanqueada) y la decisión M/S se basa en el umbral de enmascaramiento y la estimación de entropía perceptual.
[0017] En [5], se codifica explícitamente la energía del canal izquierdo y del canal derecho y el ángulo codificado conserva la energía de la señal de diferencia. Se supone, en [5], que la codificación M/S es segura, incluso si la codificación L/R es más eficiente. Según [5], solo se elige la codificación L/R cuando la correlación entre los canales no es lo suficientemente fuerte.
[0018] Además, la codificación de los coeficientes de predicción o los ángulos en cada banda requiere un número significativo de bits (véase, por ejemplo, [5] y [7]).
[0019] El documento WO 2008/065487 A1 describe una técnica para realizar la codificación estéreo Media-Lateral (M/S), en la que se añade una etapa adicional al proceso de codificación, mediante el cual un parámetro que se utiliza para determinar cuándo se usarán las señales media y lateral en lugar de las señales de entrada izquierda y derecha se modifica antes de realizar la selección entre los pares de señales.
[0020] El documento US 2012/275604 A1 describe el procesamiento de una señal de audio estereofónica de entrada para generar de ese modo una señal de audio estereofónica convertida que representa la señal de audio estereofónica de entrada.
[0021] LINDBLOM J Y COL., "Codificación estéreo de suma-diferencia flexible basada en componentes de señal alineados en el tiempo", APLICACIONES DEL PROCESAMIENTO DE SEÑALES AL AUDIO Y LA ACÚSTICA, 2005. IEEE WORKSHOP ON NEW PALTZ, NY, EE. UU., 16 AL 19 DE OCTUBRE DE 2005, PISCATAWAY , NJ, EE. UU., IEEE, (20051016), doi:10.1109/ASPAA.2005.1540218, ISBN 978-0-7803-9154-3, páginas 255-258, describe una codificación flexible de señales de audio estéreo generales basada en la codificación de suma-diferencia.
[0022] El documento WO 2011/124608 A1 describe la codificación y decodificación estéreo utilizando predicción compleja en el dominio de la frecuencia.
[0023] HELMRICH CHRISTIAN R Y COL., "Codificación de transformación de audio estéreo conjunta semiparamétrica de baja complejidad", 201523a CONFERENCIA EUROPEA DE PROCESAMIENTO DE SEÑALES (EUSIPCO), EURASIP, (20150831), doi:10.1109/EUSIP10 CO.2015.7362492, páginas 794 - 798 describe un concepto de codificación estéreo, en el que se deriva la información lateral paramétrica en el codificador.
[0024] El documento WO 2017/106041 A1 describe un combinador que está configurado para generar un marco en un codificador multicanal. El marco incluye un subconjunto de muestras de los datos de la primera parte de anticipación, una o más muestras de datos de muestra actualizados correspondientes al primer marco combinado, y un grupo de muestras de datos del segundo marco combinado correspondientes al segundo marco combinado.
[0025] El documento WO 2017/087073A1 describe la determinación de un valor de desajuste indicativo de una cantidad de desajuste temporal entre los dos canales de audio.
[0026] Por lo tanto, se apreciaría mucho que se dieran a conocer conceptos mejorados para la codificación de audio y la decodificación de audio.
[0027] El objeto de la presente invención consiste en proporcionar conceptos mejorados para la codificación de señales de audio, el procesamiento de señales de audio y la decodificación de señales de audio. El objeto de la presente invención se soluciona mediante las reivindicaciones independientes. Realizaciones adicionales se proporcionan en las reivindicaciones dependientes.
[0028] Según algunas realizaciones, se utiliza el FDNS (FDNS = Frequency Domain Noise Shaping, Modelado de Ruido en el Dominio de la Frecuencia) con el bucle de tasa de acuerdo con lo descrito en [6a] y [6b] combinado con la distorsión de la envolvente espectral de acuerdo con lo descrito en [8]. En algunas realizaciones, se utiliza un único parámetro de ILD en el espectro blanqueado con FDNS seguido por la decisión banda por banda, ya sea que se utilice la codificación M/S o la codificación L/R para la codificación. En algunas realizaciones, la decisión M/S se basa en el ahorro de bits estimado. En algunas realizaciones, la distribución de la tasa de bits entre los canales procesados M/S banda por banda puede depender, por ejemplo, de la energía.
[0029] Algunas realizaciones presentan una combinación de ILD (por sus siglas en inglés, interaural level difference, diferencia de nivel interaural) global única aplicada al espectro blanqueado, seguida por el procesamiento M/S banda por banda con un mecanismo eficiente de decisión M/S y con un bucle de tasa que controla la única ganancia global.
[0030] Algunas realizaciones emplean, entre otras, el FDNS con el bucle de tasa basándose, por ejemplo, en [6a] o [6b], combinados con la distorsión de la envolvente espectral basándose, por ejemplo en [8]. Estas realizaciones ofrecen una manera eficiente y muy eficaz de separar el modelado perceptual del ruido de cuantificación y el bucle de tasa. El uso del parámetro de ILD única en el espectro blanqueado por FDNS da lugar a una manera sencilla y eficaz de decidir si existe una ventaja en el procesamiento M/S de acuerdo con lo descrito anteriormente. El blanqueo del espectro y la eliminación de la ILD permite el procesamiento eficiente M/S. La codificación de la ILD global única en el caso del sistema descrito es suficiente y, por consiguiente, se obtiene un ahorro de bits a diferencia de las estrategias conocidas.
[0031] Según las realizaciones, el procesamiento M/S se realiza sobre la base de una señal perceptualmente blanqueada. Las realizaciones determinan umbrales de codificación y determinan, de manera óptima, una decisión de si se va a emplear la codificación L/R o una codificación M/S al procesar señales blanqueadas perceptualmente y con ILD compensada.
[0032] Además, según las realizaciones, se presenta una nueva estimación de la tasa de bits.
[0033] A diferencia de [1]-[5], en estas realizaciones, se separa el modelo perceptual del bucle de tasa como en [6a], [6b] y [13].
[0034] Pese a que la decisión M/S se basa en la tasa de bits estimada como se propone en [1], a diferencia de [1] la diferencia en la demanda de tasa de bits de la codificación M/S y la L/R no depende de los umbrales de enmascaramiento determinados por un modelo perceptual. Por el contrario, la demanda de tasa de bits se determina por medio de un codificador de entropía sin pérdidas que se utiliza. En otras palabras, en lugar de derivar la demanda de tasa de bits de la entropía perceptual de la señal original, se deriva la demanda de tasa de bits de la entropía de la señal perceptualmente blanqueada.
[0035] En oposición a [1]-[5], en las realizaciones, la decisión M/S se determina sobre la base de una señal perceptualmente blanqueada, y se obtiene una mejor estimación de la tasa de bits necesaria. Para este fin, se puede aplicar la estimación de consumo de bits del codificador aritmético descrita en [6a] o [6b]. No es necesario considerar explícitamente los umbrales de enmascaramiento.
[0036] En [1], se asume que los umbrales de enmascaramiento para los canales medio y laterales son el de los umbrales de enmascaramiento izquierdo y derecho. El modelado de ruido espectral se realiza en el canal medio y
el lateral y se puede basar, por ejemplo, en estos umbrales de enmascaramiento.
[0037] Según las realizaciones, el modelado de ruido espectral se puede llevar a cabo, por ejemplo, en el canal izquierdo y el derecho y, en esas realizaciones, la envolvente perceptual se puede aplicar exactamente cuando se la ha estimado.
[0038] Asimismo, las realizaciones se basan en el hallazgo de que la codificación M/S no es eficiente si existe ILD, es decir si los canales están paneados. Para evitar esto, las realizaciones utilizan un parámetro de ILD única en el espectro perceptualmente blanqueado.
[0039] Según algunas realizaciones, se dan a conocer nuevos conceptos para la decisión M/S que procesan una señal perceptualmente blanqueada.
[0040] Según algunas realizaciones, el códec utiliza nuevos conceptos que no son parte de los códecs de audio clásicos, por ejemplo, de acuerdo con lo descrito en [1].
[0041] Según algunas realizaciones, se utilizan señales perceptualmente blanqueadas para la codificación adicional, por ejemplo, de manera similar a su uso en un codificador de voz.
[0042] Esa estrategia tiene varias ventajas, por ejemplo, se simplifica la arquitectura del códec, se obtiene una representación compacta de las características de modelado de ruido y el umbral de enmascaramiento, por ejemplo, en forma de coeficientes de LPC (por sus siglas en inglés, Linear Prediction Coding, Codificación de Predicción Lineal). Además, se unifican las arquitecturas de códecs de transformación y voz y de esa manera se habilita una codificación combinada de audio y voz.
[0043] Algunas realizaciones emplean un parámetro de ILD global para codificar con eficiencia las fuentes paneadas.
[0044] En las realizaciones, el códec emplea el Modelado de Ruido en el Dominio de la Frecuencia (FDNS, por sus siglas en inglés Frequency Domain Noise Shaping) para blanquear perceptualmente la señal con el bucle de tasa, por ejemplo, como se describe en [6a] o [6b] combinado con la distorsión de la envolvente espectral de acuerdo con lo descrito en [8]. En esas realizaciones, el códec puede usar asimismo, por ejemplo, un parámetro de ILD único en el espectro blanqueado por FDNS, seguido por la decisión M/S o L/R banda por banda. La decisión M/S por banda se puede basar, por ejemplo, en la tasa de bits estimada en cada banda cuando se codifica en el modo L/R y en el M/S. Se elige el procedimiento que demande menos bits. La distribución de la tasa de bits entre los canales procesados en el modo M/S banda por banda se basa en la energía.
[0045] Algunas realizaciones aplican una decisión M/S banda por banda al espectro perceptualmente blanqueado y con ILD compensada utilizando el número estimado de bits por banda para un codificador entrópico.
[0046] En algunas realizaciones, se emplea el FDNS (por sus siglas en inglés, Frequency Domain Noise Shaping, Modelado de Ruido en el Dominio de la Frecuencia) con el bucle de tasa, por ejemplo, de acuerdo con lo descrito en [6a] o [6b] combinado con la distorsión de la envolvente espectral según lo descrito en [8]. Esto otorga una manera eficiente y muy eficaz de modelar el ruido de cuantificación y el bucle de tasa. El uso del parámetro de ILD única en el espectro blanqueado por FDNS ofrece una manera eficiente y eficaz de decidir si existe una ventaja en el procesamiento M/S descrito. El blanqueo del espectro y la eliminación de la ILD permite un procesamiento M/S eficiente.
[0047] La codificación de la ILD global única para el sistema descrito es suficiente y, de esa manera, se obtiene un ahorro de bits a diferencia de las estrategias conocidas.
[0048] Las realizaciones modifican los conceptos presentados en [1] en el procesamiento de señales perceptualmente blanqueadas y con ILD compensada. En particular, las realizaciones emplean una ganancia global igual para L, R, M y S (del inglés, Left, Right, Mid y Side (Izquierda, Derecha, Medio y Lateral) que, junto con el FDNS, forma los umbrales de codificación. La ganancia global se puede derivar de una estimación de SNR (por sus siglas en inglés Signal-Noise Ratio, Relación Señal a Ruido o de algún otro concepto.
[0049] La decisión M/S banda por banda propuesta estima con precisión el número de bits requeridos para
codificar cada banda con el codificador aritmético. Esto es posible porque la decisión M/S se realiza en el espectro blanqueado y seguido directamente por la cuantificación. No hay necesidad de búsqueda experimental de umbrales.
[0050] A continuación, se describen las realizaciones útiles para comprender la presente invención con más detalle con referencia a las figuras, en las cuales:
Fig. 1a ilustra un aparato para codificación según una realización,
Fig. 1b ilustra un aparato para codificación según otra realización, en la cual el aparato comprende además una unidad de transformación y una unidad de pre-procesamiento,
Fig. 1c ilustra un aparato para codificación según otra realización, en la cual el aparato comprende además una unidad de transformación,
Fig. 1d ilustra un aparato para codificación según otra realización, en la cual el aparato comprende una unidad de pre procesamiento y una unidad de transformación,
Fig. 1e ilustra un aparato para codificación según otra realización, en la cual el aparato comprende asimismo un preprocesador en el dominio espectral,
Fig. 1f ilustra un sistema para la codificación de cuatro canales de una señal de entrada de audio que comprende cuatro o más canales para obtener cuatro canales de una señal de audio codificada según una realización, Fig. 2a ilustra un aparato para decodificación según una realización,
Fig. 2b ilustra un aparato para decodificación según una realización que comprende además una unidad de transformación y una unidad de post-procesamiento,
Fig. 2c ilustra un aparato para decodificación según con una realización, en la cual el aparato para decodificación comprende asimismo una unidad de transformación,
Fig. 2d ilustra un aparato para decodificación según una realización, en la cual el aparato para decodificación comprende asimismo una unidad de post-procesamiento,
Fig. 2e ilustra un aparato para decodificación según una realización, en la cual el aparato comprende asimismo un post-procesador en el dominio espectral,
Fig. 2f ilustra un sistema para la decodificación de una señal de audio codificada que comprende cuatro o más canales para obtener cuatro canales de una señal de audio decodificada que comprende cuatro o más canales según una realización,
Fig. 3 ilustra un sistema según una realización,
Fig. 4 ilustra un aparato para codificación según otra realización,
Fig. 5 ilustra módulos de procesamiento estéreo en un aparato para codificación según una realización,
Fig. 6 ilustra un aparato para decodificación según otra realización,
Fig. 7 ilustra el cálculo de una tasa de bits para la decisión M/S por bandas según una realización,
Fig. 8 ilustra una decisión del modo estéreo según una realización,
Fig. 9 ilustra el procesamiento estéreo del lado de un codificador según las realizaciones, que emplean relleno estéreo, Fig. 10 ilustra el procesamiento estéreo del lado de un decodificador según las realizaciones, que emplean relleno estéreo,
Fig. 11 ilustra relleno estéreo de una señal lateral del lado de un decodificador según algunas realizaciones específicas, Fig. 12 ilustra el procesamiento estéreo del lado de un codificador según las realizaciones, que no emplean relleno estéreo, y
Fig. 13 ilustra el procesamiento estéreo del lado de un decodificador según las realizaciones, que no emplean relleno estéreo.
[0051] La Fig. 1a ilustra un aparato para la codificación de un primer canal y un segundo canal de una señal de entrada de audio que comprende dos o más canales para obtener una señal de audio codificada según una realización.
[0052] El aparato comprende un normalizador 110 configurado para determinar un valor de normalización correspondiente a la señal de entrada de audio dependiendo del primer canal de la señal de entrada de audio y dependiendo del segundo canal de la señal de entrada de audio. El normalizador 110 está configurado para determinar un primer canal y un segundo canal de una señal de audio normalizada mediante la modificación, dependiendo del valor de normalización, de al menos uno del primer canal y el segundo canal de la señal de entrada de audio.
[0053] Por ejemplo, el normalizador 110 puede estar configurado, en una realización, por ejemplo, para determinar el valor de normalización correspondiente a la señal de entrada de audio; dependiendo de una pluralidad de bandas espectrales el primer canal y del segundo canal de la señal de entrada de audio, el normalizador 110 puede
estar configurado, por ejemplo, para determinar el primer canal y el segundo canal de la señal de audio normalizada mediante la modificación, dependiendo del valor de normalización, de la pluralidad de bandas espectrales de al menos uno del primer canal y el segundo canal de la señal de entrada de audio.
[0054] El aparato comprende una unidad de codificación 120 que está configurada para (cuando se elige un modo de codificación por banda) generar una señal de audio procesada que tiene un primer canal y un segundo canal, de tal manera que una o más bandas espectrales del primer canal de la señal de audio procesada sean una o más bandas espectrales del primer canal de la señal de audio normalizada, de tal manera que una o más bandas espectrales del segundo canal de la señal de audio procesada sean una o más bandas espectrales del segundo canal de la señal de audio normalizada, de tal manera que al menos una banda espectral del primer canal de la señal de audio procesada sea una banda espectral de una señal media dependiendo de una banda espectral del primer canal de la señal de audio normalizada y dependiendo de una banda espectral del segundo canal de la señal de audio normalizada, y de tal manera que al menos una banda espectral del segundo canal de la señal de audio procesada sea una banda espectral de una señal lateral dependiendo de una banda espectral del primer canal de la señal de audio normalizada y dependiendo de una banda espectral del segundo canal de la señal de audio normalizada. La unidad de codificación 120 está configurada para codificar la señal de audio procesada para obtener la señal de audio codificada.
[0055] La unidad de codificación 120 está configurada para elegir entre un modo de codificación medio-lateral total y un modo de codificación doble-mono total y un modo de codificación por banda dependiendo de una pluralidad de bandas espectrales de un primer canal de la señal de audio normalizada y dependiendo de una pluralidad de bandas espectrales de un segundo canal de la señal de audio normalizada.
[0056] La unidad de codificación 120 está configurada, si se elige el modo de codificación medio-lateral total, para generar una señal media desde el primer canal y desde el segundo canal de la señal de audio normalizada como un primer canal de una señal medio-lateral, para generar una señal lateral desde el primer canal y desde el segundo canal de la señal de audio normalizada como un segundo canal de la señal medio-lateral, y para codificar la señal medio-lateral con el fin de obtener la señal de audio codificada.
[0057] La unidad de codificación está configurada, en caso de elegirse el modo de codificación doble-mono total, para codificar la señal de audio normalizada con el fin de obtener la señal de audio codificada.
[0058] Además, la unidad de codificación 120 está configurada, si se elige el modo de codificación por banda, para generar la señal de audio procesada, de tal manera que una o más bandas espectrales del primer canal de la señal de audio procesada sean una o más bandas espectrales del primer canal de la señal de audio normalizada, de tal manera que una o más bandas espectrales del segundo canal de la señal de audio procesada sean una o más bandas espectrales del segundo canal de la señal de audio normalizada, de tal manera que al menos una banda espectral del primer canal de la señal de audio procesada sea una banda espectral de una señal media dependiendo de una banda espectral del primer canal de la señal de audio normalizada y dependiendo de una banda espectral del segundo canal de la señal de audio normalizada, y de tal manera que al menos una banda espectral del segundo canal de la señal de audio procesada sea una banda espectral de una señal lateral dependiendo de una banda espectral del primer canal de la señal de audio normalizada y dependiendo de una banda espectral del segundo canal de la señal de audio normalizada, donde la unidad de codificación 120 está configurada para codificar la señal de audio procesada para obtener la señal de audio codificada.
[0059] Según una realización, la señal de entrada de audio puede ser, por ejemplo, una señal estéreo de audio que comprende exactamente dos canales. Por ejemplo, el primer canal de la señal de entrada de audio puede ser, por ejemplo, un canal izquierdo de la señal estéreo de audio, y el segundo canal de la señal de entrada de audio puede ser, por ejemplo, un canal derecho de la señal estéreo de audio.
[0060] En una realización, la unidad de codificación 120 está configurada, por ejemplo, en caso de elegirse el modo de codificación por banda, para decidir, por cada banda espectral de una pluralidad de bandas espectrales de la señal de audio procesada, si se emplea la codificación medio-lateral o si se emplea la codificación doble-mono.
[0061] Si se emplea la codificación medio-lateral para dicha banda espectral, la unidad de codificación 120 puede estar configurada, por ejemplo, para generar dicha banda espectral del primer canal de la señal de audio procesada como banda espectral de una señal media sobre la base de dicha banda espectral del primer canal de la
señal de audio normalizada y sobre la base de dicha banda espectral del segundo canal de la señal de audio normalizada. La unidad de codificación 120 puede estar configurada, por ejemplo, para generar dicha banda espectral del segundo canal de la señal de audio procesada como banda espectral de una señal lateral sobre la base de dicha banda espectral del primer canal de la señal de audio normalizada y sobre la base de dicha banda espectral del segundo canal de la señal de audio normalizada.
[0062] Si se emplea la codificación doble-mono para dicha banda espectral, la unidad de codificación 120 puede estar configurada, por ejemplo, para usar dicha banda espectral del primer canal de la señal de audio normalizada como banda espectral del primer canal de la señal de audio procesada, y puede estar configurada, por ejemplo, para usar dicha banda espectral del segundo canal de la señal de audio normalizada como banda espectral del segundo canal de la señal de audio procesada.
[0063] bien la unidad de codificación 120 está configurada para usar dicha banda espectral del segundo canal de la señal de audio normalizada como banda espectral del primer canal de la señal de audio procesada, y puede estar configurada, por ejemplo, para usar dicha banda espectral del primer canal de la señal de audio normalizada como banda espectral del segundo canal de la señal de audio procesada.
[0064] Según una realización, la unidad de codificación 120 puede estar configurada, por ejemplo, para elegir entre el modo de codificación medio-lateral total y el modo de codificación doble-mono total y el modo de codificación por banda mediante la determinación de una primera estimación que calcula un primer número de bits que se necesitan para la codificación cuando se emplea el modo de codificación medio-lateral total, mediante la determinación de una segunda estimación que calcula un segundo número de bits que se necesitan para la codificación cuando se emplea el modo de codificación doble-mono total, mediante la determinación de una tercera estimación que calcula un tercer número de bits que se necesitan para la codificación cuando se emplea el modo de codificación por banda que se puede emplear, por ejemplo, y mediante la elección del modo de codificación entre el modo de codificación mediolateral total y el modo de codificación doble-mono total y el modo de codificación por banda que tenga el menor número de bits entre la primera estimación y la segunda estimación y la tercera estimación.
[0065] En una realización, la unidad de codificación 120 puede estar configurada, por ejemplo, para estimar
la tercera estimación bBW, que calcula el tercer número de bits que se necesitan para codificar cuando se emplea el modo de codificación por banda, según la fórmula:
JBW = nBandas £¿ n r B 0 andas - 1 m iw bwLR> bbwMs)
i donde nBandas es un número de bandas espectrales de la señal de audio normalizada, donde bwMS es una estimación del número de bits que se necesitan para codificar una ia banda espectral de la señal media y para codificar
la ia banda espectral de la señal lateral, y donde b b iwLR es una estimación del número de bits que se necesitan para codificar una ia banda espectral de la primera señal y para codificar la ia banda espectral de la segunda señal.
[0066] En las realizaciones, se puede emplear, por ejemplo, una medida objetiva de la calidad para elegir entre el modo de codificación medio-lateral total y el modo de codificación doble-mono total y el modo de codificación por banda.
[0067] Según una realización, la unidad de codificación 120 puede estar configurada, por ejemplo, para elegir entre el modo de codificación medio-lateral total y el modo de codificación doble-mono total y el modo de codificación por banda mediante la determinación de una primera estimación que calcula un primer número de bits que se ahorran cuando se codifica en el modo de codificación medio-lateral total, mediante la determinación de una segunda estimación que calcula un segundo número de bits que se ahorran cuando se codifica en el modo de codificación doble-mono total, mediante la determinación de una tercera estimación que calcula un tercer número de bits que se ahorran cuando se codifica en el modo de codificación por banda, y mediante la elección de ese modo de codificación entre el modo de codificación medio-lateral total y el modo de codificación doble-mono total y el modo de codificación por banda en el cual se ahorra el mayor número de bits entre la primera estimación y la segunda estimación y la tercera estimación.
[0068] En otra realización, la unidad de codificación 120 puede estar configurada, por ejemplo, para elegir entre el modo de codificación medio-lateral total y el modo de codificación doble-mono total y el modo de codificación por banda mediante la estimación de una primera relación señal a ruido que se produce cuando se emplea el modo de codificación medio-lateral total, mediante la estimación de una segunda relación señal a ruido que se produce cuando se emplea el modo de codificación doble-mono total, mediante la estimación de una tercera relación señal a ruido que se produce cuando se emplea el modo de codificación por banda, y mediante la elección de ese modo de codificación entre el modo de codificación medio-lateral total y el modo de codificación doble-mono total y el modo de codificación por banda en el cual se ahorra el mayor número de bits entre la primera relación señal a ruido y la segunda relación señal a ruido y la tercera relación señal a ruido.
[0069] La señal de entrada de audio está representada en un dominio espectral. El normalizador 110 está configurado para determinar el valor de normalización correspondiente a la señal de entrada de audio dependiendo de una pluralidad de bandas espectrales del primer canal de la señal de entrada de audio y dependiendo de una pluralidad de bandas espectrales del segundo canal de la señal de entrada de audio. Además, el normalizador 110 puede estar configurado para determinar la señal de audio normalizada mediante la modificación, dependiendo del valor de normalización, de la pluralidad de bandas espectrales de al menos uno del primer canal y el segundo canal de la señal de entrada de audio.
[0070] El normalizador 10 está configurado para determinar el valor de normalización basándose en las fórmulas:
NRGl = J^M DCTL,k2
NRGr = J^M DCTR,k2
NRG,
ILD = - N -- R -- G -- l -- + -- N -- R -- G -- r
en las cuales MDCTLk es un k° coeficiente de un espectro de MDCT del primer canal de la señal de entrada de audio, y MDCTRk es el k° coeficiente del espectro de MDCT del segundo canal de la señal de entrada de audio. El normalizador 110 puede estar configurado, por ejemplo, para determinar el valor de normalización mediante la cuantificación de la ILD.
[0071] Según una realización ilustrada en la Fig. 1b, el aparato para la codificación puede comprender asimismo, por ejemplo, una unidad de transformación 102 y una unidad de pre-procesamiento 105. La unidad de transformación 102 puede estar configurada, por ejemplo, para transformar una señal de audio en el dominio del tiempo de un dominio del tiempo a un dominio de la frecuencia para obtener una señal de audio transformada. La unidad de pre-procesamiento 105 puede estar configurada, por ejemplo, para generar el primer canal y el segundo canal de la señal de entrada de audio mediante la aplicación de una operación de modelado de ruido en el dominio de la frecuencia del lado del codificador a la señal de audio transformada.
[0072] En una realización específica, la unidad de pre-procesamiento 105 puede estar configurada, por ejemplo, para generar el primer canal y el segundo canal de la señal de entrada de audio mediante la aplicación de una operación de modelado de ruido temporal del lado del codificador en la señal de audio transformada antes de aplicar la operación de modelado de ruido en el dominio de la frecuencia del lado del codificador a la señal de audio transformada.
[0073] La Fig. 1c ilustra un aparato para codificación según otra realización que comprende además una unidad de transformación 115. El normalizador 110 puede estar configurado, por ejemplo, para determinar un valor de normalización correspondiente a la señal de entrada de audio que depende del primer canal de la señal de entrada de audio que está representado en el dominio del tiempo y que depende del segundo canal de la señal de entrada de audio que está representado en el dominio del tiempo. Además, el normalizador 110 puede estar configurado, por ejemplo, para determinar el primer canal y el segundo canal de la señal de audio normalizada mediante la modificación, dependiendo del valor de normalización, de al menos uno del primer canal y el segundo canal de la señal de entrada de audio que está representado en el dominio del tiempo. La unidad de transformación 115 puede estar configurada,
por ejemplo, para transformar la señal de audio normalizada del dominio del tiempo al dominio espectral para que la señal de audio normalizada esté representada en el dominio espectral. Además, la unidad de transformación 115 puede estar configurada, por ej., para alimentar la señal de audio normalizada que está representada en el dominio espectral a la unidad de codificación 120.
[0074] La Fig. 1d ilustra un aparato para codificación según otra realización, en la cual el aparato comprende además una unidad de pre-procesamiento 106 que está configurada para recibir una señal de audio en el dominio del tiempo que comprende un primer canal y un segundo canal. La unidad de pre-procesamiento 106 puede estar configurada, por ejemplo, para aplicar un filtro al primer canal de la señal de audio en el dominio del tiempo que produce un primer espectro perceptualmente blanqueado para obtener el primer canal de la señal de entrada de audio que está representado en el dominio del tiempo. Además, la unidad de pre-procesamiento 106 puede estar configurada, por ejemplo, para aplicar el filtro al segundo canal de la señal de audio en el dominio del tiempo que produce un segundo espectro perceptualmente blanqueado para obtener el segundo canal de la señal de entrada de audio que está representado en el dominio del tiempo.
[0075] En una realización, ilustrada en la Fig. 1e, la unidad de transformación 115 puede estar configurada, por ejemplo, para transformar la señal de audio normalizada del dominio del tiempo al dominio espectral para obtener una señal de audio transformada. En la realización de la Fig. 1e, el aparato comprende asimismo un pre-procesador en el dominio espectral 118 que está configurado para llevar a cabo el modelado de ruido temporal del lado del codificador en la señal de audio transformada para obtener la señal de audio normalizada que está representada en el dominio espectral.
[0076] Según una realización, la unidad de codificación 120 puede estar configurada, por ejemplo, para obtener la señal de audio codificada mediante la aplicación de relleno de huecos estéreo inteligente del lado del codificador en la señal de audio normalizada o en la señal de audio procesada.
[0077] En otra realización, ilustrada en la Fig. 1f, se da a conocer un sistema para codificar cuatro canales de una señal de entrada de audio que comprende cuatro o más canales para obtener una señal de audio codificada. El sistema comprende un primer aparato 170 según una de las realizaciones antes descritas para codificar un primer canal y un segundo canal de los cuatro o más canales de la señal de entrada de audio para obtener un primer canal y un segundo canal de la señal de audio codificada. Además, el sistema comprende un segundo aparato 180 según una de las realizaciones antes descritas para codificar un tercer canal y un cuarto canal de los cuatro o más canales de la señal de entrada de audio para obtener un tercer canal y un cuarto canal de la señal de audio codificada.
[0078] La Fig. 2a ilustra un aparato para decodificar una señal de audio codificada que comprende un primer canal y un segundo canal para obtener una señal de audio decodificada según una realización no reivindicada.
[0079] El aparato para decodificación comprende una unidad de decodificación 210 configurada para determinar, por cada banda espectral de una pluralidad de bandas espectrales, si dicha banda espectral del primer canal de la señal de audio codificada y dicha banda espectral del segundo canal de la señal de audio codificada se codificó empleando codificación doble-mono o utilizando la codificación medio-lateral.
[0080] La unidad de decodificación 210 está configurada para usar dicha banda espectral del primer canal de la señal de audio codificada como banda espectral de un primer canal de una señal de audio intermedia y está configurada para usar dicha banda espectral del segundo canal de la señal de audio codificada como banda espectral de un segundo canal de la señal de audio intermedia, en caso de haberse utilizado la codificación doble-mono.
[0081] Además, la unidad de decodificación 210 está configurada para generar una banda espectral del primer canal de la señal de audio intermedia sobre la base de dicha banda espectral del primer canal de la señal de audio codificada y sobre la base de dicha banda espectral del segundo canal de la señal de audio codificada, y para generar una banda espectral del segundo canal de la señal de audio intermedia sobre la base de dicha banda espectral del primer canal de la señal de audio codificada y sobre la base de dicha banda espectral del segundo canal de la señal de audio codificada, en caso de haberse utilizado la codificación medio-lateral.
[0082] Por otro lado, el aparato para decodificación comprende un desnormalizador 220 configurado para modificar, dependiendo de un valor de desnormalización, de al menos uno del primer canal y el segundo canal de la señal de audio intermedia para obtener el primer canal y el segundo canal de la señal de audio decodificada.
[0083] En una realización, la unidad de decodificación 210 puede estar configurada, por ejemplo, para determinar si la señal de audio codificada se va a codificar en un modo de codificación medio-lateral total o en un modo de codificación doble-mono total o en un modo de codificación por banda.
[0084] Además, en ese tipo de realización, la unidad de decodificación 210 puede estar configurada, por ejemplo, si se determina que la señal de audio codificada se codifica en el modo de codificación medio-lateral total, para generar el primer canal de la señal de audio intermedia a partir del primer canal y del segundo canal de la señal de audio codificada, y para generar el segundo canal de la señal de audio intermedia a partir del primer canal y del segundo canal de la señal de audio codificada.
[0085] Según ese tipo de realización, la unidad de decodificación 210 puede estar configurada, por ejemplo, si se determina que la señal de audio codificada se va a codificar en el modo de codificación doble-mono total, para usar el primer canal de la señal de audio codificada como primer canal de la señal de audio intermedia, y para usar el segundo canal de la señal de audio codificada como segundo canal de la señal de audio intermedia.
[0086] Por otro lado, en ese tipo de realización, la unidad de decodificación 210 puede estar configurada, por ejemplo, si se determina que se debe codificar la señal de audio codificada en el modo de codificación por banda,
- para determinar, por cada banda espectral de una pluralidad de bandas espectrales, si dicha banda espectral del primer canal de la señal de audio codificada y dicha banda espectral del segundo canal de la señal de audio codificada se codificó utilizando la codificación doble-mono o utilizando la codificación medio-lateral,
- para usar dicha banda espectral del primer canal de la señal de audio codificada como banda espectral del primer canal de la señal de audio intermedia y para usar dicha banda espectral del segundo canal de la señal de audio codificada como banda espectral del segundo canal de la señal de audio intermedia, en caso de haberse utilizado la codificación doble-mono, y
- para generar una banda espectral del primer canal de la señal de audio intermedia sobre la base de dicha banda espectral del primer canal de la señal de audio codificada y sobre la base de dicha banda espectral del segundo canal de la señal de audio codificada, y para generar una banda espectral del segundo canal de la señal de audio intermedia sobre la base de dicha banda espectral del primer canal de la señal de audio codificada y sobre la base de dicha banda espectral del segundo canal de la señal de audio codificada, en caso de haberse utilizado la codificación mediolateral.
[0087] Por ejemplo, en el modo de codificación medio-lateral total, se pueden aplicar, las fórmulas:
L=(M+S)/sqrt(2),
y
R=(M-S)/sqrt(2)
para obtener, por ejemplo, el primer canal L de la señal de audio intermedia y para obtener el segundo canal R de la señal de audio intermedia, donde M es el primer canal de la señal de audio codificada y donde S es el segundo canal de la señal de audio codificada.
[0088] Según una realización, la señal de audio decodificada puede ser, por ejemplo, una señal estéreo de audio que comprende exactamente dos canales. Por ejemplo, el primer canal de la señal de audio decodificada puede ser, por ejemplo, un canal izquierdo de la señal estéreo de audio, y el segundo canal de la señal de audio decodificada puede ser, por ejemplo, un canal derecho de la señal estéreo de audio.
[0089] Según una realización, el des-normalizador 220 puede estar configurado, por ejemplo, para modificar, dependiendo del valor de des-normalización, la pluralidad de bandas espectrales de al menos uno del primer canal y el segundo canal de la señal de audio intermedia para obtener el primer canal y el segundo canal de la señal de audio decodificada.
[0090] En otra realización expuesta en la Fig. 2b, el des-normalizador 220 puede estar configurado, por ejemplo, para modificar, dependiendo del valor de des-normalización, la pluralidad de bandas espectrales de al menos uno del primer canal y el segundo canal de la señal de audio intermedia para obtener una señal de audio des
normalizada. En ese tipo de realización, el aparato puede comprender además, por ejemplo, una unidad de post procesamiento 230 y una unidad de transformación 235. La unidad de post-procesamiento 230 puede estar configurada, por ejemplo, para ejecutar al menos uno de modelado de ruido temporal del lado del decodificador y modelado de ruido en el dominio de la frecuencia del lado del decodificador en la señal de audio des-normalizada para obtener una señal de audio post-procesada. La unidad de transformación (235) puede estar configurada, por ejemplo, para transformar la señal de audio post-procesada de un dominio espectral a un dominio del tiempo para obtener el primer canal y el segundo canal de la señal de audio decodificada.
[0091] Según una realización ilustrada en la Fig. 2c, el aparato comprende además una unidad de transformación 215 configurada para transformar la señal de audio intermedia de un dominio espectral a un dominio del tiempo. El des-normalizador 220 puede estar configurado, por ejemplo, para modificar, dependiendo del valor de des-normalización, al menos uno del primer canal y el segundo canal de la señal de audio intermedia que está representado en el dominio del tiempo para obtener el primer canal y el segundo canal de la señal de audio decodificada.
[0092] En una realización similar que no se reivindica, ilustrada en la Fig. 2d, la unidad de transformación 215 puede estar configurada, por ejemplo, para transformar la señal de audio intermedia de un dominio espectral a un dominio del tiempo. El des-normalizador 220 puede estar configurado, por ejemplo, para modificar, dependiendo del valor de des-normalización, al menos uno del primer canal y el segundo canal de la señal de audio intermedia que está representada en el dominio del tiempo para obtener una señal de audio des-normalizada. El aparato comprende además una unidad de post-procesamiento 235 que puede estar configurada, por ejemplo, para procesar la señal de audio des-normalizada, que es una señal de audio perceptualmente blanqueada, para obtener el primer canal y el segundo canal de la señal de audio decodificada.
[0093] Según otra realización, ilustrada en la Fig. 2e, el aparato comprende asimismo un post-procesador en el dominio espectral 212 que está configurado para realizar modelado de ruido temporal del lado del decodificador en la señal de audio intermedia. En ese tipo de realización, la unidad de transformación 215 está configurada para transformar la señal de audio intermedia del dominio espectral al dominio del tiempo, una vez realizado el modelado de ruido temporal del lado del decodificador en la señal de audio intermedia.
[0094] En otra realización que no se reivindica, la unidad de decodificación 210 puede estar configurada, por ejemplo, para aplicar el relleno inteligente de huecos estéreo del lado del decodificador en la señal de audio codificada.
[0095] Además, como se ilustra en la Fig. 2f, se da a conocer un sistema para decodificar una señal de audio codificada que comprende cuatro o más canales para obtener cuatro canales de una señal de audio decodificada que comprende cuatro o más canales. El sistema comprende un primer aparato 270 según una de las realizaciones antes descritas para decodificar un primer canal y un segundo canal de los cuatro o más canales de la señal de audio codificada para obtener un primer canal y un segundo canal de la señal de audio decodificada. Además, el sistema comprende un segundo aparato 280 según una de las realizaciones antes descritas para decodificar un tercer canal y un cuarto canal de los cuatro o más canales de la señal de audio codificada para obtener un tercer canal y un cuarto canal de la señal de audio decodificada.
[0096] La Fig. 3 ilustra un sistema para generar una señal de audio codificada a partir de una señal de entrada de audio y para generar una señal de audio decodificada a partir de la señal de audio codificada según una realización.
[0097] El sistema comprende un aparato 310 para codificación según una de las realizaciones antes descritas, en la cual el aparato 310 para codificación está configurado para generar la señal de audio codificada a partir de la señal de entrada de audio.
[0098] Además, el sistema comprende un aparato 320 para decodificación según lo descrito anteriormente. El aparato 320 para decodificación está configurado para generar la señal de audio decodificada a partir de la señal de audio codificada.
[0099] De manera similar, se da a conocer un sistema para generar una señal de audio codificada a partir de una señal de entrada de audio y para generar una señal de audio decodificada a partir de la señal de audio codificada. El sistema comprende un sistema según la realización de la Fig. 1f, en la cual el sistema según la realización de la Fig. 1f está configurado para generar la señal de audio codificada a partir de la señal de entrada de audio, y un sistema
según la realización de la Fig. 2f, en la cual el sistema de la realización de la Fig. 2f está configurado para generar la señal de audio decodificada a partir de la señal de audio codificada.
[0100] En lo sucesivo se describen las realizaciones preferidas.
[0101] La Fig. 4 ilustra un aparato para codificación según otra realización. Entre otros elementos, se ilustra una unidad de pre-procesamiento 105 y una unidad de transformación 102 de acuerdo con una realización específica. La unidad de transformación 102 está configurada, entre otras cosas, para ejecutar una transformación de la señal de entrada de audio de un dominio del tiempo al dominio espectral, y la unidad de transformación está configurada para llevar a cabo el modelado de ruido temporal del lado del codificador y el modelado de ruido en el dominio de la frecuencia del lado del codificador en la señal de entrada de audio.
[0102] Además, la Fig. 5 ilustra módulos de procesamiento estéreo en un aparato para codificación según una realización. La Fig. 5 ilustra un normalizador 110 y una unidad de codificación 120.
[0103] Por otro lado, la Fig. 6 ilustra un aparato para decodificación según otra realización. Entre otras cosas, la Fig. 6 ilustra una unidad de post-procesamiento 230 según una realización específica. La unidad de post procesamiento 230 está configurada, entre otras cosas, para obtener una señal de audio procesada del desnormalizador 220, y la unidad de pos-procesamiento 230 está configurada para realizar al menos uno de modelado de ruido temporal del lado del decodificador y modelado de ruido en el dominio de la frecuencia del lado del decodificador en la señal de audio procesada.
[0104] Se puede efectuar la Detección de Transitorios en el Dominio del Tiempo (del inglés, Time Domain Transient Detector (TD TD)), la formación en ventanas, MDCT, MDST (por sus siglas en inglés, Modified Discrete Sine Transform, Transformada de Seno Discreta Modificada) y OLA (por sus siglas en inglés, Optical Linea Amplifier, Amplificador de Línea Óptica), por ejemplo, según lo descrito en [6a] o [6b]. MDCT y MDST forman la Transformada Solapada Modulada Compleja (del inglés, Modulated Complex Lapped Transform (MCLT)); la realización por separado de la MDCT y la MDST es equivalente a la realización de la MCLT; “MCLT a MDCT” representa tomar sólo la parte de MDCT de la MCLT y descartar la MDST (véase [12]).
[0105] La elección de diferentes longitudes de ventana en los canales izquierdo y derecho puede forzar, por ejemplo, la codificación doble mono en esa trama.
[0106] El Modelado de Ruido Temporal (TNS, por sus siglas en inglés) se puede efectuar, por ejemplo, de manera similar a la descrita en [6a] o [6b].
[0107] El modelado de ruido en el dominio de la frecuencia (FDNS) y el cálculo de los parámetros de FDNS pueden ser, por ejemplo, similares al procedimiento descrito en [8]. Una diferencia puede ser, por ejemplo, que los parámetros de FDNS correspondientes a las tramas donde el TNS está inactivo se calculan a partir del espectro de MCLT (por sus siglas en inglés, Modulated Complex Lapped Transform, Transformada Traslapada Modulada Compleja). En las tramas donde el TNS está activo, se puede estimar la MDST (por sus siglas en inglés Modified Discrete Sine Transform, Transformada de Seno Discreta Modificada), por ejemplo, a partir de la MDCT (por sus siglas en inglés Modified Discrete Cosine Transform, Transformada Discreta de Coseno Modificada).
[0108] También se puede reemplazar el FDNS con el blanqueo del espectro perceptual en el dominio del tiempo (como se describe, por ejemplo, en [13]).
[0109] El procesamiento estéreo consiste en un procesamiento de ILD (por sus siglas en inglés Interaural Level Difference, Diferencia de Nivel Interaural) global, el procesamiento M/S por banda, la distribución de la tasa de bits entre los canales.
[0110] La ILD global única se calcula de la siguiente manera
NRGl = J^M DCTL,k2
NRGr = J^M DCTR,k2
NRG
ILD =■ l
NRGl + NRGr
donde MDCTL k es el k° coeficiente del espectro de MDCT en el canal izquierdo y MDCTRk es el k° coeficiente del espectro de MDCT en el canal derecho. La ILD global se cuantifica de manera uniforme:
ILDinterva¡0 1 « ILDbits
donde ILDblts es el número de bits utilizado para codificar la ILD global. IÜD se almacena en el flujo de bits.
<< es una operación de desplazamiento de bits y desplaza los bits ILDblts a la izquierda mediante la inserción de 0 bits.
_ n ILDbits
[0111] En otras palabras: ILD inérvalo = 21
[0112] A continuación, la relación de energía de los canales es:
ILDinterva¡0 NRG
relación = ■ r
IÜD
- 1
NRG,
[0113] Si relación,, n > 1 entonces se escala el canal derecho con relaciónjiD de lo contrario se escala el canal izquierdo con relaciónILD. Esto significa, efectivamente, que se escala el canal más sonoro.
[0114] Si se utiliza el blanqueo del espectro perceptual en el dominio del tiempo (como se describe, por ejemplo, en [13]), también se puede calcular y aplicar la ILD global única en el dominio del tiempo, antes de la transformación al dominio de la frecuencia (es decir, antes de la MDCT). O bien, por otro lado, tras el blanqueo del espectro perceptual se puede realizar la transformación del dominio del tiempo a la frecuencia seguida por la ILD global única en el dominio de la frecuencia. Por otro lado, se puede calcular y aplicar la ILD global única en el dominio del tiempo antes de la transformación del dominio del tiempo a la frecuencia en el dominio de la frecuencia después de la transformación del dominio del tiempo a la frecuencia.
[0115] Los canales de MDCTMk medio y MDCTsk lateral se forman utilizando la MDCTLk del canal izquierdo y la MDCTRk del canal derecho en términos de MDCTMk = -L[MDCTLk MDCTRk) y MDCTs,k =-L[MDCTL,k -MDCTRk). El espectro se divide en bandas y por cada banda se decide si se utiliza el canal izquierdo, derecho, medio o lateral.
[0116] Se estima una ganancia global Gest de la señal que comprende los canales Izquierdo y Derecho concatenados. Esto se diferencia de [6b] y [6a]. Se puede usar, por ejemplo, la primera estimación de la ganancia descrita en el capítulo 5.3.3.2.8.1.1 “Global gain estimator” (Estimador de ganancia global) de [6b] o de [6a], suponiendo una ganancia de SNR de 6 dB por muestra por bit a partir de la cuantificación escalar.
[0117] Se puede multiplicar la ganancia estimada por una constante para obtener una subestimación o una sobreestimación en la Gest final. A continuación se cuantifican las señales de los canales izquierdo, derecho, medio y lateral utilizando Gest, es decir que el tamaño de la etapa de cuantificación es 1/Gest.
[0118] Seguidamente se codifican las señales cuantificadas utilizando un codificador aritmético, un codificador de Huffman u otro codificador entrópico, con el fin de obtener el número de bits necesario. Por ejemplo, se puede utilizar el codificador aritmético basado en el contexto descrito en el capítulo 5.3.3.2.8.1.3 - capítulo 5.3.3.2.8.1.7 de [6b] o de [6a]. Dado que se debe ejecutar el bucle de tasa (por ej. 5.3.3.2.8.1.2 de [6b] o de [6a]) después de la codificación estéreo, basta con una estimación de los bits necesarios.
[0119] Por ejemplo, se estima el número de bits necesarios para la codificación aritmética basada en contexto por cada canal cuantificado de acuerdo con lo descrito en el capítulo 5.3.3.2.8.1.3 - capítulo 5.3.3.2.8.1.7 de [6b] o
de [6a].
[0120] Según una realización, se determina la estimación de bits por cada canal cuantificado (izquierdo, derecho, medio o lateral) basándose en el siguiente código ejemplo:
int context_based_arihmetic_coder_estimate (
int spectrum[],
int start_line,
int end_line,
int lastnz, // lastnz = last non-zero spectrum line
int & ctx, // ctx = context
int &probability, // 14 bit fixed point probability
const unsigned int cum_freq[N_CONTEXTS] []
// cum_freq = cumulative frequency tables, 14 bit fixed point
)
{ int nBits = 0;
for (int k = start_line; k < min(lastnz, end_line); k+=2)
{ int a1 = abs(spectrum[k]);
int b1 = abs(spectrum[k+1]);
/* Signs Bits */
nBits = min(a1, 1);
nBits = min(b1, 1);
while (max(a1, b1) >= 4)
{ probability *= cum_freq[ctx][VAL_ESC];
int nlz = Number_of_leading_zeros(probability);
nBits = 2+ nlz;
probability >>= 14 - nlz;
a1 >>= 1;
b1 >>= 1;
ctx = update_context(ctx, VAL_ESC);
}
int symbol = a1 4*b1;
probability *= (cum_freq [ctx] [symbol] -cum_freq[ctx] [symbol+1]) ;
int nlz = Number_of_leading_zeros(probability);
nBits = nlz;
hContextMem->proba >>= 14 - nlz;
ctx = update_context(ctx, a1+b1);
}
return nBits;
}
donde se establece spectrum para apuntar al espectro cuantificado que se va a codificar, se establece startjine en 0, se establece end_line según la longitud del espectro, se establece lastnz al índice del último elemento no cero del espectro, se establece ctx en 0 y se establece la probabilidad en una notación puntual fija de 1 a 14 bits (16384=1<<14).
[0121] Según se ha señalado, se puede emplear el código ejemplo anterior, por ejemplo, para obtener una estimación de bits correspondiente al menos a uno del canal izquierdo, el canal derecho, el canal medio y el canal lateral.
[0122] Algunas realizaciones emplean un codificador aritmético de acuerdo con lo descrito en [6b] y [6a]. Se pueden encontrar más detalles, por ejemplo, en el capítulo 5.3.3.2.8 “Arithmetic encoder” (Codificador aritmético) de [6b].
[0123] A continuación, el número estimado de bits para “doble mono total” (bLR) es igual a la suma de los bits necesarios para los canales derecho e izquierdo.
[0124] A continuación, el número estimado de bits para “M/S total” (bMS) es igual a la suma de los bits necesarios para el canal medio y el lateral.
[0125] En una realización alternativa, que es alternativa al código de ejemplo anterior, se puede utilizar, por
ejemplo, la fórmula:
nBandas-1
bLR = X bbwLR
i =0
para calcular un número de bits estimado para “doble mono total” (bLR).
[0126] Más aun, en una realización alternativa, que es una alternativa del código ejemplo anterior, se puede emplear, por ejemplo, la fórmula:
nBandas-1
bMS = X bbwMS
i=0
para calcular un número de bits estimado para el “M/S total” (bMS).
[0127] Por cada banda i con los bordes [lbl,ubl], se verifica cuántos bits se utilizarían para codificar la señal cuantificada en la banda en el modo L/R (blbwLR) y en el M/S (blbwMS). En otras palabras, se lleva a cabo una estimación de bits banda por banda para el modo L/R por cada banda i: blbwLR, lo que da lugar a la estimación de bits por banda en el modo L/R en el caso de la banda i, y una estimación de bits por banda en el modo M/S por cada banda i, lo que da lugar a la estimación de bits por banda en el modo M/S respecto de la banda i: blbwMS
[0128] Se elige el modo con menor número de bits para la banda. Se estima el número de bits necesarios para la codificación aritmética de acuerdo con lo descrito en el capítulo 5.3.3.2.8.1.3 - capítulo 5.3.3.2.8.1.7 de [6b] o de [6a]. El número total de bits necesarios para codificar el espectro en el modo “M/S por banda” (b BW) es igual a la suma de min(blbwLR,blbwMsy.
nBandas-1
bBW = nBandas ^ ™-in(blbwLR,blbwMS)
1=0
[0129] El modo “M/S por banda” requiere bits adicionales de nBands para señalizar, en cada banda, si se utiliza la codificación L/R o la M/S. La elección entre el “M/S por banda”, el “doble mono total” y el “M/S total” se puede codificar, por ejemplo, como modo estéreo en el flujo de bits y, a continuación, el “doble mono total” y el “M/S total” no necesitan bits adicionales, en comparación con el “M/S por banda”, para la señalización.
[0130] En el caso del codificador aritmético basado en el contexto, b b iwLR usado en el cálculo de bLR no es i
igual a bwLR utilizado en el cálculo de bBW, ni
bbwMS
usado en el cálculo de bMS es igual a
bbwMS
usado en el
J
cálculo de bBW, ya que el bbwLR y el bbwMS dependen de la elección del contexto correspondiente a los bbwLR y
b J
bwMS anteriores, donde j < i. bLR se puede calcular en términos de suma de los bits para el canal izquierdo y para el derecho y bMS se puede calcular en términos de suma de los bits para el canal medio y el lateral, donde se pueden calcular los bits correspondientes a cada canal empleando el código ejemplo context_based_arihmetic_coder_estimate_bandwise donde start_line se fija en 0 y end_line se fija en lastnz.
[0131] En una realización alternativa, que es una alternativa del código ejemplo antes expuesto, se puede emplear, por ejemplo, la fórmula:
nBandas-1
bLR = nBandas + X bbwLR
i =0
para calcular el número de bits estimado para el “doble mono total” (bLR) y señalizar, en cada banda, la codificación L/R.
[0132] Además, en una realización alternativa, que es una alternativa del código ejemplo antes expuesto, se puede emplear, por ejemplo, la fórmula:
—1
bMS bbwMS
[0133] En algunas realizaciones, en primer lugar, se puede estimar, por ejemplo, una ganancia G y se puede estimar, por ejemplo, un tamaño de la etapa de cuantificación, para lo cual se espera que haya suficientes bits para codificar los canales en L/R.
[0134] A continuación, se exponen realizaciones que describen diferentes maneras de determinar una estimación de bits por banda; por ejemplo, se describe cómo determinar bbwLR y de acuerdo con realizaciones específicas.
[0135] Como ya se mencionara, según una realización específica, por cada canal cuantificado, se estima el número de bits necesario para la codificación aritmética, por ejemplo, de acuerdo con lo descrito en el capítulo 5.3.3.2.8.1.7 “Bit consumption estimation” (Estimación del consumo de bits) de [6b] o del capítulo similar de [6a].
[0136] Según una realización, la estimación de bits por banda se determina empleando context_based_arihmetic_coder_estimate para calcular cada uno de y blbwMS por cada i, estableciendo startjine en lbt , end_line en ubi , lastnz en el índice del último elemento no cero de spectrum.
[0137] Se inicializan cuatro contextos (ctxL, ctxR, ctxM, cíxm) y cuatro probabilidades (pl, pr, pm, pm) y, a continuación, se actualizan repetidamente.
[0138] Al comienzo de la estimación (en el caso de i = 0) se establece cada contexto (ctxL, ctxR, ctxM, ctxM) en 0 y se establece cada probabilidad (pl, pr, pm, pm) en 1 en la notación puntual fija de 14bits (16384=1<<14).
b^wLR se calcula en términos de la suma de blbwL y blbwR , donde blbwL se determina usando context_based_arihmetic_coder_estimate estableciendo que spectrum apunte al espectro izquierdo cuantificado que se va a codificar, ctx se fija en ctxL y la probabilidad se fija en pl; además blbwR se determina usando context_based_arihmetic_coder_estimate estableciendo que spectrum apunte al espectro derecho cuantificado que se va a codificar, ctx se fija en ctxR y la probabilidad se fija en pR.
blbwMS se calcula en términos de suma de y bbwS, donde bbwM se determina empleando context_based_arihmetic_coder_estimate estableciendo que spectrum apunte al espectro medio que se va a codificar, se fija ctx en ctxM y se establece que la probabilidad es pm y se determina bbwS utilizando context_based_arihmetic_coder_estimate estableciendo que spectrum apunte al espectro lateral cuantificado por codificar, se fija ctx en ctxS y la probabilidad se fija en ps.
[0139] Si blbwLR<blbwMS entonces se establece que ctxL es ctxM, se establece que ctxR es ctxs, se establece que pL es pM, se establece que pR es pS.
[0140] Si blbwLR>=blbwMS entonces se establece que ctxM es ctxL, se establece que ctxs es ctxR, se establece que pM es pL, se establece que pS es pR.
[0141] En una realización alternativa, se obtiene la estimación de bits por banda de la siguiente manera: Se divide el espectro en bandas y, por cada banda, se decide si se debe efectuar el procesamiento M/S. En el caso de todas las bandas en que se utiliza M/S, se reemplazan MDCTL,k y MDCTR,k por MDCTM,k = 0.5(MDCTL,k MDCTR k) y MDCTs,k = 0.5(MDCTL,k - MDCTR¡k).
[0142] La decisión M/S por banda vs L/R se puede basar, por ejemplo, en la estimación de ahorro de bits con el procesamiento M/S:
NRGuNRGy
bitsSavedi = nlineSi • log2
J nrgMjínrgSjí
donde NRGri es la energía en la ía banda del canal derecho, NRGLl es la energía en la ía banda del canal izquierdo, NRGMl es la energía en la ía banda del canal medio, NRGsl es la energía en la ía banda del canal lateral y níines¡ es el número de coeficientes espectrales en la ía banda. El canal medio es la suma del canal izquierdo y el derecho, el canal lateral es la diferencia de los canales izquierdo y derecho.
bitsSavedi está limitado por el número de bits estimado que se debe utilizar para la ía banda:
/NRG NRG
maxBitsLR = rí l
a
• bitsAvailable
1 NRGr NRGl )
(NRGMi NRGsi\
maxBitsMS = • bitsAvailable
1 NRGm NRGS )
bitsSavedi = max maxBitsLR,min(—maxBits MS, bitsSavedi) )
[0143] La Fig. 7 ilustra el cálculo de una tasa de bits para la decisión M/S por bandas según una realización.
[0144] En particular, en la Fig. 7, se ilustra el proceso para el cálculo de bBW . Para reducir la complejidad, se guarda el contexto del codificador aritmético para codificar el espectro hasta la banda i — 1 y se reutiliza en la banda í .
[0145] Cabe señalar que, en el caso del codificador aritmético basado en el contexto, b'bwLR y b'bwMS dependen del contexto del codificador aritmético, que depende de la elección de M/S o L/R en todas las bandas j < i, de acuerdo con lo descrito, por ejemplo, anteriormente.
[0146] La Fig. 8 ilustra una decisión del modo estéreo según una realización.
[0147] Si se elige “doble mono total”, entonces el espectro completo consiste en MDCTLk y MDCTRk. Si se elige “M/S total”, entonces el espectro completo consiste en MDCTM,k y MDCTsk. Si se elige “M/S por banda”, entonces algunas bandas del espectro consisten en MDCTLk y MDCTR k y otras bandas consisten en MDCTM,k y MDCTsk.
[0148] El modo estéreo se codifica en el flujo de bits. En el modo “M/S por banda” también la decisión M/S por banda se codifica en el flujo de bits.
[0149] Los coeficientes del espectro en los dos canales después del procesamiento estéreo se indican como MDCTLM,k y MDCTRSk. MDCTLMk es igual a MDCTM,k en las bandas de M/S o a MDCTL,k en las bandas de L/R y MDCTRSk es igual a MDCTs k en las bandas de M/S o a MDCTR k en las bandas de L/R, dependiendo del modo estéreo y de la decisión M/S por banda. Se puede hacer referencia al espectro que consiste en MDCTLMk, por ejemplo, como canal 0 codificado en forma conjunta (Cn 0 Conjunto) o se le puede denominar, por ejemplo, primer canal, y se puede hacer referencia al espectro que consiste en MDCTRSk, por ejemplo, como canal 1 codificado en forma conjunta (Cn 1 Conjunto) o se le puede denominar, por ejemplo, segundo canal.
[0150] La relación de división de la tasa de bits se calcula empleando las energías de los canales procesados estéreo:
NRGRS=
NRG,
1 s p l i t
nrglm + NRGrs
[0151] Se cuantifica la relación de división de la tasa de bits de manera uniforme:
rsplitrange = 1 << rsplí tbíts
donde rsplitblts es el número de bits utilizado para codificar la relación de división de la tasa de bits. Si
8
7 split < g
y
9rspUt.range
y
‘
*
sp
A
lit
'
^
s*^ ,
16
entonces
A
'split
se reduce para
TSpHtrange
8 .
si
1
r split > g
y
^ A ^ 7 TSpUtrange
rspht < 16
entonces se incrementa
A
'split
para
TSpHtrange
8 .
se almacena rSRllt en la tasa de bits.
[0152] La distribución de la tasa de bits entre los canales es:
bitsRS = (totalBitsAvailable — stereoBits) — bitsLM
[0153] Además, se verifica que haya suficientes bits para el codificador entrópico en cada canal controlando que bitsLM — sideBitsLM > minBits y bitsRS — sideBitsRS > minBits, donde minBits es el número mínimo de bits que requiere el codificador entrópico. Si no hay suficientes bits para el codificador entrópico, entonces se aumenta/reduce rsA>ht en 1 hasta que se cumpla bitsLM — sideBitsLM > minBits y bitsRS — sideBitsRS > minBits.
[0154] La cuantificación, el relleno de ruido y la codificación entrópica, incluyendo el bucle de tasa, son como se describe en 5.3.3.2 “General encoding procedure” (Procedimiento de Codificación General) de 5.3.3 “MDCT based TCX” (TCX (por sus siglas en inglés, Transformed Coded Excitation, Excitación Codificada Transformada) basada en MDCT) de [6b] o de [6a]. El bucle de tasa se puede optimizar empleando la Gest estimada. Se utiliza el espectro de energía P (magnitud de la MCLT) para las medidas de tonalidad/ruido en la cuantificación y el Relleno Inteligente de
Huecos (IGF, por sus siglas en inglés), de acuerdo con lo descrito en [6a] o [6b]. Dado que se utiliza el espectro de MDCT blanqueado y procesado M/S por banda para el espectro de energía, se debe realizar el mismo FDNS y procesamiento M/S en el espectro de MDST. Se debe efectuar el mismo escalado basado en la ILD global del canal más sonoro para la MDST que para la MDCT. En el caso de las tramas en que el TNS está activo, se utiliza el espectro de MDST para el cálculo del espectro de energía a partir del espectro de MDCT blanqueado y procesado M/S: Pk = MDCTk2 (MDCTk+1--MDCTk-1)2
[0155] El proceso de decodificación se inicia con la decodificación y cuantificación inversa del espectro de los canales codificados de forma conjunta, seguidas por el relleno de ruido descrito en 6.2.2 “MDCT based TCX” (TCX basada en MDCT) de [6b] o [6a]. Se determina el número de bits asignado a cada canal sobre la base de la longitud de ventana, el modo estéreo y la relación de división de la tasa de bits que se codifican en el flujo de bits. Se debe saber el número de bits asignado a cada canal antes de decodificar por completo el flujo de bits.
[0156] En el bloque de relleno inteligente de huecos (IGF, por sus siglas en inglés), se rellenan las líneas cuantificadas en cero en un cierto intervalo del espectro denominado mosaico objetivo con un contenido procesado de un intervalo diferente del espectro, denominado mosaico de origen. Debido al procesamiento estéreo por banda, la representación estéreo (es decir ya sea L/R o M/S) podría diferir entre el mosaico de origen y la objetivo. Para garantizar una buena calidad, si la representación del mosaico de origen es diferente de la representación del mosaico objetivo, se procesa el mosaico de origen para transformarlo a la representación del mosaico objetivo antes del relleno de huecos en el decodificador. Este procedimiento ya se ha descrito en [9]. El IGF en sí se aplica, a diferencia de [6a] y [6b], en el dominio espectral blanqueado en lugar del dominio espectral original. A diferencia de los códecs estéreo conocidos (por ejemplo, [9]), el IGF se aplica en el dominio espectral blanqueado con ILD compensada.
[0157] Basándose en el modo estéreo y en la decisión M/S por banda, se construye el canal izquierdo y el derecho a partir de los canales codificados en forma conjunta: MDCTLk =-^{MDCTLMk MDCTRSk) y MDCTRk =
±(MDCTLM,k -MDCTRS,k).
[0158] Si ratio[LD > 1, entonces se escala el canal derecho con ratioILD, de lo contrario se escala el canal izquierdo con — r a t io -— ¡ LD .
[0159] Por cada caso en que se pueda dar la división por 0, se añade una pequeña épsilon al denominador.
[0160] En el caso de las tasas de bits intermedias, por ejemplo 48 kbps, la codificación basada en MDCT puede llevar, por ejemplo, a una cuantificación demasiado basta del espectro para llegar al objetivo de consumo de bits. Eso suscita la necesidad de codificación paramétrica que, combinada con la codificación discreta en la misma región espectral, adaptada a la realización trama por trama, aumenta la fidelidad.
[0161] En lo sucesivo se describen aspectos de algunas de las realizaciones que emplean relleno estéreo. Se debe tener en cuenta que en las realizaciones antes expuestas no es necesario emplear ese relleno estéreo. Por ello, sólo algunas de las realizaciones anteriormente descritas emplean relleno estéreo. Otras realizaciones de las realizaciones antes descritas no emplean relleno estéreo en absoluto.
[0162] El relleno de frecuencia estéreo en el estéreo en el dominio de la frecuencia de MPEG-H (por sus siglas en inglés, Moving Picture Expert Group-High efficiency, Grupo de Expertos en Imágenes en Movimiento de Alta Eficiencia, ha sido descrito, por ejemplo, en [11]. En [11] se alcanza la energía objetivo por cada banda aprovechando la energía de banda enviada desde el codificador en forma de factores de escala (por ejemplo en AAC (por sus siglas en inglés, Advanced Audio Coding, Codificación Avanzada de Audio). Si se aplica el modelado de ruido en el dominio de la frecuencia (FDNS) y se codifica la envolvente espectral utilizando las LSFs (siglas en inglés de line spectral frequencies, frecuencias espectrales de líneas) (véase [6a], [6b], [8]) no es posible cambiar el escalado sólo para algunas bandas de frecuencia (bandas espectrales) necesario para el algoritmo de relleno estéreo descrito en [11].
[0163] En primer lugar se presenta cierta información de antecedentes.
[0164] Cuando se emplea la codificación media/lateral, es posible codificar las señales laterales de diferentes maneras.
[0165] Según un primer grupo de realizaciones, se codifica una señal lateral S de igual modo que una señal media M. Se lleva a cabo la cuantificación, pero no se realiza ninguna otra etapa para reducir la tasa de bits necesaria. En general, esa estrategia apunta a permitir una reconstrucción precisa de la señal lateral S del lado del decodificador aunque, por otro lado, requiere una gran cantidad de bits para codificar.
[0166] Según un segundo grupo de realizaciones, se genera una señal lateral residual Sres a partir de la señal lateral original S basada en la señal M. En una realización, se puede calcular la señal lateral residual, por ejemplo, según la fórmula:
Sres = S - g • M .
[0167] Otras realizaciones pueden emplear, por ejemplo, otras definiciones de la señal lateral residual.
[0168] La señal residual Sres se cuantifica y transmite al decodificador, junto con el parámetro g. Al cuantificar la señal residual Sres en lugar de la señal lateral original S, en general, se cuantifican más valores espectrales en cero. En general, esto ahorra la cantidad de bits necesaria para codificar y transmitir en comparación con la señal lateral original cuantificada S.
[0169] En algunas de estas realizaciones del segundo grupo de realizaciones, se determina un parámetro único g para el espectro completo y se transmite al decodificador. En otras realizaciones del segundo grupo de realizaciones, cada una de una pluralidad de bandas de frecuencia/ bandas espectrales del espectro de frecuencia puede comprender, por ejemplo, dos o más valores espectrales, y se determina un parámetro g por cada una de las bandas de frecuencia/ bandas espectrales y se transmite al decodificador.
[0170] La Fig. 12 ilustra el procesamiento estéreo del lado de un codificador según el primero o el segundo grupo de realizaciones, que no emplean relleno estéreo.
[0171] La Fig. 13 ilustra el procesamiento estéreo del lado de un decodificador según el primero o el segundo grupo de realizaciones, que no emplean relleno estéreo.
[0172] Según un tercer grupo de realizaciones, se emplea el relleno estéreo. En algunas de estas realizaciones, del lado del decodificador, se genera la señal lateral S correspondiente a un cierto punto de tiempo t a partir de una señal media del punto de tiempo inmediatamente anterior t-1.
[0173] La generación de la señal lateral S para un cierto punto de tiempo t a partir de una señal media del punto de tiempo inmediatamente anterior t-1 del lado del decodificador se puede realizar, por ejemplo, según la fórmula:
S(t) = hb • M(t-1).
[0174] Del lado del codificador, se determina el parámetro hb por cada banda de frecuencia de una pluralidad de bandas de frecuencia del espectro. Después de determinar los parámetros hb, el codificador transmite los parámetros hb al decodificador. En algunas realizaciones, no se transmiten los valores espectrales de la señal lateral S en sí o de una residual de ésta al decodificador. Ese tipo de estrategia apunta a ahorrar el número de bits necesario.
[0175] En algunas otras realizaciones del tercer grupo de realizaciones, al menos en el caso de las bandas de frecuencia en que la señal lateral es más intensa que la señal media, se codifican explícitamente y se envían al decodificador los valores espectrales de la señal lateral de esas bandas de frecuencia.
[0176] Según un cuarto grupo de realizaciones, algunas de las bandas de frecuencia de la señal lateral S se codifican codificando explícitamente la señal lateral original S (véase el primer grupo de realizaciones) o una señal lateral residual Sres, mientras que, para las demás bandas de frecuencia, se emplea el relleno estéreo. Esa estrategia combina el primero o el segundo grupo de realizaciones, con el tercer grupo de realizaciones, que utiliza relleno estéreo. Por ejemplo, las bandas de frecuencia más baja se pueden codificar, por ejemplo, cuantificando la señal lateral original S o la señal lateral residual Sres, mientras que para las otras bandas, de frecuencia más alta, se puede emplear, por ejemplo, el relleno estéreo.
[0177] La Fig. 9 ilustra el procesamiento estéreo del lado de un codificador según el tercero o el cuarto grupo de realizaciones, que emplean relleno estéreo.
[0178] La Fig. 10 ilustra el procesamiento estéreo del lado de un decodificador según el tercero o el cuarto grupo de realizaciones, que emplean relleno estéreo.
[0179] Las realizaciones antes descritas que sí emplean relleno estéreo, pueden emplear, por ejemplo, el relleno estéreo según lo descrito en MPEG-H; véase estéreo MPEG-H en el dominio de la frecuencia (véase, por ejemplo, [11]).
[0180] Algunas de las realizaciones que emplean relleno estéreo pueden aplicar, por ejemplo, el algoritmo de relleno estéreo descrito en [11] a sistemas en los cuales se codifica la envolvente espectral en forma de LSF (por sus siglas en inglés, Low Sampling Frequency, Baja Frecuencia de Muestreo) combinada con relleno de ruido. La codificación de la envolvente espectral se puede implementar, por ejemplo, de la manera descrita por ejemplo, en [6a], [6b], [8]. El relleno de ruido se puede implementar, por ejemplo, de acuerdo con lo descrito en [6a] y [6b].
[0181] En algunas realizaciones específicas, el procesamiento con relleno estéreo que incluye el cálculo de los parámetros de relleno estéreo se puede llevar a cabo, por ejemplo, en las bandas M/S dentro de la región de frecuencia, por ejemplo, desde una frecuencia más baja, como de 0,08 Fs (Fs = frecuencia de muestreo) a, por ejemplo, una frecuencia más elevada, por ejemplo, la frecuencia de cruce de IGF (por sus siglas en inglés, Intelligent Gap Filling, Relleno Inteligente de Huecos).
[0182] Por ejemplo, en el caso de las porciones de frecuencia más baja que la frecuencia inferior (por ejemplo, 0,08 Fs), se puede cuantificar, por ejemplo, la señal lateral original S o una señal lateral residual derivada de la señal lateral original S, se puede transmitir, por ejemplo, al decodificador. En el caso de las porciones de frecuencia mayor que la frecuencia superior (por ejemplo, la frecuencia de cruce de IGF), se puede realizar, por ejemplo, el Relleno Inteligente de Huecos (IGF).
[0183] Más específicamente, en algunas realizaciones, el canal lateral (el segundo canal), en el caso de las bandas de frecuencia dentro del intervalo del relleno estéreo (por ejemplo, 0,08 veces la frecuencia de muestreo hasta la frecuencia de cruce de IGF) que se cuantifican por completo en cero se pueden rellenar, por ejemplo, usando un “copiado y pegado” de la mezcla descendente del espectro de MDCT blanqueado de la trama anterior (IGF = Intelligent Gap Filling, Relleno Inteligente de Huecos). El “copiado y pegado” se puede aplicar, por ejemplo, como complemento del relleno de ruido y escalar de manera acorde dependiendo de los factores de corrección que se envían desde el codificador. En otras realizaciones, la frecuencia más baja puede exhibir valores diferentes de 0,08 Fs.
[0184] En lugar de ser de 0,08 Fs, en algunas realizaciones, la frecuencia más baja puede ser, por ejemplo, un valor en el intervalo de 0 a 0,50 Fs En realizaciones específicas, la frecuencia más baja puede ser un valor en el intervalo de 0,01 Fs a 0,50 Fs. Por ejemplo, la frecuencia más baja puede ser, por ejemplo, de 0,12 Fs o 0,20 Fs o 0,25 Fs .
[0185] En otras realizaciones, además o en lugar de emplear el Relleno Inteligente de Huecos, en el caso de las frecuencias superiores a la frecuencia superior, se puede llevar a cabo el Relleno de Ruido, por ejemplo.
[0186] En otras realizaciones, no hay una frecuencia superior y se lleva a cabo el relleno estéreo por cada porción de frecuencia superior a la frecuencia más baja.
[0187] En otras realizaciones adicionales, no hay frecuencia inferior y se lleva a cabo el relleno estéreo por las porciones de frecuencia que abarcan desde la banda de frecuencia más baja hasta la frecuencia superior.
[0188] En otras realizaciones más, no hay una frecuencia más baja y una frecuencia superior y se lleva a cabo el relleno estéreo en todo el espectro de frecuencia.
[0189] A continuación se describen realizaciones específicas, que emplean relleno estéreo.
[0190] En particular, se describe el relleno estéreo con factores de corrección según realizaciones específicas. Se puede emplear el relleno estéreo con factores de corrección, por ejemplo, en las realizaciones de los bloques de procesamiento de relleno estéreo de la Fig. 9 (lado del codificador) y de la Fig. 10 (lado del decodificador).
[0191] En lo sucesivo,
- DmxR puede indicar, por ejemplo, la señal media del espectro de MDCT blanqueado,
- SR puede indicar, por ejemplo, la señal lateral del espectro de MDCT blanqueado,
- Dmx¡ puede indicar, por ejemplo, la señal media del espectro de MDST blanqueado,
- S¡ puede indicar, por ejemplo, la señal lateral del espectro de MDST blanqueado,
- prevDmxR puede indicar, por ejemplo, la señal media del espectro de MDCT blanqueado
- prevDmx¡ puede indicar, por ejemplo, la señal media del espectro de MDST blanqueado
[0192] La codificación con relleno estéreo se puede aplicar cuando la decisión estéreo es M/S para todas las bandas (M/S total) o M/S para todas las bandas con relleno estéreo (M/S por banda).
[0193] Cuando se determina la aplicación del procesamiento doble mono total se pasa por alto el relleno estéreo. Además, cuando se opta por la codificación L/R para algunas de las bandas espectrales (bandas de frecuencia), también se omite el relleno estéreo para estas bandas espectrales.
[0194] Se consideran ahora realizaciones específicas que emplean relleno estéreo. En ellas, el procesamiento dentro del bloque se puede llevar a cabo, por ejemplo, de la siguiente manera:
[0195] En el caso de las bandas de frecuencia (fb) que están dentro de la región de frecuencia a partir de la frecuencia más baja (por ejemplo, 0,08 Fs (Fs = frecuencia de muestreo)), hasta la frecuencia superior, (por ejemplo, la frecuencia de cruce de IGF):
- Se calcula una Res R residual de la señal lateral S r , por ejemplo, según:
Res R Res = SR — aRDmxR — aIDmxI .
donde aR es la parte real y a¡ es la parte imaginaria del coeficiente de predicción compleja (véase [10]).
Se calcula una residual Res i de la señal lateral S i , por ejemplo, según:
Resi = Si Res = SR — aRDmxR — aIDmx¡ .
- Se calculan las energías, por ejemplo, las energías de valor complejo, de la residual Res y de la mezcla descendente de la trama anterior (señal media) prevDmx :
EResfb =Y,fb Resl 'Zfb Resf,
EprevDmXfb = ^ prevDmxR ^ prevDmxf
fb fb
[0196] En las fórmulas anteriores:
suma los cuadrados de todos los valores espectrales dentro de la banda de frecuencia fb de ResR.
suma los cuadrados de todos los valores espectrales dentro de la banda de frecuencia fb de Resi .
^ prevDtnXg
fb
suma los cuadrados de todos los valores espectrales dentro de la banda de frecuencia fb de prevDmxR.
suma los cuadrados de todos los valores espectrales dentro de la banda de frecuencia fb de prevDmx i .
De estas energías calculadas, (ERes f b , EprevDmx fb ), se calculan los factores de corrección de relleno estéreo y se transmiten como información lateral o secundaria al decodificador:
correction_factorbb = ERe Sfb/{EprevDmXfb + e)
[0197] En una realización, £ = 0. En otras realizaciones, por ejemplo, 0,1 > £ > 0, por ejemplo, para evitar la división por 0.
- Se puede calcular, por ejemplo, un factor de escala por banda, dependiendo de los factores de corrección de relleno estéreo calculados, por ejemplo, por cada banda espectral para la cual se emplea el relleno estéreo. Se introduce el escalado por banda de las señales Media y Lateral (residual) de salida por un factor de escala con el fin de compensar la pérdida de energía, ya que no hay ninguna operación de predicción compleja inversa para reconstruir la señal lateral a partir de la residual del lado del decodificador (aR = a¡ = 0).
[0198] En una realización específica, el factor de escala por banda se puede calcular, por ejemplo, según:
donde EDmxfbes la energía (por ejemplo, compleja) de la mezcla descendente de la trama actual (que se puede calcular, por ejemplo, de la manera antes descrita).
- En algunas realizaciones, después del procesamiento de relleno estéreo en el bloque de procesamiento estéreo y antes de la cuantificación, los bins (cajas) de la residual que estén dentro del intervalo de frecuencia de relleno estéreo se pueden ajustar, por ejemplo, a cero, si la mezcla descendente correspondiente a la banda equivalente (Media) es más intensa que la residual (Lateral):
Em
¿E
^
fsb
> umbral
Ef b = DmxR
fb
Efb = ^ Res*
fb
[0199] Por lo tanto, se consumen más bits en la codificación de la mezcla descendente y los bins de frecuencia más baja de la residual, mejorando la calidad general.
[0200] En realizaciones alternativas, se pueden ajustar todos los bits de la residual (Lateral), por ejemplo, a cero. Tales realizaciones alternativas se pueden basar, por ejemplo, en la presunción de que la mezcla descendente es, en la mayoría de los casos, más intensa que la residual.
[0201] La Fig. 11 ilustra el relleno estéreo de una señal lateral según algunas realizaciones específicas del lado del decodificador.
[0202] El relleno estéreo se aplica al canal lateral después de la decodificación, la cuantificación inversa y el relleno de ruido. En el caso de las bandas de frecuencia, dentro del intervalo de relleno estéreo, que se cuantifican a cero, se puede aplicar un “copiado y pegado” de la mezcla descendente del espectro de MDCT blanqueado de la última trama, por ejemplo, (como se aprecia en la Fig. 11), si la energía de la banda después del relleno de ruido no
alcanza la energía pretendida. La energía objetivo por banda de frecuencia se calcula a partir de los factores de corrección estéreo que se envían en forma de parámetros desde el codificador, por ejemplo, según la fórmula.
ETfb = correction_factor^b • EprevDmx^b
[0203] La generación de la señal lateral del lado del decodificador (a la que se puede hacer referencia, por ejemplo, como “copiado y pegado” de la mezcla descendente anterior) se lleva a cabo, por ejemplo, según la fórmula:
Si = Ni facDmXfb • prevDmXí, i e [fb, f b 1],
donde i denota los bins de frecuencia (valores espectrales) dentro de la banda de frecuencia fb, N es el espectro con relleno de ruido y facDmxfb es un factor que se aplica a la mezcla descendente anterior, que depende de los factores de corrección de relleno estéreo enviados desde el codificador.
[0204] Se puede calcular facDmxfb, en una realización específica, por ejemplo, por cada banda de frecuencia fb como:
facDmXfb
donde ENfb, es la energía del espectro con relleno de ruido en la banda fb y EprevDmxfb, es la respectiva energía de mezcla descendente de la trama anterior.
[0205] Del lado del codificador, otras realizaciones no tienen en cuenta el espectro de MDST (o el espectro de MDCT). En esas realizaciones, se adapta el procedimiento del lado del codificador, por ejemplo, de la siguiente manera:
En el caso de las bandas de frecuencia (fb) que están dentro de la región de frecuencia que comienza con la frecuencia más baja (por ejemplo, 0,08 Fs (Fs = frecuencia de muestreo)), hasta la frecuencia superior, (por ejemplo, la frecuencia de cruce de IGF):
- Se calcula una residual Res de la señal lateral Sr, por ejemplo, según:
R es = SR — a RD m xR — ajDmxj,
donde aR es un coeficiente de predicción (por ejemplo, real).
- Se calculan las energías de la residual Res y de la mezcla descendente de la trama anterior (señal media) prevDmx
EResfb = E /b ResR Jl fb Res'^,
EprevDmXfb = ^ prevDmxR ^ prevDmxI 2
fb fb
- De estas energías calculadas, (ERes f b , EprevDmx fb ), se calculan los factores de corrección de relleno estéreo y se transmiten como información lateral al decodificador:
correction_factorfb = ERe Sfb/(EprevDmXfb e)
[0206] En una realización, £ = 0. En otras realizaciones, por ejemplo, 0,1 > £ > 0, por ejemplo para evitar la división por 0.
- Se puede calcular el factor de escala por banda, por ej., dependiendo de los factores de corrección de relleno estéreo calculados, por ejemplo, por cada banda espectral para la cual se emplea el relleno estéreo.
[0207] En una realización específica, se puede calcular el factor de escala por cada banda, por ejemplo, según:
donde EDmxfbeslaenerg\a de la mezcla descendente de la trama actual (que se puede calcular, por ejemplo, de la manera descrita anteriormente).
- En algunas realizaciones, después del procesamiento de relleno estéreo en el bloque de procesamiento estéreo y con anterioridad a la cuantificación, se pueden ajustar a cero los bins de la residual que están dentro del intervalo de frecuencia de relleno estéreo, por ejemplo, a cero, si en la banda equivalente la mezcla descendente (Medio) es más intensa que la residual (Lateral):
pM
— f^b
¿F V- > umbral
fsb
Efb==Y_, DmxR
fb
Efb = ^ Res*
fb
[0208] Por lo tanto, se consumen más bits en la codificación de la mezcla descendente y los bins de frecuencia más baja de la residual, mejorando así la calidad general.
[0209] En realizaciones alternativas, se pueden ajustar todos los bits de la residual (Lateral), por ejemplo, a cero. Esas realizaciones alternativas se pueden basar, por ejemplo, en la presunción de que, en la mayoría de los casos, la mezcla descendente es más intensa que la residual.
[0210] Según algunas realizaciones, se pueden incluir medios, por ejemplo, para aplicar relleno estéreo en sistemas con FDNS, donde la envolvente espectral se codifica utilizando LSF (o una codificación similar en que no es posible cambiar el escalado en las bandas individuales de forma independiente).Según algunas de las realizaciones, se pueden incluir medios, por ejemplo, para aplicar relleno estéreo en sistemas sin la predicción compleja/real.
[0211] Algunas de las realizaciones pueden emplear, por ejemplo, relleno estéreo paramétrico, en el sentido de que se envían parámetros explícitos (factores de corrección de relleno estéreo) del codificador al decodificador, para controlar el relleno estéreo (por ejemplo, con la mezcla descendente de la trama anterior) del espectro de MDCT blanqueado izquierdo y derecho.
[0212] Más en general:
En algunas de las realizaciones, la unidad de codificación 120 de la Fig. 1a - Fig. 1e se puede configurar, por ejemplo, para generar la señal de audio procesada, de tal manera que al menos dicha banda espectral del primer canal de la señal de audio procesada sea dicha banda espectral de dicha señal media, y de tal manera que al menos dicha banda espectral del segundo canal de la señal de audio procesada sea dicha banda espectral de dicha señal lateral. Para obtener la señal de audio codificada, la unidad de codificación 120 se puede configurar, por ejemplo, para codificar dicha banda espectral de dicha señal lateral mediante la determinación de un factor de corrección para dicha banda espectral de dicha señal lateral. La unidad de codificación 120 se puede configurar, por ejemplo, para determinar dicho factor de corrección para dicha banda espectral de dicha señal lateral dependiendo de una residual y dependiendo de una banda espectral de una señal media anterior, que corresponde a dicha banda espectral de dicha señal media, donde la señal media anterior precede a dicha señal media en el tiempo. Además, la unidad de codificación 120 se puede configurar, por ej., para determinar la residual dependiendo de dicha banda espectral de dicha señal lateral, y dependiendo de dicha banda espectral de dicha señal media.
[0213] Según algunas de las realizaciones, la unidad de codificación 120 se puede configurar, por ejemplo, para determinar dicho factor de corrección para dicha banda espectral de dicha señal lateral según la fórmula
correction_factorpb = ERe Sfb/(EprevDmxpb + e)
donde correction_factorfb = ERe Sfb/{EprevDmxfb e) indica dicho factor de corrección para dicha banda espectral de dicha señal lateral, donde correction_factorfb = ERe Sfb/{EprevDmxfb s) indica una energía residual dependiendo de una energía de una banda espectral de dicha residual, que corresponde a dicha banda espectral de dicha señal media, donde correction_factorfb = ERe Sfb/{EprevDmxfb e) indica una energía anterior dependiendo de una energía de la banda espectral de la señal media anterior, y donde £ = 0, o donde 0,1 > £ > 0.
[0214] En algunas de las realizaciones, dicha residual se puede definir, por ejemplo, según
ResR = SR — aRDmxR,
donde ResR es dicha residual, donde Sr es dicha señal lateral, donde aR es un coeficiente (por ejemplo, real) (por ejemplo, un coeficiente de predicción), donde DmxR es dicha señal media, donde la unidad de codificación (120) se configura para determinar dicha energía residual según
[0215] Según algunas de las realizaciones, dicha residual se define según
ResR — SR — aR0mxR — a¡Dmx¡,
.
donde ResR es dicha residual, donde Sr es dicha señal lateral, donde aR es una parte real de un coeficiente (de predicción) complejo, y donde a¡ es una parte imaginaria de dicho coeficiente (de predicción) complejo, donde DmxR es dicha señal media, donde Dmxi es otra señal media que depende del primer canal de la señal de audio normalizada y que depende del segundo canal de la señal de audio normalizada, donde otra residual de otra señal lateral Si que depende del primer canal de la señal de audio normalizada y que depende del segundo canal de la señal de audio normalizada se define según
Res¡ = S/
—
agDmXj, - a/DmXj,
donde la unidad de codificación 120 se puede configurar, por ejemplo, para determinar dicha energía residual según
EResftr = z fb Res% + Z fb R e s f
donde la unidad de codificación 120 se puede configurar, por ejemplo, para determinar la energía anterior dependiendo de la energía de la banda espectral de dicha residual, que corresponde a dicha banda espectral de dicha señal media, y dependiendo de una energía de una banda espectral de dicha residual adicional, que corresponde a dicha banda espectral de dicha señal media.
[0216] En algunas de las realizaciones, la unidad de decodificación 210 de la Fig. 2a - Fig. 2e se puede configurar, por ejemplo, para determinar, por cada banda espectral de dicha pluralidad de bandas espectrales, si dicha banda espectral del primer canal de la señal de audio codificada y dicha banda espectral del segundo canal de la señal de audio codificada se codificó empleando codificación doble-mono o utilizando la codificación medio-lateral. Además, la unidad de decodificación 210 se puede configurar, por ejemplo, para obtener dicha banda espectral del segundo canal de la señal de audio codificada mediante la reconstrucción de dicha banda espectral del segundo canal. Si se ha utilizado la codificación medio-lateral, dicha banda espectral del primer canal de la señal de audio codificada es una banda espectral de una señal media, y dicha banda espectral del segundo canal de la señal de audio codificada es una banda espectral de una señal lateral. Además, si se ha utilizado la codificación medio-lateral, la unidad de decodificación 210 se puede configurar, por ejemplo, para reconstruir dicha banda espectral de la señal lateral dependiendo de un factor de corrección para dicha banda espectral de la señal lateral y dependiendo de una banda espectral de una señal media anterior, que corresponde a dicha banda espectral de dicha señal media, donde la señal media anterior precede a dicha señal media en el tiempo.
[0217] Según algunas de las realizaciones, si se ha utilizado la codificación medio-lateral, la unidad de
decodificación 210 se puede configurar, por ejemplo, para reconstruir dicha banda espectral de la señal lateral, mediante la reconstrucción de valores espectrales de dicha banda espectral de la señal lateral según
S¿ = N¿+ facDmXfb • prevDmxt
donde Si indica los valores espectrales de dicha banda espectral de la señal lateral, donde prevDmxi indica los valores espectrales de la banda espectral de dicha señal media anterior, donde Ni indica los valores espectrales de un espectro con relleno de ruido, donde facDmxfb se define según
facDmXfb
donde correction_factorfb es dicho factor de corrección para dicha banda espectral de la señal lateral, donde ENfb, es una energía del espectro con relleno de ruido, donde EprevDmxfb es una energía de dicha banda espectral de dicha señal media anterior, y donde £ = 0, o donde 0,1 > £ > 0.
[0218] En algunas de las realizaciones, se puede derivar una residual, por ejemplo, de un algoritmo de predicción compleja estéreo en el codificador, mientras que no haya una predicción estéreo (real o compleja) del lado del decodificador.
[0219] Según algunas de las realizaciones, se puede recurrir al escalado corrector de la energía del espectro del lado del codificador, por ejemplo, para compensar la falta de procesamiento de predicción inversa del lado del decodificador.
[0220] Aunque se han descrito algunos aspectos en el contexto de un aparato, es obvio que estos aspectos también representan una descripción del procedimiento correspondiente, en el cual un bloque o dispositivo corresponde a una etapa del procedimiento o a una característica de una etapa del procedimiento. De manera análoga, los aspectos descritos en el contexto de una etapa del procedimiento también representan una descripción de un bloque o elemento correspondiente o de una característica de un aparato correspondiente. Algunas o todas las etapas del procedimiento se pueden ejecutar por (o utilizando) un aparato de hardware, como por ejemplo, un microprocesador, un ordenador programable o un circuito electrónico. En algunas realizaciones, una cualquiera o más de las etapas más importantes del procedimiento se pueden ejecutar por ese tipo de aparato.
[0221] Dependiendo de ciertos requisitos de implementación, las formas se pueden implementar en hardware o en software o al menos parcialmente en software, o al menos parcialmente en hardware o al menos parcialmente en software. La implementación se puede realizar empleando un medio de almacenamiento digital, por ejemplo, un disco blando, un DVD, un Blu-Ray, un CD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, que tiene almacenadas en la misma señales de control legibles electrónicamente, que cooperan (o tienen capacidad para cooperar) con un sistema de computación programable de tal manera que se ejecute el procedimiento respectivo. Por lo tanto, el medio de almacenamiento digital puede ser legible por un ordenador.
[0222] Algunas realizaciones según la invención comprenden un soporte no transitorio de datos que comprende señales de control legibles electrónicamente, con capacidad para cooperar con un sistema informático programable de tal manera que se ejecute uno de los procedimientos descritos en esta invención.
[0223] En general, las realizaciones de la presente invención se pueden implementar en forma de producto programa informático con un código de programa, donde el código de programa cumple la función de ejecutar uno de los procedimientos al ejecutarse el programa informático en un ordenador. El código de programa se puede almacenar, por ejemplo, en un soporte legible por una máquina.
[0224] Otras realizaciones comprenden el programa informático para ejecutar uno de los procedimientos descritos en esta invención, almacenado en un soporte legible por una máquina.
[0225] En otras palabras, una realización del procedimiento de la invención consiste, por lo tanto, en un programa informático que consta de un código de programa para ejecutar uno de los procedimientos descritos en esta invención al ejecutar el programa informático en un ordenador.
[0226] Otra realización de los procedimientos de la invención consiste, por lo tanto, en un soporte de datos (o medio de almacenamiento digital, o medio legible por ordenador) que comprende, grabado en el mismo, el programa informático para ejecutar uno de los procedimientos descritos en esta invención. El soporte de datos, el medio de almacenamiento digital o el medio grabado son por lo general tangibles y/o no transitorios.
[0227] Otra realización del procedimiento de la invención es, por lo tanto, un flujo de datos o una secuencia de señales que representa el programa informático para ejecutar uno de los procedimientos descritos en la invención. El flujo de datos o la secuencia de señales se puede configurar, por ejemplo, para ser transferida a través de una conexión de comunicación de datos, por ejemplo, a través de Internet.
[0228] Una realización adicional comprende un medio de procesamiento, por ejemplo, un ordenador, un dispositivo lógico programable, configurado o adaptado para ejecutar uno de los procedimientos descritos en esta invención.
[0229] Otra realización comprende un ordenador en la que se ha instalado el programa informático para ejecutar uno de los procedimientos descritos en esta invención.
[0230] Otra de las realizaciones según la invención comprende un aparato o un sistema configurado para transferir (por ejemplo, por vía electrónica u óptica) un programa informático para ejecutar uno de los procedimientos descritos en esta invención a un receptor. El receptor puede ser, por ejemplo, un ordenador, un dispositivo móvil, un dispositivo de memoria o similar. El aparato o sistema puede comprender, por ejemplo, un servidor de archivos para transferir un programa informático al receptor.
[0231] En algunas realizaciones, se puede utilizar un dispositivo lógico programable (por ejemplo, una matriz de puertas programables en el campo) para ejecutar algunas o todas las funcionalidades de los procedimientos descritos en esta invención. En algunas realizaciones, una matriz de puertas programables en el campo puede cooperar con un microprocesador para ejecutar uno de los procedimientos descritos en esta invención. Por lo general, los procedimientos son ejecutados preferentemente por cualquier aparato de hardware.
[0232] El aparato descrito en esta invención se puede implementar empleando un aparato de hardware o utilizando un ordenador, o utilizando una combinación de aparato de hardware y un ordenador.
[0233] Los procedimientos descritos en esta invención se pueden poner en práctica empleando un aparato de hardware o utilizando un ordenador, o utilizando una combinación de aparato de hardware y un ordenador.
[0234] Las realizaciones antes descritas son meramente ilustrativas de los principios de la presente invención. Se entiende que las modificaciones y variaciones de las disposiciones y los detalles descritos en esta invención deben resultar obvios para otras personas expertas en la materia. Por lo tanto, sólo se pretende quedar limitados por el alcance de las siguientes reivindicaciones de patente y no por los detalles específicos presentados a modo de descripción y explicación de las realizaciones de esta invención.
Bibliografía
[0235]
[1] J. Herre, E. Eberlein y K. Brandenburg, "Combined Stereo Coding," in 93rd AES Convention, San Francisco, 1992.
[2] J. D. Johnston y A. J. Ferreira, "Sum-difference stereo transform coding," en Proc. ICASSP, 1992.
[3] 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.
[4] ISO/IEC 13818-7, Information technology - Generic coding of moving pictures and associated audio information - Parte 7: Advanced Audio Coding (AAC), 2003.
[5] J.-M. Valin, G. Maxwell, T. B. Terriberry y K. Vos, "High-Quality, Low-Delay Music Coding in the Opus Codec," en Proc. AES 135th Convention, New York, 2013.
[6a] 3GPP TS 26.445, Codec for Enhanced Voice Services (EVS); Detailed algorithmic description, V 12.5.0, diciembre de 2015.
[6b] 3GPP TS 26.445, Codec for Enhanced Voice Services (EVS); Detailed algorithmic description, V 13.3.0, septiembre de 2016.
[7] H. Purnhagen, P. Carlsson, L. Villemoes, J. Robilliard, M. Neusinger, C. Helmrich, J. Hilpert, N. Rettelbach, S. Disch y B. Edler, "Audio encoder, audio decoder and related methods for processing multi-channel audio signals using complex prediction". Patente de EE. UU. 8.655.670 B2, 18 de febrero de 2014.
[8] G. Markovic, F. Guillaume, N. Rettelbach, C. Helmrich y B. Schubert, "Linear prediction based coding scheme using spectral domain noise shaping". Patente europea 2676266 B1, 14 de febrero de 2011.
[9] S. Disch, F. Nagel, R. Geiger, B. N. Thoshkahna, K. Schmidt, S. Bayer, C. Neukam, B. Edler y C. Helmrich, "Audio Encoder, Audio Decoder and Related Methods Using Two-Channel Processing Within an Intelligent Gap Filling Framework". Patente internacional PCT/EP2014/065106, 15072014.
[10] C. Helmrich, P. Carlsson, S. Disch, B. Edler, J. Hilpert, M. Neusinger, H. Purnhagen, N. Rettelbach, J. Robilliard y L. Villemoes, "Efficient Transform Coding Of Two-channel Audio Signals By Means Of Complex-valued Stereo Prediction," in Acoustics, Speech y Signal Processing (ICASSP), 2011 IEEE International Conference on, Praga, 2011.
[11] C. R. Helmrich, A. Niedermeier, S. Bayer y B. Edler, "Low-complexity semi-parametric joint-stereo audio transform coding," en Signal Processing Conference (EUSIPCO), 201523rd European, 2015.
[12] H. Malvar, “A Modulated Complex Lapped Transform and its Applications to Audio Processing” in Acoustics, Speech, and Signal Processing (ICASSP), 1999. Proceedings., 1999 IEEE International Conference on, Fenix, AZ, 1999.
[13] B. Edler y G. Schuller, "Audio coding using a psychoacoustic pre- y post-filter," Acoustics, Speech, y Signal Processing, 2000. ICASSP '00.
Claims (14)
1. Un aparato para codificar un primer canal y un segundo canal de una señal de entrada de audio que comprende dos o más canales para obtener una señal de audio codificada, donde el aparato comprende:
un normalizador (110) configurado para determinar un valor de normalización para la señal de entrada de audio dependiendo del primer canal de la señal de entrada de audio y dependiendo del segundo canal de la señal de entrada de audio, donde el normalizador (110) está configurado para determinar un primer canal y un segundo canal de una señal de audio normalizada mediante la modificación, dependiendo del valor de normalización, de al menos uno del primer canal y el segundo canal de la señal de entrada de audio,
una unidad de codificación (120) configurada para elegir un modo entre un modo de codificación medio-lateral total y un modo de codificación doble-mono total y un modo de codificación por banda dependiendo de una pluralidad de bandas espectrales de un primer canal de la señal de audio normalizada y dependiendo de una pluralidad de bandas espectrales de un segundo canal de la señal de audio normalizada,
donde la unidad de codificación (120) está configurada, si se elige el modo de codificación por banda, para generar una señal de audio procesada que tiene un primer canal y un segundo canal, de tal forma que una o más bandas espectrales del primer canal de la señal de audio procesada son una o más bandas espectrales del primer canal de la señal de audio normalizada, de tal forma que una o más bandas espectrales del segundo canal de la señal de audio procesada son una o más bandas espectrales del segundo canal de la señal de audio normalizada, de tal forma que al menos una banda espectral del primer canal de la señal de audio procesada es una banda espectral de una señal media dependiendo de una banda espectral del primer canal de la señal de audio normalizada y dependiendo de una banda espectral del segundo canal de la señal de audio normalizada, y de tal forma que al menos una banda espectral del segundo canal de la señal de audio procesada es una banda espectral de una señal lateral dependiendo de una banda espectral del primer canal de la señal de audio normalizada y dependiendo de una banda espectral del segundo canal de la señal de audio normalizada, donde la unidad de codificación (120) está configurada para codificar la señal de audio procesada para obtener la señal de audio codificada, donde la unidad de codificación (120) está configurada para generar la señal de audio procesada dependiendo de una decisión media-lateral por banda para cada banda espectral de una pluralidad de bandas espectrales de la señal de audio normalizada, donde la decisión media-lateral por banda depende de una estimación de bits por banda para un modo izquierdo/derecho para cada banda espectral de la pluralidad de bandas espectrales de la señal de audio normalizada y depende de una estimación de bits por banda para un modo medio/lateral para cada banda espectral de la pluralidad de bandas espectrales, donde se elige el modo con menos bits para la banda espectral,
donde la unidad de codificación (120) está configurada, si se elige el modo de codificación medio-lateral total, para generar una señal media desde el primer canal y desde el segundo canal de la señal de audio normalizada como un primer canal de señal media-lateral, para generar una señal lateral desde el primer canal y desde el segundo canal de la señal de audio normalizada como un segundo canal de la señal media-lateral, y para codificar la señal media-lateral para obtener la señal de audio codificada,
donde la unidad de codificación (120) está configurada, si se elige el modo de codificación doble-mono total, para codificar la señal de audio normalizada para obtener la señal de audio codificada,
donde la señal de entrada de audio se representa en un dominio espectral,
donde el normalizador (110) está configurado para determinar el valor de normalización para la señal de entrada de audio dependiendo de una pluralidad de bandas espectrales del primer canal de la señal de entrada de audio y dependiendo de una pluralidad de bandas espectrales del segundo canal de la señal de entrada de audio, y donde el normalizador (110) está configurado para determinar la señal de audio normalizada modificando, dependiendo del valor de normalización, la pluralidad de bandas espectrales de al menos uno del primer canal y el segundo canal de la señal de entrada de audio,
donde el normalizador (110) está configurado para determinar el valor de normalización basado en las fórmulas:
NRGl = Jy~MDC 7~
NRG,
!LD =
N --
R --
G -
, -
. -
+ -- -
N -
R --
G -
f -
donde MDCTl,a es un k-ésimo coeficiente de un espectro MDCT del primer canal de la señal de entrada de audio, y
MDCTr.a es el k-ésimo coeficiente del espectro MDCT del segundo canal de la señal de entrada de audio, y donde el normalizador (110) está configurado para determinar el valor de normalización mediante la cuantificación de ILD.
2. Un aparato según la reivindicación 1,
donde la unidad de codificación (120) está configurada, si se opta por el modo de codificación por banda, para decidir, por cada banda espectral de una pluralidad de bandas espectrales de la señal de audio procesada, si se emplea la codificación medio-lateral o si se emplea la codificación doble-mono,
donde, si se emplea la codificación medio-lateral para dicha banda espectral, la unidad de codificación (120) está configurada para generar dicha banda espectral del primer canal de la señal de audio procesada como banda espectral de una señal media sobre la base de dicha banda espectral del primer canal de la señal de audio normalizada y sobre la base de dicha banda espectral del segundo canal de la señal de audio normalizada, y la unidad de codificación (120) está configurada para generar dicha banda espectral del segundo canal de la señal de audio procesada como banda espectral de una señal lateral sobre la base de dicha banda espectral del primer canal de la señal de audio normalizada y sobre la base de dicha banda espectral del segundo canal de la señal de audio normalizada, y
donde, si se emplea la codificación doble-mono para dicha banda espectral,
la unidad de codificación (120) está configurada para usar dicha banda espectral del primer canal de la señal de audio normalizada como dicha banda espectral del primer canal de la señal de audio procesada, y está configurada para usar dicha banda espectral del segundo canal de la señal de audio normalizada como dicha banda espectral del segundo canal de la señal de audio procesada, o
la unidad de codificación (120) está configurada para usar dicha banda espectral del segundo canal de la señal de audio normalizada como dicha banda espectral del primer canal de la señal de audio procesada, y está configurada para usar dicha banda espectral del primer canal de la señal de audio normalizada como dicha banda espectral del segundo canal de la señal de audio procesada.
3. Un aparato según la reivindicación 1 o 2, donde la unidad de codificación (120) está configurada para elegir entre el modo de codificación medio-lateral total y el modo de codificación doble-mono total y el modo de codificación por banda mediante la determinación de una primera estimación que calcula un primer número de bits que se necesitan para la codificación cuando se emplea el modo de codificación medio-lateral total, mediante la determinación de una segunda estimación que calcula un segundo número de bits que se necesitan para la codificación cuando se emplea el modo de codificación doble-mono total, mediante la determinación de una tercera estimación que calcula un tercer número de bits que se necesitan para la codificación cuando se emplea el modo de codificación por banda, y mediante la elección de ese modo de codificación entre el modo de codificación medio-lateral total y el modo de codificación doble-mono total y el modo de codificación por banda que tenga un menor número de bits entre la primera estimación y la segunda estimación y la tercera estimación.
4. Un aparato según la reivindicación 3,
donde la unidad de codificación (120) está configurada para estimar la tercera estimación BW, que estima el tercer número de bits que se necesitan para la codificación cuando se emplea el modo de codificación por banda, según la fórmula:
b BW — nBandas £ " f0andas 1 min(bibwLR,bihwMS)
donde nBandas es un número de bandas espectrales de la señal de audio normalizada,
donde b b iwMS es una estimación del número de bits que se necesitan para codificar una iésima banda espectral de la señal media y para codificar la iésima banda espectral de la señal lateral, y
^ i
donde bwLR es una estimación del número de bits que se necesitan para codificar una iésima banda espectral de la primera señal y para codificar la iésima banda espectral de la segunda señal.
5. Un aparato según la reivindicación 1 o 2, donde la unidad de codificación (120) está configurada para elegir entre el modo de codificación medio-lateral total y el modo de codificación doble-mono total y el modo de codificación por banda mediante la determinación de una primera estimación que calcula un primer número de bits que se ahorran cuando se codifica en el modo de codificación medio-lateral total, mediante la determinación de una segunda estimación que calcula un segundo número de bits que se ahorran cuando se codifica en el modo de codificación doble-mono total, mediante la determinación de una tercera estimación que calcula un tercer número de bits que se ahorran cuando se codifica en el modo de codificación por banda, y mediante la elección de ese modo de codificación entre el modo de codificación medio-lateral total y el modo de codificación doble-mono total y el modo de codificación por banda que ofrece el ahorro del mayor número de bits entre la primera estimación y la segunda estimación y la tercera estimación.
6. Un aparato según la reivindicación 1 o 2, donde la unidad de codificación (120) está configurada para elegir entre el modo de codificación medio-lateral total y el modo de codificación doble-mono total y el modo de codificación por banda mediante la estimación de una primera relación señal a ruido que se produce cuando se emplea el modo de codificación medio-lateral total, mediante la estimación de una segunda relación señal a ruido que se produce cuando se emplea el modo de codificación doble-mono total, mediante la estimación de una tercera relación señal a ruido que se produce cuando se emplea el modo de codificación por banda, y mediante la elección de ese modo de codificación entre el modo de codificación medio-lateral total y el modo de codificación doble-mono total y el modo de codificación por banda con la mayor relación señal a ruido entre la primera relación señal a ruido y la segunda relación señal a ruido y la tercera relación señal a ruido.
7. Un aparato según una de las reivindicaciones anteriores,
donde el aparato para codificación comprende además una unidad de transformación (102) y una unidad de preprocesamiento (105),
donde la unidad de transformación (102) está configurada para transformar una señal de audio en el dominio del tiempo de un dominio de tiempo a un dominio de frecuencia para obtener una señal de audio transformada, donde la unidad de preprocesamiento (105) está configurada para generar el primer canal y el segundo canal de la señal de entrada de audio aplicando una operación de formación de ruido en el dominio de la frecuencia del lado del codificador sobre la señal de audio transformada.
8. Un aparato según la reivindicación 7,
donde la unidad de preprocesamiento (105) está configurada para generar el primer canal y el segundo canal de la señal de entrada de audio aplicando una operación de conformación de ruido temporal del lado del codificador en la señal de audio transformada antes de aplicar la operación de conformación de ruido del dominio de frecuencia del lado del codificador en la señal de audio transformada.
9. Un aparato según una de las reivindicaciones anteriores,
donde la unidad de codificación (120) está configurada para obtener la señal de audio codificada aplicando Relleno Inteligente de Huecos Estéreo del lado del codificador en la señal de audio normalizada o en la señal de audio procesada.
10. Un aparato según una de las reivindicaciones anteriores, donde la señal de entrada de audio es una señal de audio estéreo que comprende exactamente dos canales.
11. Un sistema para codificar cuatro canales de una señal de entrada de audio que comprende cuatro o más canales para obtener una señal de audio codificada, donde el sistema comprende:
un primer aparato (170) según una de las reivindicaciones 1 a 9, para codificar un primer canal y un segundo canal
de los cuatro o más canales de la señal de entrada de audio para obtener un primer canal y un segundo canal de la señal de audio codificada, y
un segundo aparato (180) según una de las reivindicaciones 1 a 9, para codificar un tercer canal y un cuarto canal de los cuatro o más canales de la señal de entrada de audio para obtener un tercer canal y un cuarto canal de la señal de audio codificada.
12. Un sistema para generar una señal de audio codificada a partir de una señal de entrada de audio y para generar una señal de audio decodificada a partir de la señal de audio codificada, que comprende:
un aparato (310) según una de las reivindicaciones 1 a 10, donde el aparato (310) según una de las reivindicaciones 1 a 10 está configurado para generar la señal de audio codificada a partir de la señal de entrada de audio, y un aparato (320) para decodificar la señal de audio codificada que comprende un primer canal y un segundo canal para obtener un primer canal y un segundo canal de una señal de audio decodificada que comprende dos o más canales, donde el aparato comprende una unidad de decodificación (210) configurada para determinar para cada banda espectral de una pluralidad de bandas espectrales, si dicha banda espectral del primer canal de la señal de audio codificada y dicha banda espectral del segundo canal de la señal de audio codificada se codificaron mediante el uso de codificación dual-mono o mediante el uso de codificación media-lateral,
donde la unidad de decodificación (210) está configurada para utilizar dicha banda espectral del primer canal de la señal de audio codificada como banda espectral de un primer canal de una señal de audio intermedia y está configurada para utilizar dicha banda espectral del segundo canal de la señal de audio codificada como una banda espectral de un segundo canal de la señal de audio intermedia, si se utilizó la codificación dual-mono, donde la unidad de decodificación (210) está configurada para generar una banda espectral del primer canal de la señal de audio intermedia en base a dicha banda espectral del primer canal de la señal de audio codificada y en base a dicha banda espectral del segundo canal de la señal de audio codificada, y generar una banda espectral del segundo canal de la señal de audio intermedia en base a dicha banda espectral del primer canal de la señal de audio codificada y en base a dicha banda espectral del segundo canal de la señal de audio codificada, si se utilizó la codificación media-lateral, y
donde el aparato comprende un desnormalizador (220) configurado para modificar, dependiendo de un valor de desnormalización, al menos uno del primer canal y el segundo canal de la señal de audio intermedia para obtener el primer canal y el segundo canal de la señal de audio decodificada.
13. Un procedimiento para codificar un primer canal y un segundo canal de una señal de entrada de audio que comprende dos o más canales para obtener una señal de audio codificada, donde el procedimiento comprende:
determinar un valor de normalización para la señal de entrada de audio dependiendo del primer canal de la señal de entrada de audio y dependiendo del segundo canal de la señal de entrada de audio,
determinar un primer canal y un segundo canal de una señal de audio normalizada modificando, dependiendo del valor de normalización, al menos uno del primer canal y el segundo canal de la señal de entrada de audio, elegir un modo entre un modo de codificación medio-lateral total y un modo de codificación doble-mono total y un modo de codificación por banda dependiendo de una pluralidad de bandas espectrales de un primer canal de la señal de audio normalizada y dependiendo de una pluralidad de bandas espectrales de un segundo canal de la señal de audio normalizada,
donde, si se elige el modo de codificación por bandas, generar una señal de audio procesada que tenga un primer canal y un segundo canal, de modo que una o más bandas espectrales del primer canal de la señal de audio procesada sean una o más bandas espectrales del primer canal de la señal de audio normalizada, de manera que una o más bandas espectrales del segundo canal de la señal de audio procesada sean una o más bandas espectrales del segundo canal de la señal de audio normalizada, de tal forma que al menos una banda espectral del primer canal de la señal de audio procesada es una banda espectral de una señal media que depende de una banda espectral del primer canal de la señal de audio normalizada y que depende de una banda espectral del segundo canal de la señal de audio normalizada, y de tal forma que al menos una banda espectral del segundo canal de la señal de audio procesada es una banda espectral de una señal lateral que depende de una banda espectral del primer canal de la señal de audio normalizada y que depende de una banda espectral del segundo canal de la señal de audio normalizada, y codificar la señal de audio procesada para obtener la señal de audio codificada, donde la generación de la señal de audio procesada se lleva a cabo dependiendo de una decisión media-lateral por banda para cada banda espectral de una pluralidad de bandas espectrales de la señal de audio normalizada, donde la decisión media-lateral por banda depende de una estimación de bits por banda para un modo izquierdo/derecho para cada banda espectral de la pluralidad de bandas espectrales de la señal de audio normalizada y depende de una estimación de bits por banda para un modo medio-lateral para cada banda espectral de la pluralidad de bandas espectrales, donde se elige el modo con menos bits para la banda espectral, donde, si se elige el modo de codificación medio-lateral total, generar una señal media desde el primer canal y desde el segundo canal de la señal de audio normalizada como un primer canal de una señal media-lateral, para generar una señal lateral a partir del primer canal y a partir del segundo canal de la señal de audio normalizada como segundo canal de la señal media-lateral, y codificar la señal media-lateral para obtener la señal de audio codificada,
donde, si se elige el modo de codificación doble-mono total, codificar la señal de audio normalizada para obtener la señal de audio codificada,
donde la señal de entrada de audio se representa en un dominio espectral,
donde la determinación del valor de normalización para la señal de entrada de audio se realiza dependiendo de una pluralidad de bandas espectrales del primer canal de la señal de entrada de audio y dependiendo de una pluralidad de bandas espectrales del segundo canal de la señal de entrada de audio, y
donde la determinación de la señal de audio normalizada se lleva a cabo modificando, dependiendo del valor de normalización, la pluralidad de bandas espectrales de al menos uno del primer canal y el segundo canal de la señal de entrada de audio,
donde la determinación del valor de normalización se lleva a cabo en base a las fórmulas:
donde MDCTl.k es un k-ésimo coeficiente de un espectro MDCT del primer canal de la señal de entrada de audio, y MDCTpu es el k-ésimo coeficiente del espectro MDCT del segundo canal de la señal de entrada de audio, y donde la determinación del valor de normalización se lleva a cabo mediante la cuantificación de ILD.
14. Un programa informático para implementar el procedimiento de la reivindicación 13 cuando se ejecuta en un ordenador o procesador de señales.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16152454 | 2016-01-22 | ||
EP16152457 | 2016-01-22 | ||
EP16199895 | 2016-11-21 | ||
PCT/EP2017/051177 WO2017125544A1 (en) | 2016-01-22 | 2017-01-20 | Apparatus and method for mdct m/s stereo with global ild with improved mid/side decision |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2932053T3 true ES2932053T3 (es) | 2023-01-09 |
Family
ID=57860879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES17700980T Active ES2932053T3 (es) | 2016-01-22 | 2017-01-20 | Codificación de audio estéreo con normalización basada en ild antes de la decisión media/lateral |
Country Status (17)
Country | Link |
---|---|
US (2) | US11842742B2 (es) |
EP (2) | EP4123645A1 (es) |
JP (3) | JP6864378B2 (es) |
KR (1) | KR102230668B1 (es) |
CN (2) | CN117542365A (es) |
AU (1) | AU2017208561B2 (es) |
CA (1) | CA3011883C (es) |
ES (1) | ES2932053T3 (es) |
FI (1) | FI3405950T3 (es) |
MX (1) | MX2018008886A (es) |
MY (1) | MY188905A (es) |
PL (1) | PL3405950T3 (es) |
RU (1) | RU2713613C1 (es) |
SG (1) | SG11201806256SA (es) |
TW (1) | TWI669704B (es) |
WO (1) | WO2017125544A1 (es) |
ZA (1) | ZA201804866B (es) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10734001B2 (en) * | 2017-10-05 | 2020-08-04 | Qualcomm Incorporated | Encoding or decoding of audio signals |
CN110556116B (zh) | 2018-05-31 | 2021-10-22 | 华为技术有限公司 | 计算下混信号和残差信号的方法和装置 |
CN115132214A (zh) | 2018-06-29 | 2022-09-30 | 华为技术有限公司 | 立体声信号的编码、解码方法、编码装置和解码装置 |
MX2020014077A (es) * | 2018-07-04 | 2021-03-09 | Fraunhofer Ges Forschung | Codificador multise?al, decodificador multise?al, y metodos relacionados que utilizan blanqueado de se?al o post procesamiento de se?al. |
CN113348507A (zh) | 2019-01-13 | 2021-09-03 | 华为技术有限公司 | 高分辨率音频编解码 |
US11527252B2 (en) | 2019-08-30 | 2022-12-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | MDCT M/S stereo |
WO2023153228A1 (ja) * | 2022-02-08 | 2023-08-17 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、及び、符号化方法 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3435674B2 (ja) * | 1994-05-06 | 2003-08-11 | 日本電信電話株式会社 | 信号の符号化方法と復号方法及びそれを使った符号器及び復号器 |
DE19628293C1 (de) * | 1996-07-12 | 1997-12-11 | Fraunhofer Ges Forschung | Codieren und Decodieren von Audiosignalen unter Verwendung von Intensity-Stereo und Prädiktion |
US6370502B1 (en) * | 1999-05-27 | 2002-04-09 | America Online, Inc. | Method and system for reduction of quantization-induced block-discontinuities and general purpose audio codec |
DE19959156C2 (de) * | 1999-12-08 | 2002-01-31 | Fraunhofer Ges Forschung | Verfahren und Vorrichtung zum Verarbeiten eines zu codierenden Stereoaudiosignals |
EP1723639B1 (en) | 2004-03-12 | 2007-11-14 | Nokia Corporation | Synthesizing a mono audio signal based on an encoded multichannel audio signal |
US8041042B2 (en) * | 2006-11-30 | 2011-10-18 | Nokia Corporation | Method, system, apparatus and computer program product for stereo coding |
MY146431A (en) | 2007-06-11 | 2012-08-15 | Fraunhofer Ges Forschung | Audio encoder for encoding an audio signal having an impulse-like portion and stationary portion, encoding methods, decoder, decoding method, and encoded audio signal |
JP5302980B2 (ja) | 2008-03-04 | 2013-10-02 | フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | 複数の入力データストリームのミキシングのための装置 |
EP2144231A1 (en) * | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low bitrate audio encoding/decoding scheme with common preprocessing |
RU2520329C2 (ru) | 2009-03-17 | 2014-06-20 | Долби Интернешнл Аб | Усовершенствованное стереофоническое кодирование на основе комбинации адаптивно выбираемого левого/правого или среднего/побочного стереофонического кодирования и параметрического стереофонического кодирования |
EP2375409A1 (en) | 2010-04-09 | 2011-10-12 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder, audio decoder and related methods for processing multi-channel audio signals using complex prediction |
CA3045686C (en) * | 2010-04-09 | 2020-07-14 | Dolby International Ab | Audio upmixer operable in prediction or non-prediction mode |
DE102010014599A1 (de) | 2010-04-09 | 2010-11-18 | Continental Automotive Gmbh | Luftmassenmesser |
EP2676266B1 (en) * | 2011-02-14 | 2015-03-11 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Linear prediction based coding scheme using spectral domain noise shaping |
EP3244405B1 (en) * | 2011-03-04 | 2019-06-19 | Telefonaktiebolaget LM Ericsson (publ) | Audio decoder with post-quantization gain correction |
US8654984B2 (en) * | 2011-04-26 | 2014-02-18 | Skype | Processing stereophonic audio signals |
CN104050969A (zh) | 2013-03-14 | 2014-09-17 | 杜比实验室特许公司 | 空间舒适噪声 |
EP2830064A1 (en) * | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for decoding and encoding an audio signal using adaptive spectral tile selection |
US9883308B2 (en) * | 2014-07-01 | 2018-01-30 | Electronics And Telecommunications Research Institute | Multichannel audio signal processing method and device |
US10152977B2 (en) * | 2015-11-20 | 2018-12-11 | Qualcomm Incorporated | Encoding of multiple audio signals |
US10115403B2 (en) * | 2015-12-18 | 2018-10-30 | Qualcomm Incorporated | Encoding of multiple audio signals |
-
2017
- 2017-01-20 WO PCT/EP2017/051177 patent/WO2017125544A1/en active Application Filing
- 2017-01-20 SG SG11201806256SA patent/SG11201806256SA/en unknown
- 2017-01-20 RU RU2018130149A patent/RU2713613C1/ru active
- 2017-01-20 FI FIEP17700980.0T patent/FI3405950T3/fi active
- 2017-01-20 AU AU2017208561A patent/AU2017208561B2/en active Active
- 2017-01-20 KR KR1020187022988A patent/KR102230668B1/ko active IP Right Grant
- 2017-01-20 ES ES17700980T patent/ES2932053T3/es active Active
- 2017-01-20 CN CN202311493628.5A patent/CN117542365A/zh active Pending
- 2017-01-20 EP EP22191567.1A patent/EP4123645A1/en active Pending
- 2017-01-20 PL PL17700980.0T patent/PL3405950T3/pl unknown
- 2017-01-20 CN CN201780012788.XA patent/CN109074812B/zh active Active
- 2017-01-20 EP EP17700980.0A patent/EP3405950B1/en active Active
- 2017-01-20 MY MYPI2018001322A patent/MY188905A/en unknown
- 2017-01-20 CA CA3011883A patent/CA3011883C/en active Active
- 2017-01-20 JP JP2018538111A patent/JP6864378B2/ja active Active
- 2017-01-20 MX MX2018008886A patent/MX2018008886A/es unknown
- 2017-01-23 TW TW106102400A patent/TWI669704B/zh active
-
2018
- 2018-07-19 ZA ZA2018/04866A patent/ZA201804866B/en unknown
- 2018-07-20 US US16/041,691 patent/US11842742B2/en active Active
-
2021
- 2021-03-26 JP JP2021052602A patent/JP7280306B2/ja active Active
-
2023
- 2023-05-11 JP JP2023078313A patent/JP2023109851A/ja active Pending
- 2023-10-30 US US18/497,703 patent/US20240071395A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN109074812A (zh) | 2018-12-21 |
MY188905A (en) | 2022-01-13 |
US20240071395A1 (en) | 2024-02-29 |
FI3405950T3 (fi) | 2022-12-15 |
CA3011883A1 (en) | 2017-07-27 |
JP2023109851A (ja) | 2023-08-08 |
ZA201804866B (en) | 2019-04-24 |
EP3405950B1 (en) | 2022-09-28 |
PL3405950T3 (pl) | 2023-01-30 |
AU2017208561A1 (en) | 2018-08-09 |
JP2019506633A (ja) | 2019-03-07 |
EP4123645A1 (en) | 2023-01-25 |
MX2018008886A (es) | 2018-11-09 |
AU2017208561B2 (en) | 2020-04-16 |
US20180330740A1 (en) | 2018-11-15 |
JP7280306B2 (ja) | 2023-05-23 |
TWI669704B (zh) | 2019-08-21 |
US11842742B2 (en) | 2023-12-12 |
CA3011883C (en) | 2020-10-27 |
KR102230668B1 (ko) | 2021-03-22 |
CN117542365A (zh) | 2024-02-09 |
BR112018014813A2 (pt) | 2018-12-18 |
SG11201806256SA (en) | 2018-08-30 |
WO2017125544A1 (en) | 2017-07-27 |
CN109074812B (zh) | 2023-11-17 |
EP3405950A1 (en) | 2018-11-28 |
KR20180103102A (ko) | 2018-09-18 |
JP2021119383A (ja) | 2021-08-12 |
TW201732780A (zh) | 2017-09-16 |
RU2713613C1 (ru) | 2020-02-05 |
JP6864378B2 (ja) | 2021-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2932053T3 (es) | Codificación de audio estéreo con normalización basada en ild antes de la decisión media/lateral | |
ES2901109T3 (es) | Codificador de audio para la codificación de una señal de múltiples canales y un decodificador de audio para la decodificación de una señal de audio codificada | |
JP6735053B2 (ja) | マルチチャネル符号化におけるステレオ充填装置及び方法 | |
ES2701812T3 (es) | Decodificador de audio multicanal, procedimiento y programa informático que utilizan un ajuste de una contribución de una señal decorrelacionada | |
AU2016234987B2 (en) | Decoder and method for a generalized spatial-audio-object-coding parametric concept for multichannel downmix/upmix cases | |
CA2880412C (en) | Apparatus and methods for adapting audio information in spatial audio object coding | |
BR112020001660A2 (pt) | Aparelho e método para decodificar um sinal multicanal codificado, descorrelacionador de sinal de áudio, método para descorrelacionar um sinal de entrada de áudio | |
US20230206930A1 (en) | Multi-channel signal generator, audio encoder and related methods relying on a mixing noise signal | |
BR112018014813B1 (pt) | Aparelho, sistema e método para codificar canais de um sinal de entrada de áudio, aparelho, sistema e método para decodificar um sinal de áudio codificado e sistema para gerar um sinal de áudio codificado e um sinal de áudio decodificado | |
WO2024052450A1 (en) | Encoder and encoding method for discontinuous transmission of parametrically coded independent streams with metadata | |
Li et al. | Efficient stereo bitrate allocation for fully scalable audio codec |