ES2430414T3 - Cálculo de máscara de escalado selectivo basado en detección de pico - Google Patents

Cálculo de máscara de escalado selectivo basado en detección de pico Download PDF

Info

Publication number
ES2430414T3
ES2430414T3 ES09799784T ES09799784T ES2430414T3 ES 2430414 T3 ES2430414 T3 ES 2430414T3 ES 09799784 T ES09799784 T ES 09799784T ES 09799784 T ES09799784 T ES 09799784T ES 2430414 T3 ES2430414 T3 ES 2430414T3
Authority
ES
Spain
Prior art keywords
gain
vector
audio signal
signal
audio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES09799784T
Other languages
English (en)
Inventor
James P. Ashley
Udar Mittal
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Mobility LLC
Original Assignee
Motorola Mobility LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Mobility LLC filed Critical Motorola Mobility LLC
Application granted granted Critical
Publication of ES2430414T3 publication Critical patent/ES2430414T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Landscapes

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

Abstract

Un aparato que descodifica una señal de audio, que comprende: un descodificador de vector de ganancia de un descodificador de capa de mejora que recibe un vector de audioreconstruido S y un índice representativo de un vector de ganancia, en donde un selector de ganancia deldescodificador de vector de ganancia recibe el índice representativo del vector de ganancia; un selector de ganancia del descodificador de vector de ganancia que detecta un conjunto de picos en el vectorde audio reconstruido, genera una máscara de escalado Ψ ( Š ) basada en el conjunto de picos detectados, ygenerar el vector de ganancia g* en base a al menos la máscara de escalado y el índice representativo del vectorde ganancia; una unidad de escalado del descodificador de vector de ganancia que escala el vector de audio reconstruido conel vector de ganancia para producir una señal de audio reconstruida escalada.

Description

