ES2663269T3 - Codificador de audio para codificar una señal de audio que tiene una porción similar a un impulso y una porción estacionaria - Google Patents

Codificador de audio para codificar una señal de audio que tiene una porción similar a un impulso y una porción estacionaria Download PDF

Info

Publication number
ES2663269T3
ES2663269T3 ES08759046.9T ES08759046T ES2663269T3 ES 2663269 T3 ES2663269 T3 ES 2663269T3 ES 08759046 T ES08759046 T ES 08759046T ES 2663269 T3 ES2663269 T3 ES 2663269T3
Authority
ES
Spain
Prior art keywords
signal
pulse
encoded
audio
encoder
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
ES08759046.9T
Other languages
English (en)
Inventor
Jürgen HERRE
Ralf Geiger
Stefan Bayer
Guillaume Fuchs
Ulrich Krämer
Nikolaus Rettelbach
Bernhard Grill
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Application granted granted Critical
Publication of ES2663269T3 publication Critical patent/ES2663269T3/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/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/20Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
    • 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
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

Codificador de audio para codificar una señal de audio (8) que tiene una porción similar a un impulso y una porción estacionaria, que comprende: un extractor de impulsos (10) para extraer la porción similar a un impulso a partir de la señal de audio, teniendo el extractor de impulsos un codificador de impulsos para codificar las porciones similares a un impulso para obtener una señal similar a un impulso codificada; un codificador de señales (16) para codificar una señal residual obtenida a partir de la señal de audio para obtener una señal residual codificada (20), obteniéndose la señal residual a partir de la señal de audio de tal manera que la porción similar a un impulso se reduce o elimina de la señal de audio; y una interfaz de salida (22) para emitir la señal similar a un impulso codificada (12) y la señal residual codificada (20), para proporcionar una señal codificada (24), en el que el codificador de impulsos está configurado para no proporcionar una señal similar a un impulso codificada, cuando el extractor de impulsos no puede encontrar una porción de impulso en la señal de audio.

Description