Cálculo de máscara de escalado selectivo basado en detección de pico
Referencia a las solicitudes relacionadas
La presente solicitud está relacionada con las siguientes solicitudes de patente europeas de propiedad común junto con esta solicitud por Motorola, Inc.: Solicitud EP 2 382 621 A0, titulada “METHOD AND APPARATUS FOR GENERATING AN ENHANCEMENT LAYER WITHIN A MULTIPLE-CHANNEL AUDIO CODING SYSTEM”; Solicitud EP 2 382 627 A0, titulada “SELECTIVE SCALING MASK COMPUTATION BASED ON PEAK DETECTION”; y Solicitud EP 2 382 622 A0, titulada “METHOD AND APPARATUS FOR GENERATING AN ENHANCEMENT LAYER WITHIN A MULTIPLE-CHANNEL AUDIO CODING SYSTEM”
Campo de la descripción
La presente invención se refiere, en general, a sistemas de comunicación y, más particularmente, a codificar señales de habla y audio en tales sistemas de comunicación.
Antecedentes
La compresión de señales de habla y audio es bien conocida. Se requiere generalmente compresión para transmitir señales eficientemente sobre un canal de comunicaciones, o para almacenar señales comprimidas en un dispositivo de medios digital, tal como un dispositivo de memoria de estado sólido o disco duro de ordenador. Aunque hay muchas técnicas de compresión (o “codificación”), un método que ha permanecido muy popular para codificación de habla digital se conoce como Predicción Lineal Excitada de Código (CELP), que es uno de una familia de algoritmos de codificación de “análisis por síntesis”. Análisis por síntesis se refiere de manera general a un proceso de codificación por el cual se usan múltiples parámetros de un modelo digital para sintetizar un conjunto de señales candidatas que se comparan con una señal de entrada y analizan para distorsión. Un conjunto de parámetros que producen la distorsión más baja entones o bien se transmiten o bien se almacenan, y eventualmente se usan para reconstruir una estimación de la señal de entrada original. CELP es un método de análisis por síntesis particular que usa uno o más libros de códigos cada uno que comprende esencialmente conjuntos de vectores de código que se recuperan del libro de códigos en respuesta a un índice de libro de códigos.
En los codificadores CELP modernos, hay un problema con el mantenimiento de una reproducción de habla y audio de elevada calidad a tasas de datos razonablemente bajas. Esto es verdadero especialmente para música u otras señales de audio genéricas que no cumplen muy bien el modelo de habla CELP. En este caso, el desajuste del modelo puede causar una calidad de audio severamente degradada que puede ser inaceptable para un usuario final del equipo que emplea tales métodos. Por lo tanto, sigue habiendo una necesidad de mejorar el rendimiento de los codificadores de habla tipo CELP a tasas de bit bajas, especialmente para música y otras entradas no de tipo habla.
Un documento de la técnica anterior en el campo de la codificación de habla/audio es RAMPRASHAD S A: “A two stage hybrid embedded speach/audio coding structure” PROCESAMIENTO ACÚSTICO, DE HABLA Y SEÑAL, 1998. ACTAS DE LA CONFERENCIA INTERNACIONAL DEL IEEE DE 1998 EN SEATTLE, WA, EE.UU. 12 – 15 DE MAYO DE 1998, NUEVA YORK, NY, EE.UU., IEEE, US, vol. 1, 12 de mayo de 1998 (), páginas 337-340, XP010279163 ISBN: 978-0-7803-4428-0.
Los objetivos antes mencionados se resuelven por las reivindicaciones de la presente invención.
Breve descripción de los dibujos
Las figuras anexas, donde números de referencia iguales se refieren a elementos idénticos o de similar funcionalidad en todas las vistas separadas, las cuales junto con la descripción detallada de más adelante se incorporan en y forman parte de la especificación y sirven para ilustrar además diversas realizaciones de conceptos que incluyen la invención reivindicada, y para explicar diversos principios y ventajas de esas realizaciones.
La FIG. 1 es un diagrama de bloques de un sistema de compresión de habla/audio integrado de la técnica anterior.
La FIG. 2 es un ejemplo más detallado del codificador de capa de mejora de la FIG. 1
La FIG. 3 es un ejemplo más detallado del codificador de capa de mejora de la FIG. 1
La FIG. 4 es un diagrama de bloques de un codificador y descodificador de capa de mejora.
La FIG. 5 es un diagrama de bloques de un sistema de codificación integrado de múltiples capas.
La FIG. 6 es un diagrama de bloques de un codificador y descodificador de capa 4.
La FIG. 7 es un diagrama de flujo que muestra la operación de los codificadores de la FIG. 4 y la FIG. 6.
La FIG. 8 es un diagrama de bloques de un sistema de compresión de habla/audio integrado de la técnica anterior.
La FIG. 9 es un ejemplo más detallado del codificador de capa de mejora de la FIG. 8.
La FIG. 10 es un diagrama de bloques de un codificador y descodificador de capa de mejora, según diversas realizaciones.
La FIG. 11 es un diagrama de bloques de un codificador y descodificador de capa de mejora, según diversas realizaciones.
La FIG. 12 es un diagrama de flujo de codificación de señal de audio de múltiples canales, según diversas realizaciones.
La FIG. 13 es un diagrama de flujo de codificación de señal de audio de múltiples canales, según diversas realizaciones.
La FIG. 14 es un diagrama de flujo de descodificación de una señal de audio de múltiples canales, según diversas realizaciones.
La FIG. 15 es un gráfico de frecuencia de detección de pico basado en generación de máscara, según diversas realizaciones.
La FIG. 16 es un gráfico de frecuencia de escalado de capa central que usa generación de máscara pico, según diversas realizaciones.
Las FIG. 17-19 son diagramas de flujo que ilustran la metodología para codificar y descodificar usando generación de máscara basada en detección de pico, según diversas realizaciones.
Los expertos apreciarán que los elementos en las figuras se ilustran por simplicidad y claridad y no han sido dibujados necesariamente a escala. Por ejemplo, las dimensiones de algunos de los elementos en las figuras pueden estar exageradas con respecto a otros elementos para ayudar a mejorar la compresión de diversas realizaciones. Además, la descripción y los dibujos no requieren necesariamente el orden ilustrado. Se apreciará además que se pueden describir o representar ciertas acciones y/o pasos en un orden particular de aparición aunque los expertos en la técnica entenderán que tal especificidad con respecto a la secuencia no se requiere realmente. Los componentes del aparato y método se han representado donde sea adecuado mediante símbolos convencionales en los dibujos, mostrando solamente aquellos detalles específicos que son pertinentes para la comprensión de las diversas realizaciones para no oscurecer la descripción con detalles que serán fácilmente evidentes a aquellos expertos en la técnica que tienen el beneficio de la descripción de la presente memoria. De esta manera, se apreciará que por simplicidad y claridad de ilustración, elementos comunes y bien conocidos que son útiles o necesarios en una realización comercialmente factible pueden no estar representados a fin de facilitar una visión menos obstruida de estas diversas realizaciones.
Descripción detallada
A fin de abordar la necesidad anteriormente mencionada, se describe en la presente memoria un método y aparato para generar una capa de mejora dentro de un sistema de codificación de audio. Durante la operación se recibe y codifica una señal de entrada a ser codificada para producir una señal de audio codificada. La señal de audio codificada entonces se escala con una pluralidad de valores de ganancia para producir una pluralidad de señales de audio codificadas escaladas, cada una que tiene un valor de ganancia asociado y se determina que existen una pluralidad de valores de error entre la señal de entrada y cada una de la pluralidad de señales de audio codificadas escaladas. Se elige entonces un valor de ganancia que está asociado con una señal de audio codificada escalada provocando un valor de error bajo que existe entre la señal de entrada y la señal de audio codificada escalada. Finalmente, el valor de error bajo se transmite junto con el valor de ganancia como parte de una capa de mejora a la señal de audio codificada.
Un sistema de compresión de habla/audio integrado de la técnica anterior se muestra en la FIG. 1. El audio de entrada s(n) se procesa en primer lugar por un codificador de capa central 120, que para estos propósitos puede ser un algoritmo de codificación de habla de tipo CELP. El flujo de bits codificado se transmite al canal 125, además de ser introducido a un descodificador de capa central local 115, donde se genera la señal de audio central reconstruida sc(n). El codificador de capa de mejora 120 se usa entonces para codificar información adicional en base a alguna comparación de señales s(n) y sc(n), y puede usar opcionalmente parámetros del descodificador de capa central
115. Como en el descodificador de capa central 115, el descodificador de capa central 130 convierte los parámetros de flujo de bits de capa central a una señal de audio de capa central sˆc(n). El descodificador de capa de mejora 135 entonces usa el flujo de bits de capa de mejora desde el canal 125 y la señal sˆc(n) para producir la señal de salida
de audio mejorada sˆ(n).
La ventaja primaria de tal sistema de codificación integrado es que un canal particular 125 puede no ser capaz de soportar consistentemente el requerimiento de ancho de banda asociado con algoritmos de codificación de audio de alta calidad. Un codificador integrado, no obstante, permite que un flujo de bits parcial sea recibido (por ejemplo,
solamente el flujo de bits de capa central) desde el canal 125 para producir, por ejemplo, solamente el audio de salida central cuando se pierde o daña el flujo de bits de la capa de mejora. No obstante, hay compromisos de calidad entre codificadores integrados frente a no integrados, y también entre diferentes objetivos de optimización de codificación integrados. Es decir, la codificación de capa de mejora de calidad más alta puede ayudar a lograr un mejor equilibrio entre las capas central y de mejora, y también reducir la tasa de datos total para mejores características de transmisión (por ejemplo, congestión reducida), lo cual puede provocar tasas de error de paquetes inferiores para las capas de mejora.
Un ejemplo más detallado de un codificador de capa de mejora de la técnica anterior 120 se da en la FIG. 2. Aquí, el generador de señal de error 210 está compuesto de una señal de diferencia ponderada que se transforma en el dominio de la Transformada de Coseno Discreto Modificada (MDCT) para procesamiento por el codificador de señal de error 220. La señal de error E se da como:
donde W es una matriz de ponderación perceptiva basada en los coeficientes de filtro de Predicción Lineal (LP) A(z) del descodificador de capa central 115, s es un vector (es decir, una trama) de muestras de la señal de audio de entrada s(n), y sc es el vector correspondiente de muestras del descodificador de capa central 115. Un ejemplo de proceso MDCT se describe en la Recomendación G.729.1 de la ITU-T. La señal de error E se procesa entonces por el codificador de señal de error 220 para producir la palabra de código iE, que se transmite posteriormente al canal
125. Para este ejemplo, es importante señalar que el codificador de señal de error 120 se presenta solamente con una señal de error E y saca una palabra de código asociada iE. La razón para esto llegará a ser evidente más tarde.
El descodificador de capa de mejora 135 entonces recibe el flujo de bits codificado desde el canal 125 y desmultiplexa apropiadamente el flujo de bits para producir la palabra de código iE. El descodificador de señal de
error 230 usa la palabra de código iE para reconstruir la señal de error de capa de mejora Eˆ , que entonces se combina por el combinador de señal 240 con la señal de audio de salida de la capa central sˆc(n) como sigue, para
producir la señal de salida de audio mejorada sˆ(n):
donde MDTC-1 es la MDCT inversa (que incluye inserción de solape), y W-1 es la matriz de ponderación de percepción inversa.
Otro ejemplo de un codificador de capa de mejora se muestra en la FIG. 3. Aquí, la generación de la señal de error E por el generador de señal de error 315 implica escalado previo adaptativo, en el que se realiza alguna modificación a la salida de audio de la capa central sc(n). Este proceso provoca que algún número de bits sea generado, lo cual se muestra en el codificador de capa de mejora 120 como la palabra de código is.
Adicionalmente, el codificador de capa de mejora 120 muestra la señal de audio de entrada s (n) y el audio de salida de la capa central transformado Sc que se introduce al codificador de señal de error 320. Estas señales se usan para construir un modelo psicoacústico para codificación mejorada de la señal de error de capa de mejora E. Las palabras de código is e iE entonces se multiplexan por el MUX 325, y entonces se envían al canal 125 para descodificación posterior por el descodificador de capa de mejora 135. El flujo de bits codificado se recibe por el desmultiplexor 335, que separa el flujo de bits en componentes is e iE. La palabra de código iE entonces se usa por el
descodificador de señal de error 340 para reconstruir la señal de error de capa de mejora Eˆ . El combinador de señal 345 escala la señal sˆc(n) de alguna manera usando bits de escalado is, y entonces combina el resultado con
la señal de error de capa de mejora Eˆ para producir la señal de salida de audio mejorada sˆ(n).
Una primera realización de la presente invención se da en la FIG. 4. Esta figura muestra el codificador de capa de mejora 410 que recibe la señal de salida de capa central sc(n) mediante la unidad de escalado 415. Se usa un conjunto predeterminado de ganancias {g} para producir una pluralidad de señales de salida de capa central escaladas {S}, donde gj y Sj son las candidatas de orden j de los conjuntos respectivos. Dentro de la unidad de escalado 415, la primera realización procesa la señal sc(n) en el dominio (MDCT) como:
donde W puede ser alguna matriz de ponderación perceptiva, sc es un vector de muestras del descodificador de capa central 115, la MDCT es una operación bien conocida en la técnica, y Gj puede ser una matriz de ganancia formada utilizando un candidato de vector de ganancia gj, y donde M es el número de candidatos de vector de ganancia. En la primera realización, Gj usa el vector gj como la diagonal y ceros en cualquier otro sitio (es decir, una matriz diagonal), aunque existen muchas posibilidades. Por ejemplo, Gj puede ser una matriz de banda, o puede ser
incluso una simple cantidad escalar multiplicada por la matriz identidad I. Alternativamente, puede haber alguna ventaja de dejar la señal Sj en el dominio del tiempo o puede haber casos donde es ventajoso transformar el audio a un dominio diferente, tal como el dominio de la Transformada Discreta de Fourier (DFT). Muchas de tales transformadas son bien conocidas en la técnica. En estos casos, la unidad de escalado puede sacar la Sj apropiada basada en el dominio de vector respectivo.
Pero en cualquier caso, la razón primaria para escalar el audio de salida de capa central es compensar el desajuste del modelo (o alguna otra deficiencia de codificación) que puede causar diferencias significativas entre la señal de entrada y el códec de la capa central. Por ejemplo, si la señal de audio de entrada es ante todo una señal de música y el códec de la capa central está basado en un modelo de habla, entonces la salida de la capa central puede contener características de señal severamente distorsionadas, en cuyo caso, es beneficioso desde una perspectiva de calidad de sonido reducir selectivamente la energía de esta componente de señal anterior a aplicar codificación suplementaria de la señal por medio de una o más capas de mejora.
El vector candidato de audio de la capa central escalada con ganancia Sj y el audio de entrada s(n) se pueden usar entonces como entrada al generador de señal de error 420. En una realización ejemplar, la señal de audio de entrada s(n) se convierte al vector S de manera que S y Sj están alineadas en consecuencia. Es decir, el vector s que representa s(n) está alineado en tiempo (fase) con sc , y se pueden aplicar de esa manera las operaciones correspondientes en esta realización:
Esta expresión produce una pluralidad de vectores de señal de error Ej que representan la diferencia ponderada entre el audio de entrada y el audio de salida de la capa central escalada con ganancia en el dominio espectral de MDCT. En otras realizaciones, donde se consideran diferentes dominios, se puede modificar la expresión anterior en base al dominio de procesamiento respectivo.
El selector de ganancia 425 se usa entonces para evaluar la pluralidad de vectores de señal de error Ej, según la primera realización de la presente invención, para producir un vector de error óptimo E*, un parámetro de ganancia óptimo g*, y posteriormente, un índice de ganancia correspondiente ig. El selector de ganancia 425 puede usar una variedad de métodos para determinar los parámetros óptimos, E* y g*, que pueden implicar métodos de bucle cerrado (por ejemplo, minimización de una métrica de distorsión), métodos de bucle abierto (por ejemplo, clasificación heurística, estimación de rendimiento del modelo, etc.), o una combinación de ambos métodos. En la realización ejemplar, se puede usar una métrica de distorsión desviada, que se da como la diferencia de energía desviada entre el vector de señal de audio original S y el vector de señal reconstruido compuesto:
donde Eˆ j puede ser la estimación cuantificada del vector de señal de error Ej, y ! j puede ser un término de desviación que se usa para complementar la decisión de elegir el índice de error de ganancia óptimo perceptivamente j*. Un método ejemplar para cuantificación de vector de un vector de señal se da en la Solicitud de Patente de EE.UU. Nº de Serie 11/531122, titulada APPARATUS AND METHOD FOR LOW COMPLEXITY COMBINATORIAL CODING OF SIGNALS, aunque son posibles muchos otros métodos. Reconociendo que Ej = S – Sj, la ecuación (5) se puede reescribir como:
En esta expresión, el término ∀ j=||Ej – Êj||2 representa la energía de la diferencia entre las señales de error no cuantificada y cuantificada. Por claridad, esta cantidad puede ser conocida como la “energía residual”, y se puede usar además para evaluar un “criterio de selección de ganancia”, en el que se selecciona el parámetro de ganancia óptimo g*. Un criterio de selección de ganancia tal se da en la ecuación (6), aunque son posibles muchos.
La necesidad de un término de desviación ! j puede surgir del caso donde la función de ponderación de error W en las ecuaciones (3) y (4) puede no producir adecuadamente distorsiones igualmente perceptibles a través del vector Êj. Por ejemplo, aunque la función de ponderación de error W se puede usar para intentar “blanquear” el espectro de error en algún grado, puede haber ciertas ventajas de colocar más peso en las frecuencias bajas, debido a la percepción de distorsión por el oído humano. Como resultado del aumento de la ponderación de error en las frecuencias bajas, las señales de frecuencia alta pueden ser infra modeladas por la capa de mejora. En estos casos, puede haber un beneficio directo de desviar la métrica de distorsión hacia valores de gj que no atenúan los componentes de frecuencia alta de Sj, de manera que el infra modelado de las frecuencias altas no provoca
artefactos de sonido no naturales u objetables en la señal de audio reconstruida final. Un ejemplo tal sería el caso de una señal de habla sin voz. En este caso, el audio de entrada se compone generalmente de señales tipo ruido de frecuencia media a alta producidas a partir del flujo turbulento de aire desde la boca humana. Puede ser que el codificador de la capa central no codifique este tipo de forma de onda directamente, sino que puede usar un modelo de ruido para generar una señal de audio de sonido similar. Esto puede provocar una correlación generalmente baja entre las señales de audio de entrada y de audio de salida de la capa central. No obstante, en esta realización, el vector de señal de error Ej está basado en una diferencia entre las señales de audio de entrada y de salida de audio de la capa central. Dado que estas señales no se pueden correlacionar muy bien, la energía de la señal de error Ej puede no ser necesariamente menor que o bien el audio de entrada o bien el audio de salida de la capa central. En ese caso, la minimización del error en la ecuación (6) puede provocar que el escalado de ganancia sea demasiado agresivo, lo cual puede provocar artefactos audibles potenciales.
En otro caso, los factores de desviación ! j se pueden basar en otras características de señal de las señales de audio de entrada y/o de audio de salida de la capa central. Por ejemplo, la relación pico a media del espectro de una señal puede dar una indicación del contenido armónico de esa señal. Señales tales como habla y ciertos tipos de música pueden tener un contenido de armónicos alto y de esta manera una relación pico a media alta. No obstante, una señal de música procesada a través de un códec de habla puede provocar una calidad escasa debido al desajuste del modelo de codificación, y como resultado, el espectro de señal de salida de la capa central puede tener una relación pico a media reducida cuando se compara con el espectro de señal de entrada. En este caso, puede ser beneficioso reducir la cantidad de desviación en el proceso de minimización a fin de permitir que el audio de salida de la capa central sea escalado con ganancia a una energía inferior permitiendo por ello la codificación de la capa de mejora para tener un efecto más pronunciado en el audio de salida compuesto. Al contrario, ciertos tipos de señales de entrada de habla o música pueden exhibir relaciones pico a media inferiores, en cuyo caso, las
señales se pueden percibir como que son más ruidosas, y pueden beneficiarse por lo tanto de menos escalado del audio de salida de la capa central aumentando la desviación de error. Un ejemplo de una función para generar los factores de desviación para ! j, se da como:
donde # puede ser algún umbral, y la relación pico a media para el vector ∃ y se puede dar como:
donde yk1k2 es un subconjunto de vectores de y(k) de manera que yk1k2 = y (k); k1lt;klt;k2.
Una vez que se determina el índice de ganancia óptimo j* a partir de la ecuación (6), se genera la palabra de código asociada ig y el vector de error óptimo E* se envía al codificador de señal de error 430, donde E* se codifica de una forma que es adecuada para multiplexar con otras palabras de código (por el MUX 440) y transmite para uso por un descodificador correspondiente. En una realización ejemplar, el codificador de señal de error 408 usa Codificación de Pulso Factorial (FPC). Este método es ventajoso desde un punto de vista de complejidad de procesamiento dado que el proceso de enumeración asociado con la codificación del vector E* es independiente del proceso de
generación de vector que se usa para generar Eˆ j.
El descodificador de la capa de mejora 450 invierte estos procesos para producir la salida de audio de mejora sˆ(n). Más específicamente, ig e iE se reciben por el descodificador 450, con iE que se envía por el desmultiplexor 455 al descodificador de señal de error 460 donde se deriva el vector de error óptimo E* a partir de la palabra de código. El
vector de error óptimo E* se pasa al combinador de señal 465 donde la sˆc(n) recibida se modifica como en la
ecuación (2) para producir sˆ(n).
Una segunda realización de la presente invención implica un sistema de codificación integrado de múltiples capas como se muestra en la FIG. 5. Aquí, se puede ver que hay cinco capas integradas dadas para este ejemplo. Las capas 1 y 2 pueden estar basadas ambas en códec de habla, y las capas 3, 4, y 5 pueden ser capas de mejora MDCT. De esta manera, los codificadores 502 y 503 pueden utilizar códec de habla para producir y sacar la señal de entrada codificada s(n). Los codificadores 510, 610, y 514 comprenden codificadores de capa de mejora, cada uno que saca una mejora diferente a la señal codificada. Similar a la realización previa, el vector de señal de error para la capa 3 (codificador 510) se puede dar como:
donde S=MDCT{Ws} es la señal de entrada transformada ponderada, y S2=MDCT{Ws2} es la señal transformada ponderada generada a partir del descodificador de capa 1/2 506. En esta realización, la capa 3 puede ser una capa de cuantificación de tasa baja, y como tal, puede haber relativamente pocos bits para codificar la señal de error cuantificada correspondiente Ê3=Q {E3}. A fin de proporcionar una buena calidad bajo estas restricciones, solamente se puede cuantificar una fracción de los coeficientes dentro de E3. Las posiciones de los coeficientes a ser codificados pueden ser fijas o pueden ser variables, pero si se permiten variar, se puede requerir enviar información adicional al descodificador para identificar estas posiciones. Si, por ejemplo, el intervalo de posiciones codificadas
comienza en ks y finaliza en ke, donde 0lt;kslt;kelt;N, entonces el vector de señal de error cuantificado Eˆ 3 puede contener valores no cero solamente dentro de ese intervalo, y ceros para posiciones fuera de ese intervalo. La información de posición e intervalo también puede ser implícita, dependiendo del método de codificación usado. Por ejemplo, es bien conocido en codificación de audio que una banda de frecuencias se puede considerar importante perceptivamente, y que la codificación de un vector de señal puede centrarse en esas frecuencias. En estas circunstancias, el intervalo codificado puede ser variable, y puede no abarcar un conjunto de frecuencias contiguo. Pero a cualquier tasa, una vez que la señal está cuantificada, el espectro de salida codificado compuesto se puede construir como:
que entonces se usa como entrada al codificador de capa 4 610.
El codificador de capa 4 610 es similar al codificador de capa de mejora 410 de la realización previa. Usando el candidato de vector de ganancia gj, el vector de error correspondiente se puede describir como:
donde Gj puede ser una matriz de ganancia con vector gj como el componente diagonal. En la realización actual, no
obstante, el vector de ganancia gj se puede relacionar con el vector de señal de error cuantificado Eˆ 3 de la siguiente
manera. Dado que el vector de señal de error cuantificado Eˆ 3 puede estar limitado en intervalo de frecuencia, por ejemplo, comenzando en la posición de vector ks y finalizando en la posición del vector ke, la señal de salida de capa 3 S3 se supone que se codifica con bastante precisión dentro de ese intervalo. Por lo tanto, según la presente invención, el vector de ganancia gj se ajusta en base a las posiciones codificadas del vector de señal de error de capa 3, ks y ke. Más específicamente, a fin de conservar la integridad de la señal en esas ubicaciones, los elementos de ganancia individuales correspondientes se pueden fijar a un valor constante % . Es decir:
donde generalmente 0lt; j (k)lt;1 y gj(k) es la ganancia en la posición de orden k del vector candidato de orden j. En una realización ejemplar, el valor de la constante es uno (% =1), no obstante son posibles muchos valores. Además, el intervalo de frecuencia puede abarcar múltiples posiciones de inicio y finalización. Es decir, la ecuación
(12) se puede segmentar en intervalos no continuos de ganancias que varían que están basados en alguna función
de la señal de error Eˆ 3, y se puede escribir de manera más general como:
Para este ejemplo, se usa una ganancia fija % para generar gj(k) cuando las posiciones correspondientes en la señal de error cuantificada previamente Eˆ 3 no son cero, y la función de ganancia & j(k) se usa cuando las posiciones correspondientes en Eˆ 3 son cero.
Una posible función de ganancia se puede definir como:
donde ∋ es un tamaño de paso (por ejemplo, ∋( 2,2 dB), % es una constante, M es el número de candidatos (por ejemplo, M=4, que se pueden representar usando solamente 2 bits), y kl y kh son los límites de frecuencia bajo y alto, respectivamente, sobre los cuales puede tener lugar la reducción de ganancia. La introducción de los parámetros kl y kh es útil en sistemas donde se desea escalado solamente sobre un cierto intervalo de frecuencia. Por ejemplo, en una realización dada, las frecuencias altas pueden no estar modeladas adecuadamente por la capa central, de esta manera la energía dentro de la banda de frecuencia alta puede ser inherentemente inferior que aquélla en la señal de audio de entrada. En ese caso, puede haber poco o ningún beneficio de escalar la salida de capa 3 en esa región de señal dado que la energía de error total puede aumentar como resultado.
Resumiendo, la pluralidad de candidatos de vector de ganancia gj se basa en alguna función de los elementos
codificados de un vector de señal codificado previamente, en este caso Eˆ 3. Esto se puede expresar en términos generales como:
Las operaciones de descodificador correspondientes se muestran en el lado derecho de la FIG. 5. Según se reciben las diversas capas de flujos de bits codificados (i1 a i5), se construyen las señales de salida de calidad más alta en la jerarquía de capas de mejora sobre el descodificador de la capa central (capa 1). Es decir, para esta realización particular, como las dos primeras capas se componen de codificación del modelo de habla en el dominio del tiempo (por ejemplo, CELP) y las tres capas restantes se componen de codificación en el dominio de transformada (por
ejemplo, MDCT), la salida final para el sistema sˆ(n) se genera según lo siguiente:
donde ê2(n) es la señal de capa de mejora en el dominio del tiempo de capa 2, y Sˆ 2 = MDCT{Ws2} es el vector
MDCT ponderado que corresponde a la salida de audio de capa 2 sˆ2(n). En esta expresión, la señal de salida total
sˆ(n) se puede determinar a partir del nivel más alto de capas de flujo de bits consecutivas que se reciben. En esta realización, se supone que las capas de nivel más bajo tienen una probabilidad mayor de ser recibidas adecuadamente desde el canal, por lo tanto, los conjuntos de palabras de código {i1}, {i1 i2}, {i1 i2 i3}, etc., determinan el nivel apropiado de descodificación de capa de mejora en la ecuación (16).
La FIG. 6 es un diagrama de bloques que muestra el codificador de capa 4 610 y el descodificador 650. El codificador y descodificador mostrados en la FIG. 6 son similares a aquéllos mostrados en la FIG. 4, excepto que el valor de ganancia usado para las unidades de escalado 615 y 670 se deriva a través de los generadores de ganancia selectiva en frecuencia 630 y 660, respectivamente. Durante la operación la salida de audio de la capa 3 S3 se saca del codificador de capa 3 y recibe por la unidad de escalado 615. Adicionalmente, el vector de error de
capa 3 Eˆ 3 se saca del codificador de capa 3 510 y recibe por el generador de ganancia selectiva en frecuencia 630.
Como se trató, dado que el vector de señal de error cuantificado Eˆ 3 puede estar limitado en intervalo de frecuencia, el vector de ganancia gj se ajusta en base a, por ejemplo, las posiciones ks y ke como se muestra en la ecuación 12,
o la expresión más general en la ecuación 13.
El audio escalado Sj se saca de la unidad de escalado 615 y se recibe por el generador de señal de error 620. Como se trató anteriormente, el generador de señal de error 620 recibe la señal de audio de entrada S y determina un valor de error Ej para cada vector de escalado utilizado por la unidad de escalado 615. Estos vectores de error se pasan a la circuitería de selector de ganancia 635 junto con los valores de ganancia usados en la determinación de los vectores de error y un error particular E* basado en el valor de ganancia óptimo g*. Una palabra de código (ig) que representa la ganancia óptima g* se saca desde el selector de ganancia 635, junto con el vector de error óptimo E*, se pasa al codificador de señal de error 640 donde se determina y saca la palabra de código iE. Tanto ig como iE se sacan al multiplexor 645 y transmiten a través del canal 125 al descodificador de capa 4 650.
Durante la operación del descodificador de capa 4 650, ig e iE se reciben desde el canal 125 y desmultiplexan por el
desmultiplexor 655. La palabra de código de ganancia ig y el vector de error de capa 3 Eˆ 3 se usan como entrada al generador de ganancia selectiva en frecuencia 660 para producir un vector de ganancia g* según el método correspondiente del codificador 610. El vector de ganancia g* se aplica entonces al vector de audio reconstruido de
capa 3 Sˆ 3 dentro de la unidad de escalado 670, la salida de la cual se combina entonces en el combinador de señal 675 con el vector de error de la capa de mejora de capa 4 E*, que fue obtenido a partir del descodificador de señal de error 655 a través de la descodificación de la palabra de código iE, para producir la salida de audio reconstruida
de la capa 4 Sˆ 4 como se muestra.
La FIG. 7 es un diagrama de flujo 700 que muestra la operación de un codificador según la primera y segunda realizaciones de la presente invención. Como se trató anteriormente, ambas realizaciones utilizan una capa de mejora que escala el audio codificado con una pluralidad de valores de escalado y entonces elige el valor de escalado que provoca un error más bajo. No obstante, en la segunda realización de la presente invención, el generador de ganancia selectiva en frecuencia 630 se utiliza para generar los valores de ganancia.
El flujo lógico comienza en el Bloque 710 donde un codificador de la capa central recibe una señal de entrada a ser codificada y codifica la señal de entrada para producir una señal de audio codificada. El codificador de capa de mejora 410 recibe la señal de audio codificada (sc(n)) y la unidad de escalado 415 escala la señal de audio codificada con una pluralidad de valores de ganancia para producir una pluralidad de señales de audio codificadas escaladas, cada una que tiene un valor de ganancia asociado. (Bloque 720). En el Bloque 730, el generador de señal de error 420 determina una pluralidad de valores de error que existen entre la señal de entrada y cada una de la pluralidad de señales de audio codificadas escaladas. El selector de ganancia 425 entonces elige un valor de ganancia a partir de una pluralidad de valores de ganancia (Bloque 740). Como se trató anteriormente, el valor de ganancia (g*) está asociado con una señal de audio codificada escalada que provoca un valor de error bajo (E*) que existe entre la señal de entrada y la señal de audio codificada escalada. Finalmente en el Bloque 750 el transmisor 440 transmite el valor de error bajo (E*) junto con el valor de ganancia (g*) como parte de una capa de mejora a la señal de audio codificada. Como reconocerá un experto en la técnica, tanto E* como g* se codifican adecuadamente anterior a la transmisión.
Como se trató anteriormente, en el lado del receptor, la señal de audio codificada se recibirá junto con la capa de mejora. La capa de mejora es una mejora a la señal de audio codificada que comprende el valor de ganancia (g*) y la señal de error (E*) asociada con el valor de ganancia.
Escalado de capa central para estéreo
En la descripción anterior, fue descrito un sistema de codificación integrado en el que cada una de las capas estaba codificando una señal mono. Ahora un sistema de codificación integrado para codificación estéreo u otras señales de múltiples canales. Por abreviar, se describe la tecnología en el contexto de una señal estéreo que consta de dos entradas audio (fuentes); no obstante, las realizaciones ejemplares descritas en la presente memoria se pueden extender fácilmente a casos donde la señal estéreo tiene más de dos entradas audio, como es el caso en entradas de audio de múltiples canales. Para propósitos de ilustración y no de limitación, las dos entradas audio son señales estéreo que constan de la señal izquierda (sL) y la señal derecha (sR), donde sL y sR son vectores de columna ndimensionales que representan una trama de datos de audio. De nuevo por abreviar, se tratará en detalle un sistema de codificación integrado que consta de dos capas esto es una capa central y una capa de mejora. La idea propuesta se puede extender fácilmente a un sistema de codificación integrado de múltiples capas. También el códec puede no estar integrado por sí mismo, es decir, puede tener solamente una capa, con algunos de los bits de ese códec que están dedicados para estéreo y el resto de bits para señal mono.
Se conoce un códec estéreo integrado que consta de una capa central que simplemente codifica una señal mono y capas de mejora que codifican o bien la frecuencia más alta o bien las señales estéreo. En ese escenario limitado, la capa central codifica una señal mono (s), obtenida de la combinación de sL y sR, para producir una señal mono
codificada sˆ. Dejemos que H sea una matriz de combinación 2x1 usada para generar una señal mono, es decir,
Se señala que en la ecuación (17), sR puede ser una versión retardada de la señal de audio derecha en lugar de sólo la señal de canal derecho. Por ejemplo, se puede calcular el retardo para maximizar la correlación de sL y la versión retardada de sR. Si la matriz H es [0,5 0,5]T, entonces la ecuación 17 provoca una ponderación igual de los canales derecho e izquierdo respectivos, es decir, s = 0,5 sL + 0,5 sR. Las realizaciones presentadas en la presente memoria no están limitadas a la capa central que codifica la señal mono y la capa de mejora que codifica la señal estéreo. Tanto la capa central del códec integrado así como la capa de mejora pueden codificar señales de audio de múltiples canales. El número de canales en la señal de audio de múltiples canales que se codifican por los múltiples canales de la capa central puede ser menor que el número de canales en la señal de audio de múltiples canales que se puede codificar por la capa de mejora. Dejemos que (m, n) sean los números de canales a ser codificados por la capa central y la capa de mejora, respectivamente. Dejemos que s1, s2, s3, …, sn sean una representación de n canales de audio a ser codificados por el sistema integrado. Los m canales a ser codificados por la capa central se derivan de éstos y se obtienen como
donde H es una matriz nxm.
Como se mencionó antes, la capa central codifica una señal mono s para producir una señal codificada de la capa central sˆ. A fin de generar estimaciones de los componentes estéreo a partir de sˆ, se calcula un factor de 10 equilibrio. Este factor de equilibrio se calcula como:
Se puede mostrar que si la matriz de combinación H es [0,5 0,5]T, entonces
Señalar que la relación permite la cuantificación solamente de un parámetro y el otro se puede extraer fácilmente a 15 partir del primero. Las salidas estéreo ahora se calculan como
En la sección posterior, estaremos trabajando en el dominio de la frecuencia en lugar de en el dominio del tiempo.
Así una señal correspondiente en el dominio de la frecuencia se representa en letras mayúsculas, es decir, S, Sˆ ,
SL, SR, Sˆ L, y Sˆ R son la representación en el dominio de la frecuencia de s, sˆ, sL, sR, sˆL, y sˆR, respectivamente. 20 El factor de equilibrio en el dominio de la frecuencia se calcula usando términos en el dominio de la frecuencia y se da por
y
25 En el dominio de la frecuencia, los vectores se pueden dividir además en sub vectores de no solapamiento, es decir, un vector S de dimensión n, se puede dividir en t sub vectores, S1, S2, …, St, de dimensiones m1, m2, …, mt, de manera que
En este caso se puede calcular un factor de equilibrio diferente para diferentes sub vectores, es decir,
El factor de equilibrio en este caso es independiente de la consideración de ganancia.
Con referencia ahora a las FIG. 8 y 9, se demuestran los dibujos de la técnica anterior relevantes a señales estéreo y otras de múltiples canales. El sistema de compresión de habla/audio integrado 800 de la FIG. 8 es similar a la FIG. 1 pero tiene señales de entrada de audio múltiples, en este ejemplo mostradas como las señales de entrada estéreo izquierda y derecha S(n). Estas señales de audio de entrada se alimentan al combinador 810 que produce una entrada de audio s(n) como se muestra. Las señales de entradas múltiples se proporcionan también al codificador de capa de mejora 820 como se muestra. En el lado de descodificación, el descodificador de capa de mejora 830
produce señales de audio de salida mejoradas sˆL sˆR como se muestra.
La FIG. 9 ilustra un codificador de capa de mejora anterior 900 que podría ser usado en la FIG. 8. Las entradas de audio múltiples se proporcionan a un generador de factor de equilibrio, junto con la señal de audio de salida de la capa central como se muestra. El Generador de Factor de Equilibrio 920 del codificador de capa de mejora 910 recibe las entradas de audio múltiples para producir la señal iB, que se pasa a lo largo del MUX 325 como se muestra. La señal iB es una representación del factor de equilibrio. En la realización preferida iB es una secuencia de bits que representa los factores de equilibrio. En el lado del descodificador, la señal iB se recibe por el descodificador de factor de equilibrio 940 que produce los elementos de factor de equilibrio WL(n) y WR(n), como se muestra, que se reciben por el combinador de señal 950 como se muestra.
Cálculo del factor de equilibrio de múltiples canales
Como se mencionó antes, en muchas situaciones el códec usado para la codificación de la señal mono se diseña para habla de canal único y provoca ruido de modelo de codificación siempre que se use para codificación de señales que no están completamente soportadas por el modelo de códec. Las señales de música y otras señales de tipo no de habla son algunas de las señales que no se modelan adecuadamente por un códec de la capa central que está basado en un modelo de habla. La descripción anterior, con respecto a las FIG. 1-7, proponía aplicar una ganancia selectiva en frecuencia a la señal codificada por la capa central. El escalado estaba optimizado para minimizar una distorsión particular (valor de error) entre la entrada audio y la señal codificada escalada. El planteamiento descrito anteriormente funciona bien para señales de canal único pero puede no ser óptimo para aplicación del escalado de la capa central cuando la capa de mejora está codificando las señales estéreo u otras de múltiples canales.
Dado que el componente mono de la señal de múltiples canales, tal como la señal estéreo, se obtiene a partir de la combinación de dos o más entradas de audio estéreo, la señal combinada s también puede no ser conforme al modelo de habla de canal único; por lo tanto el códec de capa central puede producir ruido cuando se codifica la señal combinada. De esta manera, hay una necesidad de un planteamiento que permita el escalado de la señal codificada de la capa central en un sistema de codificación integrado, reduciendo por ello el ruido generado por la capa central. En el planteamiento de señal mono descrito anteriormente, una medida de distorsión particular, en la que fue obtenido el escalado selectivo en frecuencia, estaba basada en el error de la señal mono. Este error E4(j) se muestra en la ecuación (11) anterior. La distorsión de sólo la señal mono, no obstante, no es suficiente para mejorar la calidad del sistema de comunicación estéreo. El escalado contenido en la ecuación (11) puede ser mediante un factor de escalado de la unidad (1) o cualquier otra función identificada.
Para una señal estéreo, una medida de distorsión debería capturar la distorsión tanto del canal derecho como del izquierdo. Dejemos que EL y ER sean el vector de error para los canales izquierdo y el derecho, respectivamente, y se dan por
En la técnica anterior, como se describe en el estándar AMR-WB+, por ejemplo, estos vectores de error se calculan como
Ahora consideremos el caso donde los vectores de ganancia selectiva en frecuencia gj (0lt;jlt;M) se aplican a Sˆ . Este vector de ganancia selectiva en frecuencia se representa en forma de matriz como Gj, donde Gj es una matriz diagonal con elementos diagonales gj. Para cada vector Gj, los vectores de error se calculan como:
5 con las estimaciones de las señales estéreo dadas por los términos W·Gj· Sˆ . Se puede ver que la matriz de ganancia G puede ser una matriz unidad (1) o puede ser cualquier otra matriz diagonal; se reconoce que no toda estimación posible puede ejecutarse para cada señal escalada.
La medida de distorsión∀ que se minimiza para mejorar la calidad de estéreo es una función de los dos vectores de error, es decir,
Se puede ver que el valor de distorsión puede estar compuesto de múltiples medidas de distorsión. El índice j del vector de ganancia selectiva en frecuencia que se selecciona se da por:
En una realización ejemplar, la medida de distorsión es una distorsión cuadrática media dada por:
O puede ser una distorsión ponderada o desviada dada por:
La desviación BL y BR puede ser una función de las energías del canal izquierdo y derecho.
Como se mencionó antes, en el dominio de la frecuencia, los vectores se pueden dividir además en sub vectores de
20 no solapamiento. Para extender la técnica propuesta para incluir la división del vector en el dominio de la frecuencia en sub vectores, se calcula el factor de equilibrio usado en (27) para cada sub vector. De esta manera, los vectores de error EL y ER para cada una de las ganancias selectivas en frecuencia se forma por concatenación de sub vectores de error dada por
25 La medida de distorsión ∀ en (28) es ahora una función de los vectores de error formados por concatenación de sub vectores de error anteriores.
Cálculo del factor de equilibrio
El factor de equilibrio generado usando la técnica anterior (ecuación 21) es independiente de la salida de la capa central. No obstante, a fin de minimizar una medida de distorsión dada en (30) y (31), puede ser beneficioso calcular 30 también el factor de equilibrio para minimizar la distorsión correspondiente. Ahora el factor de equilibrio WL y WR se puede calcular como
en la que se puede ver que el factor de equilibrio es independiente de la ganancia, como se muestra en el dibujo de la FIG. 11, por ejemplo. Esta ecuación minimiza las distorsiones en la ecuación (30) y (31). El problema con usar tal factor de equilibrio es que ahora:
por lo tanto los campos de bits separados pueden ser necesarios para cuantificar WL y WR. Esto se puede evitar poniendo la restricción WL(j) = 2 - WR(j) en la optimización. Con esta restricción la solución óptima para la ecuación
(30) se da por:
10 en la que el factor de equilibrio es dependiente de un término de ganancia según se muestra; la FIG. 10 de los dibujos ilustran un factor de equilibrio dependiente. Si los factores de desviación BL y BR son unidad, entonces
Los términos STGj Sˆ en las ecuaciones (33) y (36) son representativos de los valores de correlación entre la señal de audio codificada escalada y al menos una de las señales de audio de una señal de audio de múltiples canales.
15 En la codificación estéreo, la dirección y ubicación del origen del sonido puede ser más importante que la distorsión cuadrática media. La relación de energía del canal izquierdo y la energía del canal derecho puede ser por lo tanto un mejor indicador de dirección (o ubicación del origen del sonido) más que la minimización de una medida de distorsión ponderada. En tales escenarios, el factor de equilibrio calculado en la ecuación (35) y (36) puede no ser un buen planteamiento para calcular el factor de equilibrio. La necesidad es mantener la relación de la energía del
20 canal izquierdo y derecho antes y después de codificar la misma. La relación de la energía de canal antes de codificar y después de codificar se da por:
respectivamente. Igualando estas dos relaciones de energía y usando la suposición WL(j) = 2 – WR(j), obtenemos 10
que da los componentes del factor de equilibrio del factor de equilibrio generado. Señalar que el factor de equilibrio calculado en (38) es ahora independiente de Gj, de esta manera ya no es una función de j, proporcionando un factor de equilibrio auto correlacionado que es independiente de la consideración de ganancia; un factor de equilibrio dependiente se ilustra además en la FIG. 10 de los dibujos: Usando este resultado con las ecuaciones 29 y 32, podemos extender la selección del índice de escalado de la capa central óptimo j para incluir los segmentos de vector concatenados k, de manera que:
una representación del valor de ganancia óptimo. Este índice del valor de ganancia j* se transmite como una señal de salida del codificador de la capa de mejora.
Con referencia ahora a la FIG. 10, se ilustra un diagrama de bloques 1000 de un codificador de capa de mejora y descodificador de capa de mejora según diversas realizaciones. Las señales de audio de entrada s(n) se reciben por el generador del factor de equilibrio 1050 del codificador de la capa de mejora 1010 y el generador de señal de error (señal de distorsión) 1030 del generador de vector de ganancia 1020. La señal de audio codificada de la capa
central Sˆ (n) se recibe por la unidad de escalado 1025 del generador del vector de ganancia 1020 como se muestra.
La unidad de escalado 1025 opera para escalar la señal de audio codificada Sˆ (n) con una pluralidad de valores de ganancia para generar un número de señales de audio codificadas candidatas, donde se escala al menos una de las señales de audio codificadas candidatas. Como se mencionó previamente, se puede emplear escalado por la unidad
o cualquier función de identificación deseada. La unidad de escalado 1025 saca audio escalado Sj, que se recibe por el generador de factor de equilibrio 1030. La generación del factor de equilibrio que tiene una pluralidad de componentes de factor de equilibrio, cada uno asociado con una señal de audio de las señales de audio de múltiples canales recibidas por el codificador de la capa de mejora 1010, fue tratada anteriormente en conexión con las Ecuaciones (18), (21), (24), y (33). Esto se consuma por el generador de factor de equilibrio 1050 como se muestra,
para producir componentes de factor de equilibrio Sˆ L(n), Sˆ R(n), como se muestra. Como se trató en conexión con la ecuación (38), anterior, el generador de factor de equilibrio 1030 ilustra el factor de equilibrio como independiente de la ganancia.
El generador de vector de ganancia 1020 es responsable de determinar un valor de ganancia a ser aplicado a la señal de audio codificada para generar una estimación de la señal de audio de múltiples canales, como se trató en las Ecuaciones (27), (28), y (29). Esto se consuma por la unidad de escalado 1025 y el generador de factor de equilibrio 1050, que trabajan juntos para generar la estimación basada en el factor de equilibrio y al menos una señal de audio codificada escalada. El valor de ganancia se basa en el factor de equilibrio y la señal de audio de múltiples canales en donde el valor de ganancia se configura para minimizar un valor de distorsión entre la señal de audio de múltiples canales y la estimación de la señal de audio de múltiples canales. La ecuación (30) trata la generación de un valor de distorsión como una función de la estimación de la señal de entrada de múltiples canales y la señal de entrada real en sí misma. De esta manera, los componentes del factor de equilibrio se reciben por el generador de señal de error 1030, junto con las señales de audio de entrada s(n), para determinar un valor de error Ej para cada vector de escalado utilizado por la unidad de escalado 1025. Estos vectores de error se pasan a la circuitería del selector de ganancia 1035 junto con los valores de ganancia usados en la determinación de los vectores de error y un error particular E* basado en el valor de ganancia óptimo g*. El selector de ganancia 1035, entonces, está operativo para evaluar el valor de distorsión en base a la estimación de la señal de entrada de múltiples canales y la señal real en sí misma a fin de determinar una representación de un valor de ganancia óptimo g* de los valores de ganancia posibles. Una palabra de código (ig) que representa la ganancia óptima g* se saca del selector de ganancia 1035 y recibe por el multiplexor MUX 1040 como se muestra.
Tanto ig como iB se sacan al multiplexor 1040 y transmiten por el transmisor 1045 al descodificador de capa de mejora 1060 a través del canal 125. La representación del valor de ganancia ig se saca para transmisión al Canal 125 como se muestra pero también se puede almacenar si se desea.
En el lado del descodificador, durante la operación del descodificador de la capa de mejora 1060, se reciben ig e iE desde el canal 125 y desmultiplexan por el desmultiplexor 1065. De esta manera, el descodificador de la capa de
mejora recibe una señal de audio codificada Sˆ (n), un factor de equilibrio codificado iB y un valor de ganancia codificado ig. El descodificador del vector de ganancia 1070 comprende un generador de ganancia selectiva en frecuencia 1075 y una unidad de escalado 1080 como se muestra. El descodificador del vector de ganancia 1070 genera un valor de ganancia descodificado a partir del valor de ganancia codificado. El valor de ganancia codificado ig se introduce al generador de ganancia selectiva en frecuencia 1075 para producir un vector de ganancia g* según el método correspondiente del codificador 1010. El vector de ganancia g* se aplica entonces a la unidad de escalado
1080, que escala la señal de audio codificada Sˆ (n) con el valor de ganancia descodificado g* para generar una señal de audio escalada. El combinador de señal 1095 recibe las señales de salida del factor de equilibrio codificado
del descodificador de factor de equilibrio 1090 a la señal de audio escalada GjS(n) para generar y sacar una señal de audio de múltiples canales descodificada, mostrada como las señales de audio de salida mejoradas.
El diagrama de bloques 1100 de un codificador de capa de mejora ejemplar y descodificador de capa de mejora en el que, como se trató en conexión con la ecuación (33), anterior, el generador de factor de equilibrio 1030 genera un factor de equilibrio que es dependiente de la ganancia. Esto se ilustra por el generador de señal de error que genera la señal Gj 1110.
Con referencia ahora a las FIG. 12-14, se presentan los flujos los cuales cubren la metodología de diversas realizaciones presentadas en la presente memoria. En el flujo 1200 de la FIG. 12, se presenta un método para codificar una señal de audio de múltiples canales. En el Bloque 1210, se recibe una señal de audio de múltiples canales que tiene una pluralidad de señales de audio. En el Bloque 1220, se codifica la señal de audio de múltiples canales para generar una señal de audio codificada. La señal de audio codificada puede ser o bien una señal mono
o bien una de múltiples canales, tal como una señal estéreo que se ilustra a modo de ejemplo en los dibujos. Además, la señal de audio codificada puede comprender una pluralidad de canales. Puede haber más de un canal en la capa central y el número de canales en la capa de mejora puede ser mayor que el número de canales en la capa central. A continuación, en el Bloque 1230, se genera un factor de equilibrio que tiene componentes de factor de equilibrio cada uno asociado con una señal de audio de la señal de audio de múltiples canales. Las Ecuaciones (18), (21), (24) y (33) describen una generación de factor de equilibrio. Cada componente del factor de equilibrio puede ser dependiente de otros componentes del factor de equilibrio generados, como es el caso en la Ecuación (38). La generación del factor de equilibrio puede comprender generar un valor de correlación entre la señal de audio codificada escalada y al menos una de las señales de audio de la señal de audio de múltiples canales, tal como en las Ecuaciones (33) y (36). Se puede generar una auto correlación entre al menos una de las señales de audio, como en la Ecuación (38), a partir de la cual se puede generar una raíz cuadrada. En el Bloque 1240, se determina un valor de ganancia a ser aplicado a la señal de audio codificada para generar una estimación de la señal de audio de múltiples canales basada en el factor de equilibrio y la señal de audio de múltiples canales. El valor de ganancia se configura para minimizar un valor de distorsión entre la señal de audio de múltiples canales y la estimación de la señal de audio de múltiples canales. Las Ecuaciones (27), (28), (29) y (30) describen la determinación del valor de ganancia. Se puede elegir un valor de ganancia a partir de una pluralidad de valores de ganancia para escalar la señal de audio codificada y generar las señales de audio codificadas escaladas. El valor de distorsión se puede generar en base a esta estimación; el valor de ganancia se puede basar en el valor de distorsión. En el Bloque 1250, se saca una representación del valor de ganancia para o bien transmisión y/o bien almacenamiento.
El flujo 1300 de la FIG. 13 describe otra metodología para codificar una señal de audio de múltiples canales, según diversas realizaciones. En el Bloque 1310 se recibe una señal de audio de múltiples canales que tiene una pluralidad de señales de audio. En el Bloque 1320, la señal de audio de múltiples canales se codifica para generar una señal de audio codificada. Los procesos de los Bloques 1310 y 1320 se realizan por un codificador de la capa central, como se describió previamente. Como se expuso previamente, la señal de audio codificada puede ser o bien una señal mono o bien una de múltiples canales, tal como una señal estéreo como se ilustra a modo de ejemplo en los dibujos. Además, la señal de audio codificada puede comprender una pluralidad de canales. Puede haber más de un canal en la capa central y el número de canales en la capa de mejora puede ser mayor que el número de canales en la capa central.
En el Bloque 1330, la señal de audio codificada se escala con un número de valores de ganancia para generar un número de señales de audio codificadas candidatas, con al menos una de las señales de audio codificadas candidatas que está escalada. El escalado se consuma por la unidad de escalado del generador de vector de ganancia. Como se trató, el escalado de la señal de audio codificada puede incluir escalar con un valor de ganancia de la unidad. El valor de ganancia de la pluralidad de valores de ganancia puede ser una matriz de ganancia con el vector gj como el componente diagonal como se describió anteriormente. La matriz de ganancia puede ser selectiva en frecuencia. Puede ser dependiente de la salida de la capa central, la señal de audio codificada ilustrada en los dibujos. Se puede elegir un valor de ganancia a partir de una pluralidad de valores de ganancia para escalar la señal de audio codificada y para generar las señales de audio codificadas escaladas. En el Bloque 1340, se genera un factor de equilibrio que tiene componentes de factor de equilibrio cada uno asociado con una señal de audio de la señal de audio de múltiples canales. La generación del factor de equilibrio se realiza por el generador de factor de equilibrio. Cada componente del factor de equilibrio puede ser dependiente de otros componentes del factor de equilibrio generado, como es el caso en la Ecuación (38). La generación del factor de equilibrio puede comprender generar un valor de correlación entre la señal de audio codificada escalada y al menos una de las señales de audio de la señal de audio de múltiples canales, tal como en las Ecuaciones (33) y (36). Se puede generar una auto correlación entre al menos una de las señales de audio, como en la Ecuación (38) a partir de la cual se puede generar una raíz cuadrada.
En el Bloque 1350, se genera una estimación de la señal de audio de múltiples canales en base al factor de equilibrio y la al menos una señal de audio codificada escalada. La estimación se genera en base a la señal codificada escalada (s) y el factor de equilibrio generado. La estimación puede comprender un número de estimaciones que corresponden a la pluralidad de señales de audio codificadas candidatas. Un valor de distorsión se evalúa y/o se puede generar en base a la estimación de la señal de audio de múltiples canales y la señal de audio de múltiples canales para determinar una representación de un valor de ganancia óptimo de los valores de ganancia
en el Bloque 1360. El valor de distorsión puede comprender una pluralidad de valores de distorsión correspondientes a la pluralidad de estimaciones. La evaluación del valor de distorsión se consuma por la circuitería del selector de ganancia. La presentación de un valor de ganancia óptima se da por la Ecuación (39). En el Bloque 1370, se puede sacar una representación del valor de ganancia o bien para transmisión y/o bien almacenamiento. El transmisor del codificador de la capa de mejora puede transmitir la representación del valor de ganancia como se describió previamente.
El proceso incorporado en el diagrama de flujo 1400 de la FIG. 14 ilustra la descodificación de una señal de audio de múltiples canales. En el Bloque 1410, se reciben una señal de audio codificada, un factor de equilibrio codificado y un valor de ganancia codificado. Se genera un valor de ganancia descodificado a partir del valor de ganancia codificado en el Bloque 1420. El valor de ganancia puede ser una matriz de ganancia, previamente descrita y la matriz de ganancia puede ser selectiva en frecuencia. La matriz de ganancia también puede ser dependiente del audio codificado recibido como una salida de la capa central. Además, la señal de audio codificada puede ser o bien una señal mono o bien una de múltiples canales, tal como una señal estéreo que se ilustra a modo de ejemplo en los dibujos. Adicionalmente, la señal de audio codificada puede comprender una pluralidad de canales. Por ejemplo, puede haber más de un canal en la capa central y el número de canales en la capa de mejora puede ser mayor que el número de canales en la capa central.
En el Bloque 1430, la señal de audio codificada se escala con el valor de ganancia descodificado para generar una señal de audio escalada. El factor de equilibrio codificado se aplica a la señal de audio escalada para generar una señal de audio de múltiples canales descodificada en el Bloque 1440. La señal de audio de múltiples canales descodificada se saca en el Bloque 1450.
Cálculo de máscara de escalado selectivo basado en detección de pico
La matriz de ganancia selectiva en frecuencia Gj, que es una matriz diagonal con elementos diagonales que forman un vector de ganancia gj, se puede definir como en (14) anterior:
donde ∋ es un tamaño de paso (por ejemplo, ∋( 2,0 dB), % es una constante, M es el número de candidatos (por ejemplo, M = 8, que se puede representar usando solamente 3 bits), y kl y kh son los límites de frecuencia bajo y alto, respectivamente, sobre los cuales puede tener lugar la reducción de ganancia. Aquí k representa el coeficiente de Transformada de Fourier o MDCT de orden k. Señalar que gj es selectivo en frecuencia pero es independiente de la salida de la capa previa. Los vectores de ganancia gj se pueden basar en alguna función de los elementos codificados de un vector de señal codificado previamente, en este caso S. Esto se puede expresar como:
En un sistema de codificación integrada de múltiples capas (con más de 2 capas), en que la salida Sˆ que va a ser escalada por el vector de ganancia gj, se obtiene a partir de la contribución de al menos dos capas previas, Es decir
donde Sˆ 1 es la salida de la primera capa (capa central) y Ê2 es la contribución de la segunda capa o la primera capa de mejora. En este caso los vectores de ganancia gj pueden ser alguna función de los elementos codificados
de un vector de señal codificado previamente Sˆ y la contribución de la primera capa de mejora:
Se ha observado que la mayoría del ruido audible debido al modelo de codificación de la capa inferior está en los valles y no en los picos. En otras palabras, hay una coincidencia mejor entre el espectro original y el codificado en los picos espectrales. De esta manera no se deberían alterar los picos, es decir, el escalado se debería limitar a los valles. Para usar ventajosamente esta observación, en una de las realizaciones la función en la ecuación (41) se
basa en los picos y valles de Sˆ . Dejemos que ) ( Sˆ ) sea una máscara de escalado basada en las magnitudes pico de S detectadas. La máscara de escalado puede ser una función de valores vectoriales con valores no cero en los picos detectados, es decir
donde sˆi es el elemento de orden i de S. La ecuación (41) se puede modificar ahora como:
Se pueden usar diversos planteamientos para detección de pico. En la realización preferida, los picos se detectan
pasando el espectro absoluto | Sˆ | a través de dos filtros promedio ponderados separados y entonces comparar las salidas filtradas. Dejemos que A1 y A2 sean la representación de matriz de dos filtros promedio. Dejemos que I1 e I2 (I1 gt; I2) sean las longitudes de los dos filtros. La función de detección de pico se da como:
donde ! es un valor umbral empírico.
Como un ejemplo ilustrativo, se refiere a la FIG. 15 y la FIG. 16. Aquí, el valor absoluto de la señal codificada | Sˆ | en el dominio de MDCT se da en ambas gráficas como 1510. Esta señal es representativa de un sonido desde un “diapasón”, que crea una secuencia armónica separada regularmente como se muestra. Esta señal es difícil de codificar usando un codificador de capa central basado en un modelo de habla debido a que la frecuencia fundamental de esta señal está más allá del intervalo de qué se considera razonable para una señal de habla. Esto provoca un nivel bastante alto de ruido producido por la capa central, que se puede observar comparando la señal codificada 1510 con la versión mono de la señal original |S| (1610).
A partir de la señal codificada (1510), se usa un generador de umbral para producir el umbral 1520, que corresponde
a la expresión ! A1| Sˆ |en el ecuación 45. Aquí A1 es una matriz de convolución que, en la realización preferida,
implementa una convolución de la señal | Sˆ | con una ventana de coseno de longitud 45. Son posibles muchas formas de ventana y pueden comprender diferentes longitudes. También, en la realización preferida, A2 es una matriz identidad. El detector de pico entonces compara la señal 1510 con el umbral 1520 para producir la máscara
de escalado ) ( Sˆ ), mostrada como 1530.
Los candidatos de vector de escalado de la capa central (dados en la ecuación 45) se pueden usar entonces para
escalar el ruido entre medias de picos de la señal codificada | Sˆ | para producir una señal reconstruida escalada 1620. El candidato óptimo se puede elegir según el proceso descrito en la ecuación 39 anterior o de otro modo.
Con referencia ahora a las FIG 17-19, están presentes diagramas de flujo que ilustran la metodología asociada con el cálculo de máscara de escalado selectivo en base a la detección de pico tratada anteriormente según diversas realizaciones. En el diagrama de flujo 1700 de la FIG. 17, en el Bloque 1710 se detecta un conjunto de picos en un
vector de audio reconstruido Sˆ de una señal de audio recibida. La señal de audio puede estar integrada en múltiples
capas. El vector de audio reconstruido Sˆ puede estar en el dominio de la frecuencia y el conjunto de picos pueden ser picos en el dominio de la frecuencia. La detección del conjunto de picos se realiza según una función de detección de picos dada por la ecuación (46), por ejemplo. Se señala que el conjunto puede estar vacío, como es el
caso en que todo está atenuado y no hay picos. En el Bloque 1720, se genera una máscara de escalado ) ( Sˆ ) basada en el conjunto de picos detectados. Entonces, en el Bloque 1730, se genera un vector de ganancia g* basado en al menos la máscara de escalado y un índice j representativo del vector de ganancia. En el Bloque 1740, se escala la señal de audio reconstruida con el vector de ganancia para producir una señal de audio reconstruida escalada. Una distorsión basada en la señal de audio y la señal de audio reconstruida escalada se genera en el Bloque 1750. El índice del vector de ganancia basado en la distorsión generada se saca en el Bloque 1760.
Con referencia ahora a la FIG. 18, el diagrama de flujo 1800 ilustra una realización alternativa de codificación de una señal de audio, según ciertas realizaciones. En el Bloque 1810, se recibe una señal de audio. La señal de audio puede estar integrada en múltiples capas. La señal de audio se codifica entonces en el Bloque 1820 para generar un
vector de audio reconstruido Sˆ . El vector de audio reconstruido Sˆ puede estar en el dominio de la frecuencia y el conjunto de picos pueden ser picos en el dominio de la frecuencia. En el Bloque 1830, se detectan un conjunto de
picos en el vector de audio reconstruido Sˆ de la señal de audio recibida. La detección del conjunto de picos se realiza según una función de detección de picos dada por la ecuación (46), por ejemplo. De nuevo, se señala que el conjunto puede estar vacío, como es el caso en el que todo está atenuado y no hay picos. Una máscara de escalado
) ( Sˆ ) basada en el conjunto de picos detectado se genera en el Bloque 1840. En el Bloque 1850, se genera una pluralidad de vectores de ganancia gj basados en la máscara de escalado. La señal de audio reconstruida se escala con la pluralidad de vectores de ganancia para producir una pluralidad de señales de audio reconstruidas escaladas en el Bloque 1860. A continuación, se generan una pluralidad de distorsiones basadas en la señal de audio y la pluralidad de señales de audio reconstruidas escaladas en el Bloque 1870. Se elige un vector de ganancia a partir de la pluralidad de vectores de ganancia basado en la pluralidad de distorsiones en el Bloque 1880. El vector de ganancia se puede elegir que corresponda con una distorsión mínima de la pluralidad de distorsiones. El índice representativo del vector de ganancia se saca para ser transmitido y/o almacenado en el Bloque 1890.
Los flujos del codificador ilustrados en las FIG. 17-18 anteriores se pueden implementar por la estructura de aparato descrita previamente. Con referencia al flujo 1700, en un aparato operable para codificar una señal de audio, un selector de ganancia, tal como el selector de ganancia 1035 del generador de vector de ganancia 1020 del
codificador de capa de mejora 1010, detecta un conjunto de picos en un vector de audio reconstruido Sˆ de una
señal de audio recibida y genera una máscara de escalado ) ( Sˆ ) basada en el conjunto de picos detectados. De
nuevo, la señal de audio puede estar integrada en múltiples capas. El vector de audio reconstruido Sˆ puede estar en el dominio de la frecuencia y el conjunto de picos pueden ser picos en el dominio de la frecuencia. La detección del conjunto de picos se realiza según una función de detección de picos dada por la ecuación (46), por ejemplo. Se señala que el conjunto de picos puede ser nulo si todo en la señal ha sido atenuado. Una unidad de escalado, tal como la unidad de escalado 1025 del generador de vector de ganancia 1020 genera un vector de ganancia g* basado en al menos la máscara de escalado y un índice j representativo del vector de ganancia, escala la señal de audio reconstruida con el vector de ganancia para producir una señal de audio reconstruida escalada. El generador de señal de error 1030 del generador de vector de ganancia 1025 genera una distorsión basada en la señal de audio y la señal de audio reconstruida escalada. Un transmisor, tal como el transmisor 1045 del descodificador de la capa de mejora 1010 es operable para sacar el índice del vector de ganancia en base a la distorsión generada.
Con referencia al flujo 1800 de la FIG. 18, en un aparato operable para codificar una señal de audio, un codificador recibió una señal de audio y codifica la señal de audio para generar un vector de audio reconstruido S. Una unidad de escalado tal como la unidad de escalado 1025 del generador de vector de ganancia 1020 detecta un conjunto de
picos en el vector de audio reconstruido Sˆ de una señal de audio recibida, genera una máscara de escalado ) ( Sˆ ) basada en el conjunto de picos detectados, genera una pluralidad de vectores de ganancia gj basados en la máscara de escalado, y escala la señal de audio reconstruida con la pluralidad de vectores de ganancia para producir la pluralidad de señales de audio reconstruidas escaladas. El generador de señal de error 1030 genera una pluralidad de distorsiones basadas en la señal de audio y la pluralidad de señales de audio reconstruidas escaladas. Un selector de ganancia tal como el selector de ganancia 1035 elige un vector de ganancia a partir de la pluralidad de vectores de ganancia basados en la pluralidad de distorsiones. El transmisor 1045, por ejemplo, saca para su posterior transmisión y/o almacenamiento, el índice representativo del vector de ganancia.
En el diagrama de flujo 1900 de la FIG. 19, se ilustra un método de descodificación de una señal de audio. Un vector
de audio reconstruido Sˆ y un índice representativo de un vector de ganancia se reciben en el Bloque 1910. En el Bloque 1920, se detecta un conjunto de picos en el vector de audio reconstruido. La detección del conjunto de picos se realiza según una función de detección de picos dada por la ecuación (46), por ejemplo. De nuevo, se señala que el conjunto puede estar vacío, como es el caso en que todo está atenuado y no hay picos. Se genera en el Bloque
1930 una máscara de escalado ) ( Sˆ ) basada en el conjunto de picos detectados. El vector de ganancia g* basado en al menos la máscara de escalado y el índice representativo del vector de ganancia se genera en el Bloque 1940. El vector de audio reconstruido se escala con el vector de ganancia para producir una señal de audio reconstruida escalada en el Bloque 1950. El método puede incluir además generar una mejora al vector de audio reconstruido y entonces combinar la señal de audio reconstruida escalada y la mejora al vector de audio reconstruido para generar una señal descodificada mejorada.
El flujo del descodificador ilustrado en la FIG. 19 se puede implementar por la estructura de aparato previamente descrita. En un aparato operable para descodificar una señal de audio, un descodificador de vector de ganancia
1070 de un descodificador de capa de mejora 1060, por ejemplo, recibe un vector de audio reconstruido Sˆ y un índice representativo de un vector de ganancia ig. Como se muestra en la FIG. 10, ig se recibe por el selector de
ganancia 1075 mientras que el vector de audio reconstruido Sˆ se recibe por la unidad de escalado 1080 del descodificador de vector de ganancia 1070. Un selector de ganancia, tal como el selector de ganancia 1075 del descodificador de vector de ganancia 1070, detecta un conjunto de picos en el vector de audio reconstruido, genera
una máscara de escalado ) ( Sˆ ) basada en el conjunto de picos detectados, y genera el vector de ganancia g* basado en al menos la máscara de escalado y el índice representativo del vector de ganancia. De nuevo, el conjunto puede estar vacío de ficheros si la señal está mayoritariamente atenuada. El selector de ganancia detecta el conjunto de picos según una función de detección de picos tal como aquélla dada en la ecuación (46), por ejemplo. Una unidad de escalado 1080, por ejemplo, escala el vector de audio reconstruido con el vector de ganancia para producir una señal de audio reconstruida escalada.
Además, un descodificador de señal de error tal como el descodificador de señal de error 665 del descodificador de capa de mejora en la FIG. 6 puede generar una mejora al vector de audio reconstruido. Un combinador de señal, como el combinador de señal 675 de la FIG. 6, combina la señal de audio reconstruida escalada y la mejora al vector de audio reconstruido para generar una señal descodificada mejorada.
Se señala además que los flujos dirigidos de factor de equilibrio de las FIG. 12-14 y la máscara de escalado selectiva con flujos dirigidos de detección de picos de las FIG. 17-19 se pueden realizar ambos en diversa combinación y tal se soporta por el aparato y la estructura descrita en la presente memoria.
Aunque la invención se ha mostrado y descrito particularmente con referencia a una realización particular, se entenderá por los expertos en la técnica que se pueden hacer diversos cambios en la forma y los detalles dentro de la misma sin apartarse del alcance de la invención. Por ejemplo, aunque las técnicas anteriores se describen en términos de transmisión y recepción sobre un canal en un sistema de telecomunicaciones, las técnicas se pueden aplicar igualmente a un sistema que usa el sistema de compresión de señal para los propósitos de reducción de los requerimientos de almacenamiento en un dispositivo de medios digital, tal como un dispositivo de memoria de estado sólido o disco duro de ordenador. El alcance de protección se define en las reivindicaciones adjuntas.

Claims (15)

  1. REIVINDICACIONES
    1. Un aparato que descodifica una señal de audio, que comprende:
    un descodificador de vector de ganancia de un descodificador de capa de mejora que recibe un vector de audio reconstruido S y un índice representativo de un vector de ganancia, en donde un selector de ganancia del descodificador de vector de ganancia recibe el índice representativo del vector de ganancia;
    un selector de ganancia del descodificador de vector de ganancia que detecta un conjunto de picos en el vector de audio reconstruido, genera una máscara de escalado ) ( Sˆ ) basada en el conjunto de picos detectados, y generar el vector de ganancia g* en base a al menos la máscara de escalado y el índice representativo del vector de ganancia;
    una unidad de escalado del descodificador de vector de ganancia que escala el vector de audio reconstruido con el vector de ganancia para producir una señal de audio reconstruida escalada.
  2. 2.
    El aparato de la reivindicación 1, que además comprende: un descodificador de señal de error que genera una mejora al vector de audio reconstruido; y un combinador de señal del descodificador de capa de mejora que combina la señal de audio reconstruida
    escalada y la mejora al vector de audio reconstruido para generar una señal descodificada mejorada.
  3. 3.
    El aparato de la reivindicación 1, en donde el selector de ganancia detecta el conjunto de picos según una función de detección de picos dada como:
    donde ! es un valor umbral.
  4. 4.
    El aparato de la reivindicación 1, en donde la señal de audio está integrada en múltiples capas.
  5. 5.
    El aparato de la reivindicación 1, en donde el vector de audio reconstruido S está en el dominio de la frecuencia y el conjunto de picos son picos en el dominio de la frecuencia.
  6. 6.
    El aparato de la reivindicación 1, que además comprende:
    un descodificador que recibe una señal de audio codificada, un factor de equilibrio codificado y un valor de ganancia codificado;
    en donde el descodificador de vector de ganancia de un descodificador de capa de mejora que genera un valor de ganancia descodificado a partir del valor de ganancia descodificado;
    en donde la unidad de escalado del descodificador de capa de mejora que escala la señal de audio codificada con el valor de ganancia descodificado para generar una señal de audio escalada; y
    que además comprende:
    un combinador de señal que aplica el factor de equilibrio codificado a la señal de audio escalada para generar una señal de audio de múltiples canales descodificada y saca la señal de audio de múltiples canales descodificada.
  7. 7. Un método para descodificar una señal de audio, el método que comprende:
    recibir un vector de audio reconstruido Sˆ y un índice representativo de un vector de ganancia;
    detectar un conjunto de picos en el vector de audio reconstruido;
    generar una máscara de escalado ) ( Sˆ ) basada en el conjunto de picos detectados; generar el vector de ganancia g* basado en al menos la máscara de escalado y el índice representativo del vector de ganancia; y
    escalar el vector de ganancia reconstruido con el vector de ganancia para producir una señal de audio reconstruida escalada.
  8. 8. El método de la reivindicación 7, que además comprende: 20
    generar una mejora al vector de audio reconstruido; y combinar la señal de audio reconstruida escalada y la mejora al vector de audio reconstruido para generar una
    señal descodificada mejorada.
  9. 9.
    El método de la reivindicación 7, en donde detectar el conjunto de picos además comprende una función de detección de picos dada como:
    donde ! es un valor umbral.
  10. 10.
    El método de la reivindicación 7, que además comprende: recibir una señal de audio codificada, un factor de equilibrio codificado y un valor de ganancia codificado; generar un valor de ganancia descodificado a partir del valor de ganancia codificado; escalar la señal de audio codificada con el valor de ganancia descodificado para generar una señal de audio
    escalada;
    aplicar un factor de equilibrio codificado a la señal de audio escalada para generar una señal de audio de múltiples canales descodificada; y sacar la señal de audio de múltiples canales descodificada.
  11. 11. Un método para codificar una señal de audio, el método que comprende: recibir una señal de audio; codificar la señal de audio para generar un vector de audio reconstruido S;
    detectar un conjunto de picos en el vector de audio reconstruido Sˆ de una señal de audio recibida;
    generar una máscara de escalado ) ( Sˆ ) basada en el conjunto de picos detectados;
    generar una pluralidad de vectores de ganancia gj basados en la máscara de escalado;
    escalar el vector de audio reconstruido con la pluralidad de vectores de ganancia para producir la pluralidad de señales de audio reconstruidas escaladas; generar una pluralidad de distorsiones basadas en la señal de audio y una pluralidad de señales de audio
    reconstruidas escaladas; elegir un vector de ganancia de la pluralidad de vectores de ganancia en base a la pluralidad de distorsiones; y sacar para al menos uno de transmisión y almacenamiento el índice representativo del vector de ganancia.
  12. 12.
    El método de la reivindicación 11, en donde el vector de ganancia se elige que corresponda con una distorsión mínima de la pluralidad de distorsiones.
  13. 13.
    El método de la reivindicación 11, en donde detectar el conjunto de picos además comprende una función de detección de picos dada como:
    donde ! es un valor umbral.
  14. 14.
    El método de la reivindicación 11, en donde la señal de audio está integrada en múltiples capas. 21
  15. 15.
    El método de la reivindicación 11, en donde el vector de audio reconstruido Sˆ está en el dominio de la frecuencia y el conjunto de picos son picos en el dominio de la frecuencia.