5
10
15
20
25
30
35
40
45
50
55
60
Codificador de audio para codificar una señal de audio que tiene una porción similar a un impulso y una porción
estacionaria
DESCRIPCIÓN
La presente invención se refiere a una codificación fuente, y particularmente, a una codificación fuente de audio, en la cual una señal de audio se procesa al menos por medio de dos codificadores de audio diferentes que tienen diferentes algoritmos de codificación.
En el contexto de audio de baja tasa de bits y tecnología de codificación de voz, tradicionalmente se han empleado varias técnicas de codificación diferentes con el fin de lograr una codificación de baja tasa de bits de tales señales con la mejor calidad subjetiva posible a una tasa de bits dada. Los codificadores para la música / señales de sonido generales cuyo objetivo es optimizar la calidad subjetiva mediante la conformación de la forma espectral (y temporal) del error de cuantificación conforme a una curva umbral de enmascaramiento el cual se estima a partir de la señal de entrada por medio de un modelo perceptual (“codificación de audio perceptual”). Por otro lado, se ha demostrado que la codificación de voz a tasa de bits muy bajas funciona muy eficientemente cuando se basa en un modelo de producción de voz humana, es decir, empleando Codificación Predictiva Lineal (LPC) para moldear los efectos resonantes del tracto vocal humano junto con una codificación eficiente de la señal de excitación residual.
Como consecuencia de estas dos metodologías diferentes, los codificadores de audio generales (como MPEG-1 Capa 3, o MPEG-2/4 Advanced Audio Coding - Codificación Avanzada de Audio, AAC) usualmente no funcionan tan bien para las señales de voz a tasas de datos muy bajas como los Codificadores de voz dedicados en función de LPC debido a la falta de explotación de un modelo fuente de voz. A la inversa, los codificadores de voz dedicados en función de LPC usualmente no logran resultados convincentes cuando se aplican a las señales musicales generales debido a su incapacidad de conformar de manera flexible la envolvente espectral de la distorsión de la codificación conforme a una curva umbral de enmascaramiento. A continuación, se describen realizaciones que proporcionan un concepto que combina las ventajas tanto de la codificación en función de LPC como de la codificación de audio perceptual en un marco único y de este modo describe la codificación audio unificada que es eficiente para ambas señales generales de audio y de voz.
Tradicionalmente, los codificadores perceptuales de audio utilizan una metodología en función del banco de filtros para codificar de manera eficiente las señales de audio y conformar la distorsión de cuantificación conforme a un cálculo aproximado de la curva de enmascaramiento.
La Figura 16a muestra el diagrama básico por bloques de un sistema de codificación perceptual monofónico. Se utiliza un banco de filtros de análisis 1600 para mapear las muestras de dominio temporal en componentes espectrales submuestrados. Dependiente del número de componentes espectrales, también se hace referencia al sistema como un codificador por subbandas (pequeño número de subbandas, por ejemplo, 32) o un codificador por transformadas (gran número de líneas de frecuencia, por ejemplo, 512). Se utiliza un modelo perceptual (“psicoacústico”) 1602 para estimar el umbral de enmascaramiento dependiente del tiempo real. Los componentes espectrales (“subbanda” o “dominio de frecuencia”) se cuantifican y se codifican 1604 de tal manera que el ruido de cuantificación se oculta debajo de la señal real transmitida, y no es perceptible después de la decodificación. Esto se logra por medio de la variación de la granularidad de la cuantificación de los valores espectrales con el transcurso del tiempo y la frecuencia.
Los valores de subbanda o coeficientes espectrales cuantificados y codificados por entropía, además de la información secundaria, se introducen en un formateador de flujo de bits 1606, que proporciona una señal de audio codificada que es apropiada para ser transmitida o almacenada. El flujo de bits de salida del bloque 1606 puede transmitirse a través de Internet o puede almacenarse en cualquier soporte de datos legibles por máquinas.
Sobre el lado del decodificador, una interfaz de entrada al decodificador 1610 recibe el flujo de bits codificado. El bloque 1610 separa los valores de subbanda/espectrales codificados por entropía y cuantificados de la información secundaria. Los valores espectrales codificados se introducen a un decodificador por entropía tal como un Decodificador Huffman el cual se posiciona entre 1610 y 1620. La salida de este decodificador por entropía consiste en valores espectrales cuantificados. Estos valores espectrales cuantificados se introducen a un recuantificador el cual realiza una cuantificación “inversa” conforme a lo indicado en 1620 en la Figura 16a. La salida del bloque 1620 se introduce a un banco de filtros de síntesis 1622, el cual realiza una filtración de síntesis incluyendo una transformada tiempo/frecuencia y, típicamente, una operación de cancelación por aliasing del dominio temporal tal como superposición y adición y/o una operación de ventanas del lado de la síntesis para finalmente obtener la señal de salida de audio.
Las figuras 16b, 16c indican una alternativa al concepto de codificación perceptual total en función del banco de filtros de la Figura 16a, en el cual se implementan metodología de prefiltración del lado del codificador y una
5
10
15
20
25
30
35
40
45
50
55
60
metodología de postfiltración de lado del decodificador.
En [Edl00], se ha propuesto un codificador perceptual de audio el cual separa los aspectos de reducción de la irrelevancia (es decir, conformación del ruido conforme a criterios perceptuales) y reducción de la redundancia (es decir, obteniendo una representación de la información matemáticamente más compacta) por medio de la utilización de un así llamado prefiltro en vez de una cuantificación variable de los coeficientes espectrales sobre la frecuencia. El principio se ilustra en la Figura 16b. La señal de entrada se analiza a través de un modelo perceptual 1602 para computar un cálculo aproximado de la curva umbral de enmascaramiento sobre la frecuencia. El umbral de enmascaramiento se convierte en un grupo de coeficientes de prefiltro tal que la magnitud de su respuesta de frecuencia es inversamente proporcional al umbral de enmascaramiento. La operación de prefiltro aplica este grupo de coeficientes a la señal de entrada la cual produce una señal de salida en la cual todos los componentes de frecuencia se representan conforme a su importancia perceptual (“blanqueo perceptual”). Esta señal posteriormente se codifica mediante cualquier clase de codificador de audio 1632 el cual produce una distorsión por cuantificación “blanca”, es decir, no se aplica ninguna conformación de ruido perceptual. La transmisión / almacenamiento de la señal de audio incluye a ambos, el flujo de bits del codificador y una versión codificada de los coeficientes de prefiltración. En el decodificador de la Figura 16c, el flujo de bits del codificador se decodifica (1634) en la señal de audio perceptualmente blanqueada la cual contiene ruido de cuantificación blanco aditivo. Esta señal luego se somete a una operación de postfiltración 1640 conforme a los coeficientes de filtro transmitidos. Debido a que el postfiltro realiza el proceso de filtración inverso relativo al prefiltro, el mismo reconstruye la señal de entrada de audio original a partir de la señal perceptualmente blanqueada. El ruido blanco aditivo de cuantificación se conforma espectralmente como la curva de enmascaramiento por medio del postfiltro y de este modo aparece perceptualmente coloreado en la salida del decodificador, conforme al objetivo.
Debido a que en tal esquema se logra conformación perceptual del ruido a través del paso pre/postfiltración en vez de la cuantificación de los coeficientes espectrales dependientes de la frecuencia, el concepto puede generalizarse para incluir un mecanismo de codificación no en función del banco de filtros para representar la señal de audio prefiltrada en vez de un codificador de audio en función del banco de filtros. En [Sch02] esto se muestra para el núcleo de codificación del dominio temporal utilizando etapas de codificación por entropía y predictivas.
A fin de permitir la conformación espectral de ruido apropiada por medio de la utilización de técnicas de pre/postfiltración, es importante adaptar la resolución frecuencial del pre/postfiltro a aquella del sistema auditivo humano. Lo ideal sería que la resolución frecuencial siguiera las escalas de frecuencias perceptuales bien conocidas, tales como la escala de frecuencias BARK o ERB [Zwi]. Esto es especialmente deseable a fin de minimizar el orden del modelo de pre/postfiltro y de este modo la complejidad computacional asociada y el porcentaje de transmisión de información secundaria.
La adaptación de la resolución frecuencial pre/postfiltro se puede lograr por medio del concepto bien conocido de distorsión de frecuencia [KHL97]. Esencialmente, los retrasos de la unidad dentro de una estructura de filtro se reemplazan por (primer orden u orden mayor) filtros de todo paso los cuales llevan a una deformación no uniforme (“distorsión”) de la respuesta de frecuencia del filtro. Se ha mostrado que aún por medio del uso de un filtro de todo paso de primer orden, por ejemplo,
Z^1 - k 1 - Xz’1 '
es posible una aproximación bastante adecuada de las escalas de frecuencias perceptuales mediante una elección apropiada de los coeficientes de todo paso [SA99]. De este modo, los sistemas más conocidos no utilizan los filtros de orden mayor de todo paso para la distorsión de la frecuencia. Debido a que un filtro de primer orden de todo paso se determina completamente mediante un parámetro escalar único (al cual se hará referencia como el “factor de distorsión” -1 < X < 1), el cual determina la deformación de la escala de frecuencias. Por ejemplo, para un factor de distorsión de X =0, ninguna deformación es efectiva, es decir, el filtro funciona en la escala regular de frecuencias. Cuanto mayor es el factor de distorsión que se elige, mayor es la resolución frecuencial que se concentra en la porción de frecuencia menor del espectro (ya que es necesario aproximar una escala perceptual de frecuencias), y se elimina de la porción de frecuencia mayor del espectro).
Al utilizar un pre/postfiltro distorsionado, los codificadores de audio típicamente utilizan un orden de filtro entre 8 y 20 a velocidades comunes de muestreo como 48 kHz o 44,1 kHz [WSKH05].
Se han descripto varias aplicaciones de filtrado distorsionado, por ejemplo, moldeo de las respuestas a los impulsos de la sala [HKS00] y moldeo paramétrico de un componente de ruido en la señal de audio (bajo el nombre equivalente de filtración Laguerre / Kauz) [SOB03]
Tradicionalmente, la codificación eficiente de voz se ha basado en la Codificación Predictiva Lineal (LPC) para moldear los efectos resonantes del tracto vocal humano junto con una codificación eficiente de la señal de excitación
5
10
15
20
25
30
35
40
45
50
55
60
residual [VM06]. Ambos parámetros LPC y de excitación se transmiten desde el codificador al decodificador. Este principio se ilustra en las Figuras 17a y 17b.
La Figura 17a indica el lado del codificador de un sistema de codificación/decodificación en función de la codificación predictiva lineal. La entrada de voz se introduce a un Analizador LPC 1701 el cual proporciona, en su salida, los coeficientes del filtro LPC. En función de estos coeficientes del filtro LPC, se ajusta un filtro LPC 1703. El filtro LPC produce una señal de audio espectralmente blanqueada la cual también se denomina “señal de error por predicción”. Esta señal de audio espectralmente blanqueada se introduce a un codificador residual/de excitación 1705 que genera parámetros de excitación. De este modo, la entrada de voz se codifica conforme a los parámetros de excitación por un lado, y los coeficientes LPC por otro lado.
En el lado del decodificador ilustrado en la Figura 17b, los parámetros de excitación se introducen en un decodificador por excitación 1707 que genera una señal de excitación que puede introducirse en un filtro inverso LPC. El filtro inverso LPC se ajusta utilizando los coeficientes transmitidos del filtro LPC. De este modo, el filtro inverso LPC 1709 genera una señal de salida de voz sintetizada o reconstruida.
Con el transcurso del tiempo, se han propuesto muchos métodos relacionados con una representación eficiente y perceptualmente convincente de la señal residual (excitación), tal como Excitación Multipulso (MPE), Excitación Regular del Pulso(RPE), y Predicción Lineal Excitada por Código (CELP).
La Codificación Predictiva Lineal intenta producir un cálculo aproximado del valor de muestra actual de una secuencia en función de la observación de un cierto número de valores pasados como una combinación lineal de las observaciones pasadas. A fin de reducir la redundancia en la señal de entrada, el filtro LPC del codificador “blanquea” la señal de entrada en su envoltura espectral, es decir, el mismo es un modelo de la inversa de la envolvente espectral de la señal. A la inversa, el decodificador del filtro LPC es un modelo del envolvente espectral de la señal. Específicamente, se sabe que el bien conocido análisis predictivo lineal autoregresivo (AR) modela el envolvente espectral de la señal por medio de una aproximación de todos los polos.
Típicamente, codificadores de voz de banda estrecha (es decir, codificadores de voz con una velocidad de muestreo de 8 kHz) emplean un filtro LPC con un orden entre 8 y 12. Debido a la naturaleza del filtro LPC, una resolución frecuencial uniforme es efectiva a lo largo del intervalo completo de frecuencia. Esto no equivale a una escala perceptual de frecuencias.
Al notar que una sensibilidad a la frecuencia no uniforme, ya que la misma se ofrece a través de técnicas de distorsión, puede ofrecer ventajas también para la codificación de voz, ha habido propuestas para sustituir el análisis regular LPC por análisis predictivo distorsionado, por ejemplo, [TMK94] [KTK95]. Se conocen otras combinaciones de codificación CELP y lPc distorsionada, por ejemplo, a partir de [HLM99].
A fin de combinar las fortalezas de la codificación en función de LPC/CELP tradicional (mejor calidad para señales de voz) y la metodología de codificación perceptual de audio en función del banco de filtros tradicional (mejor para la música), se ha propuesto una codificación combinada entre estas arquitecturas. En el Codificador AMR-WB+ [BLS05] operan dos núcleos alternos de codificación sobre una Señal residual LPC. Uno se basa en ACELP (Predicción Lineal con Excitación por Código Algebraico) y de este modo es extremadamente eficiente para la codificación de señales de voz. El otro núcleo de codificación se basa en TCX (Excitación Codificada por Transformadas), es decir, una metodología de codificación en función de banco de filtros que reflejan las técnicas tradicionales de codificación de audio a fin de lograr buena calidad para las señales musicales. Dependiendo de las características de las señales de la señal de entrada, se selecciona uno de los dos modos de codificación durante un período de tiempo corto para transmitir la señal residual LPC. De este modo, los marcos de 80 ms de duración pueden dividirse en submarcos de 40 o 20 ms en los cuales se toma una decisión entre los dos modos de codificación.
Una limitación de esta metodología es que el proceso se basa en una decisión de conmutación dura entre dos codificadores / esquemas de codificación que poseen características extremadamente diferentes con respecto al tipo de distorsión de codificación introducida. Este proceso de conmutación dura puede causar discontinuaciones molestas en la calidad de señal percibida cuando se conmuta de un modo a otro. Por ejemplo, cuando una señal de voz se funde lentamente con una señal musical (tal como después de un anuncio en un programa de radiodifusión), el punto de conmutación puede ser perceptible. De manera similar, para la voz encima de la música (como para los anuncios con música de fondo), la difícil conmutación puede tornarse audible. Con esta arquitectura, de este modo es difícil obtener un codificador que pueda fundirse suavemente entre las características de los dos codificadores componentes.
Recientemente, se ha descrito una combinación de la codificación conmutada que permite que los núcleos de codificación en función del banco de filtros operen en una escala de frecuencias perceptualmente ponderada desvaneciendo el filtro del codificador entre un modo LPC tradicional (tal como es apropiado para la codificación de
5
10
15
20
25
30
35
40
45
50
55
60
voz en función de CELP) y un modo distorsionado que refleja la codificación de audio perceptual en función de pre/postfiltración tal como se debate en el documento EP 1873754.
Al utilizar un filtro con distorsión variable de la frecuencia, es posible construir un codificador combinado de voz / audio que logre una alta calidad de codificación tanto de voz como de audio de la siguiente manera tal como se indica en Figura 17c:
La decisión acerca del modo de codificación a ser utilizado (“Modo de voz” o “modo de música”) se realiza en un módulo separado 1726 mediante la realización de un análisis de la señal de entrada y puede basarse en técnicas conocidas para discriminar las señales de voz de las musicales. Como resultado, el módulo de decisión produce una decisión acerca del modo de codificación / y un factor óptimo asociado de distorsión para el filtro 1722. Además, dependiendo de esta decisión, el mismo determina un grupo de coeficientes de filtro apropiados que son adecuados para la señal de entrada en el modo de codificación elegido, es decir, para la codificación de voz, se realiza un análisis LPC (con ninguna distorsión, o un bajo factor de distorsión) en tanto que para la codificación de música, se calcula una curva de enmascaramiento y su inversa se convierte en coeficientes espectrales distorsionados.
El filtro 1722 con las características de distorsión que varían con el tiempo se utiliza como un filtro codificador / decodificador común y se aplica a la señal dependiendo de la decisión del modo de codificación / factor de distorsión y el grupo de coeficientes del filtro generados por el módulo de decisión.
La señal de salida de la etapa de filtración se codifica ya sea mediante un núcleo de codificación de voz 1724 (por ejemplo, codificador CELP) o un núcleo genérico de codificador de audio 1726 (por ejemplo, un codificador en función del banco de filtros, o un codificador de audio predictivo), o ambos, dependiendo del modo de codificación.
La información a ser transmitida / almacenada comprende el modo de decisión de codificación (o una indicación del factor de distorsión), los coeficientes del filtro en alguna forma codificada, y la información entregada por la voz / excitación y el codificador de audio genérico.
En el decodificador correspondiente, las salidas del decodificador residual / por excitación y el decodificador genérico de audio se agregan y la salida se filtra mediante el filtro de síntesis distorsionado que varía con el tiempo, en función del modo de codificación, factor de distorsión y coeficientes de filtro.
Debido a la decisión de conmutación dura entre dos modos de codificación, sin embargo, el esquema está aún sujeto a limitaciones similares a las de la codificación en función del banco de filtros / CELP conmutado tal como se describen previamente. Con esta arquitectura, es difícil obtener un codificador que pueda fundirse suavemente entre las características de los dos codificadores componentes.
Para la Codificación de Audio Escalable de Gran Paso MPEG-4 [Gri97] [Her02] se utiliza otro modo de combinar un núcleo de codificación de voz con un codificador genérico perceptual de audio. La idea de la codificación escalable es proporcionar esquemas de codificación /decodificación y formatos de flujo de bits que permitan la importante decodificación de los subgrupos de un flujo de bits completo, dando como resultado una señal de salida de calidad reducida. En este caso, los porcentajes de datos transmitidos/decodificados pueden adaptarse a la capacidad del canal de transmisión instantánea sin una recodificación de la señal de entrada.
La estructura de un codificador de audio escalable de Gran Paso MPEG-4 se representa en la Figura 18 [Gri97]. Esta configuración comprende tanto un así denominado codificador central 1802 y varias capas de mejoramiento en función de módulos de codificación de audio perceptual 1804. El codificador central (típicamente un codificador de voz de banda estrecha) funciona a una velocidad de muestreo menor que las capas de mejoramiento posteriores. La combinación escalable de estos componentes funciona de la siguiente manera:
La señal de entrada es muestreada hacia abajo (downsampled) 1801 y se codifica mediante el codificador central 1802. El flujo de bits producido constituye la parte central de capas 1804 del flujo de bits escalable. El mismo se decodifica localmente 1806 y es muestreada hacia arriba (upsampled) 1808 para ajustarse a la velocidad de muestreo de las capas de mejoramiento perceptuales y se pasan a través del banco de filtros de análisis (MDCT) 1810.
En un segundo paso de señal, la señal de entrada compensada por retraso (1812) se pasa a través del banco de filtros de análisis 1814 y se utiliza para computar la señal residual por error de codificación.
La señal residual se pasa a través de una herramienta de la Conmutación Selectiva de Frecuencia (FSS) 1816 que permite volver a la señal original sobre la base de una banda de factor de escala si el mismo puede codificarse más eficientemente que la señal residual.
5
10
15
20
25
30
35
40
45
50
55
60
Los coeficientes espectrales se cuantifican/codifican mediante un núcleo de codificación AAC 1804, produciendo un flujo de bits de capa de mejoramiento 1818. Pueden seguir etapas adicionales de refinamiento (capas de mejoramiento) mediante la recodificación de la señal residual por error de codificación.
La Figura 19 ilustra la estructura del decodificador escalable en función del núcleo asociado. El flujo de bits compuesto se descompone 1902 en capas de codificación individual. Después se realiza la decodificación 1904 del flujo de bits central del codificador (por ejemplo, un flujo de bits codificador de voz) y su señal de salida puede presentarse a través de una etapa opcional posterior al filtro. A fin de utilizar la señal del decodificador central dentro del proceso escalable de decodificación, la misma es muestreado hacia arriba 1908 a la velocidad de muestreo del codificador escalable, se compensa por retraso 1910 con respecto a las otras capas y se descompone mediante el banco de filtros de análisis del codificador (MDCT) 1912.
Los flujos de bits de las capas más altas se decodifican 1916 después mediante la aplicación de decodificación silenciosa AAC y cuantificación inversa, y mediante la síntesis 1918 de todas las contribuciones de los coeficientes. Una herramienta de la conmutación Selectiva de Frecuencia 1920 combina los coeficientes espectrales resultantes con la contribución de la capa central por medio de la selección ya sea de la suma de los mismos o solamente los coeficientes que se originan a partir de las capas de mejoramiento tal como se señalan desde el codificador. Finalmente, el resultado se vuelve a mapear a una representación de dominio temporal mediante el banco de filtros de síntesis (IMDCT) 1922.
Como característica general, siempre se utiliza el codificador de voz (codificador central) y se decodifica en esta configuración. Solamente si un decodificador tiene acceso no sólo a la capa central del flujo de bits sino también a una o más capas de mejoramiento, también se transmiten las contribuciones por parte de los codificadores perceptuales de audio en las capas de mejoramiento que pueden proporcionar una buena calidad para señales de sin voz / musicales.
Por consiguiente, esta configuración escalable siempre incluye una capa activa que contiene un codificador de voz que genera algunas desventajas con respecto a su desempeño para proporcionar la mejor calidad global para ambas señales de voz y de audio:
Si la señal de entrada es una señal que consiste predominantemente en voz, el codificador perceptual de audio en la(s) capa(s) de mejoramiento codifica una señal residual / de diferencia que tiene propiedades que pueden ser bastante diferentes de aquellas de las señales regulares de audio y que, de este modo, son difíciles de codificar para este tipo de codificador. Como ejemplo, la señal residual puede contener componentes que son impulsivos por naturaleza y por ello provocar preecos cuando se codifican con un codificador perceptual de audio en función del banco de filtros.
Si la señal de entrada no es predominantemente voz, la señal residual frecuentemente requiere más tasa de bits para codificar que la señal de entrada. En estos casos, el FSS selecciona la señal original para la codificación mediante la capa de mejoramiento en vez de la señal residual. Por consiguiente, la capa central no contribuye con la señal de salida y la tasa de bits de la capa central se gasta en vano ya que no contribuye con la mejora de la calidad general. En otras palabras, en tales casos el resultado suena peor que si la tasa de bits completa hubiera estado simplemente asignada a un codificador perceptual de audio solamente.
En
http://www.hitech-projects.com/euprojects/ardor/summary.htm se describe el codec ARDOR (Codificador de Sonido Optimizado Adaptativo de tasa de Distorsión) de la siguiente manera:
Dentro del proyecto, se crea un codec que codifica el audio genérico con la más apropiada combinación de modelos de señal, dadas las restricciones impuestas así como los subcodificadores disponibles. El trabajo puede dividirse en tres partes correspondientes a los tres componentes del codec conforme a lo ilustrado en la Figura 20.
Una teoría de la distorsión / tasa en función de un mecanismo de optimización 2004 que configura el Codec ARDOR de tal manera que el mismo funciona más eficientemente dadas las restricciones actuales, que varían con el tiempo, y el tipo de señal de entrada. Con este fin el mismo controla: un grupo de estrategias de 'subcodificación' 2000, cada una de las cuales es altamente eficiente para codificar un tipo particular de componente de señal de entrada, por ejemplo, señales tonales, ruidosas, u oscilantes. La tasa apropiada y la asignación del componente de señal para cada estrategia de subcodificación particular se basa en: una medición avanzada de distorsión perceptual nueva 2002 que proporciona un criterio perceptual para el mecanismo de optimización de la tasa - distorsión. En otras palabras, un modelo perceptual, que se basa en el conocimiento de vanguardia acerca del sistema auditivo humano, proporciona el mecanismo de optimización con la información acerca de la relevancia perceptual de diferentes porciones del sonido. El algoritmo de optimización podría por ejemplo decidir dejar la información que es perceptualmente irrelevante. Por consiguiente, la señal original no puede ser restaurada, pero el sistema auditivo no será capaz de percibir la diferencia.
5
10
15
20
25
30
35
40
45
50
55
60
El debate anterior de varios sistemas de la técnica anterior enfatiza que aún no existe una estrategia de codificación óptima que, por un lado proporcione una calidad óptima para señales generales de audio así como señales de voz, y que por otro lado, proporcione una tasa de bits baja para todas las clases de señales.
Particularmente, la metodología escalable tal como se debate con relación a la Figura 18 y la Figura 19 que se ha estandarizado en MPEG-4 continuamente procesa la señal total de audio utilizando un núcleo de codificador de voz sin prestar atención a la señal de audio y, específicamente, a la fuente de la señal de audio. Por ello, cuando la señal de audio no es parecida a la voz, el codificador central introducirá artefactos de codificación pesados y, por consiguiente, la Herramienta de la Conmutación Selectiva de Frecuencia 1816 en la Figura 18 se asegurará que la señal completa de audio se codifica utilizando el Núcleo del codificador AAC 1804. De este modo, en esta instancia, el flujo de bits incluye la salida ineficaz del codificador de voz central, y adicionalmente incluye la representación perceptualmente codificada de la señal de audio. Esto no sólo da como resultado un mal uso del ancho de banda de transmisión, sino que también da como resultado un consumo de energía elevado e ineficaz, lo que es particularmente problemático cuando el concepto de codificación se implementa en dispositivos móviles que funcionan a batería y poseen limitados recursos de energía.
Según lo establecido generalmente, el codificador perceptual en función de las transformadas funciona sin prestar atención a la fuente de la señal de audio, lo que da como resultado el hecho de que, para todas las fuentes disponibles de señales, el codificador perceptual de audio (cuando tiene una tasa de bit moderada) puede generar una salida sin demasiados artefactos de codificación, pero para las porciones de señal no estacionarias, la tasa de bits aumenta, debido a que el umbral de enmascaramiento no enmascara tan eficientemente como en los sonidos estacionarios. Además, el compromiso inherente entre resolución temporal y resolución frecuencial en los codificadores de audio en función de las transformadas hace que este sistema de codificación resulte problemático para los componentes de señal oscilantes o similares a impulsos, debido a que estos componentes de señal requerirían una resolución temporal elevada y no requerirían una resolución frecuencial elevada.
El codificador de voz, sin embargo, es un ejemplo prominente para un concepto de codificación, que principalmente se basa en un modelo fuente. De este modo, un codificador de voz refleja un modelo de la fuente de voz, y está, por ello, en la posición de proporcionar una representación paramétrica altamente eficiente para señales que se originan a partir de una fuente de sonido similar al modelo fuente representado por el algoritmo de codificación. Para los sonidos que se originan a partir de fuentes que no coinciden con el modelo fuente de codificador de voz, la salida incluirá artefactos pesados o, cuando se permite que la tasa de bits aumente, mostrará una tasa de bits que esté drásticamente aumentada y que sea principalmente más elevada que una tasa de bits de un codificador de audio general.
El objeto de la presente invención es proporcionar un concepto mejorado para la codificación de audio, que proporcione ventajas a partir de tanto un concepto de codificador específico como un concepto de codificador general, y que evite, tanto como sea posible, las desventajas de estos codificadores.
El presente objeto es lograr mediante un codificador de audio conforme a la reivindicación 1, un método de codificación de audio conforme a la reivindicación 24, un decodificador para decodificar una señal de audio codificada conforme a la reivindicación 25, un método de decodificación conforme a la reivindicación 32, una señal de audio mejorada conforme a la reivindicación 33, o un programa de computadora conforme a la reivindicación 34.
La presente invención se basa en el descubrimiento de que una separación de impulsos a partir de una señal de audio dará como resultado un concepto de codificación de audio altamente eficiente y de alta calidad. Mediante la extracción de impulsos a partir de la señal de audio, se genera una señal de audio por impulsos por un lado y una señal residual correspondiente a la señal de audio sin los impulsos. La señal de audio por impulsos puede codificarse mediante un codificador de impulsos tal como un codificador de voz altamente eficiente, que proporcione tasas de datos extremadamente bajas a una alta calidad para señales de voz. Por otro lado, la señal residual se libera de su porción similar a un impulso y principalmente está formada por la porción estacionaria de la señal original de audio. Dicha señal es muy apropiada para un codificador de señales tal como un codificador de audio general y, preferentemente, un codificador de audio perceptualmente controlado en función de las transformadas. Una interfaz de salida produce la señal codificada parecida a impulsos y la señal residual codificada. La interfaz de salida puede producir estas dos señales codificadas en cualquier formato disponible, pero el formato no tiene que ser un formato escalable, debido al hecho de que la señal residual codificada sola, o la señal codificada parecida a impulsos sola, puede bajo circunstancias especiales no tener un uso importante ella sola. Solamente ambas señales juntas proporcionarán una señal de audio de alta calidad.
Por otro lado, sin embargo, la tasa de bits de esta combinada señal codificada de audio puede controlarse hasta un alto grado, cuando preferentemente se utiliza un codificador de impulsos de tasa fija tal como un codificador CELP o ACELP, el cual puede controlarse rigurosamente con respecto a su tasa de bits. Por otro lado, el codificador de señal, cuando por ejemplo se implementa como un codificador MP3 o MP4, es controlable de tal manera que
5
10
15
20
25
30
35
40
45
50
55
60
produzca una tasa de bits fija, aunque realice una operación de codificación perceptual que inherentemente produzca una tasa de bits variable, en función de una implementación de una reserva de bits tal como se conoce en la técnica para los codificadores MP3 o MP4. Este garantizará que la tasa de bits de la señal de salida codificada sea una tasa de bits constante.
Debido al hecho de que la señal residual de audio ya no incluye las porciones problemáticas similares a impulsos, la tasa de bits de la señal residual codificada será baja, debido a que esta señal residual es óptimamente apropiada para el codificador de señal.
Por otro lado, el codificador de impulsos proporcionará una operación excelente y eficiente, ya que el codificador de impulsos se alimenta de una señal que específicamente se conforma y se selecciona a partir de la señal de audio para ajustarse perfectamente al modelo fuente del codificador de impulsos. De este modo, cuando el extractor por impulsos no es capaz de encontrar porciones de impulsos en la señal de audio, entonces el codificador de impulsos no estará activo y no tratará de codificar cualquier porción de señal que no sea del todo apropiada para ser codificada con el codificador de impulsos. En vistas de ello, el codificador de impulsos tampoco proporcionará una señal por impulsos codificada y tampoco contribuirá con la tasa de bits de salida para las porciones de señal donde el codificador de impulsos requeriría una elevada tasa de bits o no estaría en la posición de proporcionar una señal de salida que tenga una calidad aceptable. Específicamente, para aplicaciones móviles, el codificador de impulsos tampoco requerirá ningún recurso de energía en tal situación. De este modo, el codificador de impulsos sólo se activará cuando la señal de audio incluya una porción similar a un impulso y la porción similar a un impulso extraída mediante el extractor por impulsos también estará perfectamente en línea con lo que el codificador de impulsos espera.
De este modo, la distribución de la señal de audio a dos algoritmos diferentes de codificación dará como resultado una operación combinada de codificación, que es específicamente útil en cuanto a que el codificador de señales estará continuamente activo y el codificador de impulsos funcionará como una clase de módulo de reserva, que sólo está activo y solamente produce bits de salida y sólo consume energía, si la señal realmente incluye porciones similares a impulsos.
Preferentemente, el codificador de impulsos se adapta favorablemente a las secuencias de codificación de impulsos las cuales también se denominan “trenes de impulsos” en la técnica. Estos “pulsos” o “trenes de impulsos” son patrones típicamente obtenidos mediante el moldeo del tracto vocal humano. Un tren de pulsos tiene impulsos a distancias de tiempo entre los impulsos adyacentes. Dicha distancia de tiempo se denomina un “retraso de tono”, y este valor concuerda con la “frecuencia de tono”.
Las realizaciones preferentes de la presente invención se debaten posteriormente con relación a los dibujos
adjuntos, en las cuales:
la Figura 1 es un diagrama por bloques de un codificador de audio conforme a una realización de la
presente invención;
la Figura 2 es un diagrama por bloques de un decodificador para decodificar una señal de audio
codificada;
la Figura 3a ilustra una realización de lazo abierto;
la Figura 3b ilustra una realización específica de un decodificador;
la Figura 4a ilustra otra realización de lazo abierto del lado del codificador;
la Figura 4b ilustra una realización de lazo cerrado del lado del codificador;
la Figura 4c ilustra una realización en la cual se implementan el extractor por impulsos y el codificador de
impulsos dentro de un codificador ACELp modificado;
la Figura 5a ilustra una forma de onda de un segmento de voz de dominio temporal como un segmento de
señal similar a un impulso;
la Figura 5b ilustra un espectro del segmento de la Figura 5a;
la Figura 5c ilustra un segmento de voz de dominio temporal de una voz sorda como un ejemplo para un
segmento estacionario;
la Figura 5d ilustra un espectro de la forma de onda de dominio temporal de la Figura 5c;
5
10
15
20
25
30
35
40
45
50
55
60
a Figura 6
ilustra un diagrama por bloques de un análisis por medio del codificador CELP de síntesis;
as Figuras 7a a 7d ilustran señales de excitación sonoras/sordas como un ejemplo para señales similares a impulsos y estacionarias;
a Figura 7e ilustra una etapa LPC del lado del codificador que proporciona información de predicción a
corto plazo y la señal de error por predicción;
a Figura 8 ilustra una realización preferente de la realización de la Figura 4a de lazo abierto;
a Figura 9a ilustra una forma de onda de una señal real similar a un impulso;
a Figura 9b ilustra una señal mejorada o más ideal similar a un impulso tal como se genera mediante la
etapa de mejoramiento de las características de los impulsos de la Figura 8;
a Figura 10 ilustra un algoritmo CELP modificado implementable en la realización de la Figura 4c;
a Figura 11 ilustra una implementación más específica del algoritmo de la Figura 10;
a Figura 12 ilustra una implementación específica del algoritmo de la Figura 11;
a Figura 13 ilustra otro algoritmo CELP modificado implementado en la Figura 4c;
a Figura 14 ilustra los modos de operación que ilustran la operación continua del decodificador de señales
y la operación intermitente del decodificador de impulsos;
a Figura 15 ilustra una realización del codificador en la que el codificador de señales incluye un modelo
psicoacústico;
a Figura 16a ilustra un concepto de codificación/decodificación MP3 o MP4;
a Figura 16b ilustra un concepto de codificación prefiltro;
a Figura 16c ilustra un concepto de decodificación postfiltro;
a Figura 17a ilustra un Codificador LPC;
a Figura 17b ilustra un decodificador LPC;
a Figura 17c ilustra un codificador que implementa codificación conmutada con un filtro LPC distorsionado
dinámicamente variable;
a Figura 18 ilustra un codificador escalable MEPG-4;
a Figura 19 ilustra un decodificador escalable MPEG-4; y
a Figura 20 ilustra un diagrama esquemático de un Codificador ARDOR.
Es una ventaja de las siguientes realizaciones el proporcionar un método unificado que amplíe un codificador perceptual de audio para permitir la codificación no solo de las señales generales de audio con calidad óptima, sino también que suministre una calidad codificada significativamente mejorada para las señales de voz. Además, las mismas permiten evitar los problemas asociados a una conmutación dura entre un modo de codificación de audio (por ejemplo, en función de un banco de filtros) y una codificación del modo de voz (por ejemplo, en función de la metodología CELP) que se describió previamente. En cambio, las siguientes realizaciones permiten una operación combinada suave / continua de los modos de codificación y herramientas, y de este modo logra una transición / mezcla más agraciada para señales mezcladas.
Las siguientes consideraciones conforman una base para las siguientes realizaciones:
Los codificadores perceptuales de audio comunes que utilizan bancos de filtros son muy apropiados para representar las señales que puedan tener estructuras finas considerables a lo largo de la frecuencia, pero que son bastante estacionarias con el transcurso del tiempo. La codificación de señales oscilantes o similares a impulsos mediante codificadores en función del banco de filtros da como resultado una corrida en la distorsión de
5
10
15
20
25
30
35
40
45
50
55
60
la codificación con el transcurso del tiempo y de este modo puede llevar a artefactos de preeco.
Una parte importante de las señales de voz consiste en trenes de impulsos que se producen a través de la glotis humana durante la voz sonora con una cierta frecuencia de tono. Estas estructuras de tren de pulsos son por ello difíciles de codificar por los codificadores perceptuales de audio en función del banco de filtros a tasas de bits bajas.
De este modo, a fin de lograr una calidad de señal óptima con un sistema de codificación en función del banco de filtros, es favorable descomponer la señal de entrada del codificador en estructuras similares a impulsos y otros componentes más estacionarios. Las estructuras similares a impulsos pueden codificarse con núcleos de codificación dedicados (de aquí en adelante referidos como el codificador de impulsos) en tanto que los otros componentes residuales pueden codificarse con el codificador perceptual de audio común en función del banco de filtros (de aquí en adelante referido como el codificador residual). El codificador de pulsos preferentemente se construye a partir de bloques funcionales de los esquemas de codificación de voz tradicionales, tal como un filtro LPC, información en posiciones de pulsos etc. y pueden emplear técnicas tales como libros de código de excitación, CELP etc.
La separación de la señal de entrada del codificador puede realizarse de manera que se cumplan dos condiciones:
(Condición #1) Las características de la señal similar a un impulso para la entrada del codificador de impulsos: Preferentemente, la señal de entrada al codificador de impulsos solamente comprende estructuras similares a impulsos a fin de no generar distorsión no deseada ya que el codificador de impulsos está especialmente optimizado para transmitir estructuras impulsivas, pero no componentes de señal estacionarios (o aún tonales). En otras palabras, la alimentación de los componentes de señal similares a los tonos en el codificador de impulsos producirá distorsiones que no pueden compensarse fácilmente por el codificador en función del banco de filtros.
(Condición #2) El codificador de impulsos residual temporalmente suave para el codificador residual: La señal residual que se codifica mediante el codificador residual preferentemente se genera de tal manera que después de la división de la señal de entrada, la señal residual es estacionaria con el transcurso del tiempo, aún en las instancias de tiempo donde los pulsos se codifican mediante el codificador de pulsos. Específicamente, se prefiere que no se generen ningún “hueco” en la envolvente temporal del residual.
En oposición a los esquemas de codificación conmutados antes mencionados, se logra una continua combinación entre la codificación de impulsos y la codificación residual haciendo que los codificadores (el codificador de impulsos y el codificador residual) y sus decodificadores asociados funcionen en paralelo, es decir, simultáneamente, si surge la necesidad. Específicamente, en un modo preferente de la operación, el codificador residual siempre está en funcionamiento, mientras que el codificador de impulsos solamente se activa cuando se considera que su operación es beneficiosa.
Una parte del concepto propuesto es dividir la señal de entrada en señales de entrada parciales que se adapten de manera óptima a las características de cada codificador parcial (codificador de impulsos y codificador residual) a fin de lograr un desempeño global óptimo. En las siguientes realizaciones preferentes, se supone lo siguiente.
Un codificador parcial es un codificador de audio en función del banco de filtros (similar a los codificadores perceptuales de audio comunes). Como consecuencia, este codificador parcial es muy apropiado para procesar señales de audio estacionarias y tonales (el cual en una representación del espectograma equivale a “estructuras horizontales”), pero no de las señales de audio que contienen muchas inestacionaridades con el transcurso del tiempo, tal como las oscilantes, de comienzo o impulsos (los cuales en una representación del espectograma equivalen a “estructuras verticales”). Tratar de codificar dichas señales con el codificador en función del banco de filtros producirá corrida temporal, preecos y una característica reverberante de la señal de salida.
El segundo codificador parcial es un codificador de impulsos que está funcionando en el dominio temporal. Como consecuencia, este codificador parcial es adecuado para procesar señales de audio que contienen muchas inestacionaridades con el transcurso del tiempo, tal como las oscilantes, de comienzo o impulsos (los cuales en una representación del espectograma equivalen a “estructuras verticales”), pero no para representar señales de audio estacionarias y tonales (las cuales en una representación del espectograma equivalen a “estructuras horizontales”). Tratar de codificar dichas señales con el codificador de impulsos de dominio temporal producirá distorsiones de los componentes de señales tonales o texturas de sonido discordantes debido a la escasa representación subyacente del dominio temporal.
La salida decodificada de tanto el decodificador de audio en función del banco de filtros como del decodificador de impulsos de dominio temporal se sintetiza para formar la señal decodificada global (si tanto el impulso como el codificador en función del banco de filtros están activos al mismo tiempo).
La Figura 1 ilustra un codificador de audio para codificar una señal de audio 10 que tiene una porción similar a un
5
10
15
20
25
30
35
40
45
50
55
60
impulso y una porción estacionaria. Generalmente, se puede realizar una diferenciación entre una porción similar a un impulso de una señal de audio y una porción estacionaria de una señal estacionaria mediante la aplicación de una operación que procesa señales, en la cual se mide la característica similar a un impulso y también se mide la característica similar a la estacionaria. Dichas mediciones pueden, por ejemplo, realizarse analizando la forma de onda de la señal de audio. Para este fin, puede realizarse cualquier procedimiento en función de las transformadas o procedimiento LPC o cualquier otro procedimiento. Una manera intuitiva de determinar si una porción es similar a un impulso o no es por ejemplo observar la forma de onda de un dominio temporal y determinar si esta forma de onda de dominio temporal tiene picos en los intervalos regulares o irregulares, y los picos en los intervalos regulares son aún más apropiados para el codificador similar a la voz.
Ejemplarmente, se hace referencia a las Figuras 5a a 5d. En este caso, los segmentos de señal similar a un impulso o porciones de señal y segmentos de señal estacionaria o porciones de señal ejemplarmente se debaten. Específicamente, se debate una voz sonora conforme a lo ilustrado en la Figura 5a en el dominio temporal y en la Figura 5b en el dominio frecuencial como ejemplo para una porción de señal similar a un impulso, y se debate un segmento de voz sorda como ejemplo para una porción de señal estacionaria con relación a las Figuras 5c y 5d. La voz generalmente puede clasificarse como sonora, sorda, o mixta. Las líneas de frecuencia tiempo y dominio para los segmentos sin voz y de voz de muestreo se muestran en la Figura 5a a 5d. La voz sonora as casi periódica en el dominio temporal y armónicamente estructurada en el dominio de frecuencia, mientras que la velocidad sin voz es similar a la aleatoria y banda ancha. Además, la energía de los segmentos con voz generalmente es mayor que la energía de los segmentos sin voz. El espectro de voz sonora de corto tiempo se caracteriza por su estructura fina y formante. La estructura armónica fina es una consecuencia de la cuasi periodicidad de la voz y puede atribuirse a las cuerdas vocales vibrantes. La estructura formante (envoltura espectral) se debe a la interacción de la fuente y los tractos vocales. Los tractos vocales consisten en la faringe y la cavidad bucal. La forma de la envolvente espectral que “se ajusta” al espectro de voz sonora de corto tiempo se asocia a las características de transferencia del tracto vocal y la inclinación espectral (6 dB /Octava) debido al pulso glótico. La envolvente espectral se caracteriza por un grupo de picos que se denominan formantes. Los formantes son los modos resonantes del tracto vocal. Para el tracto vocal promedio existen de tres a cinco formantes por debajo de 5 kHz. Las amplitudes y ubicaciones de los primeros tres formantes, usualmente se producen por debajo de 3 kHz son bastante importante ambos, en síntesis de voz y percepción. Los formantes más altos también son importantes para las representaciones de voz de banda ancha y sin voz. Las propiedades de la voz se relacionan con el sistema físico de producción de voz de la siguiente manera. La voz sonora se produce excitando el tracto vocal con pulsos de aire glótico casi periódicos generados por las cuerdas vocales vibrantes. Se hace referencia a la frecuencia del pulso periódico como la frecuencia o tono fundamental. La voz sorda se produce forzando el aire a través de una constricción en el tracto vocal. Los sonidos nasales se deben al acoplamiento acústico del tracto nasal al tracto vocal, y los sonidos explosivos se producen mediante la liberación abrupta de la presión de aire que se construyó detrás del cierre en el tracto
De este modo, una porción estacionaria de la señal de audio puede ser una porción estacionaria en el dominio temporal conforme a lo ilustrado en la Figura 5c o una porción estacionaria en el dominio de frecuencia, que sea diferente de la porción similar a un impulso conforme a lo ilustrado por ejemplo en la Figura 5a, debido al hecho de que la porción estacionaria en el dominio temporal no muestra pulsos de repetición prominentes. Tal como se describirá más tarde, sin embargo, la diferenciación entre las porciones estacionarias y las porciones similares a impulsos también puede realizarse utilizando Métodos LPC, que modelan el tracto vocal y la excitación de las vocales del tracto. Cuando se considera la representación de la señal del dominio frecuencial, las señales similares a impulsos muestran la ocurrencia prominente de los formantes individuales, es decir, los picos prominentes en la Figura 5b, mientras un espectro estacionario tiene un espectro bastante blanco conforme a lo ilustrado en la Figura 5d, o en el caso de señales armónicas, tiene un piso de ruido bastante continuo que tiene algunos picos prominentes que representan tonos específicos que se producen, por ejemplo, en la señal musical, pero que no tiene dicha distancia regular de cada uno como la señal similar a un impulso en la Figura 5b.
Además, las porciones similares a impulsos y las porciones estacionarias pueden producirse temporalmente, es decir, lo que significa que una porción de la señal de audio en el tiempo es estacionaria y otra porción de la señal de audio en el tiempo es similar a un impulso. De manera alternativa, o adicionalmente, la característica de una señal puede ser diferente en bandas de frecuencia diferentes. De este modo, la determinación de si la señal de audio es estacionaria o similar a un impulso, también puede realizarse seleccionando la frecuencia de manera que una cierta banda de frecuencia o varias bandas de frecuencia se consideran que son estacionarias y otras bandas de frecuencia se considera que son similares a impulsos. En este caso, una cierta porción temporal de la señal de audio podría incluir una porción similar a un impulso y una porción estacionaria.
La realización del codificador de la Figura 1 incluye un extractor por impulsos 10 para extraer la porción similar a un impulso a partir de la señal de audio. El extractor por impulsos 10 incluye un codificador de impulsos para codificar la porción similar a un impulso para obtener una señal codificada similar a un impulso. Tal como se mostrará más tarde, la extracción por impulsos y la operación de codificación real puede separarse una de otra, o puede combinarse de manera que una obtenga un algoritmo único tal como el algoritmo ACELP en su forma modificada tal como se debate con relación a la Figura 4c.
5
10
15
20
25
30
35
40
45
50
55
60
La salida del extractor por impulsos 10 es una señal de impulso codificada 12 y, en algunas realizaciones, la información secundaria adicional relacionada con la clase de extracción por impulsos o la clase de codificación de impulsos.
La realización del codificador de la Figura 1 además incluye un codificador de señales 16 para codificar una señal residual 18 obtenida de la señal de audio 10 para obtener una señal residual codificada 20. Específicamente, la señal residual 18 se obtiene de la señal de audio 10 de manera que las porciones similares a impulsos en la señal de audio se reducen o se eliminan completamente de la señal de audio. No obstante, la señal de audio aún incluye la porción estacionaria, ya que la porción estacionaria no ha sido extraída por el extractor por impulsos 10.
Además, el codificador inventivo de audio incluye una interfaz de salida 22 para producir la señal de impulso codificada 12, la señal residual codificada 20 y, si está disponible, la información secundaria 14 para obtener una señal codificada 24. La interfaz de salida 22 no tiene que ser una interfaz de flujo de datos escalable que produce un flujo de datos escalable que se escribe de tal manera que la señal residual codificada y la señal de impulso codificada puede codificarse de forma independiente una de otra, y se obtiene una señal útil. Debido al hecho de que ni la señal de impulso codificada, ni la señal residual codificada serán una señal de audio con una calidad de audio aceptable, el suministrar solamente una señal sin la otra señal no tiene sentido en las realizaciones preferentes. De este modo, la interfaz de salida puede operar de una manera completamente eficiente por bits, sin que tener que preocuparse acerca del flujo de datos, y si el mismo puede codificarse de manera escalable o no.
En una realización preferente, los decodificadores inventivos de audio incluyen un generador de señal residual 26. El generador de señal residual 26 se adapta para recibir la señal de audio 10 y la información 28 relacionada con las porciones de señal de impulsos extraída, y para producir la señal residual 18 el cual no incluye las porciones de señal extraídas. Dependiendo de la implementación, el generador de señal residual 26 o el codificador de señales 16 también puede producir información secundaria. La salida y transmisión de la información secundaria 14, sin embargo, no se requiere necesariamente debido al hecho de que un decodificador puede preconfigurarse en una cierta configuración y, siempre que el codificador funcione en función de estas configuraciones, el codificador inventivo no necesita generar y transmitir ninguna información secundaria adicional. Sin embargo, si hubiera una cierta flexibilidad en el lado del codificador y en el lado del decodificador, o si hubiera una operación específica del generador de señal residual que sea diferente a una substracción pura, sería útil para transmitir información secundaria al decodificador de manera que el decodificador y, específicamente, el combinador dentro del decodificador, ignora porciones de señal decodificada residual que han ingresado del lado del codificador solamente para tener una señal residual suave y no similar a un impulso sin ningún hueco.
La Figura 2 ilustra una realización preferente del decodificador para decodificar una señal de audio codificada 24 que es la misma señal que se produce mediante la interfaz de salida 22. Generalmente, la señal de audio codificada 24 incluye una señal codificada similar a un impulso y una señal residual codificada. El decodificador puede comprender una interfaz de entrada del decodificador 28 para extraer la señal de impulso codificada 12, la señal residual codificada 20, y la información secundaria 14 de la señal de audio codificada 24. La señal de impulso codificada 12 se introduce a un decodificador de impulsos 30 para decodificar la señal codificada similar a un impulso utilizando un algoritmo de codificación adaptado a un algoritmo de codificación utilizado para generar la señal codificada similar a un impulso, es decir, un algoritmo de codificación como se utilizó en el bloque 10 de la Figura 12. El decodificador en la Figura 2 además comprende un decodificador de señales 32 para decodificar la señal residual codificada utilizando un algoritmo de codificación adaptado a un algoritmo de codificación utilizado para generar la señal residual codificada, es decir, un algoritmo de codificación utilizado en el bloque 16 de la Figura 1. Las señales de salida de ambos decodificadores 30 y 32 se direccionan a una entrada en un combinador de señales 34 para combinar la señal decodificada similar a un impulso y la señal decodificada residual para proporcionar una señal decodificada de salida 36. Específicamente, el decodificador de señales 32 y el decodificador de impulsos 30 son operativos para proporcionar valores de salida de las porciones de la señal decodificada de audio seleccionadas que se relacionan con el mismo instante de tiempo de la señal decodificada de audio.
Esta característica se debatirá con relación a la Figura 14. La Figura 14 ilustra de manera esquemática una salida del decodificador de señales 32 a 140. En la Figura 14 se ilustra que la salida 140 del decodificador de señales existe continuamente. Esto significa que el decodificador de señales (y el correspondiente codificador de señal) funciona continuamente y siempre proporciona una señal de salida siempre que exista la señal de audio. Naturalmente, solamente cuando la pista de audio se termina, el decodificador de señales también interrumpirá su salida, ya que ya no existe señal de entrada para codificar.
La segunda línea en la Figura 14 ilustra la salida de impulsos del decodificador 142. Específicamente, se detalla en la Figura 14 que no existen porciones 143, en las cuales no exista una salida de impulsos del decodificador debido al hecho de que la señal original de audio no tiene ningún componente estacionario en estas porciones de tiempo 143. Sin embargo, en las otras porciones de tiempo, la señal tuvo componentes estacionarios y/o componentes similares a impulsos, y los componentes similares a impulsos se generan por la salida de impulsos del decodificador. De este
5
10
15
20
25
30
35
40
45
50
55
60
modo, en las porciones de tiempo 142, ambos decodificadores proporcionan valores de salida que se relacionan con el mismo instante de tiempo de una señal decodificada. Sin embargo, en las porciones de tiempo 143, la señal de salida solamente consiste en la salida de la señal residual del decodificador y no tiene ninguna contribución del decodificador de impulsos.
La Figura 3a ilustra una realización preferente de un codificador en una así denominada configuración de lazo abierto. El extractor por impulsos 10 incluye un extractor general por impulsos para generar una no-señal de impulso codificada indicada en línea 40. El extractor por impulsos se indica en 10a. La señal de impulso 40 se direcciona al codificador de impulsos 10b el cual finalmente produce la señal de impulso codificada 12. La información de la señal de impulso en línea 28 corresponde a la no señal de impulso codificada extraída por el extractor por impulsos 10a. El generador de señal residual 26 se implementa en la Figura 3a como un substractor para substraer la no señal de impulso codificada en línea 28 a partir de la señal de audio 10 para obtener la señal residual 18.
Preferentemente, el codificador de señales 16 se implementa como un codificador de audio en función del banco de filtros, debido a que tal codificador de audio en función del banco de filtros es específicamente útil para codificar una señal residual que ya no tiene ninguna porción similar a un impulso, o en el cual las porciones similares a impulsos al menos se atenúan con respecto a la señal original de audio 10. De este modo, la señal se pasa a través de una primera etapa de procedimiento 10a que se designa para proporcionar las señales de entrada de los codificadores parciales en su salida.
Específicamente, el algoritmo de división es operativo para generar señales de salida en línea 40 y la línea 18 que cumple con la condición 1 debatida anteriormente (el codificador de impulsos recibe señales similares a impulsos) y la condición 2 (la señal residual para el codificador residual se suaviza temporalmente). De este modo, conforme a lo ilustrado en la Figura 3a, el módulo de extracción por impulsos 10a extrae la señal de impulso desde la señal de entrada de audio 10.
La señal residual 18 se genera por medio de la eliminación de la señal de impulso de la entrada de audio. Esta eliminación puede realizarse mediante la resta tal como se indica en la Figura 3a, pero también puede realizarse mediante otras medidas tales como reemplazo de la región similar a un impulso de la señal de audio por una señal menos similar a un impulso (“de bajo tono”) que se puede obtener de la señal original de audio 10 mediante el escalamiento que varía con el tiempo o interpolación entre las regiones a la izquierda y derecha de la región similar a un impulso. En las etapas de codificación consecutivas paralelas 10b, 16, la señal de impulso (si está presente) se codifica mediante un codificador de impulsos dedicado 10b y la señal residual se codifica preferentemente mediante un codificador de audio en función del banco de filtros 16.
En una realización preferente diferente, en la cual una porción temporal de la señal de audio se ha detectado como similar a un impulso, una operación pura de corte de esta porción temporal y codificación de la porción solamente con el codificador de impulsos daría como resultado un hueco en la señal residual para el codificador de señal. A fin de evitar este hueco, el cual es una discontinuidad problemática para el codificador de señal, se sintetiza una señal a ser introducida en el "hueco". Esta señal puede ser, tal como se debate más tarde, una señal de interpolación o una versión pesada de la señal original o una señal de ruido que tiene una cierta energía.
En una realización, esta señal interpolada/sintetizada se resta del impulso como una porción de señal "cortada” de manera que sólo el resultado de esta operación de resta (el resultado también es una señal similar a un impulso) se direcciona al codificador de impulsos. Esta realización se asegurará que del lado del decodificador puedan combinarse la salida del codificador residual y la salida del decodificador de impulsos para obtener una señal decodificada. En esta realización, todas las señales obtenidas mediante la salida de los decodificadores siempre se utilizan y se combinan para obtener la señal de salida, y no se producirá ningún descarte de una salida de cualquiera de ambos decodificadores.
Posteriormente, se debaten otras realizaciones del generador de señal residual 26, aparte de la resta.
Tal como se establece anteriormente, se puede realizar un escalamiento de la señal de audio que varíe con el tiempo. Específicamente, tan pronto como se detecta una porción similar a un impulso de la señal de audio, se puede utilizar un factor de escalamiento para escalar las muestras de dominio temporal de la señal de audio con un valor de factor de escalamiento menor que 0,5 o, por ejemplo, aún menor que 0,1. Esto da como resultado una disminución de la energía de la señal residual en el período de tiempo en el cual la señal de audio es similar a un impulso. Sin embargo, en oposición a la configuración simple a 0 de la señal original de audio en este periodo similar a un impulso, el generador de señal residual 26 se asegura que la señal residual no tenga ningún “hueco”, los cuales son nuevamente, inestacionaridades que pueden ser bastante problemáticos para el codificador de audio en función del banco de filtros 16. Por otro lado, la señal residual codificada durante la porción temporal similar a un impulso la cual es la señal original de audio multiplicada por un pequeño factor de escalamiento no puede utilizarse del lado del codificador, o solamente puede utilizarse en un grado pequeño del lado del codificador. Este hecho puede señalarse mediante una cierta información secundaria adicional 14. De este modo, un bit de información secundaria generada
5
10
15
20
25
30
35
40
45
50
55
60
por dicho generador de señal residual podría indicar qué factor de escalamiento se utilizó para escalar hacia abajo la porción similar a un impulso en la señal de audio, o qué factor de escalamiento se va a utilizar del lado del codificador para unir correctamente la señal original de audio después de haber decodificado las porciones individuales.
Otra manera de generar la señal residual es cortar la porción similar a un impulso de la señal original de audio e interpolar la porción cortada utilizando la señal de audio al comienzo o al final de la porción similar a un impulso para proporcionar una señal de audio continua, no obstante que ya no sea similar a un impulso. Esta interpolación también pude señalarse mediante un bit específico de información secundaria 14, que generalmente proporciona información con respecto a la codificación de impulsos o codificación de señal, o característica de la generación de la señal residual. Del lado del decodificador, un combinador puede eliminar completamente, o al menos atenuar hasta cierto grado, la representación decodificada de la porción interpolada. El grado o indicación puede señalizarse a través de cierta información secundaria 14.
Además, es preferente proporcionar la señal residual de manera que se produzca una operación de fade-in (incremento gradual al comienzo) y una operación fade-out (disminución gradual al final). De este modo, el factor de escalamiento que varía con el tiempo no se configura abruptamente a un pequeño valor, sino que continuamente se reduce hasta el pequeño valor y, al final o cerca del final de la porción similar a un impulso, el pequeño factor de escalamiento continuamente se incrementa hasta un factor de escalamiento en el modo regular, es decir, hasta un pequeño factor de escalamiento de 1 para una porción de señal de audio que no tenga una característica similar a un impulso.
La Figura 3b ilustra un decodificador que corresponde al codificador en la Figura 3a, donde el decodificador de señales 32 de la Figura 2 se implementa como un decodificador de audio en función del banco de filtros, y donde el combinador de señales 34 se implementa como un sumador en lo que respecta a la muestra.
De manera alternativa, la combinación realizada mediante el combinador de señales 34 también puede realizarse en el dominio frecuencial o en el dominio de subbanda siempre que el decodificador de impulsos 30 y los decodificadores de audio en función del banco de filtros 32 proporcionen señales de salida en el dominio frecuencial o en el dominio de subbanda.
Además, el combinador 34 no necesariamente tiene que realizar una suma en lo que respecta a la muestra, sino que el combinador también puede controlarse mediante la información secundaria tal como la información secundaria 14 tal como se debate con relación a las Figuras 1, 2 y 3a, a fin de aplicar una operación de escalamiento que varíe con el tiempo a fin de compensar las operaciones fade in and fade out del lado del codificador, y a fin de manejar las porciones de señal que se hayan generado del lado del codificador para bajar de tono las señales residuales, tal como por inserción, interpolación, o escalamiento que varía con el tiempo. Cuando, el generador de señal residual 26 es operativo para realizar una resta en lo que respecta a la muestra tal como se indica en la Figura 3a, después el combinador del lado del codificador 34 no requerirá ninguna información secundaria adicional y realizará un agregado en lo que respecta a la muestra sin ningún paso adicional de procedimiento tal como fade, fade out, o escalamiento de señal.
Para las señales de voz sonoras, la señal de excitación, es decir, los impulsos glóticos se filtran mediante los tractos vocales humanos que pueden invertirse mediante un filtro LPC. De este modo, la correspondiente extracción por impulsos para los impulsos glóticos típicamente puede incluir un análisis LPC antes de la etapa de selección del impulso real y una síntesis LPC antes de calcular la señal residual tal como se ilustra en la Figura 4a, la cual es adicionalmente, una implementación de lazo abierto.
Específicamente, la señal de audio 8 se introduce a un bloque de análisis LPC 10a. El bloque de análisis LPC produce una señal real similar a un impulso tal como, por ejemplo, se ilustra en la Figura 9a. Esta señal se introduce en una etapa de selección de impulsos 10c, que procesa la señal real similar a un impulso, tal como por ejemplo se ilustra en la Figura 9a, a fin de producir una señal de impulso que sea una señal ideal o al menos una señal más ideal similar a un impulso en comparación con la señal real similar a un impulso en el ingreso a la etapa de selección de impulsos 10c. Esta señal de impulso posteriormente se introduce en el codificador de impulsos 10b. El codificador de impulsos 10b proporciona una representación de alta calidad de la entrada de la señal similar a un impulso, debido al hecho de que este codificador es específicamente apropiado para dichas señales similares a impulsos y debido al hecho de que la señal de impulso de entrada en línea 48 es una señal de impulso ideal, o casi ideal. En la realización de la Figura 4a, la señal de impulso en línea 48, que corresponde a la “información sobre la señal de impulso” 28 de la Figura 1, se introduce a un reloj de síntesis LPC 26b a fin de “trasformar” la señal ideal similar a un impulso que existe en el “Dominio LPC” en el dominio temporal. De este modo, la salida del bloque de síntesis LPC 26b luego se introduce en el restador 26a, de manera que tal que se genere la señal residual 18, que es la señal original de audio, pero que ya no incluye la estructura de pulso representada por la señal de impulso ideal en línea 48 o 28. De este modo, el generador de señal residual 26 de la Figura 1 se implementa en la Figura 4a como el bloque de síntesis LPC 26b y el restador 26a.
5
10
15
20
25
30
35
40
45
50
55
60
La funcionalidad del análisis LPC 10a y la síntesis LPC 26b posteriormente se debatirá en más detalle con respecto a las Figuras 7a a 7e, la Figura 8, y la Figura 9a a9b.
La Figura 7a ilustra un modelo de un sistema de producción lineal de voz. Este sistema supone una excitación de dos etapas, es decir, un tren de impulsos para voz sonora tal como se indica en la Figura 7a, y un ruido aleatorio para voz sorda tal como se indica en la Figura 7d. El tracto vocal se modela como un filtro de transformadas todo polo 70 que procesa los pulsos de la Figura 7c o la Figura 7d, generados por el modelo glótico 72. La función de la transferencia todo polo se forma mediante una cascada de un pequeño número de resonadores de dos polos que representan los formantes. El modelo glótico se representa como un filtro de paso bajo de dos polos, y el modelo de radiación labial 74 se representa a través de L(z)=1-z-1. Finalmente, un factor de corrección espectral 76 se incluye para compensar los efectos de la baja frecuencia de los polos más elevados. En las representaciones individuales de voz la corrección espectral se omite y el 0 de la función radiación labial esencialmente se cancela por uno de los polos glóticos. Por consiguiente, el sistema de la Figura 7a puede reducirse a un modelo todo polo de la Figura 7b que tiene una etapa de ganancia 77, una vía de progresión 78, un paso de realimentación 79, y una etapa de adición 80. En el paso de retroalimentación 79, hay un filtro de predicción 81, y el modelo total de síntesis del sistema de fuentes ilustrado en la Figura 7b puede representarse utilizando funciones del dominio z de la siguiente manera:
S íz)(l-A(z))■ X í z),
donde g representa la ganancia, A(z) es el filtro de predicción tal como se determina mediante un Análisis LPC, X(z) es la señal de excitación, y S(z) es la salida de voz de síntesis.
Las figuras 7c y 7d proporcionan una descripción gráfica del dominio temporal de la síntesis de voz sonora y sorda utilizando el modelo de sistema de fuente lineal. Este sistema y los parámetros de excitación en la ecuación anterior no son conocidos y deben determinarse a partir de un grupo finito de muestras de voz. Los coeficientes de A(z) se obtienen utilizando la predicción lineal. En un predictor lineal de envío de orden p-ésima, la presente muestra de la secuencia de voz se predice a partir de una combinación lineal de muestras pasadas t. Los coeficientes del predictor pueden determinarse mediante algoritmos bien conocidos tales como el algoritmo de Levinson-Durbin, o generalmente un método de autocorrelación o un método de reflexión.
La Figura 7e ilustra una implementación más detallada del bloque de análisis LPC 10a de la Figura 4a. La señal de audio se introduce a un bloque de determinación por filtro que determina la información de filtro A(z). Esta información se genera como la información de predicción a corto plazo requerida para un decodificador. En realización de la Figura 4a, es decir, la información de predicción a corto plazo puede requerirse para el codificador de impulsos de la señal de salida. Cuando, sin embargo, solamente se requiere la señal de error por predicción en la línea 84, la información de predicción a corto plazo no tiene que generarse. No obstante, la información de predicción a corto plazo es requerida por parte del filtro de predicción real 85. En un restador 86, se introduce una muestra actual de la señal de audio y se resta un valor previsto para la muestra actual de manera que esta muestra, la señal de error por predicción se genera en la línea 84. Una secuencia de dichas muestras de señal de error por predicción se ilustra muy esquemáticamente en la Figura 9a, donde, para temas de claridad, cualquier tema relacionado con los componentes AC/DC, etc. no se ha ilustrado. Por ello, la Figura 9a puede considerarse como una clase de una señal rectificada similar a un impulso.
La Figura 8 se debatirá posteriormente en más detalle. La Figura 8 es similar a la Figura 4a, pero muestra el bloque 10a y el bloque 26b en más detalle. Además, se debate una funcionalidad general de la etapa de mejoramiento de la característica de los impulsos 10c. La etapa de análisis LPC 10a en la Figura 8 puede implementarse tal como se muestra en detalle en la Figura 7e, donde la información de predicción a corto plazo A(z) se introduce en la etapa de síntesis 26b, y la señal de error por predicción que es la “señal real similar a un impulso” se genera en este caso en la línea 84. Cuando se supone que la señal es mixta, es decir, incluye componentes de voz y otros componentes, luego la señal real similar a un impulso se puede considerar como una superposición de las señales de excitación en las Figuras 7c y 7d, que en una representación rectificada, equivale a la Figura 9a. Uno puede ver una señal real similar a un impulso que, adicionalmente, posee componentes estacionarios. Estos componentes estacionarios se eliminan mediante la etapa de mejoramiento de la característica de los impulsos 10c, la cual proporciona en su salida, una señal que es por ejemplo similar a la Figura 9b. De manera alternativa, la señal generada por el bloque 10c puede ser el resultado de una selección de picos puros lo cual significa que un impulso, que se inicia en algunas muestras a la izquierda del pico y que finaliza en algunas muestras a la derecha del pico, se selecciona de la señal en la Figura 9a, donde las muestras de señal de la señal en la Figura 9a entre los picos se descartan completamente. Esto significaría que una señal similar como la que se muestra en la Figura 7c se genera por bloque 10c, con la diferencia que los impulsos no son pulsos DIRAC ideales, pero tienen un cierto ancho de impulso. Además, la etapa de mejoramiento de la característica de los impulsos 10c puede ser operativa para procesar los picos de manera que cada pico tenga la misma altura y forma que se ilustra esquemáticamente en la Figura 9b.
La señal generada por el bloque 10c será idealmente apropiada para el codificador de impulsos 10b y el codificador
15
5
10
15
20
25
30
35
40
45
50
55
60
de impulsos proporcionará una representación codificada que requiera un pequeño número de bits y que sea una representación de la señal ideal similar a un impulso sin, o solamente con una muy pequeña cantidad de errores de cuantificación.
La etapa de síntesis LPC 26b en la Figura 8 puede implementarse exactamente de la misma manera que el modelo todo polo en la Figura 7b, con una ganancia de unidad o una ganancia diferente de 1, de manera que la función de transferencia tal como se indica en el bloque 26b se implemente a fin de tener una representación de la señal ideal similar a un pulso en la salida del bloque 10c en el dominio temporal, de manera que pueda realizarse una combinación en lo que respecta a la muestra tal como una resta en el bloque 26a. Después, la salida del bloque 26a será la señal residual, la cual en un caso ideal, solamente incluye la porción estacionaria de la señal de audio y ya no incluye la porción similar a un impulso de la señal de audio. Cualquier pérdida de información introducida por la realización de la operación de mejoramiento de la característica del impulso en el bloque 10c tal como la selección de picos es no problemática, ya que este “error” se explica en la señal residual y no está perdida. De manera importante, sin embargo, las posiciones de los impulsos seleccionados por la etapa 10c precisamente representan las posiciones de impulso en la señal de audio 8 de manera que la combinación de ambas señales en el bloque 26a, especialmente cuando se hicieron utilizando una resta, no da como resultado dos pulsos que estén estrechamente adyacentes uno del otro, sino que da como resultado una señal sin ningún pulso, ya que un pulso en la señal original de audio 8 se ha cancelado debido a la operación de la combinación por bloque 26a.
Esta característica es una ventaja de la así denominada “realización de lazo abierto” y puede ser una desventaja de la así denominada “realización de lazo cerrado” que se ilustra en la Figura 4b. La Figura 4b es diferente de la Figura 4a en que la señal de salida del codificador de impulsos se introduce a un decodificador de impulsos 26e, el cual es una parte del generador de señal residual 26 de la Figura 1. Cuando el codificador de impulsos 10b introduce errores de cuantificación en las posiciones de los pulsos, y cuando estos errores no están compensados por la operación del decodificador de impulsos 26c, luego la operación de resta en el bloque 26a dará como resultado una señal residual que no sólo tiene los pulsos originales en la señal de audio, sino que tiene, en la vecindad de estos pulsos, pulsos adicionales que se han introducido debido a la operación de resta. A fin de evitar esta situación, el combinador 26 puede ser operativo no sólo para realizar una resta en lo que respecta a la muestra, sino para realizar un análisis de la señal de salida del decodificador de impulsos 26c, de manera que se obtenga una resta sincronizada.
La operación de “lazo cerrado” también puede considerarse como una operación de división en cascada. Uno de los dos codificadores parciales (preferentemente el codificador de impulsos) se configura para aceptar una parte apropiada de la señal de entrada (preferentemente los impulsos glóticos). Luego, el otro codificador parcial 16 se alimenta mediante la señal residual que consiste en la señal de diferencia entre la señal original y la señal decodificada a partir del primer codificador parcial. La señal de impulso primero se codifica y se decodifica, y la salida cuantificada se resta de la entrada de audio a fin de generar la señal residual en la metodología de lazo cerrado, que se codifica mediante el codificador de audio en función del banco de filtros.
Como ejemplo, un codificador ACELP o un CELP puede utilizarse como un codificador eficiente de impulsos conforme a lo ilustrado en la Figura 4c, la cual se debatirá más tarde. Preferentemente, sin embargo, la rutina de CELP o ACELP se modifica de tal manera que el codificador solamente modela partes impulsivas de la señal de entrada, en vez de tratar también de modelar componentes de señal tonales o muy estacionarios. En otras palabras, una vez que un cierto número de impulsos se gastan para modelar partes impulsivas de señal, la asignación de más impulsos para modelar las otras partes de la señal sería contraproducente y deterioraría la calidad de la señal de salida total. De este modo, un preprocesador o controlador, como por ejemplo el ilustrado en 1000 en la Figura 10, finaliza el proceso de asignación del impulso una vez que se modelan todos los impulsos que se producen realmente.
Además, es preferente que lo residual luego de la eliminación de la señal de salida del codificador de impulsos se construya de tal manera que se vuelva bastante sordo con el transcurso del tiempo a fin de cumplir con el número de condición 2, a fin de que sea apropiada para la codificación con el codificador en función del banco de filtros 16 de la Figura 4c.
De este modo, la Figura 4c ilustra esta metodología, en la cual el codificador ACELP modificado 10 funciona tanto, como extractor por impulsos como codificador de impulsos. Nuevamente, el generador de señal residual 26 de la Figura 1 utiliza una resta 26a para eliminar las porciones similares a impulsos de la señal de audio, sino también se pueden aplicar otros métodos tales como bajada de tono o interpolación, tal como se describió previamente.
La desventaja de la implementación del lazo abierto de la Figura 4b, en la cual la señal primero se separa en una señal de impulso y una señal residual, con ambas porciones de señal siendo luego codificadas individualmente, y la cual incluye la codificación con pérdida, es decir, cuantificación tanto en el codificador de impulsos como en el codificador de audio en función del banco de filtros, es que los errores de cuantificación de ambos codificadores deben controlarse y perceptualmente minimizarse en forma individual. Esto se debe al hecho de que la salida del decodificador, se suman ambos errores de cuantificación.
5
10
15
20
25
30
35
40
45
50
55
60
Sin embargo, la ventaja de la implementación del lazo abierto es que la etapa de extracción por impulsos produce una señal de impulso limpia, que no se distorsiona mediante errores de cuantificación. De este modo la cuantificación en el codificador de impulsos no afecta la señal residual.
Ambas implementaciones, sin embargo, pueden mezclarse a fin de implementar una clase de modo mixto. De este modo, los componentes tanto del lazo abierto como de la metodología de lazos cerrados se implementan juntas.
Un codificador de impulsos eficiente usualmente cuantifica tanto los valores individuales como las posiciones de los impulsos. Una opción para un modo mixto de lazo abierto/cerrado es utilizar los valores cuantificados de impulsos y las posiciones de impulsos adecuadas/no cuantificados para calcular la señal residual. La posición del impulso luego se cuantifica en un modo de lazo abierto. De manera alternativa, puede utilizarse un proceso iterativo de síntesis por análisis de CELP para la detección de señales similares a impulsos, pero se implementa una herramienta de codificación dedicada para la codificación real de la señal de impulso, la cual cuantifica o no, la posición de los pulsos con un pequeño error de cuantificación.
Posteriormente, un codificador CELP de síntesis por análisis se debatirá con relación a la Figura 6 a fin de ilustrar las modificaciones aplicadas a este algoritmo, conforme a lo ilustrado en las Figuras 10 a 13. Este codificador CELP se debate en detalle en “Speech Coding: A Tutorial Review”, Andreas Spanias, Proceedings of the IEEE, Vol. 82, N.° 10, octubre de 1994, páginas 1541-1582. El codificador CELP conforme a lo ilustrado en la Figura 6 incluye un componente de predicción a largo plazo 60 y un componente de predicción a corto plazo 62. Además, se utiliza un libro de códigos que se indica en 64. Se implementa un filtro perceptual de ponderación W(z) en 66, y se proporciona un controlador de minimización de error en 68. s(n) es la señal de excitación como, por ejemplo, la generada por la etapa de análisis LPC 10a. Esta señal también se denomina “señal de error por predicción” conforme a lo indicado en la línea 84 en la Figura 7e. Después de haber ponderado perceptualmente, la señal ponderada de error por predicción se introduce a un restador 69, que calcula el error entre la señal de síntesis en la salida del bloque 66 y la señal real ponderada de error por predicción s(w)(n). Generalmente, la predicción a corto plazo A(z) se calcula mediante una etapa de análisis LPC tal como se indica en la Figura 7e, y dependiendo de esta información, la información de predicción a largo plazo AL(z) que incluye la ganancia g de predicción a largo plazo y el índice de cuantificación del vector, es decir, se calculan referencias de libros de códigos. El algoritmo CELP codifica la excitación utilizando un libro de códigos de por ejemplo secuencias Gaussian. El algoritmo ACELP, donde “A” significa “Algebraico” tiene un libro de códigos específico algebraicamente designado.
Un libro de códigos puede contener más o menos vectores donde cada vector tiene un largo de algunas muestras. Un factor de ganancia g escala el vector de excitación y las muestras de excitación se filtran mediante un filtro síntesis a largo plazo y el filtro síntesis a corto plazo. El vector “óptimo” se selecciona de tal manera que se minimiza el error medio cuadrado perceptualmente ponderado. El proceso de búsqueda en CELP es evidente a partir del esquema de síntesis por análisis ilustrado en la Figura 6.
Posteriormente, se describe un algoritmo ACELP ejemplar con relación a la Figura 10, que adicionalmente ilustra la modificación realizada conforme a una realización de la presente invención debatida con relación a la Figura 4c.
La publicación “A simulation tool for introducing Algebraic CELP (ACELP) coding concepts in a DSP course", Frontiers in Education Conference, Boston, Massachusetts, 2002, Venkatraman Atti y Andreas Spanias, ilustra una descripción de una herramienta educacional para introducir los conceptos de codificación (CELP) lineal por predicción excitada por código en los cursos Universitarios. El algoritmo ACELP subyacente incluye varias etapas, las cuales incluyen una etapa de preprocedimiento y de análisis LPC 1000, una etapa de análisis de tono de lazo abierto 1002, una etapa de análisis de tono de lazo cerrado 1004, y una etapa de búsqueda de libro de códigos algebraicos (fijos) 1006.
En la etapa de preprocedimiento y de análisis LPC, la señal de entrada se filtra a alto paso y se escala. Se utiliza un segundo filtro de orden de cero polos con una frecuencia de corte de 140 Hz para realizar la filtración de alto paso. A fin de reducir la probabilidad de desbordamientos en una implementación de punto fijo, se realiza una operación de escalamiento. Luego, la señal preprocesada se visualiza en una ventana utilizando una ventana asimétrica de 30 ms (240 muestras). También se implementa una cierta superposición. Luego, utilizando el algoritmo Levinson-Durbin, los coeficientes de predicción lineal se computan a partir de los coeficientes de autocorrelación correspondientes a la voz visualizada en una ventana. Los coeficientes LP se convierten en pares espectrales de líneas que más tarde se cuantifican y se transmiten. El Algoritmo de Levinson-Durbin adicionalmente genera coeficientes de reflexión que se utilizan en el bloque de análisis de tono de lazo abierto para calcular un tono Top de lazo abierto mediante la búsqueda del máximo de una autocorrelación de una señal de voz ponderada, mediante la lectura del retraso en este máximo. En función de este tono de lazo abierto, la etapa de búsqueda del tono de lazo cerrado 1004 consiste en la búsqueda de un pequeño intervalo de muestras alrededor de Top para finalmente generar un retraso de tono altamente apropiado y una ganancia por predicción a largo plazo. Esta ganancia por predicción a largo plazo adicionalmente se utiliza en la búsqueda de libro de códigos algebraico fijo y finalmente genera junto con otra
5
10
15
20
25
30
35
40
45
50
55
60
información paramétrica como los valores cuantificados de ganancia. El libro de códigos algebraico consiste en un grupo de códigos de permutación entrelazados que contiene pocos elementos que no son cero que tienen una estructura específica de libro de códigos en la cual se hace referencia a la posición de los pulsos, el número de pulsos, una profundidad de entrelazado, y el número de bits que describe las posiciones de los pulsos. Un vector de libro de códigos de búsqueda se determina ubicando una cantidad seleccionada de pulsos por unidad en las ubicaciones encontradas donde también se realiza una multiplicación con sus signos. En función del vector de libro de códigos, se realiza una cierta operación de optimización que selecciona, entre todos los vectores de códigos disponibles, los vectores de códigos que mejor se adaptan. Luego, las posiciones de los pulsos y los tiempos de los pulsos obtenidos en los vectores de códigos que mejor se adaptan se codifican y se transmiten junto con los valores de ganancia cuantificados como información de codificación paramétrica.
La tasa de datos de la señal de salida ACELP depende del número de pulsos asignados. Para un pequeño número de pulsos, tal como un único pulso, se obtiene una pequeña tasa de bits. Para un número de pulsos mayor, la tasa de bits aumenta de 7,4 kb/s hasta una tasa de bits resultante de 8,6 kb/s para cinco pulsos, hasta una tasa de bits de 12,6 kb/s para diez pulsos.
Conforme a una realización preferente de la presente tal como se debate en la Figura 4c, el codificador ACELP modificado 10 incluye una etapa de control de números de pulsos 1000. Específicamente, la etapa de control de números de pulsos mide la ganancia LTP tal como se genera mediante el análisis de tono de lazo cerrado y realiza un control de números de pulsos, si la ganancia LTP es baja. Una ganancia LTP baja indica que la señal realmente procesada no es muy similar al tren de impulsos, y una ganancia LTP alta indica que la señal real es similar al tren de impulsos, y por ello, muy apropiada para el codificador ACELP.
La Figura 11 ilustra una implementación preferente de un bloque 1000 de la Figura 10. Específicamente, un bloque 1010 determina, si la ganancia LTP es mayor que un umbral predeterminado de ganancia LTP. Cuando este es el caso, se determina que la señal es similar a un pulso en 1011. Luego, se utiliza un número de pulsos predeterminado o inherente conforme a lo indicado en 1012. De este modo, se aplica una configuración sencilla de pulsos o un control sencillo de números de pulsos de un Algoritmo de codificación ACELP sin ninguna modificación, pero se limita parcial o completamente una variación de la posición de los pulsos introducida mediante este codificador, a una grilla periódica en función de información pasada a fin de asegurarse que se elimine la desventaja de la realización de lazo cerrado, conforme a lo indicado en el bloque 1013. Específicamente, si la ganancia (LTP) del predictor a largo plazo predictor es alta, es decir, la señal es periódica y los pulsos se ubicaron en los marcos pasados, es decir, la señal es similar a un impulso, el libro de códigos algebraico se utiliza para perfeccionar las formas de los impulsos limitando las posibles posiciones de los pulsos a una grilla periódica determinada por las posiciones pasadas de los pulsos y el retraso de LTP. Específicamente, el número de pulsos ubicados por el libro de códigos algebraico puede ser constante para este modo, conforme a lo indicado en el bloque 1011.
Si de determina que la ganancia (LTP) de predictor a largo plazo es baja, conforme a lo indicado en 1014, el número de pulsos se varía en la optimización del libro de códigos, conforme a lo indicado en 1015. Específicamente, el libro de códigos algebraico se controla de tal manera que se permite ubicar los pulsos de tal manera que la energía del residual remanente se minimiza y las posiciones de los pulsos forman un tren de pulsos periódico con el período igual al retraso de LTP. El proceso, sin embargo se termina cuando la diferencia de energía está por debajo de un cierto umbral, que da como resultado un número de pulsos variable en el libro de códigos algebraico.
Posteriormente, la Figura 12 se debate para proporcionar una realización preferente de la variación del número de pulsos descripto con relación al bloque 1015. Al comienzo, la optimización se realiza utilizando un pequeño número de pulsos, tal como un único pulso, conforme a lo indicado en 1016. Luego, la optimización se realiza con este pequeño número de pulsos, conforme a lo indicado en 1017. Para combinar mejor los vectores de códigos, la energía de señal por error se calcula en el bloque 1018 y se compara con el umbral de energía por error (THR) en el bloque 1019. El umbral se predetermina y puede configurarse apropiadamente a un valor que garantice que el codificador ACELP solamente codifica la porción de pulsos de la señal con una cierta exactitud, sino que no trata de codificar porciones de la señal no similares a pulsos, que el codificador haría cuando el controlador inventivo 1000 de la Figura 10 no estuviera allí.
Cuando el paso 1019 determina que se alcanzó el umbral, el procedimiento se termina. Cuando, sin embargo, la comparación en el bloque 1019 determina que el umbral de energía de señal por error aún no se ha alcanzado, el número de pulsos se incrementa, por ejemplo en 1, conforme a lo indicado en 1020. Luego, se repiten los pasos 1017, 1018, y 1019, pero ahora con un número de pulsos mayor. Este procedimiento se continúa hasta que se cumple con un criterio final tal como un número máximo de pulsos permitidos. Normalmente, sin embargo, el procedimiento terminará debido al criterio umbral, por lo que generalmente el número de pulsos para una señal no similar a un pulso será menor que el número de pulsos que el algoritmo de codificación asignaría en el caso de una señal similar a un pulso.
Otra modificación de un codificador ACELP se ilustra en la Figura 13. En dicho codificador, se realiza una decisión
5
10
15
20
25
30
35
40
45
50
55
60
con voz/sin voz conforme a lo indicado en 1300. Dicho codificador luego usa dependiendo de esta decisión con voz/sin voz, un primer libro de códigos para las porciones con voz, y un segundo libro de códigos para las porciones sin voz. Conforme a una realización de la presente invención, el procedimiento de síntesis por análisis CELP solamente se utiliza para determinar la información de código por impulso cuando una porción con voz se ha detectado mediante el bloque 1300 tal como se indica en 1310. Cuando, sin embargo, el codificador CELP determina una porción sin voz, luego la salida del codificador CELP para estas porciones sin voz no se calcula o al menos se ignora no se incluye en la señal de impulso codificada. Conforme a la presente invención, estas porciones sin voz se codifican utilizando el codificador residual y, por ello, la modificación de dicho codificador consiste en ignorar la salida del codificador para porciones sin voz conforme a lo indicado en 1320.
La presente invención preferentemente se combina con el concepto de codificación conmutada con un filtro LPC distorsionado dinámicamente variable, tal como se indica en la Figura 17. El codificador de impulsos emplea un filtro LPC, donde el codificador de impulsos se representa mediante el bloque 1724. Si el codificador residual en función del banco de filtros contiene una estructura pre/postfiltrado, es posible utilizar una representación unificada de tiempo-frecuencia para ambos codificadores de pulsos 1724 y el codificador residual, que no se indica en la Figura 17c, ya que no se realiza un procedimiento de la entrada de audio aparte de aplicar el prefiltro 1722, pero se realizaría para proporcionar la entrada en el codificador de audio genérico 1726 que equivaldría a la señal de codificador residual 16 de la Figura 1. De este modo uno puede evitar dos filtros de análisis del lado del codificador y dos filtros de síntesis del lado del codificador. Esto puede incluir una adaptación dinámica de un filtro generalizado en sus características de distorsión, tal como se ha descripto con respecto a la Figura 17c. De este modo, la presente invención puede implementarse en el marco de la Figura 17c mediante el procesamiento de la señal de salida del prefiltro 1722 antes de ingresar esta señal en el codificador de audio genérico 1726, y extrayendo adicionalmente los pulsos de la señal de audio antes de que se introduzca la señal de audio al codificador de excitación residual 1724. De este modo, los bloques 10c, 26b, y 26a deberían ubicarse en la salida del filtro distorsionado que varía con el tiempo 1722 y la entrada en el codificador residual/excitación 1724 que equivaldría al codificador de impulsos 10b en la Figura 4a y la entrada del codificador de audio genérico 1726 que equivaldría al codificador de audio en función del banco de filtros 16 en la Figura 4a. Naturalmente, la realización de lazo cerrado de la Figura 4b adicionalmente puede implementarse en el sistema de codificación de la Figura 17c.
Preferentemente, se utiliza un codificador de señales controlado psicoacústicamente 16 de la Figura 1. Preferentemente, el modelo psicoacústico 1602, que es por ejemplo similar al bloque correspondiente en la Figura 16a se implementa en la Figura 15 de manera que si la entrada se conecta a la señal de audio 8. Esto asegura que la información en línea del umbral psicoacústico de enmascaramiento 1500 refleje la situación de la señal original de audio, en vez de la señal residual en la salida del generador de señal residual 26. De este modo, el cuantificador 1604a se controla mediante la información umbral de enmascaramiento 1500 que no se obtiene de la señal realmente cuantificada, sino que se obtiene de la señal original de audio antes de que se haya calculado la señal residual 18. Este procedimiento es preferentemente sobre una conexión de la entrada del modelo psicoacústico a la salida del generador de señal residual 26 debido al hecho de que el efecto de enmascaramiento de la porción de señal similar a un impulso también se utiliza de manera que la tasa de bits pueda además disminuir. Por otro lado, sin embargo, una conexión de la entrada del modelo psicoacústico a la salida del generador de señal residual 18 también podría ser útil, ya que la señal residual es una señal real de audio, y por consiguiente, tiene un umbral de enmascaramiento. Sin embargo, aunque esta implementación es generalmente posible y útil para ciertas aplicaciones, la misma producirá una tasa de bits mayor en comparación con la situación en la cual el modelo psicoacústico 1602 se alimenta con la señal original de audio.
Generalmente, las realizaciones preferentes de la presente invención tienen varios aspectos que pueden resumirse de la siguiente manera.
Lado de codificación: Método de división de señal; la capa en función del banco de filtros siempre está presente; el mejoramiento de voz es una capa opcional; realización de un análisis de señal (la extracción del impulso) previo a la codificación; el codificador de impulsos solamente maneja un cierto componente de la señal de entrada; el codificador de impulsos se configura para manejar impulsos solamente; y la capa en función del banco de filtros es un codificador no modificado en función del banco de filtros. Lado de la decodificación: en la capa función del banco de filtros siempre está presente; y el mejoramiento de voz es una capa opcional.
Generalmente, el método de codificación de impulsos se selecciona además del modo de codificación en función del banco de filtros si la fuente del modelo subyacente para los impulsos (por ejemplo, la excitación por impulsos glóticos) se ajusta bien para la señal de entrada, la codificación de impulsos puede comenzar en cualquier punto conveniente en el tiempo; el modo de codificación de impulsos se selecciona además del modo de codificación en función del banco de filtros si el fuente de modelo subyacente para los impulsos (por ejemplo, la excitación por impulsos glóticos) se ajusta bien para la señal de entrada; y esto no incluye un análisis del comportamiento tasa - distorsión de ambos codec y es por ello vastamente más eficiente en el proceso de codificación.
Una codificación de impulsos preferente o método de codificación de tren de pulsos es la técnica de interpolación de
5
10
15
20
25
30
35
40
45
50
55
60
formas de onda tal como se describe en “Speech coding below 4 kB/s using wave-form interpolation”, W. B. Kleijn, Globecom '91, páginas 1879 a 1883, o en “A speech coder based on decomposition of characteristic waveforms”, W. B. Kleijn y J. Haagen, ICASSP 1995, páginas 508 a 511. Las realizaciones descriptas más abajo son meramente ilustrativas para los principios de la presente invención. Se entiende que las modificaciones y variaciones de los arreglos y detalles descriptos en el presente serán evidentes para otros expertos en la materia. Por ello, el objetivo es solamente limitarse por el alcance de las reivindicaciones inminentes de la patente y no por los detalles específicos presentados por el modo de descripción y explicación de las realizaciones en el presente documento.
Dependiendo de ciertos requerimientos de implementación de los métodos inventivos, los métodos inventivos pueden implementarse en hardware o en software. La implementación puede realizarse utilizando un medio de almacenamiento digital, en particular, un disco, un DVD o un CD que tenga señales de control electrónicamente legibles almacenadas en los mismos, que cooperen con los sistemas de computadoras programables de tal manera que se realicen los métodos inventivos. Generalmente, la presente invención es por ello un producto de programa de computadora con un código de programa almacenado en el soporte de datos legible por máquinas, el código de programa siendo operado para realizar los métodos inventivos cuando el producto del programa de computadora funciona en una computadora. En otras palabras, los métodos inventivos son, por ello, un programa de computadora que tiene un código de programa para realizar al menos uno de los métodos inventivos cuando el programa de computadora funciona en una computadora. Las realizaciones comprenden un codificador de audio, en el que el codificador de impulsos 10b y el codificador de señales 16 están diseñados de tal manera que el codificador de impulsos 10b es más adecuado para señales similares a impulsos que el codificador de señales 16 y que el codificador de señales 16 es más adecuado para señales estacionarias que el codificador de impulsos 10b.
En una realización adicional de un codificador de audio, el generador de señal residual 26 incluye un restador 26a para restar las porciones de señal extraídas 28 de la señal de audio 8 para obtener la señal residual 18.
En una realización adicional de un codificador de audio, el extractor de impulsos 10 está operativo para extraer una representación paramétrica de las porciones de señal de impulso; y el generador de señal residual 26 es operativo para sintetizar 26c la representación de la forma de onda usando la representación paramétrica, y para restar 26a la representación de la forma de onda de la señal de audio 8.
En una realización adicional de un codificador de audio, el generador de señal residual 26 incluye un decodificador de impulsos 26c para calcular una señal de impulso decodificada, y un restador 26a para restar la señal de impulso decodificada de la señal de audio 8. En las realizaciones de un codificador de audio, el extractor de impulsos 10 comprende una etapa de decisión impulso / sin impulso 1300, y en la que una porción de la señal de audio que se detecta como una porción como un impulso se proporciona al codificador de impulsos 10b y no se proporciona al codificador de señales 16.
En una realización adicional de un codificador de audio, la etapa de impulso / no impulso es una etapa de decisión sonora / sin voz.
En una realización adicional de un codificador de audio, el codificador de señales 16 es un codificador de audio general de transformación o en función del banco de filtros, y en el que el codificador de impulsos es un codificador en función del dominio del tiempo.
En una realización adicional de un codificador de audio, un máximo del número variable de pulsos es igual o más bajo que el número fijo.
En una realización adicional de un codificador de audio, el extractor de impulsos 10 está operativo para controlar 1000 el codificador ACELP de tal manera que se realiza una asignación gradual iniciándose a partir de un pequeño número de pulsos 1016 y procediendo a un mayor número de pulsos 1020, y en el que la asignación gradual se detiene, cuando se produce un error de energía por debajo de un umbral de energía predeterminado 1019.
En una realización adicional de un codificador de audio, el extractor de impulsos 10 está operativo para controlar 1000 el codificador ACELP 10, de tal manera que en el caso de un predictor a largo plazo la ganancia es más alta que un umbral, se determinan posibles posiciones de pulso que están en una grilla en función de al menos una posición de pulso de un marco precedente 1013.
En una realización adicional de un codificador de audio, el extractor de impulsos incluye un análisis CELP mediante un proceso de síntesis para determinar las posiciones de impulso no cuantificadas en la señal de error de predicción, y en el que el codificador de impulsos 10b está operativo para codificar la posición de impulso con una precisión mayor que una precisión de la información de predicción a corto plazo cuantificada.
En una realización adicional de un codificador de audio, el extractor de impulsos 10 está operativo para determinar una porción de señal como un impulso, y en el que el generador de señal residual 26 está operativo para reemplazar
5
10
15
20
25
30
la porción de señal de la señal de audio mediante una señal de síntesis que tiene una estructura reducida o no similar a un impulso.
En una realización adicional de un codificador de audio, el generador de señal residual 26 está operativo para calcular la señal de síntesis por extrapolación de un límite entre una señal similar a un impulso y la señal no similar a un impulso.
En una realización adicional de un codificador de audio, el generador de señal residual está operativo para calcular la señal de síntesis ponderando la señal de audio en porción similar a un impulso usando un factor de ponderación más pequeño que 0,5.
En una realización adicional de un codificador de audio, el codificador de señales 16 es un codificador de audio accionado psicoacústicamente, en el que un umbral de enmascaramiento psicoacústico 1500 usado a partir de la cuantificación 1604a de los valores de audio se calcula usando la señal de audio 8, y en el que el codificador de señales 16 está operativo para convertir la señal residual en una representación espectral 1600 y para cuantificar 1604a los valores de la representación espectral usando el umbral de enmascaramiento psicoacústico 1500.
En una realización adicional de un codificador de audio, el extractor de impulsos 10 está operativo para extraer una señal verdadera similar a un pulso a partir de la señal de audio, en la que el extractor de impulsos 10 está operativo 10c para manipular la señal verdadera similar a un impulso para obtener una señal similar a un impulso mejorada que es una señal similar a un impulso más ideal que la señal similar a un impulso real, en la que el codificador de impulsos 10b está operativo para codificar la señal similar a un impulso mejorada para obtener una señal similar a un impulso mejorada codificada, y en la que el codificador de audio incluye un calculador de señal residual 26 para restar la señal similar a un impulso o una señal similar a un impulso mejorada espectralmente conformada o una señal obtenida decodificando la señal similar a un impulso codificada a partir de la señal de audio para obtener la señal residual.
En una realización adicional de un codificador de audio, el extractor de impulsos está operativo para extraer un tren de impulso, y en la que el codificador de impulsos se adapta para codificar una señal similar a un tren de impulsos con mayor eficiencia o menos error de codificación que una señal similar a un tren no de impulsos. La invención se expone por las reivindicaciones independientes.
5
10
15
20
25
30
35
40
45
Literatura:
[Edl00] B. Edler, G. Schuller: "Audio coding using a psychoacoustic pre- and post-filter", ICASSP 2000, Volumen 2, 5-9 junio de 2000 Página(s): II881 - II884 vol. 2;
[Sch02] G. Schuller, B. Yu, D. Huang, and B. Edler, "Perceptual Audio Coding using Adaptive Pre- and Post- Filters and Lossless Compression", IEEE Transactions on Speech and Audio Processing, septiembre de 2002, págs. 379-390;
[Zwi] Zwicker, E. and H. Fastl, “Psychoacoustics, Facts and Models”, Springer Verlag, Berlin;
[KHL97] M. Karjalainen, A. Harina, U.K. Laine, “Realizable warped IIR filters and their properties”, IEEE ICASSP 1997, págs. 2205 - 2208, vol.3;
[SA99] J.O. Smith, J.S. Abel, “Bark and ERB Bilinear Transforms”, IEEE Transactions on Speech and Audio Processing, Volumen 7, Edición 6, noviembre 1999, págs. 697 - 708;
[HKS00] Harma, Aki; Karjalainen, Matti; Savioja, Lauri; Valimaki, Vesa; Laine, Unto K.; Huopaniemi, Jyri, “Frequency-Warped Signal Processing for Audio Applications”, Journal of the AES, Volumen 48 número 11 págs. 1011-1031; noviembre de 2000;
[SOB03] E. Schuijers, W. Oomen, B. den Brinker, J. Breebaart, “Advances in Paramet-ric Coding for High-Quality Audio”, 114th Convention, Ámsterdam, Los Países Bajos 2003, preimpresión 5852;
[WSKH05] S. Wabnik, G. Schuller, U. Kramer, J. Hirschfeld, „Frequency Warping in Low Delay Audio Coding”, IEEE International Conference on Acoustics, Speech, and Signal Processing, marzo 18-23, 2005, Filadelfia, PA, USA;
[TMK94] K. Tokuda, H. Matsumura, T. Kobayashi and S. Imai, “Speech coding based on adaptive mel-cepstral analysis,” Proc. IEEE ICASSP'94, págs.197-200, abril de 1994;
[KTK95] K. Koishida, K. Tokuda, T. Kobayashi and S. Imai, “CELP coding based on mel-cepstral analysis,” Proc. IEEE ICASSP'95, págs.33-36, 1995;
[HLM99] Aki Harma, Unto K. Laine, Matti Karjalainen, “Warped low-delay CELP for wideband audio coding”, 17th International AES Conference, Florencia, Italia, 1999;
[BLS05] B. Bessette, R. Lefebvre, R. Salami, “UNIVERSAL SPEECH/AUDIO CODING USING HYBRID ACELP/TCX TECHNIQUES,” Proc. IEEE ICASSP 2005, págs. 301 - 304, 2005;
[Gri97] Grill, B., “A Bit Rate Scalable Perceptual Coder for MPEG-4 Audio”, 103rd AES Convention, Nueva York 1997, Preimpresón 4620; y
[Her02] J. Herre, H. Purnhagen: "General Audio Coding", in F. Pereira, T. Ebrahimi (Eds.), "The MPEG-4 Book", Prentice Hall IMSC Multimedia Series, 2002. ISBN 21-4.