ES09799784T 2008-12-29 2009-12-03 Cálculo de máscara de escalado selectivo basado en detección de pico Active ES2430414T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US345096 2008-12-29
US12/345,096 US8200496B2 (en) 2008-12-29 2008-12-29 Audio signal decoder and method for producing a scaled reconstructed audio signal
PCT/US2009/066627 WO2010077557A1 (en) 2008-12-29 2009-12-03 Selective scaling mask computation based on peak detection

Publications (1)

Publication Number Publication Date
ES2430414T3 true ES2430414T3 (es) 2013-11-20

Family

ID=41693452

Family Applications (1)

Application Number Title Priority Date Filing Date
ES09799784T Active ES2430414T3 (es) 2008-12-29 2009-12-03 Cálculo de máscara de escalado selectivo basado en detección de pico

Country Status (8)

Country Link
US (1) US8200496B2 (es)
EP (1) EP2382626B1 (es)
JP (1) JP5283046B2 (es)
KR (1) KR101275892B1 (es)
CN (1) CN102272831B (es)
BR (1) BRPI0923749B1 (es)
ES (1) ES2430414T3 (es)
WO (1) WO2010077557A1 (es)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7461106B2 (en) * 2006-09-12 2008-12-02 Motorola, Inc. Apparatus and method for low complexity combinatorial coding of signals
US8576096B2 (en) * 2007-10-11 2013-11-05 Motorola Mobility Llc Apparatus and method for low complexity combinatorial coding of signals
US8209190B2 (en) * 2007-10-25 2012-06-26 Motorola Mobility, Inc. Method and apparatus for generating an enhancement layer within an audio coding system
US20090234642A1 (en) * 2008-03-13 2009-09-17 Motorola, Inc. Method and Apparatus for Low Complexity Combinatorial Coding of Signals
US7889103B2 (en) * 2008-03-13 2011-02-15 Motorola Mobility, Inc. Method and apparatus for low complexity combinatorial coding of signals
US8639519B2 (en) 2008-04-09 2014-01-28 Motorola Mobility Llc Method and apparatus for selective signal coding based on core encoder performance
US8219408B2 (en) * 2008-12-29 2012-07-10 Motorola Mobility, Inc. Audio signal decoder and method for producing a scaled reconstructed audio signal
US8175888B2 (en) 2008-12-29 2012-05-08 Motorola Mobility, Inc. Enhanced layered gain factor balancing within a multiple-channel audio coding system
FR2947944A1 (fr) * 2009-07-07 2011-01-14 France Telecom Codage/decodage perfectionne de signaux audionumeriques
US8149144B2 (en) * 2009-12-31 2012-04-03 Motorola Mobility, Inc. Hybrid arithmetic-combinatorial encoder
CN102714040A (zh) * 2010-01-14 2012-10-03 松下电器产业株式会社 编码装置、解码装置、频谱变动量计算方法和频谱振幅调整方法
US8423355B2 (en) * 2010-03-05 2013-04-16 Motorola Mobility Llc Encoder for audio signal including generic audio and speech frames
US8428936B2 (en) * 2010-03-05 2013-04-23 Motorola Mobility Llc Decoder for audio signal including generic audio and speech frames
CN101964188B (zh) * 2010-04-09 2012-09-05 华为技术有限公司 语音信号编码、解码方法、装置及编解码系统
JP5714002B2 (ja) * 2010-04-19 2015-05-07 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 符号化装置、復号装置、符号化方法及び復号方法
US9449607B2 (en) * 2012-01-06 2016-09-20 Qualcomm Incorporated Systems and methods for detecting overflow
US9129600B2 (en) 2012-09-26 2015-09-08 Google Technology Holdings LLC Method and apparatus for encoding an audio signal
KR102086047B1 (ko) * 2015-12-11 2020-03-06 한국전자통신연구원 시간 영역을 기반으로 오디오 신호에 데이터를 삽입하거나 오디오 신호로부터 데이터를 추출하는 방법 및 장치

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4560977A (en) 1982-06-11 1985-12-24 Mitsubishi Denki Kabushiki Kaisha Vector quantizer
US4670851A (en) 1984-01-09 1987-06-02 Mitsubishi Denki Kabushiki Kaisha Vector quantizer
US4727354A (en) 1987-01-07 1988-02-23 Unisys Corporation System for selecting best fit vector code in vector quantization encoding
JP2527351B2 (ja) 1987-02-25 1996-08-21 富士写真フイルム株式会社 画像デ―タの圧縮方法
US5067152A (en) 1989-01-30 1991-11-19 Information Technologies Research, Inc. Method and apparatus for vector quantization
DE68922610T2 (de) 1989-09-25 1996-02-22 Rai Radiotelevisione Italiana Umfassendes System zur Codierung und Übertragung von Videosignalen mit Bewegungsvektoren.
CN1062963C (zh) 1990-04-12 2001-03-07 多尔拜实验特许公司 用于产生高质量声音信号的解码器和编码器
WO1993018505A1 (en) 1992-03-02 1993-09-16 The Walt Disney Company Voice transformation system
IT1281001B1 (it) 1995-10-27 1998-02-11 Cselt Centro Studi Lab Telecom Procedimento e apparecchiatura per codificare, manipolare e decodificare segnali audio.
US5956674A (en) 1995-12-01 1999-09-21 Digital Theater Systems, Inc. Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels
US6263312B1 (en) 1997-10-03 2001-07-17 Alaris, Inc. Audio compression and decompression employing subband decomposition of residual signal and distortion reduction
DE69926821T2 (de) 1998-01-22 2007-12-06 Deutsche Telekom Ag Verfahren zur signalgesteuerten Schaltung zwischen verschiedenen Audiokodierungssystemen
US6253185B1 (en) 1998-02-25 2001-06-26 Lucent Technologies Inc. Multiple description transform coding of audio using optimal transforms of arbitrary dimension
US6904174B1 (en) 1998-12-11 2005-06-07 Intel Corporation Simplified predictive video encoder
US6480822B2 (en) 1998-08-24 2002-11-12 Conexant Systems, Inc. Low complexity random codebook structure
US6704705B1 (en) 1998-09-04 2004-03-09 Nortel Networks Limited Perceptual audio coding
US6453287B1 (en) 1999-02-04 2002-09-17 Georgia-Tech Research Corporation Apparatus and quality enhancement algorithm for mixed excitation linear predictive (MELP) and other speech coders
US6493664B1 (en) * 1999-04-05 2002-12-10 Hughes Electronics Corporation Spectral magnitude modeling and quantization in a frequency domain interpolative speech codec system
US6691092B1 (en) * 1999-04-05 2004-02-10 Hughes Electronics Corporation Voicing measure as an estimate of signal periodicity for a frequency domain interpolative speech codec system
US6236960B1 (en) 1999-08-06 2001-05-22 Motorola, Inc. Factorial packing method and apparatus for information coding
US6504877B1 (en) 1999-12-14 2003-01-07 Agere Systems Inc. Successively refinable Trellis-Based Scalar Vector quantizers
JP4149637B2 (ja) * 2000-05-25 2008-09-10 株式会社東芝 半導体装置
US6304196B1 (en) 2000-10-19 2001-10-16 Integrated Device Technology, Inc. Disparity and transition density control system and method
AUPR105000A0 (en) 2000-10-27 2000-11-23 Canon Kabushiki Kaisha Method for generating and detecting marks
JP3404024B2 (ja) 2001-02-27 2003-05-06 三菱電機株式会社 音声符号化方法および音声符号化装置
JP3636094B2 (ja) 2001-05-07 2005-04-06 ソニー株式会社 信号符号化装置及び方法、並びに信号復号装置及び方法
JP4506039B2 (ja) 2001-06-15 2010-07-21 ソニー株式会社 符号化装置及び方法、復号装置及び方法、並びに符号化プログラム及び復号プログラム
US6658383B2 (en) 2001-06-26 2003-12-02 Microsoft Corporation Method for coding speech and music signals
US6662154B2 (en) 2001-12-12 2003-12-09 Motorola, Inc. Method and system for information signal coding using combinatorial and huffman codes
AU2003213149A1 (en) 2002-02-21 2003-09-09 The Regents Of The University Of California Scalable compression of audio and other signals
DE60214599T2 (de) 2002-03-12 2007-09-13 Nokia Corp. Skalierbare audiokodierung
JP4304360B2 (ja) * 2002-05-22 2009-07-29 日本電気株式会社 音声符号化復号方式間の符号変換方法および装置とその記憶媒体
JP3881943B2 (ja) 2002-09-06 2007-02-14 松下電器産業株式会社 音響符号化装置及び音響符号化方法
AU2003208517A1 (en) 2003-03-11 2004-09-30 Nokia Corporation Switching between coding schemes
CA2524243C (en) 2003-04-30 2013-02-19 Matsushita Electric Industrial Co. Ltd. Speech coding apparatus including enhancement layer performing long term prediction
EP1630790B1 (en) * 2003-05-20 2008-09-03 Matsushita Electric Industrial Co., Ltd. Method and device for extending the audio signal band
JP4123109B2 (ja) 2003-08-29 2008-07-23 日本ビクター株式会社 変調装置及び変調方法並びに復調装置及び復調方法
SE527670C2 (sv) 2003-12-19 2006-05-09 Ericsson Telefon Ab L M Naturtrogenhetsoptimerad kodning med variabel ramlängd
RU2392671C2 (ru) 2004-04-05 2010-06-20 Конинклейке Филипс Электроникс Н.В. Способы и устройства для кодирования и декодирования стереосигнала
US20060022374A1 (en) 2004-07-28 2006-02-02 Sun Turn Industrial Co., Ltd. Processing method for making column-shaped foam
US6975253B1 (en) 2004-08-06 2005-12-13 Analog Devices, Inc. System and method for static Huffman decoding
US7161507B2 (en) 2004-08-20 2007-01-09 1St Works Corporation Fast, practically optimal entropy coding
US20060047522A1 (en) 2004-08-26 2006-03-02 Nokia Corporation Method, apparatus and computer program to provide predictor adaptation for advanced audio coding (AAC) system
JP4771674B2 (ja) 2004-09-02 2011-09-14 パナソニック株式会社 音声符号化装置、音声復号化装置及びこれらの方法
KR20070092240A (ko) 2004-12-27 2007-09-12 마츠시타 덴끼 산교 가부시키가이샤 음성 부호화 장치 및 음성 부호화 방법
JP4116628B2 (ja) * 2005-02-08 2008-07-09 株式会社東芝 オーディオ符号化方法およびオーディオ符号化装置
US20060190246A1 (en) 2005-02-23 2006-08-24 Via Telecom Co., Ltd. Transcoding method for switching between selectable mode voice encoder and an enhanced variable rate CODEC
US7840411B2 (en) 2005-03-30 2010-11-23 Koninklijke Philips Electronics N.V. Audio encoding and decoding
US7885809B2 (en) 2005-04-20 2011-02-08 Ntt Docomo, Inc. Quantization of speech and audio coding parameters using partial information on atypical subsequences
FR2888699A1 (fr) 2005-07-13 2007-01-19 France Telecom Dispositif de codage/decodage hierachique
CN101263554B (zh) 2005-07-22 2011-12-28 法国电信公司 在比特率分级和带宽分级的音频解码中的比特率切换方法
CN101253557B (zh) 2005-08-31 2012-06-20 松下电器产业株式会社 立体声编码装置及立体声编码方法
US8069035B2 (en) 2005-10-14 2011-11-29 Panasonic Corporation Scalable encoding apparatus, scalable decoding apparatus, and methods of them
JP4969454B2 (ja) 2005-11-30 2012-07-04 パナソニック株式会社 スケーラブル符号化装置およびスケーラブル符号化方法
CN101385079B (zh) 2006-02-14 2012-08-29 法国电信公司 在音频编码/解码中用于知觉加权的设备
US20070239294A1 (en) 2006-03-29 2007-10-11 Andrea Brueckner Hearing instrument having audio feedback capability
JP2007293118A (ja) * 2006-04-26 2007-11-08 Sony Corp 符号化方法および符号化装置
US7230550B1 (en) 2006-05-16 2007-06-12 Motorola, Inc. Low-complexity bit-robust method and system for combining codewords to form a single codeword
US7414549B1 (en) 2006-08-04 2008-08-19 The Texas A&M University System Wyner-Ziv coding based on TCQ and LDPC codes
US7461106B2 (en) 2006-09-12 2008-12-02 Motorola, Inc. Apparatus and method for low complexity combinatorial coding of signals
WO2008062990A1 (en) 2006-11-21 2008-05-29 Samsung Electronics Co., Ltd. Method, medium, and system scalably encoding/decoding audio/speech
US7761290B2 (en) * 2007-06-15 2010-07-20 Microsoft Corporation Flexible frequency and time partitioning in perceptual transform coding of audio
US7885819B2 (en) * 2007-06-29 2011-02-08 Microsoft Corporation Bitstream syntax for multi-process audio decoding
US8576096B2 (en) 2007-10-11 2013-11-05 Motorola Mobility Llc Apparatus and method for low complexity combinatorial coding of signals
US8209190B2 (en) 2007-10-25 2012-06-26 Motorola Mobility, Inc. Method and apparatus for generating an enhancement layer within an audio coding system
US7889103B2 (en) 2008-03-13 2011-02-15 Motorola Mobility, Inc. Method and apparatus for low complexity combinatorial coding of signals
US20090234642A1 (en) 2008-03-13 2009-09-17 Motorola, Inc. Method and Apparatus for Low Complexity Combinatorial Coding of Signals
US8639519B2 (en) 2008-04-09 2014-01-28 Motorola Mobility Llc Method and apparatus for selective signal coding based on core encoder performance
EP2311034B1 (en) 2008-07-11 2015-11-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and decoder for encoding frames of sampled audio signals
US8290782B2 (en) * 2008-07-24 2012-10-16 Dts, Inc. Compression of audio scale-factors by two-dimensional transformation
US20100088090A1 (en) 2008-10-08 2010-04-08 Motorola, Inc. Arithmetic encoding for celp speech encoders
US8175888B2 (en) 2008-12-29 2012-05-08 Motorola Mobility, Inc. Enhanced layered gain factor balancing within a multiple-channel audio coding system
US8140342B2 (en) 2008-12-29 2012-03-20 Motorola Mobility, Inc. Selective scaling mask computation based on peak detection
CA2759914A1 (en) * 2009-05-29 2010-12-02 Nippon Telegraph And Telephone Corporation Encoding device, decoding device, encoding method, decoding method and program therefor
US8442837B2 (en) 2009-12-31 2013-05-14 Motorola Mobility Llc Embedded speech and audio coding using a switchable model core
US11342764B2 (en) 2018-11-28 2022-05-24 Shenzhen Innokin Technology Co., Ltd. Low voltage charging control and protection circuit for electronic cigarette and method of charging the electronic cigarette using the circuit