Claims (16)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    REIVINDICACIONES
    1. Codificador de audio para codificar una señal de audio (8) que tiene una porción similar a un impulso y una porción estacionaria, que comprende:
    un extractor de impulsos (10) para extraer la porción similar a un impulso a partir de la señal de audio, teniendo el extractor de impulsos un codificador de impulsos para codificar las porciones similares a un impulso para obtener una señal similar a un impulso codificada;
    un codificador de señales (16) para codificar una señal residual obtenida a partir de la señal de audio para obtener una señal residual codificada (20), obteniéndose la señal residual a partir de la señal de audio de tal manera que la porción similar a un impulso se reduce o elimina de la señal de audio; y
    una interfaz de salida (22) para emitir la señal similar a un impulso codificada (12) y la señal residual codificada (20), para proporcionar una señal codificada (24),
    en el que el codificador de impulsos está configurado para no proporcionar una señal similar a un impulso codificada, cuando el extractor de impulsos no puede encontrar una porción de impulso en la señal de audio.
  2. 2. Codificador de audio de acuerdo con la reivindicación 1, que comprende además un generador de señal residual (26), estando el generador de señal residual adaptado para recibir la señal de audio (8) y la información (28) relacionada con las porciones de señal similares a un impulso extraídas y para emitir la señal residual (18) que no incluye las porciones de señal extraídas.
  3. 3. Codificador de audio de acuerdo con la reivindicación 2,
    en el que el extractor de impulsos (10) incluye una etapa de análisis LPC (10a) para realizar un análisis LPC de la señal de audio (8), siendo el análisis LPC de tal manera que se obtiene una señal de error de predicción (84), en el que el extractor de impulsos (10) incluye un procesador de señal de error de predicción (10c) para procesar la señal de error de predicción de tal manera que se mejora una característica similar a un impulso de esta señal, y en el que el generador de señal residual (26) está operativo para realizar una síntesis LPC (26b) usando la señal de error de predicción mejorada y para restar una señal resultante de la síntesis LPC de la señal de audio para obtener la señal residual (18).
  4. 4. Codificador de audio de acuerdo con una de las reivindicaciones anteriores, en el que la señal de audio tiene una estructura formante y una estructura fina, en el que el extractor de impulsos (10) está operativo para procesar la señal de audio de tal manera que una señal procesada solo representa la estructura fina, y para procesar la señal de estructura fina de tal manera que se mejora (10c) la característica similar a un impulso de la señal de estructura fina,
    y
    en el que la señal de estructura fina mejorada se codifica por el codificador de impulsos (10b).
  5. 5. Codificador de audio de acuerdo con una de las reivindicaciones anteriores, en el que el extractor de impulsos (10) incluye un codificador ACELP (10) que tiene una etapa de análisis LPC (1000) para obtener información del predictor a corto plazo, una etapa de determinación de tono (1002, 1004) para obtener información de tono y una ganancia de predictor a largo plazo, y una etapa de libro de códigos (1006) para determinar la información del libro de códigos relacionada con las posiciones del pulso de una serie de pulsos usados para la representación paramétrica de una señal residual, y
    en el que el extractor de impulsos (10) está operativo para controlar (1000) el codificador ACELP (10) en función de la ganancia de predicción a largo plazo para asignar, o un número variable de pulsos para la primera ganancia de predicción a largo plazo o un número fijo de pulsos para una segunda ganancia de predicción a largo plazo, en el que la segunda ganancia de predicción a largo plazo es mayor que la primera ganancia de predicción a largo plazo.
  6. 6. Codificador de audio de acuerdo con la reivindicación 2,
    en el que el codificador de impulsos (10b) es un codificador de predicción lineal excitado por código (CELP) que calcula las posiciones de impulso y los valores de impulso cuantificados, y
    en el que el generador de señal residual (26) está operativo para usar las posiciones de impulso no cuantificadas y los valores de impulso cuantificados para calcular una señal a restarse de la señal de audio (8) para obtener la señal residual.
  7. 7. Método para codificar una señal de audio (8) que tiene una porción similar a un impulso y una porción estacionaria, que comprende:
    extraer (10) la porción similar a un impulso a partir de la señal de audio, comprendiendo el paso de extracción un paso para codificar las porciones similares a un impulso para obtener una señal codificada similar a un impulso; codificar (16) una señal residual obtenida a partir de la señal de audio para obtener una señal residual codificada (20), obteniéndose la señal residual a partir de la señal de audio de tal manera que la porción similar a un impulso se reduzca o elimine de la señal de audio; y
    emitir (22), transmitiendo o almacenando, la señal similar a un impulso codificada (12) y la señal residual
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    codificada (20), para proporcionar una señal codificada (24),
    en el que el paso de codificar un impulso no se realiza, cuando el paso de extraer el impulso no encuentra una porción de impulso en la señal de audio.
  8. 8. Decodificador para decodificar una señal de audio codificada (24) que tiene una señal similar a un impulso codificada (12) y una señal residual codificada (20), que comprende:
    un decodificador de impulsos (30) para decodificar la señal similar a un impulso codificada usando un algoritmo de decodificación adaptado a un algoritmo de codificación usado para generar la señal similar a un impulso codificada, en el que se obtiene una señal similar a un impulso decodificada;
    un decodificador de señal (32) para decodificar la señal residual codificada (20) usando un algoritmo de decodificación adaptado a un algoritmo de codificación usado para generar la señal residual codificada (20), en el que se obtiene una señal residual decodificada; y
    un combinador de señales (34) para combinar la señal similar a un impulso decodificada y la señal residual decodificada para proporcionar una señal de salida decodificada (36),
    en el que el decodificador de señal (32) y el decodificador de impulsos (30) están operativos para proporcionar valores de salida relacionados con el mismo instante de tiempo de una señal decodificada, en el que el decodificador de impulsos (30) está operativo para recibir la señal similar a un impulso codificada y proporcionar la señal similar a un impulso decodificada en las porciones de tiempo especificadas (142) separadas por períodos (143) en el que el decodificador de señal proporciona la señal residual decodificada y el decodificador de impulsos (30) no proporciona la señal similar a un impulso decodificada, de tal manera que la señal de salida decodificada tiene los períodos (143) en los que la señal de salida decodificada es idéntica a la señal residual decodificada y la señal de salida decodificada tiene las porciones de tiempo especificadas (142) en las que la señal de salida decodificada consiste en la señal residual decodificada y en la señal similar a un impulso decodificada.
  9. 9. Decodificador de acuerdo con la reivindicación 8, en el que el decodificador de impulsos (30) es un decodificador de dominio de tiempo y el decodificador de señales (32) es un decodificador en función de un banco de filtros o transformación.
  10. 10. Decodificador de acuerdo con una de las reivindicaciones 8 a 9, en el que la señal de audio codificada incluye información secundaria (14) que indica información relacionada con una característica de codificación o de decodificación pertinente a la señal residual, y
    en el que el combinador (34) está operativo para combinar la señal residual decodificada y la señal similar a un impulso decodificada de acuerdo con la información secundaria (14).
  11. 11. Decodificador de acuerdo con una de las reivindicaciones 8 a 9, en el que la información secundaria (14) indica que, en una porción similar a un impulso, se ha generado una señal sintética en la señal residual, y
    en el que el combinador (32) está operativo para suprimir o al menos atenuar la señal residual decodificada durante la porción similar a un impulso en respuesta a la información secundaria.
  12. 12. Decodificador de acuerdo con una de las reivindicaciones 8 a 9, en el que la información secundaria indica que una señal similar a un impulso se ha atenuado mediante un factor de atenuación antes de restarse de la señal de audio, y
    en el que el combinador (34) está operativo para atenuar la señal residual decodificada en función del factor de atenuación y para usar la señal decodificada atenuada para una combinación con la señal similar a un impulso decodificada.
  13. 13. Decodificador de acuerdo con una de las reivindicaciones 8 a 9, en el que la señal similar a un impulso codificada comprende una señal similar a un tren de impulsos, y
    en el que el decodificador para decodificar (30) la señal similar a un impulso codificada está operativo para usar un algoritmo de decodificación adaptado a un algoritmo de codificación, en el que el algoritmo de codificación está adaptado para codificar una señal similar a un tren de impulsos con mayor eficiencia o menos error de codificación que una señal no similar a un tren de impulsos.
  14. 14. Método para decodificar una señal de audio codificada (24) que tiene una señal similar a un impulso codificada (12) y una señal residual codificada (20), que comprende:
    decodificar (30) la señal similar a un impulso codificada usando un algoritmo de decodificación adaptado a un algoritmo de codificación usado para generar la señal similar a un impulso codificada, en el que se obtiene una señal similar a un impulso decodificada;
    decodificar (32) la señal residual codificada (20) usando un algoritmo de decodificación adaptado a un algoritmo de codificación usado para generar la señal residual codificada (20), en el que se obtiene una la señal residual decodificada; y
    5
    10
    15
    20
    25
    combinar (34) la señal similar a un impulso decodificada y la señal residual decodificada para proporcionar una señal de salida decodificada (36), en el que los pasos para decodificar (32, 30) están operativos para proporcionar unos valores de salida relacionados con el mismo instante de tiempo de una señal decodificada, en el que, en el paso para decodificar (30), la señal similar a un impulso codificado, se recibe la señal similar a un impulso codificada y la señal similar a un impulso decodificado se proporciona en porciones de tiempo especificadas (142) separadas por periodos (143) en los que el paso para decodificar (32) la señal residual codificada proporciona la señal residual decodificada y el paso para decodificar (30) la señal similar a un impulso codificado no proporciona la señal similar a un impulso decodificada, de tal manera que la señal de salida decodificada tiene los períodos (143), en los que la señal de salida decodificada es idéntica a la señal residual decodificada y la señal de salida decodificada tiene las porciones de tiempo especificadas (142) en las que la señal de salida decodificada consiste en la señal residual decodificada y en la señal similar a un impulso decodificada.
  15. 15. Señal de audio codificada (24) que tiene una señal similar a un impulso codificada (12), una señal residual codificada (20), e información secundaria (14) que indica información relacionada con una característica de codificación o decodificación pertinente a la señal residual codificada o a la señal similar a un impulso codificada, en la que la señal similar a un impulso codificada representa porciones de tiempo especificadas (142) de la señal de audio, en la que la señal de audio está representada por la señal residual codificada y la señal similar a un impulso codificada, estando las porciones de tiempo especificadas (142) separadas por periodos (143), en los que la señal de audio solo está representada por la señal residual codificada y no por la señal similar a un impulso codificada (12).
  16. 16. Programa informático que tiene un código de programa adaptado para realizar el método de la reivindicación 7 o 14, cuando se ejecuta en un procesador.
ES08759046.9T 2007-06-11 2008-06-05 Codificador de audio para codificar una señal de audio que tiene una porción similar a un impulso y una porción estacionaria Active ES2663269T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US94325307P 2007-06-11 2007-06-11
US943253P 2007-06-11
US94350507P 2007-06-12 2007-06-12
US943505P 2007-06-12
PCT/EP2008/004496 WO2008151755A1 (en) 2007-06-11 2008-06-05 Audio encoder for encoding an audio signal having an impulse- like portion and stationary portion, encoding methods, decoder, decoding method; and encoded audio signal

Publications (1)

Publication Number Publication Date
ES2663269T3 true ES2663269T3 (es) 2018-04-11

Family

ID=39709533

Family Applications (1)

Application Number Title Priority Date Filing Date
ES08759046.9T Active ES2663269T3 (es) 2007-06-11 2008-06-05 Codificador de audio para codificar una señal de audio que tiene una porción similar a un impulso y una porción estacionaria

Country Status (17)

Country Link
US (1) US8706480B2 (es)
EP (1) EP2165328B1 (es)
JP (1) JP5686369B2 (es)
KR (1) KR101196506B1 (es)
CN (1) CN101743586B (es)
AR (1) AR066959A1 (es)
AU (1) AU2008261287B2 (es)
BR (1) BRPI0811384A2 (es)
CA (1) CA2691993C (es)
ES (1) ES2663269T3 (es)
MX (1) MX2009013519A (es)
MY (1) MY146431A (es)
PL (1) PL2165328T3 (es)
PT (1) PT2165328T (es)
RU (1) RU2439721C2 (es)
TW (1) TWI371744B (es)
WO (1) WO2008151755A1 (es)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8326614B2 (en) * 2005-09-02 2012-12-04 Qnx Software Systems Limited Speech enhancement system
US7720677B2 (en) * 2005-11-03 2010-05-18 Coding Technologies Ab Time warped modified transform coding of audio signals
EP1852848A1 (en) * 2006-05-05 2007-11-07 Deutsche Thomson-Brandt GmbH Method and apparatus for lossless encoding of a source signal using a lossy encoded data stream and a lossless extension data stream
EP2171713B1 (fr) * 2007-06-15 2011-03-16 France Telecom Codage de signaux audionumériques
US20090006081A1 (en) * 2007-06-27 2009-01-01 Samsung Electronics Co., Ltd. Method, medium and apparatus for encoding and/or decoding signal
EP2198426A4 (en) 2007-10-15 2012-01-18 Lg Electronics Inc METHOD AND DEVICE FOR PROCESSING A SIGNAL
KR101756834B1 (ko) * 2008-07-14 2017-07-12 삼성전자주식회사 오디오/스피치 신호의 부호화 및 복호화 방법 및 장치
WO2010101527A1 (en) * 2009-03-03 2010-09-10 Agency For Science, Technology And Research Methods for determining whether a signal includes a wanted signal and apparatuses configured to determine whether a signal includes a wanted signal
CN101931414B (zh) 2009-06-19 2013-04-24 华为技术有限公司 脉冲编码方法及装置、脉冲解码方法及装置
US9753884B2 (en) 2009-09-30 2017-09-05 Microsoft Technology Licensing, Llc Radio-control board for software-defined radio platform
MX2012004116A (es) * 2009-10-08 2012-05-22 Fraunhofer Ges Forschung Decodificador multimodo para señal de audio, codificador multimodo para señal de audio, metodo y programa de computacion que usan un modelado de ruido en base a linealidad-prediccion-codi ficacion.
RU2591011C2 (ru) * 2009-10-20 2016-07-10 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. Кодер аудиосигнала, декодер аудиосигнала, способ кодирования или декодирования аудиосигнала с удалением алиасинга (наложения спектров)
CA2778325C (en) * 2009-10-20 2015-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using a region-dependent arithmetic coding mapping rule
US9613630B2 (en) * 2009-11-12 2017-04-04 Lg Electronics Inc. Apparatus for processing a signal and method thereof for determining an LPC coding degree based on reduction of a value of LPC residual
UA100353C2 (uk) * 2009-12-07 2012-12-10 Долбі Лабораторіс Лайсензін Корпорейшн Декодування цифрових потоків кодованого багатоканального аудіосигналу з використанням адаптивного гібридного перетворення
BR122021008581B1 (pt) 2010-01-12 2022-08-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificador de áudio, decodificador de áudio, método de codificação e informação de áudio, e método de decodificação de uma informação de áudio que utiliza uma tabela hash que descreve tanto valores de estado significativos como limites de intervalo
US9075446B2 (en) 2010-03-15 2015-07-07 Qualcomm Incorporated Method and apparatus for processing and reconstructing data
CN105355209B (zh) 2010-07-02 2020-02-14 杜比国际公司 音高增强后置滤波器
PL3451333T3 (pl) * 2010-07-08 2023-01-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Koder wykorzystujący kasowanie aliasingu w przód
US9136980B2 (en) 2010-09-10 2015-09-15 Qualcomm Incorporated Method and apparatus for low complexity compression of signals
MX2013009304A (es) 2011-02-14 2013-10-03 Fraunhofer Ges Forschung Aparato y metodo para codificar una porcion de una señal de audio utilizando deteccion de un transiente y resultado de calidad.
SG185519A1 (en) * 2011-02-14 2012-12-28 Fraunhofer Ges Forschung Information signal representation using lapped transform
ES2529025T3 (es) 2011-02-14 2015-02-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Aparato y método para procesar una señal de audio decodificada en un dominio espectral
TWI488177B (zh) 2011-02-14 2015-06-11 Fraunhofer Ges Forschung 使用頻譜域雜訊整形之基於線性預測的編碼方案
ES2639646T3 (es) 2011-02-14 2017-10-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificación y decodificación de posiciones de impulso de pistas de una señal de audio
US9142220B2 (en) 2011-03-25 2015-09-22 The Intellisis Corporation Systems and methods for reconstructing an audio signal from transformed audio information
WO2012149679A1 (en) 2011-05-04 2012-11-08 Microsoft Corporation Spectrum allocation for base station
JP5752324B2 (ja) * 2011-07-07 2015-07-22 ニュアンス コミュニケーションズ, インコーポレイテッド 雑音の入った音声信号中のインパルス性干渉の単一チャネル抑制
US8548803B2 (en) 2011-08-08 2013-10-01 The Intellisis Corporation System and method of processing a sound signal including transforming the sound signal into a frequency-chirp domain
US9183850B2 (en) 2011-08-08 2015-11-10 The Intellisis Corporation System and method for tracking sound pitch across an audio signal
US8620646B2 (en) 2011-08-08 2013-12-31 The Intellisis Corporation System and method for tracking sound pitch across an audio signal using harmonic envelope
CN102419978B (zh) * 2011-08-23 2013-03-27 展讯通信(上海)有限公司 音频解码器、音频解码的频谱重构方法及装置
US20140058737A1 (en) * 2011-10-28 2014-02-27 Panasonic Corporation Hybrid sound signal decoder, hybrid sound signal encoder, sound signal decoding method, and sound signal encoding method
US9130711B2 (en) * 2011-11-10 2015-09-08 Microsoft Technology Licensing, Llc Mapping signals from a virtual frequency band to physical frequency bands
RU2505921C2 (ru) * 2012-02-02 2014-01-27 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ и устройство кодирования и декодирования аудиосигналов (варианты)
US20130211846A1 (en) * 2012-02-14 2013-08-15 Motorola Mobility, Inc. All-pass filter phase linearization of elliptic filters in signal decimation and interpolation for an audio codec
US9020818B2 (en) * 2012-03-05 2015-04-28 Malaspina Labs (Barbados) Inc. Format based speech reconstruction from noisy signals
PT2936484T (pt) * 2013-01-29 2018-03-29 Fraunhofer Ges Forschung Aparelho e método para processar um sinal codificado e codificador e método para gerar um sinal codificado
MX347316B (es) 2013-01-29 2017-04-21 Fraunhofer Ges Forschung Aparato y método para sintetizar una señal de audio, decodificador, codificador, sistema y programa de computación.
US9728200B2 (en) 2013-01-29 2017-08-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for adaptive formant sharpening in linear prediction coding
BR112015025022B1 (pt) 2013-04-05 2022-03-29 Dolby International Ab Método de decodificação, decodificador em um sistema de processamento de áudio, método de codificação, e codificador em um sistema de processamento de áudio
US10043528B2 (en) * 2013-04-05 2018-08-07 Dolby International Ab Audio encoder and decoder
WO2014179021A1 (en) * 2013-04-29 2014-11-06 Dolby Laboratories Licensing Corporation Frequency band compression with dynamic thresholds
SG11201510164RA (en) 2013-06-10 2016-01-28 Fraunhofer Ges Forschung Apparatus and method for audio signal envelope encoding, processing and decoding by splitting the audio signal envelope employing distribution quantization and coding
AU2014280258B9 (en) 2013-06-10 2017-04-20 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for audio signal envelope encoding, processing and decoding by modelling a cumulative sum representation employing distribution quantization and coding
FR3008533A1 (fr) * 2013-07-12 2015-01-16 Orange Facteur d'echelle optimise pour l'extension de bande de frequence dans un decodeur de signaux audiofrequences
EP2830045A1 (en) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Concept for audio encoding and decoding for audio channels and audio objects
EP2830048A1 (en) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for realizing a SAOC downmix of 3D audio content
EP2830049A1 (en) * 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for efficient object metadata coding
US9418671B2 (en) * 2013-08-15 2016-08-16 Huawei Technologies Co., Ltd. Adaptive high-pass post-filter
JP6366706B2 (ja) 2013-10-18 2018-08-01 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン スピーチ関連のスペクトル整形情報を使用したオーディオ信号符号化と復号化の概念
JP6366705B2 (ja) 2013-10-18 2018-08-01 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 確定的及びノイズ状情報を用いてオーディオ信号を符号化/復号化する概念
KR101804744B1 (ko) * 2013-10-22 2017-12-06 연세대학교 산학협력단 오디오 신호 처리 방법 및 장치
CN103761969B (zh) * 2014-02-20 2016-09-14 武汉大学 基于高斯混合模型的感知域音频编码方法及系统
EP2919232A1 (en) 2014-03-14 2015-09-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Encoder, decoder and method for encoding and decoding
US9959876B2 (en) 2014-05-16 2018-05-01 Qualcomm Incorporated Closed loop quantization of higher order ambisonic coefficients
US9583115B2 (en) * 2014-06-26 2017-02-28 Qualcomm Incorporated Temporal gain adjustment based on high-band signal characteristic
EP3000110B1 (en) * 2014-07-28 2016-12-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Selection of one of a first encoding algorithm and a second encoding algorithm using harmonics reduction
EP2980790A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for comfort noise generation mode selection
EP2980795A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoding and decoding using a frequency domain processor, a time domain processor and a cross processor for initialization of the time domain processor
EP2980794A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and decoder using a frequency domain processor and a time domain processor
WO2016091994A1 (en) * 2014-12-11 2016-06-16 Ubercord Gmbh Method and installation for processing a sequence of signals for polyphonic note recognition
US9870785B2 (en) 2015-02-06 2018-01-16 Knuedge Incorporated Determining features of harmonic signals
US9922668B2 (en) 2015-02-06 2018-03-20 Knuedge Incorporated Estimating fractional chirp rate with multiple frequency representations
US9842611B2 (en) 2015-02-06 2017-12-12 Knuedge Incorporated Estimating pitch using peak-to-peak distances
WO2017080835A1 (en) * 2015-11-10 2017-05-18 Dolby International Ab Signal-dependent companding system and method to reduce quantization noise
CN117542365A (zh) * 2016-01-22 2024-02-09 弗劳恩霍夫应用研究促进协会 用于具有全局ild和改进的中/侧决策的mdct m/s立体声的装置和方法
CN111210832B (zh) * 2018-11-22 2024-06-04 广州广晟数码技术有限公司 基于频谱包络模板的带宽扩展音频编解码方法及装置
RU2701491C1 (ru) * 2019-03-21 2019-09-26 Общество С Ограниченной Ответственностью "Ржн" Способ распознавания кодового сигнала на фоне аддитивных помех
CN110070878B (zh) * 2019-03-26 2021-05-04 苏州科达科技股份有限公司 音频码流的解码方法及电子设备
CN114127843B (zh) 2019-07-02 2023-08-11 杜比国际公司 用于离散指向性数据的表示、编码和解码的方法、设备和系统
US11043203B2 (en) * 2019-09-27 2021-06-22 Eventide Inc. Mode selection for modal reverb
US11694692B2 (en) 2020-11-11 2023-07-04 Bank Of America Corporation Systems and methods for audio enhancement and conversion
EP4120257A1 (en) * 2021-07-14 2023-01-18 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Coding and decocidng of pulse and residual parts of an audio signal

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4026A (en) * 1845-05-01 Xpump
JPH0333900A (ja) * 1989-06-30 1991-02-14 Fujitsu Ltd 音声符号化方式
CA2019801C (en) 1989-06-28 1994-05-31 Tomohiko Taniguchi System for speech coding and an apparatus for the same
US5235670A (en) * 1990-10-03 1993-08-10 Interdigital Patents Corporation Multiple impulse excitation speech encoder and decoder
FR2729245B1 (fr) * 1995-01-06 1997-04-11 Lamblin Claude Procede de codage de parole a prediction lineaire et excitation par codes algebriques
JPH1051315A (ja) * 1996-07-29 1998-02-20 Takayoshi Hirata 代用インパルス波形による信号波形の伝送および記録方式
US6134518A (en) * 1997-03-04 2000-10-17 International Business Machines Corporation Digital audio signal coding using a CELP coder and a transform coder
JP4173940B2 (ja) 1999-03-05 2008-10-29 松下電器産業株式会社 音声符号化装置及び音声符号化方法
EP1187337B1 (en) 1999-04-19 2008-01-02 Fujitsu Limited Speech coding processor and speech coding method
US6757654B1 (en) 2000-05-11 2004-06-29 Telefonaktiebolaget Lm Ericsson Forward error correction in speech coding
US6968309B1 (en) * 2000-10-31 2005-11-22 Nokia Mobile Phones Ltd. Method and system for speech frame error concealment in speech decoding
US6789059B2 (en) 2001-06-06 2004-09-07 Qualcomm Incorporated Reducing memory requirements of a codebook vector search
JP4622164B2 (ja) * 2001-06-15 2011-02-02 ソニー株式会社 音響信号符号化方法及び装置
US7272555B2 (en) 2001-09-13 2007-09-18 Industrial Technology Research Institute Fine granularity scalability speech coding for multi-pulses CELP-based algorithm
EP1483759B1 (en) * 2002-03-12 2006-09-06 Nokia Corporation Scalable audio coding
CN100346392C (zh) * 2002-04-26 2007-10-31 松下电器产业株式会社 编码设备、解码设备、编码方法和解码方法
KR100462611B1 (ko) 2002-06-27 2004-12-20 삼성전자주식회사 하모닉 성분을 이용한 오디오 코딩방법 및 장치
US7191136B2 (en) * 2002-10-01 2007-03-13 Ibiquity Digital Corporation Efficient coding of high frequency signal information in a signal using a linear/non-linear prediction model based on a low pass baseband
WO2004034379A2 (en) 2002-10-11 2004-04-22 Nokia Corporation Methods and devices for source controlled variable bit-rate wideband speech coding
AU2003208517A1 (en) 2003-03-11 2004-09-30 Nokia Corporation Switching between coding schemes
CN100583241C (zh) * 2003-04-30 2010-01-20 松下电器产业株式会社 音频编码设备、音频解码设备、音频编码方法和音频解码方法
GB2403634B (en) * 2003-06-30 2006-11-29 Nokia Corp An audio encoder
US7739120B2 (en) * 2004-05-17 2010-06-15 Nokia Corporation Selection of coding models for encoding an audio signal
EP1792306B1 (en) 2004-09-17 2013-03-13 Koninklijke Philips Electronics N.V. Combined audio coding minimizing perceptual distortion
BRPI0611430A2 (pt) * 2005-05-11 2010-11-23 Matsushita Electric Ind Co Ltd codificador, decodificador e seus métodos
PL2146344T3 (pl) * 2008-07-17 2017-01-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Sposób kodowania/dekodowania sygnału audio obejmujący przełączalne obejście