Also Published As

Publication number Publication date
KR101275892B1 (ko) 2013-06-17
US20100169087A1 (en) 2010-07-01
KR20110111442A (ko) 2011-10-11
BRPI0923749A8 (pt) 2017-07-11
US8200496B2 (en) 2012-06-12
JP5283046B2 (ja) 2013-09-04
CN102272831B (zh) 2013-08-14
EP2382626A1 (en) 2011-11-02
BRPI0923749B1 (pt) 2020-03-17
WO2010077557A1 (en) 2010-07-08
CN102272831A (zh) 2011-12-07
BRPI0923749A2 (pt) 2016-01-19
JP2012514224A (ja) 2012-06-21
EP2382626B1 (en) 2013-09-18

Similar Documents

Publication Publication Date Title
ES2430414T3 (es) Cálculo de máscara de escalado selectivo basado en detección de pico
ES2430639T3 (es) Método y aparato para generar una capa de mejora dentro de un sistema de codificación de audio de múltiples canales
ES2432625T3 (es) Cálculo de máscara de escalamiento selectiva basado en detección de picos
ES2434251T3 (es) Método y aparato para generar una capa de mejora dentro de un sistema de codificación de audio de múltiples canales
ES2473277T3 (es) Dispositivo de codificación, dispositivo de descodificaci�n y método de los mismos
ES2453098T3 (es) Códec multimodo de audio
US8209190B2 (en) Method and apparatus for generating an enhancement layer within an audio coding system
EP2402940B1 (en) Encoder, decoder, and method therefor
ES2703327T3 (es) Codificador, decodificador y métodos para codificación espacial de objetos de audio de multirresolución retrocompatible
ES2965741T3 (es) Aparato para codificar o decodificar una señal multicanal codificada mediante una señal de relleno generada por un filtro de banda ancha