Also Published As

Publication number Publication date
EP2165328A1 (en) 2010-03-24
AR066959A1 (es) 2009-09-23
WO2008151755A1 (en) 2008-12-18
CA2691993C (en) 2015-01-27
AU2008261287B2 (en) 2010-12-16
CA2691993A1 (en) 2008-12-18
MY146431A (en) 2012-08-15
PL2165328T3 (pl) 2018-06-29
RU2439721C2 (ru) 2012-01-10
TWI371744B (en) 2012-09-01
CN101743586A (zh) 2010-06-16
JP5686369B2 (ja) 2015-03-18
US8706480B2 (en) 2014-04-22
KR20100024414A (ko) 2010-03-05
KR101196506B1 (ko) 2012-11-01
RU2009143665A (ru) 2011-07-27
US20100262420A1 (en) 2010-10-14
AU2008261287A1 (en) 2008-12-18
PT2165328T (pt) 2018-04-24
EP2165328B1 (en) 2018-01-17
TW200912896A (en) 2009-03-16
CN101743586B (zh) 2012-10-17
BRPI0811384A2 (pt) 2017-08-01
MX2009013519A (es) 2010-01-18
JP2010530079A (ja) 2010-09-02

Similar Documents

Publication Publication Date Title
ES2663269T3 (es) Codificador de audio para codificar una señal de audio que tiene una porción similar a un impulso y una porción estacionaria
JP7469350B2 (ja) マルチチャンネル信号を符号化するためのオーディオエンコーダおよび符号化されたオーディオ信号を復号化するためのオーディオデコーダ
JP6682683B2 (ja) 復号方法、コンピュータプログラム及び復号システム
ES2380307T3 (es) Esquema de codificación/decodificación de audio de tasa de transmisión de bits baja con preprocesamiento común.
RU2485606C2 (ru) Схема кодирования/декодирования аудио сигналов с низким битрейтом с применением каскадных переключений
ES2683077T3 (es) Codificador y decodificador de audio para codificar y decodificar tramas de una señal de audio muestreada
RU2483364C2 (ru) Схема аудиокодирования/декодирования с переключением байпас
JP6126006B2 (ja) 音信号ハイブリッドエンコーダ、音信号ハイブリッドデコーダ、音信号符号化方法、及び音信号復号方法
MX2011000366A (es) Codificador y decodificador de audio para codificar y decodificar muestras de audio.
WO2010105926A2 (en) Advanced stereo coding based on a combination of adaptively selectable left/right or mid/side stereo coding and of parametric stereo coding
KR20110040828A (ko) 인코드된 오디오 신호를 디코딩하는 장치 및 방법
KR20090025304A (ko) 동적 가변 와핑 특성을 가지는 오디오 인코더, 오디오 디코더 및 오디오 프로세서
MX2013003782A (es) Aparato y metodo para procesar una señal de audio y para otorgar una mayor granularidad temporal para un codificador-decodificador combinado y unificado de voz y audio (usac).
JP2016524721A (ja) オブジェクト特有時間/周波数分解能を使用する混合信号からのオーディオオブジェクト分離
RU2804032C1 (ru) Устройство обработки звуковых сигналов для кодирования стереофонического сигнала в сигнал битового потока и способ декодирования сигнала битового потока в стереофонический сигнал, осуществляемый с использованием устройства обработки звуковых сигналов
Ohm et al. Speech and Audio Coding