ES2433043T3 - Conmutación del modo de codificación ACELP a TCX - Google Patents
Conmutación del modo de codificación ACELP a TCX Download PDFInfo
- Publication number
- ES2433043T3 ES2433043T3 ES05706494T ES05706494T ES2433043T3 ES 2433043 T3 ES2433043 T3 ES 2433043T3 ES 05706494 T ES05706494 T ES 05706494T ES 05706494 T ES05706494 T ES 05706494T ES 2433043 T3 ES2433043 T3 ES 2433043T3
- Authority
- ES
- Spain
- Prior art keywords
- tcx
- response
- acelp
- frame
- signal
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0204—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
- G10L19/0208—Subband vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/24—Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/26—Pre-filtering or post-filtering
- G10L19/265—Pre-filtering, e.g. high frequency emphasis prior to encoding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/005—Correction of errors induced by the transmission channel, if related to the coding algorithm
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0216—Noise filtering characterised by the method used for estimating noise
- G10L21/0232—Processing in the frequency domain
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Un método para conmutar de un modo de codificación de señal de sonido de ACELP a un modo de codificaciónde señal de sonido de TCX en la unión entre una trama previa codificada de acuerdo con el modo de codificación deACELP, y una trama presente en ese momento, codificada de acuerdo con el modo de codificación de TCX, de talmanera que la señal de sonido es filtrada a través de un filtro de ponderación para producir, en la trama presente enese momento, una señal ponderada, que comprende: calcular una respuesta ante entrada nula del filtro de ponderación; truncar y tratar con ventanas la respuesta ante entrada nula, de tal manera que dicha respuesta ante entradanula tenga una amplitud que decrece monótonamente hasta cero tras un periodo de tiempo predeterminado; y lOen la trama presente en ese momento, extraer o suprimir de la señal ponderada la respuesta ante entrada nula,truncada y tratada con ventanas.
Description
Conmutación del modo de cod ificación ACELP a TCX
Campo de la invención
La presente invención se refiere a la codificaciÓfl y la descodificación de señales de sonido en, por ejemplo, sistemas de transmisión y almacenamiento digitales. En particular, pero no exclusivamente, la presente invención se refiere a la codificación ya la descodificación de transformada híbrida y predicciÓfllineal excitada en código (CELP"code-excited linear prediction")
Antecedentes de la invención
La representación digital de información proporciona muchas ventajas. En el caso de señales de sonido, la información tal como una señal de habla o musical se digitaliza utilizando, por ejemplo, el formato de PCM (Modulación en Código de Impulsos -"Pulse Code Modulation"). La señal es, de esta forma, muestreada y cuantizada con, por ejemplo, 16 o 20 bits por cada muestra. Aunque es simple, el formato de PCM requiere un alto volumen o proporción de transmisiÓfl de bits (número de bits por segundo, o bitsfs). Esta limitación es el motivo principal para diseñar técnicas de codificación de fuente eficientes que sean capaces de reducir el volumen de transmisión de bits y satisfagan las restricciones especificas de muchas aplicaciones en términos de calidad de audio, retardo de codificaciÓfl y complejidad.
La función de un codificador de audio digital es convertir una señal de sonido en una corriente de bits que sea, pOI" ejemplo, transmitida a través de un canal de comunicación o almacenada en un medio de almacenamiento. Se considera aquí la compresión de fuente dispersa o poco densa, es decir la compresión de la señal. Más específicamente, el cometido de un codificador de audio digital es representar las muestras, por ejemplo, las muestras de PCM, con un número más pequeño de bits al tiempo que se mantiene una buena ca lidad subjetiva del audio. Un descodificador o sintetizador es sensible o responde a la corriente de bits transmitida o almacenada para convertirla de vuelta en una señal de sonido. Se hace referencia a las divulgaciones [Jayant, 1984] y [Gersho, 1992] para una introducción a los métodos de compresión de señal, así como a los capítulos de generalidades de la divulgaciÓfl [Kleijn, 1995] para un tratamiento en profundidad de las técnicas modemas de codificación del habla y audio.
En la codificación de audio de alta calidad, pueden distinguirse dos clases de algoritmos: la codificación de Predicción Lineal Excitada en Código (CELP -"Code-Excited Linear Prediction"), que se ha diseñado para codificar principalmente señales de habla, y la codificación de transformada (o subbanda) perceptiva, que está bien adaptada a la representaciÓfl de señales musicales. Estas técnicas pueden conseguir un buen compromiso entre la calidad subjetiva y el volumen o proporción de transmisión de bits. La codificación de CELP se ha desarrollado en el contexto de aplicaciones bidireccionales, o en ambos sentidos, de bajo retardo, tales como la telefonia o la comunicaciÓfl por conferencia, en las que la señal de audio es, por lo común, muestreada a, por ejemplo, 8 o 16 kHz. La codificación de transformada perceptiva se ha venido aplicando mayoritariamente a señales musicales de alta fidelidad y de banda ancha muestreadas a, por ejemplo, 32 kHz, 44,1 kHz o 48 kHz para aplicaciones de reproducción según descarga o de almacenamiento.
La codificación de CELP [Atal, 1985] es el marco nuclear de la mayor parte de las normas o especificaciones de codificación de habla modernas. De acuerdo con este modelo de codificaciÓfl, la señal de habla es procesada o tratada en sucesivos bloques de N muestras denominadas tramas, siendo N un número predeterminado de muestras correspondiente, por lo común, a, por ejemplo, entre 10 y 30 ms. La reducción del volumen de transmisión de bits se consigue mediante la supresión de la correlación temporal entre sucesivas muestras de habla a través de la predicción lineal y el uso de una cuantización vectorial (VO -"vector quantization") eficiente. Un filtro de predicción lineal (LP -"linear prediction") es computado y transmitido en cada trama. La computación del filtro de LP requiere, por lo común, un margen de anticipación , por ejemplo, un segmento de habla de entre 5 ms y 10 ms desde la trama subsiguiente. En general, la trama de N-muestras se divide en bloques más pequeños denominados tramas subordinadas o subtramas, a fin de aplicar la predicción de paso de avance. La longitud de subtrama puede ser ajustada, por ejemplo, en el intervalo entre 4 ms y 10 ms. En cada subtrama, se obtiene habitualmente una señal de excitación a partir de dos componentes, una porción de la excitación pasada y una excitación de libro de códigos innovador o fijo. Se hace referencia a menudo al componente formado a partir de una porción de la excitación pasada, como la excitación de paso de avance o libro de códigos adaptativo. Los parámetros que caracterizan la señal de excitación son codificados y transmitidos al descodificador, donde la señal de excitación es reconstruida y utilizada como la entrada al filtro de LP. Un caso o ejemplo de la codificación de CELP es el modelo de codificación de ACELP (CELP Algebraica -"Algebraic CELP"), en el que el libro de códigos innovador consiste en impulsos firmados e intercalados.
El modelo de CELP ha sido desarrollado en el contexto de la codificación del habla de banda estrecha, para la que la anchura de banda de entrada es de entre 300 Hz y 3.400 Hz. En el caso de señales de habla de banda ancha definidas en el intervalo entre 50 Hz y 7.000 Hz, el modelo de CELP se utiliza habitualmente en una soluciÓfl de banda dividida en la que una banda inferior es codificada por coincidencia en el perfilo forma de la onda
(codificación de CELP) y una banda superior es codificada paramétricamente Esta división en anchura de banda tiene diversas motivaciones:
La mayor parte de los bits de una trama pueden ser asignados a la señal de banda inferior para maximizar la calidad .
La complejidad computacional (de filtración, etc.) puede ser reducida en comparación con la codificación de banda completa.
También, la coincidencia en la forma de onda no es muy eficiente para las componentes de alta frecuencia.
La solución de banda dividida se utiliza, por ejemplo, en la norma de codificación de habla de banda ancha del ETSI [Instituto Europeo de Normativa de Telecomunicaciones -"European Telecommunications Standards Institute1 AMRWB. Esta norma de cod ificación se especifica en la publicación 13GPP TS 26.190] ([Especificación Técnica del Proyecto de Sociedad de 38 Generación ("3d Generation Partnership Project Technical Specification") 26.190]) y se describe en la publicación IBessette, 2002]. La puesta en práctica de la norma AMR-WB se proporciona en la publicación [3GPP TS 26.173]. El algoritmo de codificación de habla de AMR-WB consiste esencialmente en dividir la señal de banda ancha de entrada en una banda inferior (entre O y 6.400 Hz) y una banda superior (entre 6.400 Hz y 7.000 Hz), y aplicar el algoritmo de ACELP únicamente a la banda inferior y codificar la banda superior a través de la prolongación de anchura de banda (BWE -"bandwidth extension")
Las técnicas de codificación de audio del estado de la técnica, por ejemplo, la MPEG-AAC [Codificación de Audio Avanzada del Grupo de Expertos de Imagen en Movimiento] o la ITU-T G.722.1 , están construidas sobre la codificación de transformada (o subbanda) perceptiva. En la codificación de transformada, la señal de audio en el dominio del tiempo es procesada o tratada con ventanas en solapamiento de la longitud apropiada. La reducción del volumen de transmisión de bits se consigue en virtud de la propiedad de reversión de la correlación, o descorrelación, y compactación de energía de una transformada específica, así como por la codificación únicamente de los coeficientes de transformada relevantes perceptivamente. La señal tratada con ventanas sedescompone (analiza) habitualmente por medio de una transformada de Fourier discreta (DFT -~discrete Fourier transformO), una transformada de coseno discreta (DCT -"discrete cosine transformO) o una transformada de coseno discreta modificada (MDCT -~modified discrete cosine transform~). Se necesita normalmente una longitud de trama de, por ejemplo, entre 40 ms y 60 ms para conseguir una buena calidad de audio. Sin embargo, para representar transitorios y evitar la dispersión temporal del ruido de codificación antes de los ataques (eco previo, o preeco), se utilizan también tramas más cortas, de, por ejemplo, entre 5 ms y 10 ms, para describir segmentos de audio no estacionarios. La conformación del ruido de cuantización se consigue normalizando los coeficientes de la transformada con factores de escala, antes de la cuantización. Los coeficientes normalizados son, por lo común, codificados mediante una cuantización escalar seguida de una codificación de Huffman. En paralelo, una curva de enmascaramiento perceptivo para controlar el procedimiento de cuantización y optimizar la calidad subjetiva; la curva se utiliza para codificar los coeficientes de la transformada perceptivamente relevantes
A fin de mejorar la eficiencia de la codificación (en particular, a volúmenes de transmisión de bits bajos), puede utilizarse también la división de banda con la codificación de transformada. Esta solución se utiliza, por ejemplo, en la nueva norma MPEG-AAC de Alta Eficiencia ("High Efficiency MPEG-AAC"), también conocida como aacPlus. En la aacPlus, la señal es dividida en dos bandas subordinadas, o subbandas, de manera que la señal de la banda inferior es codificada por medio de codificación de transformada perceptiva (AAC), mientras que la señal de banda superior es descrita por medio de la denominada Reproducción de Banda Espectral (SBR -"Spectral Band Replication"), que es una clase de prolongación de anchura de banda (BWE)
En ciertas aplicaciones, tales como la comunicación por conferencia de audio I vídeo, el almacenamiento multimedia y la reproducción según descarga de audio por la Internet, la señal de audio consiste, por lo común, en contenido de habla, música, y ambos mezclados. Como consecuencia de ello, el tales aplicaciones, se utiliza una técnica de codificación de audio que es robusta para este tipo de señal de entrada. En olras palabras, el algoritmo de codificación de audio ha de conseguir una calidad buena y consistente para una amplia variedad de señales de audio, incluyendo habla y música. Sin embargo, la técnica de CELP es conocida por estar intrínsecamente optimizada para el habla, pero pueden estar presentes problemas cuando se utiliza para codificar señales de música. La codificación de transfOfmada perceptiva del estado de la técnica tiene, por otra parte, un buen rendimiento para señales musicales, pero no es apropiada para la codificación de señales de habla, especialmente a volúmenes de transmisión de bits bajos.
Se han considerado diversas soluciones para codificar señales de audio en general, que incluyen tanto habla como música, con una calidad buena y razonablemente constante. La codificación predictiva de transformada según se describe en las publicaciones [Moreau, 1992], [Lefebvre, 1994], [Chen, 1996] y [Chen, 1997], proporciona una buena base para la inclusión de técnicas de codificación tanto de habla como de música dentro de un único marco. Esta solución combina la predicción lineal y la codificación de transformada. En la descripción que sigue se considerará la técnica de [Lefebvre, 1994], denominada codificación de TCX (Excitación Codificada por Transformada -"Transform Coded eXcitation"), que es equivalente a las de [MOfeau, 1992], [Chen, 1996] y [Chen, 1997].
Originalmente, se han designado dos variantes de codificación de TCX [Lefebvre, 1994]: una para señales de habla que utilizan tramas cortas y predicción de paso de avance, y otra para señales musicales con largas tramas y sin predicción de paso de avance. En ambos casos, el tratamiento implicado en la cod ificación de TCX puede ser descompuesto en dos etapas·
1) La trama en curso en ese momento de la señal de audio es tratada mediante filtración temporal para obtener una señal denominada de objetivo o pretendida, y, a continuación,
2) La señal de objetivo es codificada en el dominio de la transformada.
La codificación de transformada de la señal de objetivo se sirve de una OFT con tratamiento con ventanas rectangulares. Con todo, para reducir las señales espurias bloqueadoras en los contornos o límites de las tramas, se ha utilizado un tratamiento con ventanas con un solapamiento pequeño en la publicación [Jbira, 1998], antes de la OFT. En la publicación [Ramprashad, 2001], se utiliza, en lugar de ello, una MOCT con conmutación de tratamiento con ventanas; la MOCT tiene la ventaja de proporcionar una mejor resolución en frecuencia que la OFT, a la vez que constituye un banco de filtros diezmado o aminorado al máximo. Sin embargo, en el caso de la publicación [Ramprashad, 2001]. el codificador no funciooa en bucle cerrado, en particular, para el análisis de paso de avance. A este respecto, el codificador de [Ramprashad, 2001] no puede ser calificado como variante de la TCX
La representación de la señal de objetivo no solo juega un papel en la codificación de TCX, sino que también controla parte de la calidad de audio de TCX, debido a que consume la mayor parte de los bits disponibles en cada trama de cod ificación. Se hace referencia en esta memoria a la codificación de transformada en el dominio de OFT Se han propuesto diversos métodos para codificar la señal de objetivo en este dominio; véanse, por ejemplo, las publicaciones [Lefebvre, 1994], [Xie, 1996], [Jbira, 1998]. [Schnitzler, 1999] y [Bessette, 1999]. Todos estos métodos implementan un forma de cuantización de conformación por ganancia, lo que significa que el espectro de la señal de objetivo es, en primer lugar, normalizado por un factor de ganancia global g, antes de la codificación real. En las publicaciones [Lefebvre, 1994]. ¡Xie, 1996) y [Jbira, 1998]. este factor 9 se ajusta en el valOf de RMS (Valor Cuadrático Medio, o Valor Eficaz -"Root Mean Square") del espectro. Sin embargo, en general, este puede ser optimizado en cada trama mediante el ensayo de diferentes valores para el factor g, tal y como se divulga, por ejemplo, en las publicaciones [Schnitzler, 1999] y [Bessette, 1999]. {Bessette, 1999] no divulga la optimización real del factor g. Al objeto de mejorar la calidad de la codificación de TCX, se ha utilizado un rellenado con ruido (es decir, la inyección de ruido de confort en lugar de coeficientes sin cuantizar) en [Schnitzler, 1999] y [Bessette, 1999).
Como se ha explicado en [Lefebvre, 1994], la codificación de TCX puede codificar de forma bastante satisfactoria señales de banda ancha, por ejemplo, señales muestreadas a 16 kHz; la calidad de audio es buena para el habla a una velocidad de muestreo de 16 kbiUs, y para la música, a una velocidad de muestreo de 24 kbit/s. Sin embargo, la codificación de TCX no es tan eficiente como la de ACELP para codificar señales de habla. Por esta razón, se ha presentado brevemente una estrategia de codificación de ACELP I TCX conmutada en la publicación de [Bessette, 1999]. El concepto de cod ificación de ACELP I TCX es similar, por ejemplo, a la técnica de ATCELP (Transformada Adaptativa y CELP -"Adaptative Transform and CELP") de la publicación [Combescure, 1999]. Obviamente, la calidad de audio puede ser maximizada por la conmutación entre diferentes modos que estén realmente especializados en codificar un cierto tipo de señal. Por ejemplo, la codificación de CELP está especializada en la codificación del habla, y la codificación de transformada está más adaptada a la música, de manera que es natural combinar estas dos técnicas en un marco de múltiples modos, o multimodal, en el que cada trama de audio se codifica adaptativamente con la herramienta de codificación más apropiada. En la codificación de ATCELP, la conmutación entre la codificación de CELP y la de transformada no es carente de discontinuidades; ello requiere modos de transición. Por otra parte, se aplica una decisión de modo de bucle abierto, es decir, la decisión acerca del modo se toma antes de la codificación basándose en la señal de audio de que se dispone. Por el contrario, la ACELP { TCX presenta la ventaja de utilizar dos modos predictivos lineales y homogéneos (codificación de ACELP y de TCX), lo que hace más fácil la conmutación; además, la decisión de modo es de bucle cerrado, lo que significa que se ensayan todos los modos de codificación y puede seleccionarse la mejor sintesis.
Si bien la publicación [Bessette, 1999) presenta brevemente una estrategia de codificación de ACELP ( TCX conmutada, [Besselte, 1999) no describe la decisión acerca del modo de ACELP I TCX ni detalles de la cuantización de la señal de objetivo de TCX en la codificación de ACELP { TCX. Tan solo se sabe del método de cuantización subyacente que está basado en la cuantizaci6n vectorial de red a múltiples velocidades y autorregulable en escala, o autoescalable, tal y como se ha introducido por (Xie, 1996]
Se hará referencia, a continuación, a las publicaciones [Gibson, 1988) [Gersho, 1992) para una introducción a la cuantización vectorial de red. Una red N-dimensional es un conjunto geométricamente ordenado de puntos en el espacio (Euclídeo) N-dimensional. Por ejemplo, [Xie, 1996] utiliza una red de 8 dimensiones conocida como la red de Gosset, que se define como:
RE. =2D8U{2D8+(1, ... ,1)) (1 )
donde
(2)
y
D, +(I,---,I)~ ((X,+ I,---,x, + I)e Z' I(x,, ---,x,)e D,} (3)
Esta estructura matemática permite la cuantizaciórJ de un bloque de ocho (8) números reales. REs puede también definirse más intuitivamente como el conjunto de puntos (XI, ... , X8) que verifican las propiedades·
Los componentes Xi son enteros con signo (para ¡ = 1, .,8);
11. La suma XI + ... + xe es múltiplo de 4; y
iii. Los componentes Xi tienen la misma paridad (para i = 1, ..8), es decir, o bien son todos pares, o bien son todos impares.
Puede obtenerse entonces un libro de códigos de cuantización de 8 dimensiones mediante la selección de un subconjunto finito de REs. Habitualmente, el error cuadrático medio es el criterio de búsqueda del libro de códigos En la técnica de [Xie, 1996], se definen seis (6) libros de código diferentes, denominados 00, 0" ... , Os, basándose en la red REs. Cada libro de códigos Qn, donde n = 0, 1, ..., 5, comprende 24n puntos, lo que corresponde a un volumen o proporción de 4n bits por cada vector subordinado, o subvectOf, de 8 dimensiones, o n/2 bits por cada muestra. El espectro de la señal de objetivo de TCX, normalizada por un factor 9 regulado en escala, es entonces cuantizado al dividirlo en subvectores (o subbandas) de 8 dimensiones. Cada UIlO de estos subvectores se codifica en uno de los libros de códigos 00, 0 ... , Os. Como consecuencia de ello, la cuantización de la señal de objetivo de
"
TCX, tras su normalización por el factor g, produce, para cada subvector de 8 dimensiones, un número de libro de códigos n que indica el libro de códigos Qn que se ha utilizado, y un índice ¡ que identifica un vector de códigos específico contenido en el libro de códigos On. Se hace referencia a este procedimiento de cuantización como cuantización vectorial de red a múltiples velocidades, porque los libros de códigos on tienen diferentes volúmenes o velocidades. El modo de TCX de [Bessette, 1999[ sigue el mismo principio, aunque no se proporcionan deta lles sobre la computación del factor de normalización 9 ni sobre la multiplexación de indices de cuantización y números de libro de cogidos
La técnica de cuantización vectorial de red de la publicación [Xie, 1996), basada en la REs, ha sido ampliada en la publicación [Ragot, 2002) con el fin de mejorar su eficiencia y reducir su complejidad. Sin embargo, nunca se ha propuesto la aplicación del concepto descrito por [Ragot, 2002] a la codificaciórJ de TCX
En el dispositivo de [Ragot, 2002], se codifica un vector de 8 dimensiones a través de un dispositivo de cuantización a múltiples velocidades que incorpora un conjunto de libros de códigos de REs denotados como {0o, 0 2, 0 3, , 0 36} El libro de códigos 0, no está definido en el conjunto con el fin de mejorar la eficiencia de la codificación. Todos los libros de códigos Qn están construidos como subconjuntos de la misma red REs de 8 dimensiones, Q" e REs. El volumen o proporción de bits del libro de códigos (}-ésimo, definida como bits por cada dimensión, es 4n18 , es decir, cada libro de códigos On contiene 24n vectores de código. La construcción del dispositivo de cuantización a múltiples velocidades sigue las enseñanzas de la publicación {Ragot, 2002]. Para un vector de entrada de 8 dimensiones dado, el codificador del dispositivo de cuantización a múltiples velocidades encuentra el vecino más próximo en la REs, y suministra como salida un número de libro de códigos n y un índice i dentro del libro de códigos correspondiente 0". La eficiencia de la codificación se ve mejOfada por la aplicación de una técnica de codificación de entropía para los índices de cuantización, es decir, números de libro de códigos n e índices i de las divisiones. En la publicaciórJ [Ragot, 2002[, un número de libro de códigos n es codificado antes de su multiplexación hacia la comente de bits, con un código unario que comprende un número n-1 de 1's y un bit de detención de cero. El número de libro de códigos representado por el código unario se denota por nEo No se emplea codificación de
E
entropia para los índices de libro de códigos ¡ El código unario y la asignación de bits de n e ¡ se ejemplifica en la Tabla 1 siguiente.
Tabla 1
El número de bits requeridos para indexar los libros de códigos. 5
- Número de libro de códigos nI<
- Código unario nEII en forma binaria Número de bits para na Número de bits para ik Número de bits por división
- O 2 3 4 5
- O 10 110 1110 11110 1 2 3 4 5 O 8 12 16 20 1 10 15 20 25
Como se ha ilustrado en la Tabla 1, se requiere un único bit para codificar el vector de entrada cuando n =O y, en caso contra rio, se requieren 5n bits.
Por otra parte, un aspecto práctico de la codificación de audio es el formateado de la corriente de bits y el manejo de las tramas "malas" o defectuosas, también conocido como la ocultación del borrado de tramas. La corriente de bits es habitualmente fOfmateada en el lado de la codificación como tramas (o bloques) sucesivas de bits. Debido a los daños en el canal (por ejemplo, la violación de CRC (Comprobación de Redundancia Ciclica -"Cyclic Redundancy Check"), la pérdida o retardo de paquetes, elc.), algunas tramas pueden no ser recibidas correctamente en el lado de la descodificación. En tal caso, el descodificador recibe, por lo común, un señalizador que declara un borrado de trama y la trama defectuosa es "descodificada" por extrapolación basándose en el historial pasado del descodificador. Un procedimiento común para manejar tramas defectuosas en la descodificación de CELP consiste en reutilizar el filtro de sintesis de LP pasado y extrapolar la excitación previa
A fin de mejorar la robustez frente a la pérdida de tramas, puede utilizarse la repetición de parámetros, también conocida como codificación de Corrección de Errores Directa o FEC ("Forward Error Correction")
El problema de la ocultación del borrado de tramas para la codificación de TCX o de ACELP I TCX conmutada no ha sido acometido aún en la tecnologia actual.
Sumario de la invención
De acuerdo con la presente invención, se proporcionan métodos y dispositivos para conmutar de un modo de codificación de ACELP a un modo de codificación de TCX de acuerdo con las reivindicaciones independientes 1, 7, 8,14,19y20
Los anteriores y otros objetos, ventajas y caracterfsticas de la presente invención se pond rán de manifiesto de forma más evidente por la lectura de la siguiente descripción, no restrictiva, de realizaciones ilustrativas de la misma, proporcionada a modo de ejemplo únicamente, con referencia a los dibujos que se acompañan.
Breve descripción de los dibujos
En los dibujos que se acompañan·
La Figura 1 es un diagrama de bloques esquemático de alto nivel de una realizaciÓfl del codificador de acuercb con la presente invención;
La Figura 2 es un ejemplo no limitativo de un diagrama de secuencia temporal de los tipos de trama dentro de una supertrama;
La Figura 3 es un diagrama que muestra un ejemplo no limitativo de tratamiento con ventanas para el análisis predictivo lineal , conjuntamente con factores de interpolación según se utilizan para subtramas de 5 ms, y dependiendo del modo de trama de ACELP de 20 ms, de TCX de 20 ms, de TCX de 40 ms o de TCX de 80 ms;
Las Figuras 4a-4c son diagramas que ilustran un ejemplo no limitativo de tratamiento con ventanas de tramas en un codificador de ACELP {TCX, dependiendo del modo de trama y de la longitud vigentes en ese momento, y del modo de trama pasado;
La Figura 5a es un diagrama de bloques de alto nivel que ilustra una realización de la estructura y del método puestos en práctica por el codificador de acuerdo con la presente invención, para tramas de TCX;
La Figura 5b es un gráfico que ilustra un ejemplo no limitativo de espectro de amplitud antes y después de la conformación preliminar de espectro llevada a cabo por el codificador de la Figura 5a;
La Figura Se es un gráfico que ilustra un ejemplo no limitativo de función de ponderación que determina la ganancia aplicada al espectro durante la conformación preliminar del espectro;
La Figura 6 en diagrama de bloques esquemático que muestra el modo como se utiliza la codificación algebraica para cuantizar un conjunto de coeficientes, por ejemplo, coeficientes de frecuencia, basándose en un dispositivo de cuantización vectorial de red a múltiples velocidades y autorregulable en escala, o autoescalable, previamente descrito, utilizando una red REs:
La Figura 7 es un diagrama de flujo que describe un ejemplo no limitativo de procedimiento de estimación de ganancia global iterativo en el dominio logarítmico para un codificador de TCX, de tal modo que este procedimiento de estimación global constituye una etapa implementada en la codificación de TCX que utiliza un dispositivo de cuantización de red, a fin de reducir la complejidad mientras se sigue estando dentro del presupuesto de bits para una trama dada;
La Figura 8 es un gráfico que ilustra un ejemplo no limitativo de estimación de ganancia global y de estimación de nivelo grado de ruido (llenado con agua inverso) dentro de las tramas de TCX;
La Figura 9 es un diagrama de flujo que muestra un ejemplo de manejo del desbordamiento del presupuesto de bits en la codificaciórJ de TCX, cuando se calculan los índices de puntos de red de las divisiones;
La Figura 10a es un diagrama de bloques esquemático que muestra un ejemplo no limitativo de codificador de frecuencia más alta (HF -"higher frequency") basado en la prolongación de anchura de banda;
La Figura 10b es un diagrama de bloques esquemático y gráficos que muestran un ejemplo no limitativo de procedimiento de coincidencia de ganancia llevado a cabo por el codificador de la Figura 10a entre la envolvente de frecuencias más baja y más alta computada por el codificador de la Figura 10a;
La Figura 11 es un diagrama de bloques de alto nivel de una realización de un descodificador de acuerdo con la presente invención, que muestra la recombinación de una señal de frecuencia más baja, codificada con ACELP I TCX hibrido, y una señal de HF, codificada utilizando la prolongación de anchura de banda;
La Figura 12 es un diagrama de bloques esquemático que ilustra un ejemplo no limitativo de descodificador de ACELP I TCX para una señal de LF;
La Figura 13 es un diagrama de flujo que muestra un ejemplo no limitativo de lógica delrás de la descodificación de ACELP { TCX, al procesarse o tratarse cuatro (4) paquetes que forman una trama de 80 ms;
La Figura 14 es un diagrama de bloques esquemático que ilustra un ejemplo no limitativo de descodificador de ACELP que se utiliza en el descodificador de ACELP I TCX de la Figura 12;
La Figura 15 es un diagrama de bloques esquemático que muestra un ejemplo no limitativo de descodificador de TCX según se utiliza en el descodificador de ACELP I TCX de la Figura 12;
La Figura 16 es un diagrama de bloques esquemático de un ejemplo no limitativo de descodificador de HF que funciona basándose en el método de prolongación de anchura de banda;
La Figura 17 es un diagrama de bloques esquemático de un ejemplo no limitativo de un banco de filtros de tratamiento ulterior y síntesis situado en el lado del descodificador;
La Figura 18 es un diagrama de bloques esquemático de un ejemplo no limitativo de codificador de LF, que muestra el modo como son ensayados codificadores de ACELP y TCX en competencia, utilizando un criterio de SNR (Relación entre Señal y Ruido -~Signal-to-Noise Ratio") segmentario para seleccionar el modo de codificación apropiado para cada trama contenida en una supertrama de 80 ms;
La Figura 19 es un diagrama de bloques esquemático que muestra un ejemplo no limitativo del tratamiento preliminar y de descomposición de banda subordinada, o subbanda, aplicados en el lado del codificador a cada supertrama de 80 ms ;
La Figura 20 es un diagrama de flujo esquemático que describe el funcionamiento del módulo de conformación preliminar del codificador de la Figura 5a; y
La Figura 21 es un diagrama de flujo esquemático que describe el funcionamiento del módulo adaptativo de reversión del refuerzo de bajas frecuencias del descodificador de la Figura 15.
Descripción detallada de las realizaciones ilustrativas
Las realizaciones ilustrativas, no limitativas, de la presente invención se divulgarán con respecto a un dispositivo de codificación I descodificación de audio que utiliza el modelo de codificación de ACELP I TCX y el modelo de cuantización vectorial de red a múltiples velocidades y autorregulable en escala, o autoescalable. Debe tenerse en mente, sin embargo, que la presente invención puede ser igualmente aplicada a otros tipos de modelos de codificación y de cuantización.
Generalidades sobre el codificador
Descripción de alto nivel del codificador
En la Figura 1 se ha ilustrado un diagrama de bloques esquemático de alto nivel de una realización de un codificador de acuerdo con la presente invención
Haciendo referencia a la Figura 1, la señal de entrada es muestreada a una frecuencia de 16 kHz o más alta, y es codificada en supertramas tales como la 1.004, de T ms, por ejemplo, con T = 80 ms. Cada supertrama 1.004 es previamente tratada y dividida en dos bandas subordinadas, o subbandas, por ejemplo, de una manera similar al tratamiento previo en la AMR-WB. Las señales de frecuencias más bajas (LF -"Iower-frequency"), tales como la 1.005, están definidas dentro de la banda entre O Hz y 6.400 Hz, en tanto que las señales de frecuencias más altas (HF -"higher-frequency"), tales como la 1.006, están definidas dentro de la banda entre 6.400 Hz y Fmu Hz, donde Fm• x es la frecuencia de Nyquist. La frecuencia de Nyquist es la frecuencia de muestreo minima que perm ite , teóricamente, que la señal original sea reconstituida sin distorsión: para una señal cuyo espectro se extiende nominalmente de la frecuencia cero hasta una frecuencia máxima, la frecuencia de Nyquist es igual a dos veces esta frecuencia máxima.
Aún con referencia a la Figura 1, la señal de LF 1.005 es codificada a través de la codificación de ACELP I TCX de múltiples modos (véase el módulo 1.002), construida, en el ejemplo que se ilustra, sobre el núcleo de AMR-WB. La AMR-WB opera sobre tramas de 20 ms contenidas en la supertrama de 80 ms. El modo de ACELP está basado en el algoritmo de codificación de AMR-WB y, por lo tanto, opera sobre tramas de 20 ms. El modo de TCX puede funcionar en tramas de 20 ms, de 40 ms o de 80 ms contenidas en la supertrama de 80 ms. En este ejemplo ilustrativo, las tres (3) longitudes de trama de TCX, de 20 ms, 40 ms y 80 ms, se utilizan, respectivamente, con un solapamiento de 2,5 ms, 5 ms y 10 ms. El solapamiento es necesario para reducir el efecto de la estructuración en tramas en el modo de TCX (como en la codificación de transformada).
La Figura 2 presenta un ejemplo de diagrama de secuencia temporal de los tipos de trama para la codificación de ACELP I TCX de la señal de LF. Como se ilustra en la Figura 2, el modo de ACELP puede ser escogido dentro de unas primera, 2.001, segunda, 2.002, tercera, 2.003 y cuarta, 2.004, tramas de ACELP dentro de 20 ms contenidas en una supertrama 2.005 de 80 ms. Similarmente, el modo de TCX puede ser utilizado en cualesquiera de unas primera, 2.006, segunda, 2.007, tercera, 2.008, y cuarta, 2.009, tramas de TCX de 20 ms contenidas en la supertrama 2.005 de 80 ms. De manera adicional, las dos primeras o las dos últimas tramas de 20 ms pueden ser agrupadas una con otra para formar tramas de TCX de 40 ms 2.011 y 2.012 destinadas a ser cod ificadas en el modo de TCX. Por último, toda la supertrama 2.005 de 80 ms puede ser codificada dentro de una única trama de TCX de 80 ms 2.010. Por tanto, se dispone de un total de 26 combinaciones diferentes de tramas de ACELP y de TCX para codificar una supertrama de 80 ms tal como la 2.005. Los tipos de tramas, ACELP y TCX, Y su longitud dentro de una supertrama de 80 ms se determinan en bucle cerrado, como se explicará en la descripción que sigue.
Haciendo referencia de nuevo a la Figura 1, la señal de HF 1.006 es codificada utilizando una solución de prolongación de anchura de banda (véase el código de codificación de HF 1.003). En la prolongación de anchura de banda, se utiliza un modelo para métrico de filtro de excitación en el que el filtro se codifica utilizando unos pocos bits, y en el cual la excitación es reconstruida en el descodificador a partir de la excitación de señal de LF recibida También, en una realización, los tipos de trama escogidos para la banda más baja (ACELP I TCX) determinan directamente la longitud de trama utilizada para la prolongación de anchura de banda en la supertrama de 80 ms
Configuraciones de supertrama
Todas las configuraciones de supertrama posibles se han listado en la Tabla 2 en la forma (mj, fn2, m3, m4), de tal modo que -mk denota el tipo de trama seleccionada para la trama k-ésima de 20 ms, dentro de la supertrama de 80 ms, de forma que
mk =O para la trama de ACELP de 20 ms,
mk = 1 para la trama de TCX de 20 ms ,
mk =2 para la trama de TCX de 40 ms,
mk =3 para la trama de TCX de 80 ms.
Por ejemplo, la configuración (1, O, 2, 2) indica que la superlrama de 80 ms se codifica mediante la codificación de la primera trama de 20 ms como una trama de TCX de 20 ms (TCX20), seguida por la codificación de la segunda trama de 20 ms como una trama de ACELP de 20 ms y, por último, por la codificación de las dos últimas tramas de 20 ms como una única trama de TCX de 40 ms (TCX40). Similarmente, la configuración (3, 3, 3, 3) indica que una trama de TCX de 80 ms (TCX80) define toda la supertrama 2.005.
Tabla 2
Todas las 26 posibles configuraciones de supertrama
- (O, O, O, O)
- (O, O, O, 1) (2, 2, O, O)
- (1 , O, O, O)
- (1, O, O, 1) (2, 2, 1, O)
- (0, 1, O, O)
- (O, 1, O, 1) (2, 2, O, 1)
- (1 , 1, O, O)
- (1, 1, O, 1) (2, 2, 1, 1)
- (O, O, 1, O)
- (O, O, " 1) (O, O, 2, 2)
- (1, O, 1, O)
- (1, O, " 1) (1, O, 2, 2)
- (O, " 1, O)
- (O, " " 1) (0, 1, 2, 2) (2, 2, 2, 2)
- (1, " 1, O)
- (1, " " 1) (1, " 2, 2) (3, 3, 3, 3)
Selección de modo
La configuración de supertrama puede ser determinada bien por decisión de bucle abierto o bien por decisión de bucle cerrado. La solución de bucle abierto consiste en seleccionar la configuración de supertrama a continuación de
10 un cierto análisis, antes de la codificación de supertrama, de tal manera que se reduce la complejidad global. La solución de bucle cerrado consiste en probar todas las combinaciones de supertrama y escoger la mejor. Una decisión de bucle cerrado proporciona, generalmente, una calidad más alta en comparación con una decisión de bucle abierto, con una contrapartida en la complejidad. Un ejemplo no limitativo de decisión de bucle cerrado se resume en la Tabla 3 siguiente.
15 En este ejemplo no limitativo de decisión de bucle cerrado, todas las 26 configuraciones de supertrama posibles de la Tabla 2 pueden ser seleccionadas con tan solo 12 pruebas. La mitad izquierda de la Tabla 3 (Pruebas) muestra que el modo de codificación se aplica a cada trama de 20 ms en cada una de las 11 pruebas. Fr1 a Fr4 se refieren de la Trama 1 (~Frame 1") a la Trama 4 r Frame 4"), dentro de la supertrama. Cada número de prueba (1 a 11) indica una etapa del procedimiento de decisión de bucle cerrado. La decisión final se conoce tan solo después de la etapa
20 11. Ha de apreciarse que cada trama de 20 ms está implicada en únicamente cuatro (4) de las 11 pruebas. Cuando hay más de una (1) trama implicada en una prueba (véanse, por ejemplo, las pruebas 5, 10 Y11), entonces se aplica la codificación de TCX de la longitud correspondiente (TCX40 o TCX80). A fin de comprender las etapas intermedias del procedimiento de decisión de bucle cerrado, la mitad derecha de la Tabla 3 proporciona un ejemplo de decisión de bucle cerrado, en el que la decisión final tras la etapa 11 es TCX80. Esto corresponde a un valor 3 para el modo
25 en las cuatro (4) tramas de 20 ms de esa supertrama concreta. Los números en negrita del ejemplo de la derecha de la Tabla 3 muestran en qué momento tiene lugar una selección de modo en las etapas intermedias del procedimiento de decisiÓfl de bucle cerrado
Tabla 3
Pruebas y ejemplo de selección de modo de bucle cerrado
30 PRUEBAS (11) Ejemplo de selección (en negrita:IE se realiza una comparación)
- 1
- F,' F, 2 F, 3 F,4 F,' F, 2 F,3 F,4
- ACELP
- ACELP
- 2
- TCX20 ACElP
- 3
- ACELP ACELP ACELP
- 4
- TCX20 ACELP TCX20
- 5 6 7 8 9 1. 11
- TCX40 TCX80 TCX40 TCX80 ACELP TCX20 TCX40 TCX80 ACELP TCX20 TCX40 TCX80 ACElP ACELP ACELP ACELP ACELP ACELP TCX80 TCX20 TCX20 TCX20 TCX20 TCX20 TCX20 TCX80 ACELP TCX20 TCX20 TCX20 TCX40 TCX80 ACELP TCX20 TCX40 TCX80
El procedimiento de decisión de bucle cerrado de la Tabla 3 procede como sigue. En primer lugar, en las pruebas 1 y 2, se prueban la codificación de ACELP (AMR-WB) y de TCX20 en la trama Fr1 de 20 ms. A continuación, se realiza una selección para la trama Fr1 entre estos dos modos. El criterio de selección puede ser la Relación entre Señal y Ruido (SNR -"Signal-to-Noise Ratio") segmentaria entre la señal ponderada y la señal ponderada sintetizada. La SNR segmentaria se computa utilizando, por ejemplo, segmentos de % ms, y el modo de codificación seleccionado es aquel que da como resultado la mejor SNR segmentaria. En el ejemplo de la Tabla 3, se supone que se retuvo el modo de ACELP, tal y como se ha indicado en negrita en el lado derecho de la Tabla 3.
En las pruebas 3 y 4, se realiza la misma comparaciÓfl para la trama Fr2 entre la ACELP y la TCX20. En el ejemplo ilustrado de la Tabla 3, se ha supuesto que la TCX20 era mejor que la ACELP. De nuevo, se selecciona la TCX20 sobre la base de la medida de SNR segmentaria anteriormente descrita. Esta selección se ha indicado en negrita en la línea 4 del lado de la derecha de la Tabla 3
En la prueba 5, las tramas Fr1 y Fr2 se agrupan una con otra para formar una trama de 40 ms que se codifica utilizando la TCX40. El algoritmo tiene ahora que escoger entre la TCX40 para las dos primeras tramas Fr1 y Fr2, comparada con la ACELP en la primera trama Fr1 y la TCX20 en la segunda trama Fr2. En el ejemplo de la Tabla 3, se supone que se seleccionó la secuencia ACELP-TCX20 de acuerdo con el criterio de SNR segmentaria anteriOC"mente descrito, según se ha indicado en negrita en la línea 5 del lado derecho de la Tabla 3
El mismo procedimiento que en las pruebas 1 a 5 se aplicó entonces a las tercera, Fr3, y cuarta, Fr4, tramas en las pruebas 6 a 10. De acuerdo con la prueba 10 del ejemplo de la Tabla 3, las cuatro tramas de 20 ms se clasifican como ACELP para la trama Fr1 , TCX20 para la trama Fr2, y TCX40 para las tramas Fr3 y Fr4, agrupadas una con otra.
Se lleva a cabo una última prueba, la 11, cuando las cuatro tramas de 20 ms, es decir, toda la supertrama de 80 ms, se codifica con la TCX80. De nuevo, el criterio de SNR segmentario es utilizado nuevamente con segmentos de 5 ms para comparar las pruebas 10 y 11 . En el ejemplo de la Tabla 3, se supone que la decisión de bucle cerrado final es la TCX80 para toda la supertrama. Los bits de modo para las cuatro (4) tramas de 20 ms serán entonces (3, 3, 3, 3), tal Y como se ha explicado en la Tabla 2
Generalidades sobre el modo de TCX
La selección del modo de bucle cerrado anterionnente expuesta implica que las muestras contenidas en una supertrama han de ser codificadas utili2ando la ACELP y la TCX antes de tomar la decisión sobre el modo. La codificación de ACELP se lleva a cabo como en la AMR-WB. La codificación de TCX se reali2a según se ha muestra en el diagrama de bloques de la Figura 5. El modo de codificación de TCX es similar para las tramas de TCX de 20, 40 Y 80 ms, con unas pocas diferencias que, en su mayor parte, implican el tratamiento con ventanas y la interpolación de filtros. l os detalles de la codificación de TCX se darán en la descripción que sigue del codificador Por ahora, la codificación de TCX de la Figura 5 puede ser resumida como sigue
La señal de audio de entrada es filtrada a través de un filtro de ponderación perceptivo (el mismo filtro de ponderación perceptivo que en la AMR-WB) con el fin de obtener una señal ponderada. Los coeficientes de filtro de ponderación son interpolados de una manera que depende de la longitud de trama de TCX. Si la trama pasada era una trama de ACEPL, la respuesta ante entrada nula (ZIR -"zero-input response") del filtro de ponderación perceptivo es eliminada de la señal ponderada. La señal es entones tratada con ventanas (la fonna de la ventana se describirá en la descripción que sigue) y se aplica una transformada a la señal tratada oon ventanas. En el dominio de la transformada, la señal es, primeramente, confonnada de fonna preliminar con el fin de minimizar las señales espurias de ruido de codificación en las frecuencias más bajas, y, a continuación, se cuantiza utilizando un dispositivo de cuantización de red especifico que se describirá en la descripción que sigue. Tras la cuantización, se aplica la función de conformación preliminar inversa al espectro, que es entonces transformado inversamente para proporcionar una señal en el dominio del tiempo cuanti2ada. Tras una nueva regulación en escala de la ganancia, se aplica de nuevo un tratamiento con ventanas a la señal cuantizada con el fin de minimizar los efectos de bloque de
la cuantización en el dominio de la transformada. Se hace uso de un solapamiento y adición con la trama previa si esta trama previa estaba también en el modo de TCX. Por último, se encuentra la señal de excitación por medio de la filtración inversa con la actualización de memoria de f iltro adecuada. Esta excitación de TCX se encuentra en el mismo ~dominio" que la excitación de ACELP (AMR-WB)_
Se describirán más adelante en esta memoria detalles de la codificación de TCX según se muestra en la Figura 5.
Generalidades sobre la prolongación de achura de banda (BWE)
La prolongación de anchura de banda es un método que se utiliza para codificar la señal de HF a un bajo coste en términos tanto del volumen o proporción de transmisión de bits como de la complejidad. En este ejemplo no limitativo, se utiliza un modelo de filtro de excitación para codificar la señal de HF. La excitación no es transmitida; en lugar de ello, el descodificador extrapola la excitación de señal de HF a partir de la excitación de LF recibida, descodificada. No se requiere ningún bit para transmitir la señal de excitación de HF; todos los bits relacionados con la señal de HF se utilizan para transmitir una aproximación de la envolvente espectral de esta señal de HF. Un modelo (filtro) de LPC lineal es computado en la señal de HF muestreada en sentido descendente 1.006 de la Figura
1. Estos coeficientes de LPC pueden ser codificados con unos pocos bits, ya que la resolución del oído disminuye a frecuencias más altas y la dinámica espectral de las señales de audio también tiende a ser más pequeña a frecuencias más altas. Se transmite también una ganancia para cada trama de 20 ms. Esta ganancia es necesaria para compensar la falta de coincidencia entre la señal de excitación de HF extrapolada a partir de la señal de excitación de LF, y el filtro de LPC transmitido a la señal de HF. El filtro de LPC se cuantiza en el dominio de las Frecuencias Espectrales de Inmitancia (ISF -~Inmitance Spectral Frequencies")
La codificación en las bandas de frecuencias más bajas y más alias es sincrónica en el tiempo, de tal manera que la prolongación de anchura de banda es segmentada a lo largo de la supertrama de acuerdo con la selección de modo de la banda más baja. El módulo de prolongación de anchura de banda se divulgará en la siguiente descripción del codificador.
Parámetros de codificación
Los parámetros de codificación pueden ser divididos en tres (3) categorías, como se muestra en la Figura 1; infOfmación de configuración de supertrama (o información de modo), 1.007, parámetros de LF 1.008 Yparámetros de HF 1.009
La configuración de supertrama puede ser cod ificada utilizando diferentes soluciones. Por ejemplo, para satisfacer requisitos específicos del sistema, a menudo es deseable o necesario enviar grandes paquetes tales como supertramas de 80 ms como una secuencia de paquetes similares, cada uno correspondiente a un número menor de bits y que tienen, posiblemente, una duración más corta. Aquí, cada supertrama de 80 ms se divide en cuatro paquetes consecutivos, más pequeños. Para fraccionar una supertrama en cuatro paquetes, el tipo de trama escogido para cada trama de 20 ms dentro de una supertrama se indica por medio de dos bits que se han de incluir en el paquete correspondiente. Esto puede llevarse a efecto fácilmente mediante el establecimiento de una relación de correspondencia, o correlación, del entero mk E {O, 1, 2, 3} con su representación binaria correspondiente. Debe recordarse que mk es un entero que describe el modo de codificación seleccionado para la trama k-ésima de 20 ms contenida en una supertrama de 80 ms
Los parámetros de LF dependen del tipo de trama. En tramas de ACELP, los parámetros de LF son los mismos que los de AMR-WB, además de un parámetro de energía media para mejorar el comportamiento de la AMR-WB bajo ataques en las señales de música. Más concretamente, cuando una trama de 20 ms es codificada en el modo de ACELP (modo O), los parámetros de LF enviados para esa trama concreta dentro del paquete correspondiente son
- o Los parámetros de ISF (46 bits reutilizados desde la AMR-WB);
- o El parámetro de energía media (2 bits adicionales, en comparaciÓfl con la AMR-WB);
- o El retraso de paso de avance (como en la AMR-WB);
- o Los índices de libro de códigos fijo (reutilizados desde la AMR-WB); y
- o Las ganancias de libro de códigos (como en la AMR-WB según el 3GPP)
En las tramas de TCX, los parámetros de ISF son los mismos que en el modo de ACELP (AMR-WB), pero son transmitidos solo una vez cada trama de TCX. Por ejemplo, si la supertrama de 80 ms está compuesta por dos tramas de TCX de 40 ms, entonces tan solo se transmiten dos conjuntos de parámetros de ISF para toda la supertrama de 80 ms. De forma similar, cuando la supertrama de 80 ms es codiciada como una única trama de TCX de 80 ms, entonces se transmite un único conjunto de parámetros de ISF para esa supertrama. Para cada trama de TCX, ya sea de TCX20, TCX40 y TCX80, se transmiten los siguientes parámetros:
o Un único conjunto de parámetros de ISF (46 bits reutilizados desde la AMR-WB);
- o Parámetros que describen coeficientes del espectro de cuantización en la va de red a múltiples velocidades (véase la Figura 6);
- o Factor de ruido para rellenado con ruido (3 bits); y
- o Ganancia global (escalar, 7 bits).
Estos parámetros y su codificación se describirán en la siguiente descripción del codificador. Ha de apreciarse que una gran porción del presupuesto de bits de las tramas TCX está dedicado a los índices de va de red.
Los parámetros de HF, que son proporcionados por la prolongación de anchura de banda, están, por lo común, relacionados con la envolvente de espectro y la energía. Se transm iten los siguientes parámetros de HF:
- o Un único conjunto de parámetros e ISF (del orden de 8, 9 bits) por cada trama , de ta l manera que una trama puede ser una trama de ACELP de 20 ms, una trama de TCX20, una trama de TCX40 o una trama de TCX80;
- o Ganancia de HF (7 bits), cuantizada como un vector de ganancia de cuatro dimensiones, con una ganancia por cada trama de 20 ms, 40 ms u 80 ms; y
- o Corrección de ganancia de HF para tramas de TCX40 y TCX80, a fin de modificar las ganancias de HF cuantizadas más groseramente en estos modos de TCX.
Asignaciones de bits de acuerdo con una realización
La codee, o codificación-descodificación, de ACELP I TCX de acuerdo con esta realización puede funcionar a cinco volúmenes o velocidades de transmisión de bits: 13,6 kbit/s, 16,8 kbit/s, 19,2 kbits/s, 20,8 kbit/s y 24,0 kbit/s. Estos volúmenes de transmisión de bits están relacionados con algunos de los volúmenes de AMR-WB. Los números de bits necesarios para codificar cada supertrama de 80 ms a los cinco (5) volúmenes o velocidades de transmisión de bits anteriormente mencionadas son 1.088, 1.344, 1.536, 1.664 Y 1.920 bits, respectivamente. Más específicamente, se asignan un total de 8 bits para la configuración de supertrama (2 bits por cada trama de 20 ms), y se asignan 64 bits para la prolongación de anchura de banda dentro de cada supertrama de 80 ms. Puede utilizarse un número mayor o menor de bits para la prolongación de anchura de banda, dependiendo de la resolución deseada para codificar la ganancia de HF y la envolvente espectral. El presupuesto de bits restante, esto es, la mayor parte del presupuesto de bits, se utiliza para codificar la señal de LF 1.005 de la Figura 1. Un ejemplo no limitativo de una asignación de bits típica para los diferentes tipos de trama se proporciona en las Tablas 4, 5a, 5b y Sc que se acompañan. La asignación de bits para la prolongación de anchura de banda se muestra en la Tabla 6. Estas tablas indican el porcentaje de presupuesto de bits que se utiliza, por lo común, para codificar los diferentes parámetros. Ha de apreciarse que, en las Tablas 5b y 5c, correspondientes, respectivamente, a las tramas de TCX40 y de TCX80, los números entre paréntesis muestran una división de los bits en dos (Tabla 5b) o cuatro (Tabla Sc) paquetes de igual tamaño. Por ejemplo, la Tabla 5c indica que, en el modo de TCX80, los 46 bits de ISF de la supertrama (un filtro de LPC para toda la supertrama) son divididos en 16 bits en el primer paquete, en 6 bits en el segundo paquete, en 12 bits en el tercer paquete y, finalmente, en 12 bits en el último paquete.
Similarmente, los bits de va algebraica (la mayor parte del presupuesto de bits en los modos de TCX) son divididos en dos paquetes (Tabla 5b) o en cuatro paquetes (Tabla 5c). Esta división se lleva a efecto de tal manera que el espectro cuantizado es dividido en dos (Tabla 5b) o en cuatro (Tabla Sc) pistas intercaladas, de tal modo que cada pista contiene uno de cada dos (Tabla 5b) o uno de cada cuatro (Tabla Sc) bloques espectrales. Cada bloque espectral está compuesto por cuatro coeficientes de espectro completo sucesivos. Esta intercalación garantiza que, si se pierde un paquete, ello tan solo causará "huecos" intercalados en el espectro descodificado para las tramas de TCX40 y TCX80. Esta división de bits en paquetes más pequeños para tramas de TCX40 y de TCX80 tiene que realizarse cuidadosamente, a fin de gestionar el desbordamiento a la hora de inscribir dentro de un paquete dado
Descripción de una realización ilustrativa, no limitativa, del codificador
En esta realización del codificador, se supone que la señal de audio es muestreada en el formato de PCM a 16 kHz
o superior, con una resolución de 16 bits por muestra. El cometido del codificador es computar y codificar parámetros basándose en la señal de audio, y transmitir los parámetros codificados dentro de la corriente de bits para propósitos de descodificación y síntesis. Un señalizador o indicador señala al codificador cuál es la velocidad de muestreo a la entrada.
En la Figura 1 se ha mostrado un diagrama de bloques simplificado de esta realización del codificador
La señal de entrada es dividida en bloques sucesivos de 80 ms, a los que se hará referencia como supertramas tales como la 1.004 (Figura 1) en la descripción que sigue. Cada supertrama de 80 ms 1.004 es previamente tratada y, a continuación, dividida en dos señales de subbanda, es decir, una señal de LP 1.005 Y una señal de HF 1.006, por un procesador previo y un banco de filtro de análisis 1.001, utilizando una técnica similar a la codificación de habla de AMR-WB. Por ejemplo, las señales de LF y de HF 1.005 Y 1.006 se definen en las bandas de frecuencias
de O a 6.400 Hz y de 6.400 Hz a 11 .025 Hz, respectivamente
Como se describió en las generalidades sobre el codificador, la señal de LF 1.005 es codificada mediante una codificación de ACELP I TCX de múltiples modos, a través de un módulo de codificación (ACELP I TCX) de LF 1.002, a fin de producir información de modo 1.007 y parámetros de LF cuantizados 1.008, mientras que la señal de HF es codificada a través de un módulo de codificación de HF (prolongación de anchura de banda) 1.003 con el fin de producir parámetros de HF cuantizados 1.009. Como se ha ilustrado en la Figura 1, los parámetros de codificación computados dentro de una supertrama de 80 ms, incluyendo la información de modo 1.007 y los parámetros de HF y LF cuantizados 1.008 y 1.009, son multiplexados en, por ejemplo, cuatro (4) paquetes 1.011 de igual tamaño, a través de un multiplexador 1.010.
lOEn la siguiente descripción, los bloques principales del diagrama de la Figura 1, incluyerKIo el procesadO/" previo y el
filtro de bancos de análisis 1.001 , el módulo de codificación de LF (ACELP I TCX) 1.002 y el módulo de codificación de HF 1.003, se describirán con mayor detalle.
Procesador previo y filtro de bancos de análisis 1.001
La Figura 19 es un diagrama de bloques esquemático del procesador previo y del filtro de bancos de análisis 1.001 de la Figura 1. Haciendo referencia a la Figura 19, la supertrama de 80 ms de entrada es dividida en dos señales de subbanda, más especificamente, la señal de LF 1.005 Y la señal de HF 1.006, a la salida del procesador previo y filtro de bancos de análisis 1.001 de la Figura 1.
Aún haciendo referencia a la Figura 19, un modulo de muestreo en sentido descendente de HF 19.001 lleva a cabo un muestreo en sentido descendente con la filtración adecuada (véase, por ejemplo, la AMR-WB) de la supertrama de 80 ms de entrada, al objeto de obtener la señal de HF 1.006 (trama de 80 ms), y un módulo de muestreo en sentido descendente de LF 19.002 lleva a cabo un muestreo en sentido descendente con la filtración apropiada (véase, por ejemplo, la AMR-WB) de la supertrama de 80 ms de entrada, a fin de obtener la señal de LF (trama de 80 ms), utilizando un método similar a la descomposición de subbanda de AMR-WB. La señal de HF 1.006 forma la señal de entrada del módulo de codificación de HF 1.003 de la Figura 1 La señal de LF procedente del módulo de muestreo en sentido descendente de LF 19.002 se trata previamente, de manera adicional, por medio de dos filtros, antes de ser suministrada al módulo de codificación de LF 1.002 de la Figura 1. En primer lugar, la señal de LF procedente del módulo 19.002 es previamente tratada a través de un filtro de paso alto 19.003 que tiene una frecuencia de corte de 50 Hz, a fin de eliminar la componente de CC [corriente continua -~DC (direct current)1 y las componentes de muy baja frecuencia. A continuación, la señal de LF filtrada procedente del filtro de paso alto
19.003 es tratada a través de un filtro de reversión de refuerzo 19.004 con el fin de acentuar los componentes de alta frecuencia. Esta reversión del refuerzo es tipica de los codificadores de habla de banda ancha y, de acuerdo con ello, llO se explicará adicionalmente en la presente memoria. La salida del filtro de reversión de refuerzo 19.004 constituye la señal de LF 1.005 de la Figura 1 que se suministra al módulo de codificación de LF 1.002.
Codificación de LF
En la Figura 18 se muestra un diagrama de bloques simplificado de un ejemplo no limitativo de codificador de LF. La Figura 18 muestra el hecho de que dos modos de codificación, en particular, pero no exclusivamente, modos de ACELP y de TCX, están en competencia dentro de cada supertrama de 80 ms. Más específicamente, un conmutador selector 18.017 situado en la salida del codificador de ACELP 18.015 y del codificador de TCX 18.016 hace posible que cada trama de 20 ms contenida en una supertrama de 80 ms sea codificada, bien en un modo de ACELP o bien en uno de TCX, es decir, bien en el modo de TCX20, bien en el de TCX40 o bien en el de TCX80 La selección de modo se lleva a cabo según se ha explicado en las generalidades anteriores del codificador.
La codificación de LF utiliza, pO/" lo tanto, dos modos de codificación: un modo de ACELP, aplicado a tramas de 20 ms, y uno de TCX. A fin de optimizar la calidad de audio, se permite que la longitud de las tramas contenidas en el modo de TCX sea variable. Como se ha explicado antes en esta memoria, el modo de TCX funciona en tramas de 20 ms, de 40 ms o de 80 ms. La estructura real de la secuencia temporal en el codificador se ha ilustrado en la Figura 2.
En la Figura 18, el análisis de LPC se lleva a cabo, en primer lugar, en la señal de LF de entrada s(n). El tipo, la posición y la longitud de ventana para el análisis de LPC se han mostrado en la Figura 3, en la que las ventanas se colocan con respecto a un segmento de 80 ms de la señal de LF, más un margen de anticipación dado. Las ventanas están colocadas cada 20 ms. Tras el tratamiento con ventanas, los coeficientes de LPC son conmutados cada 20 ms y, a continuación, transformados en una representación de Pares Espectrales de Inmitancia (ISP "Inmitance Spectral Pairs") y cuantizados para su transmisión al descodificador. Los coeficientes de ISP cuantizados son interpolados cada 5 segundos para suavizar la evolución de la envolvente espectral.
Más específicamente, el módulo 18.002 responde a la señal de LF de entrada s(n) para llevar a cabo tanto un tratamiento con ventanas como una autocorrelación cada 20 ms. El módulo 18.002 es seguido por el módulo 18.003, que lleva a cabo un tratamiento con ventanas en retraso y una corrección del ruido blanco. La señal tratada con ventanas en retraso y corregida en el ruido blanco es tratada por medio del algoritmo de Levinson-Durbin
implementado en el módulo 18.004. Un módulo 18.005 lleva entonces a cabo la conversión de ISP de los coeficientes de LPC. Los coeficientes de ISP procedentes del módulo 18.005 son interpolados cada 5 ms en el dominio de ISP por parte del módulo 18.006. POI" último, el módulo 18.007 convierte los coeficientes de ISP interpolados procedentes del módulo 18.006 en coeficientes de filtro de LPC interpolados A(z) cada 5 ms
Los parámetros de ISP procedentes del módulo 18.005 son transformados en parámetros de ISF (Frecuencias Espectrales de Inmitancia) en el módulo 18.008, antes de su cuantización en el dominio de ISF (módulo 18.009). Los parámetros de ISF cuantizados procedentes del módulo 18.009 son suministrados a un multiplexador de ACELP I TCX 18.021.
También, los parámetros de ISF cuantizados procedentes del módulo 18.009 son convertidos en parámetros de ISP en el módulo 18.010, los parámetros de ISP obtenidos son interpolados cada 5 ms en el dominio de ISP por el módulo 18.011, y los parámetros de ISP interpolados son convertidos en parámetros de LPC cuantizados A(z) cada 5ms.
La señal de entrada de LF s(n) de la Figura 18 se codifica tanto en el modo de ACELP, por medio del codificador de ACELP 18.015, como en el modo de TCX, por medio del codificador de TCX 18.016, en todas las combinaciones de longitud de trama posibles, tal como se explica en la siguiente descripción. En el modo de ACELP, únicamente se consideran tramas de 20 ms dentro de una supertrama de 80 ms, en tanto que, en el modo de TCX, pueden considerarse tramas de 20 ms, de 40 ms y de 80 ms. Todas las combinaciones de codificación de ACELP I TCX posibles de la Tabla 2 son generadas por los descodificadores 18.015 y 18.016 Y ensayadas mediante la comparación de la señal sintetizada correspondiente con la original en el dominio ponderado. Como se muestra en la Tabla 2, la selección final puede ser una mezcla de tramas de ACELP y TCX dentro de una supertrama codificada de 80 ms.
Para ese propósito, la señal de LF s(n) es tratada a través de un fi ltro de ponderación perceptivo 18.013 para producir una señal de LF ponderada. De la misma manera, la señal sintetizada procedente ya sea del codificador de ACELP 18.015, ya sea del codificador de TCX 18.016, dependiendo de la posición del selector de conmutación 18.017, es tratada a través de un filtro de ponderación perceptivo 18.018 con el fin de producir una señal sintetizada ponderada. Un restador 18.019 sustrae o resta la señal sintetizada ponderada de la señal de LF ponderada con el fin de producir una señal de error ponderada. Una unidad de computación de SNR segmentaria 18.020 responde tanto a la señal de LP ponderada procedente del filtro 18.013 como a la señal de error ponderada, a fin de producir una Relación entre Señal y Ruido (SNR -~Signal-to-Noise Ratio") segmentaria. La SNR segmentaria se produce cada subtrama de 5 ms. La computación de la SNR segmentaria es bien conocida por las personas con conocimientos ordinarios de la técnica y, de acuerdo con ello, no se describirá adicionalmente en la presente memoria. La combinación de modos de ACELP ylo de TCX que minimiza la SNR segmentaria a lo largo de toda la supertrama de 80 ms, se escoge como la mejor combinación de modos de codificación. De nuevo, se hace referencia a la Tabla 2, que define las 26 posibles combinaciones de modos de ACELP y/o de TCX dentro de una supertrama de 80 ms.
Modo de ACELP
El modo de ACELP utilizado es muy similar al algoritmo de ACELP que opera a 12,8 kHz en la norma de codificación del habla AMR-WB. Los cambios principales, en comparación con el algoritmo de ACELP de la AMR-WB, son:
- o El análisis de LP se sirve de un tratamiento con ventanas diferente, que se ilustra en la Figura 3.
- o La cuantización de las ganancias de libro de códigos se realiza cada subtrama de 5 ms, tal y como se ejemplifica en la descripción que sigue.
El modo de ACELP funciona en subtramas de 5 ms, de tal manera que el análisis de paso de avance y la búsqueda de libro de códigos algebraico se llevan a cabo cada subtrama
Cuantización de ganancia de libro de códigos en el modo de ACELP
En una subtrama de ACELP de 5 ms dada, las dos ganancias de libro de cód igos, incluyendo la ganancia de paso de avance gp y la ganancia de libro de códigos fijo go son cuantizadas conjuntamente basándose en la cuantización de ganancia de 7 bits de la AMR-WB. Sin embargo, la predicción de Media Móvil (MA -~Moving Average") de la ganancia de libro de códigos fijo 90, que se utiliza en la AMR-WB, es reemplazada por una referencia absoluta que se codifica explícitamente. De esta forma, las ganancias de libro de códigos son cuantizadas por una forma cuantización rebajada en el valor medio. Esta cuantización carente de memoria (no predictiva) está bien justificada debido a que el modo de ACELP puede ser aplicado a señales que no son de habla, por ejemplo, a transitorios de una señal musical, lo que requiere una cuanlización más general que la solución predictiva de la AMR-WB.
Computación y cuantización de la referencia absoluta (en el dominio logarítmico)
Se computa un parámetro, denotado por J.411et", en bucle abierto y se cuantiza una vez por cada trama con 2 bits La trama de 20 ms vigente en ese momento, del residuo de LPC r =(ro, r" ..., rL), donde L es el númefO de muestras contenidas en la trama, es dividida en cuatro (4) subtramas de 5 ms, rl =(r~O), , r~Lwb-1)) , con i = O, 1, ,3 y siendo L$ub el número de muestras contenidas en la subtrama. El parámetro p",* se define simplemente como el promedio de energías de las subtramas (en dB) a lo largo de la trama en curso en ese momento, del residuo de LPC
e,(dS) + e, (dS)+ e,(dS) + e,(dS)
5 donde
r.(o)'+ _+,;(L,,,,-I)'
e¡ = I + -"-"-'---"'----'-'''''''---'-
L'/lb
es la energía de la subtrama i-ésima del residuo de LPC y a,(dB) = 1010g lO{e.}. Se añade una constante de 1 a la energía real de la subtrama en la anterior ecuación con el fin de evitar la subsiguiente computación del valor logaritmico de O
l OSe actua liza entonces un valor med io del parámetro p",* como sigue:
donde Pi (i = 1 o 2) es la correlación normalizada computada como un producto secundario o colateral del i-ésimo análisis de paso de avance de bucle abierto Esta modificación de p",* mejora la calidad de audio para segmentos de habla en voz
15 Se cuantiza entonces esca larmente el )1",* (dB) medio con 2 bits. Los niveles o magnitudes de cuantización se establecen con un escalón de 12 dB hasta 18 dB, 30 dB, 42 dB Y 54 dB. El índice de cuantización puede ser sencillamente computado como:
tmp =(p,,~-18) (12 índice =suelo(tmp + 0,5) 20 si (índice < O) índ ice =O, si (índice" 3) índice::: 3
Aqui, el suelo significa tomar la parte entera de un número con coma flotante Por ejemplo, suelo(1,2) ::: 1, Y
suelo(7,9)::: 7.
La media reconstruida (en dB) es, por tanto"
,ü....er (dB) = 18 + (índice ·12) 25 Sin embargo, el indice y la media reconstruida son entonces actualizados para mejorar la calidad de audio para señales transitorias tales como ataques, como sigue: max =max (el (dB), 62 (dB), e3 (dB), e4 (dB»
si ,üener (dB) < (max-27) e índice < 3,
índice = índice + 1 Y [¡.lMer (dB) = ,ü·""er (dB) + 1
30 Cuantización de {as ganancias de fibro de códigos
En la AMR-WB, las ganancias de paso de avance y de libro de códigos fijo, gp y gc, son cuantizadas coojuntamente en la forma de (gp, ge • gc(), donde gcO combina una predicción de MA para gc y una normalización con respecto a la energía del vector de códigos innovador_
Las dos ganancias gp y gc contenidas en una subtrama dada son cuantizadas conjuntamente con 7 bits, 35 exactamente como en la codificación de habla de la AMR-WB, en la forma de (gp, gc • gc() -La única diferencia radica
en la computación de gc(). El valor de gc() está basado en la energia media cuantizada ,üener únicamente, y se
computa como sigue:
gcO ::: 10'(( ,üener (dB) -enere (dB)) /20) ,
donde
enerc (dB) := 10 "'og10(0.01 + (c(O)"2 +. + C(4ub-1)"2) / Lsub) •
donde c(O)• ...• c(Lsub-1) son muestras del vector residual de LP contenido en una subtrama de lsub muestras de longitud. c(O) es la primera muestra. c(1) es la segunda muestra •... , y c(Lsut,) es la última muestra residual de LP de una subtrama
Modo de TCX
En los modos de TCX (codificador de TCX 18.016). se define un solapamiento con la siguiente trama para reducir las señales espurias de bloque debidas a la codificación de transformada de la señal de TCX de objetivo. El tratamiento con ventanas y el solapamiento de señales depende tanto del tipo (ACELP o TCX) como del tamaño de la trama presente. así como del tipo y del tamaño de la trama pasada. El tratamiento coo ventanas se describirá en la sigu iente sección
En la Figura 5a se ilustra una realización del codificador de TCX 18.016. Ahora se describirá el procedimiento de codificación de TCX Y. a continuación. seguirá una descripción acerca de la cuantización de red que se utiliza para cuantizar el espectro.
La codificación de TCX de acuerdo con una realización procede como sigue.
En primer lugar. tal y como se ha ilustrado en la Figura 5a. la señal de entrada (trama de TCX) es filtrada a través de un filtro de ponderación perceptivo 5.001 con el fin de producir una señal ponderada. En los modos de TCX. el filtro de ponderación perceptivo 5.001 utiliza los coeficientes de LPC cuantizados A(z) en lugar de los coeficientes de LPC no cuantizados A(z) que se utilizan en el modo de ACELP. Esto es porque. contrariamente a la ACELP. que utiliza análisis por síntesis. el descodificador de TCX tiene que aplicar un filtro de ponderación inverso para recuperar la señal de excitación. Si la trama codificada previa era una trama de ACELP. entonces la respuesta ante entrada nula (ZIR -"zero-input response") del filtro de ponderación perceptivo es eliminada de la señal ponderada por medio de un sumador 5.014. En una rea lización. la ZIR es truncada a 10 ms y tratada con ventanas de un modo tal. que su amplitud decrece monótonamente hasta cero después de 10 ms (dispositivo calculador 5.100). Pueden utilizarse algunas ventanas en el dominio del tiempo para esta operación. La computación real de la ZIR no se ha mostrado en la Figura 5a. puesto que esta señal. a la que se hace referencia también como el "anillado de filtro" en los codificadores del tipo de CELP. es bien conocida por las personas con conocimientos ordinarios de la técnica. Una vez que se ha computado la señal ponderada. la señal es tratada con ventanas en un generador de ventanas adaptativo 5.003. de acuerdo con una selección de ventanas que se representa en las Figuras 4a-4c
Tras el tratamiento con ventanas por parte del generador 5.003. un módulo de transformada 5.004 transforma la señal tratada con ventanas al dominio de la frecuencia utilizando una Transformada de Fourier Rápida (FFT -"Fast Fourier Transform")
Tratamiento con ventanas en los modos de TeX -Módulo de tratamiento con ventanas adaptativo 5.003
Se describirá a continuación la conmutación de modos entre las tramas de ACELP y las tramas de TCX. A fin de minimizar las señales espurias de transición al conmutar o pasar de uno a otro modos. ha de ponerse un cuidado adecuado en el tratamiento con ventanas y en el solapamiento de las sucesivas tramas. El tratamiento con ventanas adaptativo se lleva a cabo por el procesador 6.003. Las Figuras 4a-4c muestran las formas de ventana dependiendo de la longitud de trama de TCX y del tipo de la trama previa (ACELP o TCX).
En la Figura 4a se considera el caso en que la trama presente es una trama de TCX20. Dependiendo de la trama pasada. la ventana aplicada puede ser: ms de duración, y, por último, la porción de la mitad derecha de la raíz cuadrada de una ventana de Hanning (o la porción de la mitad derecha de una ventana senoidal) de 2,5 ms de duración. El codificador necesita de nuevo un margen de anticipación de 2,5 ms del habla ponderada.
- 1)
- Si la trama previa era una trama de ACELP de 20 ms. la ventana es una concatenación de dos segmentos de ventana: una ventana plana de 20 ms de duración. seguida de la porción de la mitad derecha de la de la raíz cuad rada de una ventana de Hanning (o de la porción de la mitad derecha de una ventana senoidal) de 2.5 ms de duración. El cod ificador necesita entooces un margen de anticipación de 2.5 ms del habla ponderada.
- 2)
- Si la trama previa era una trama de TCX20 . la ventana es una concatenación de tres segmentos de ventana: en primer lugar. la mitad izquierda de la rafz cuadrada de una ventana de Hanning (o la porción de la mitad izquierda de una ventana senoida l) de 2.5 ms de duración. a continuación. una ventana plana de 17.5 ms de duración. Y. por último. la porción de la mitad derecha de la raíz cuadrada de una ventana de Hanning (o la porción de la mitad derecha de una ventana senoida l) de 2.5 ms de duración. El cod ificador necesita de nuevo un margen de anticipación de 2.5 ms del habla ponderada.
- 3)
- Si la trama previa era una trama de TCX40 . la ventana es una concatenación de tres segmentos de ventana: en primer lugar. la mitad izquierda de la raíz cuadrada de una ventana de Hanning (o la porción de la mitad izquierda de una ventana senoidal) de 5 ms de duración. a continuación. una ventana plana de 15
- 16
4) Si la trama previa era una trama de TCX80, la ventana es una concatenación de tres segmentos de
5 ventana: en primer lugar, la mitad izquierda de la raiz cuadrada de una ventana de Hanning (o la porción de la mitad izquierda de una ventana senoidal) de 10 ms de duración, a continuación, una ventana plana de 10 ms de duración, y, por último, la porción de la mitad derecha de la raíz cuadrada de una ventana de Hanning (o la porción de la mitad derecha de una ventana senoidal) de 2,5 ms de duración. El codificador necesita de nuevo un margen de anticipación de 2,5 ms del habla ponderada.
lOEn la Figura 4b se considera el caso en que la trama presente es una trama de TCX40. Dependiendo de la trama pasada, la ventana aplicada puede ser:
1) Si la trama previa era una trama de ACELP de 20 ms, la ventana es una concatenación de dos segmentos de ventana: una ventana plana de 40 ms de duración, seguida por la porción de la mitad derecha de la raíz cuadrada de una ventana de Hanning (o la porción de la mitad derecha de una ventana senoidal) de 5 ms
15 de duración. El codificador necesita entonces un margen de anticipación de 5 ms del habla ponderada
2) Si la trama previa era una trama de TCX20, la ventana es una concatenación de tres segmentos de ventana: en primer lugar, la mitad izquierda de la raíz cuadrada de una ventana de Hanning (o la porciÓfl de la mitad izquierda de una ventana senoidal) de 2,5 ms de duración, a continuación, una ventana plana de 37,5 ms de duración, y, por último, la porción de la mitad derecha de la raiz cuadrada de una ventana de
20 Hanning (o la porción de la mitad derecha de una ventana senoidal) de 5 ms de duración. El codificador necesita de nuevo un margen de anticipación de 5 ms del habla ponderada
3) Si la trama previa era una trama de TCX40, la ventana es una concatenación de tres segmentos de ventana: en primer lugar, la mitad izquierda de la raiz cuadrada de una ventana de Hanning (o la porción de la mitad izquierda de una ventana senoidal) de 5 ms de duración, a continuación, una ventana plana de 35
25 ms de duración, y, por último, la porción de la mitad derecha de la raíz cuadrada de una ventana de Hanning (o la porción de la mitad derecha de una ventana senoidal) de 5 ms de duración. El codificador necesita de nuevo un margen de anticipación de 5 ms del habla ponderada.
4) Si la trama previa era una trama de TCX80, la ventana es una concatenación de tres segmentos de ventana: en primer lugar, la mitad izquierda de la raíz cuadrada de una ventana de Hanning (o la porción de
30 la mitad izquierda de una ventana senoidal) de 10 ms de duración, a continuación, una ventana plana de 30 ms de duración, y, por último, la porción de la mitad derecha de la raíz cuadrada de una ventana de Hanning (o la porción de la mitad derecha de una ventana senoidal) de 5 ms de duración. El codificador necesita de nuevo un margen de anticipación de 5 ms del habla ponderada.
Finalmente, en la Figura 4c se ha considerado el caso en que la trama presente es una trama de TCX80 35 Dependiendo de la trama pasada, la ventana aplicada puede ser
1) Si la trama previa era una trama de ACELP de 20 ms, la ventana es una concatenación de dos segmentos de ventana: una ventana plana de 80 ms de duración, seguida por la porción de la mitad derecha de la raíz cuadrada de una ventana de Hanning (o la porción de la mitad derecha de una ventana senoidal) de 5 ms de duración. El codificador necesita entonces un margen de anticipación de 10 ms del habla ponderada
40 2) Si la trama previa era una trama de TCX20, la ventana es una concatenación de tres segmentos de ventana: en primer lugar, la mitad izquierda de la raiz cuadrada de una ventana de Hanning (o la porción de la mitad izquierda de una ventana senoidal) de 2,5 ms de duración, a continuación, una ventana plana de 77,5 ms de duración, y, por último, la porción de la mitad derecha de la raíz cuadrada de una ventana de Hanning (o la porción de la mitad derecha de una ventana senoida l) de 10 ms de duración. El codificador
45 necesita de nuevo un margen de anticipación de 10 ms del habla ponderada.
3) Si la trama previa era una trama de TCX40, la ventana es una concatenación de tres segmentos de ventana: en primer lugar, la mitad izquierda de la ralz cuadrada de una ventana de Hanning (o la porción de la mitad izquierda de una ventana senoidal) de 5 ms de duración, a continuación, una ventana plana de 75 ms de duración, y, por último, la pOfción de la mitad derecha de la raíz cuadrada de una ventana de
50 Hanning (o la porción de la mitad derecha de una ventana senoida l) de 10 ms de duración. El codificador necesita de nuevo un margen de anticipación de 10 ms del habla ponderada.
4) Si la trama previa era una trama de TCX80, la ventana es una concatenación de tres segmentos de ventana: en primer lugar, la mitad izquierda de la raíz cuadrada de una ventana de Hanning (o la porción de la mitad izquierda de una ventana senoidal) de 10 ms de duración, a continuación, una ventana plana de 70 55 ms de duración, y, por último, la porción de la mitad derecha de la raíz cuadrada de una ventana de Hanning (o la porción de la mitad derecha de una ventana senoidal) de 10 ms de duración El codificador
necesita de nuevo un margen de anticipación de 10 ms del habla ponderada
Se aprecia que todos estos tipos de ventana se aplican a la señal ponderada únicamente cuando la trama presente es una trama de TCX. Las tramas del tipo de ACELP son codificadas sustancialmente de acuerdo con la codificación de AMR-WB, es decir, a través de codificación de análisis por síntesis de la señal de excitación, para así minimizar el error en la señal de objetivo, de tal manera que la senal de objetivo es, esencialmente, la señal ponderada de la que se ha eliminado la respuesta ante entrada nula del filtro de ponderación. Se aprecia también que, al codificarse una trama de TCX que viene precedida por otra trama de TCX, la señal tratada con ventanas por medio de las ventanas anteriormente descritas es cuantizada directamente en un dominio de transformada, tal y como se describirá más adelante en esta memoria. A continuación, después de la cuantización y la transformación inversa, la señal ponderada sintetizada se recombina utilizando solapamiento y adición al comienzo de la trama, con un margen de anticipación memorizado de la trama precedente
Por otra parle, a la hora de codificar una trama de TCX precedida de una trama de ACELP, la respuesta ante entrada nula del filtro de ponderación, realmente una versión tratada con ventanas y truncada de la repuesta ante entrada nula, se elimina, en primer lugar, de la señal ponderada y tratada con ventanas. Puesto que la respuesta ante entrada nula es una buena aproximación de las primeras muestras de la trama, el efecto resultante es que la señal tratada con ventanas tenderá a cero tanto al comienzo de la trama (debido a la sustracción de la respuesta ante entrada nula) como al final de la trama (debido a la media ventana de Hanning que se ha aplicado al margen de anticipación, según se ha descrito anteriormente y mostrado en las Figuras 4a-4c). Por supuesto, la respuesta ante entrada nula tratada con ventanas y truncada se añade de nuevo a la señal de ponderación cuantizada tras la transformación inversa
Por lo tanto, se consigue un compromiso adecuado entre una ventana óptima (por ejemplo, una ventana de Hanning) antes de la transformada que se utiliza en las tramas de TCX, y la ventana rectangular implícita que ha de aplicarse a la señal a la hora de codificar en el modo de ACELP. Esto garantiza una conmutación suave entre las tramas de ACELP y de TCX, al tiempo que se hace posible un adecuado tratamiento con ventanas en ambos modos
Conelación en el dominio del tiempo -Módulo de transformada 5.004
Después del tratamiento con ventanas según se ha descrito en lo anterior, se aplica una transformada a la señal ponderada en el módulo de transformada 5.004. En el ejemplo de la Figura 5a se utiliza una Transformada de Fourier Rápida (FFT -~Fast Fou rier Transform")
Como se ha ilustrado en las Figuras 4a-4c, el modo de TCX se sirve del solapamiento entre tramas sucesivas para reducir las señales espurias de bloqueo_La longitud del solapamiento depende de la longitud de los modos de TCXeste se ajusta, respectivamente, en 2,5 ms, 5 ms y 10 ms cuando el modo de TCX funciona con una longitud de trama de 20 ms, 40 ms y 80 ms, respectivamente (es decir, la longitud del solapamiento se ajusta de manera que sea 118 de la longitud de trama). Esta elección del solapamiento simplifica la base numérica en la computación rápida de la DFT por medio de la FFT. Como consecuencia de ello, el soporte temporal efectivo de los modos de TCX20, TCX40 y TCX80 es, respectivamente, de 22,5 ms, 45 ms y 90 ms, tal como se muestra en la Figura 2. Con una frecuencia de muestreo de 12.800 muestras por segundo (en la señal de LF producida por el procesador previo y el filtro de bancos de análisis 1.001 de la Figura 1), y con duraciones de trama + margen de anticipación de 22,5 ms, 45 ms y 90 ms, el soporle temporal de la FFT pasa a ser, respectivamente, de 288,576 Y 1.152 tramas. Estas longitudes pueden ser expresadas como 9 veces 32, 9 veces 64 y 9 veces 128. En consecuencia, puede utilizarse entonces una FFT de base numérica especializada de 9 para computar rápidamente el espectro de Fourier
Conformación preliminar (refuerzo de bajas frecuencias) -Módulo de conformación preliminar 5.005
Una vez que se ha computado el espectro de Fourier (FFT), se aplica un refuerzo de bajas frecuencias adaptativo al espectro de la señal por parle del módulo de conformación preliminar 5.005 de espectro, con el fin de minimizar la distorsión percibida a las frecuencias bajas. Se aplicará un refuerzo de bajas frecuencias inverso al descodificador, así como en el codificador, a través de un módulo de reversión de conformación 5.007 de espectro, al objeto de producir la señal de excitación que se utiliza para codificar las siguientes tramas. El refuerzo de bajas frecuencias adaptativo se aplica únicamente al primer cuarlo del espectro, como sigue.
En primer lugar, llámese X a la señal transformada a la salida del módulo de transformada FFT 5.004. El coeficiente de Fourier a la frecuencia de Nyquist se ajusta sistemáticamente a O. A continuación, si N es el número de muestras de la FFT (de modo que N se corresponde, por tanto, con la longitud de la ventana), los K o: NI2 coeficientes de Fourier de valor complejo se agrupan en bloques de cuatro (4) coeficientes consecutivos, foonando bloques de valor real de 8 dimensiones. Tan solo se mencionará en pocas palabras que es posible utilizar, en general, longitudes de bloque de un tamaño distinto de 8. En una realización, se escoge un tamaño de bloque de 8 para que coincida con el dispositivo de cuantizaci6n de red de 8 dimensiones que se utiliza para la cuantización espectral. Haciendo referencia a la Figura 20, se computa la energía de cada bloque hasta el primer cuarlo del espectro, y se almacenan (dispositivo calculador 20.001) la energía Emax y el índice de posición i del bloque con la máxima energía. A continuación , se calcula un factor Rm para cada bloque de 8 dimensiones con el indice de posición m más pequeño
que el ¡ (dispositivo calculador 20.002), como sigue·
- o calcular la energia Ero del bloque de 8 dimensiones en el indice de posición m (módulo 20.003);
- o computar la relación Rm = Emax { Em (módulo 20.004);
- o si Rm > 10, entonces hacer Rm = 10 (módulo 20.005);
a también, si Rm> R (m.1J, entonces Rm = R (m. 1J (módulo 20.006);
- o computar el valor (Rm )1/4 (módulo 20.007).
La última condición (si Rm> R(m.1), entonces Rm = R(m.1)) garantiza que la función de relación Rm decrece monótonamente. Por otra parte, la limitación de la relación R." de manera que sea menor o igual que 10 significa que no se modificará ningún componente espectral de la función de refuerzo de bajas frecuencias en más de 20 dB
Tras computar la relación (Rm)1 /4 =(Emax { Em) 1/4 para todos los bloques con índice de posición menor que i (y con las condiciones limitativas anteriormente descritas), estas relaciones se aplican como una ganancia para los coeficientes de transfOfmada, cada uno de los cuales corresponde a un bloque (dispositivo calculador 20.008). Esto tiene el efecto de aumentar la energia de los bloques con una energia relativamente baja, en comparación con el bloque con energía máxima E"",x. La aplicación de este procedimiento antes de la cuantizaciÓfl tiene el efecto de conformar el ruido de código contenido en la banda más baja.
La Figura 5b muestra un ejemplo de espectro en el que se aplica la conformación preliminar anteriormente descrita. El eje de frecuencias es normalizado entre O y 1, donde 1 es la frecuencia de Nyquist. El espectro de amplitudes se ha mostrado en dB. En la Figura 5b, la línea de trazo grueso es el espectro de amplitudes antes de la conformaciÓfl preliminar, y la porción de linea no regruesada es el espectro modificado (previamente conformado). Por lo tanto, únicamente el espectro correspondiente a la línea no regruesada es modificado en este ejemplo. En la Figura 5c se ha mostrado la ganancia real aplicada a cada componente espectral por la función de conformación preliminar Puede observarse en la Figura 5c que la ganancia está limitada a 10, y decrece monótonamente hasta 1 a medida que alcanza la componente espectral con la energia más alta (aquí, el tercer harmónico del espectro) a la frecuencia normalizada de aproximadamente 0,18
Cuantización vectorial de red a múffiples velocidades -Módulo 5_006
Después del refuerzo de bajas frecuencias, los coeficientes espectrales son cuantizados utilizando, en una realización, un módulo de cuantizaci6n algebraica 5.006 basado en códigos de red. Las redes que se uülizan son redes de Gosset de 8 dimensiones, lo que explica la división de los coeficientes espectrales en bloques de 8 dimensiones. Los índices de cuanlización son, esencialmente, una ganancia global y una serie de indices que describen los puntos de red reales que se utilizan para cuantizar cada vector subordinado, o subvector, de 8 dimensiones del espectro. El módulo 5.006 de cuantización de red 5.006 lleva a cabo, de una manera estructurada, una búsqueda del vecino más próximo entre cada vector de 8 dimensiones del espectro previamente conformado y regulado en escala procedente del módulo 5.005, y los puntos de un libro de códigos de red utilizados para la cuantización. El factor de escala (ganancia global) determina, en realidad, la asignación de bits y la distorsión promedio. Cuanto más grande es la ganancia global, más bits se utilizan y más baja es la distorsión promedio. Para cada vector de 8 dimensiones de coeficientes espectrales, el módulo 5.006 de cuantización de red suministra como salida un índice que indica el número de libro de códigos de red utilizado y el punto de red real escogido en el libro de códigos de red correspondiente. El descodificador será entonces capaz de reconstruir el espectro cuantizado utilizando el indice de ganancia global conjuntamente con los índices que describen cada vectOf de 8 dimensiones Los detalles de este procedimiento se describirán más adelante
Una vez que se ha cuantizado el espectro, la ganancia global procedente de la salida del módulo 5.009 de computación y cuantización de la ganancia, y los índices de vectOfes de red procedentes de la salida del módulo de cuantización 5.006, pueden ser transmitidos al descodificador a través de un multiplexador (no mostrado)
Optimización de la ganancia global y computación del factor de rellenado con ruido
Una etapa no trivial de utilizar cuantizadores vectoriales de red consiste en determinar la asignación de bits apropiada dentro de un presupuesto de bits predeterminado. Contrariamente a los libros de códigos almacenados, en los que el indice de un libro de códigos es, básicamente, su posición en una tabla, el indice de un libro de códigos de red se calcula utilizando fórmulas matemáticas (algebraicas). El número de bits para codificar el índice de vectores de red tan solo se conoce, por lo tanto, después de que se haya cuantizado el vector de entrada. En principio, para permanecer dentro de un presupuesto de bits determinado, se llevan a cabo ensayos de diversas ganancias globales y se cuantiza el espectro normalizado con cada ganancia diferente con el fin de computar el número total de bits. La ganancia global que consigue la asignación de bits más próxima al presupuesto de bits predeterminado sin excederlo es escogida como la ganancia óptima. En una realización, se utiliza, en lugar de ello, una solución eurística, al objeto de evitar la necesidad de cuantizar el espectro varias veces antes de obtener la cuantización y la asignación de bits óptima.
En aras de la claridad, los símbolos clave referidos en la siguiente descripción se han reunido en la Tabla A-1
Haciendo referencia a la Figura 5a, la señal x ponderada según TCX en el dominio del tiempo es tralada mediante una transformada T y una conformación preliminar P, lo que produce un espectro X que se ha de cuantificar. La transformada T puede ser una FFT y la conformación preliminar puede cOfresponder al refuerzo de bajas frecuencias adaptativo anteriormente descrito.
Se hará referencia al vector X como el espectro previamente conformado. Se supone que este vector tiene la forma X = [Xo Xl .. . XN-l ]T, donde N es el número de coeficientes de transformada obtenidos de la transformada T (la conformación preliminar P no altera este número de coeficientes)
Generalidades sobre el procedimiento de cuantización para el espectro previamente conformado
lOEn una realización, el espectro previamente conformado X es cuantizado como se ha representado en la Figura 6. La cuanlización está basada en el dispositivo de la publicación [Ragot, 2002], suponiendo un presupuesto de bits disponible de Rx bits para la codificación de X. Como se ha mostrado en la Figura 6, X es cuanlizado por la cuantización vectorial de división de conformación de ganancia en tres etapas principales:
- 15
- o Una ganancia global estimada g, denominada en lo sucesivo de esta memoria la ganancia global, es computada por un módulo 6.001 de estimación de energia de división y un módulo 6.002 de
- estimación de ganancia global y nivel o grado de ruido, y un divisor 6.003 normaliza el espectro X
- por medio de esta ganancia global 9 para obtener X' = Xig, donde X' es el espectro previamente
- conformado y normalizado.
- 20
- o La cuantización vectorial de red a múltiples velocidades del documento [Ragot, 2002] es aplicada por un módulo 6.004 de cod ificación de división de REs a múltiples velocidades, autorregulable en
- escala , a todos los bloques de 8 dimensiones que forman el
- espectro X' , Y los parámetros
- resu ltantes son multiplexados. A fin de poder aplicar este esquema de cuantización, el espectro X'
- es dividido en K vectores subordinados, o subvectores, de idéntico tamaño, de tal modo que X = [X'OT X' lT .. . X'K.'Y , donde el subvector (o división) k-ésimo viene dado por
- 25
- X\=[X'6k. X'6kt K., j, k=O , 1, . , K-1
- Puesto que el dispositivo del documento {Ragot, 2002] lleva a la práctica realmente una forma de
- cuantización vectorial de 8 dimensiones, K se ajusta sencillamente en 8 . Se supooe que N es un
- múltiplo de K
- 30
- o Se computa un fac de ganancia de rellenado con ruido en el módulo 6.002 coo el fin de inyectar después ruido de confort en divisiones no cuantizadas del espectro X'. Las divisiones no
- cuantizadas son bloques de coeficientes que han sido ajustados
- a cero por el dispositivo de
- cuantización. La inyección de ru ido permite enmascarar señales espurias y los bajos volúmenes o
- velocidades de transmisión de bits, y
- mejora la cal idad de audio. Se utiliza un único fac de
- ganancia debido a que la cod ificación de TCX supone que el ru ido de codificación es plano en el
- 35
- dominio de la ganancia y es conformado por el filtro perceptivo inverso W(z/ . Si bien se utiliza
- aquí la conformación preliminar, la cuantización y la inyección de ruido se fundamentan
- en el
- mismo principio.
Como consecuencia de ello, la cuantización del espectro X que se ha mostrado en la Figura 6 produce tres clases de parámetros: la ganancia global g, los parámetros de VQ algebraica (dividida) y el fae de ganancia de rellenado 40 con ruido. La asignación de bits, o presupuesto de bits R", se descompooe como'
Rx "'-Rg +R+Rrac,
Donde R g, R Y R f¡>(; son el número de bits (o presupuesto de bits) asignado a la ganancia g, a los parámetros de VQ algebraica yal fac de ganancia, respectivamente. En esta realización ilustrativa, Rf¡>(; = O
La cuantización vectorial de red a múltiples velocidades de la publicación [Ragot, 2002] es autorregulable en escala
45 y no permite controlar directamente la asignación de bits y la distorsión en cada división. Esla es la razón por la que el dispositivo de la publicación [Ragot, 2002] se aplica a las divisiones del espectro X', en lugar del X. La optimización de la ganancia global 9 controla, por lo tanto, la ca lidad del modo de TCX. En una realización, la optimización de la ganancia g está basada en la energía logarítmica de las divisiones
En la descripción que sigue se describe, uno a uno, cada bloque de la Figura 6.
50 Módulo 6.001 de estimación de energía de división
La energía (es decir, la norma cuadrática) de los vectores de división es utilizada en el algoritmo de asignación de bits y se emplea para determinar la ganancia global así como el nivelo grado de ruido. Se recordará, en pocas
palabras. que el vector de entrada de N dimensiones X =[XO Xl XN.ljT es divid ido en K divisiones. subvectOfes de 8 dimensiones. de tal manera que la k-ésima división se convierte en Xk =(xak X8/r +1 ..• Xak +7JT para k =O. 1•... , K-1 . Se supone que N es un múltiplo de ocho. La energía del vector de división k-ésimo se computa como
ek =x/ xk = Kak+ ... + Kak+7• k=0.1 • .. .• K-1
Módulo 6.002 de estimación de ganancia global y nivelo grado de ruido
La ganancia global 9 controla directamente el consumo de bits en las divisiones y se resuelve a partir de R(g) '" R, donde R(g) es el número de bits utilizados (o consumo de bits) por la totalidad de la va algebraica de división para un valor dado de g. Como se ha indicado en la descripción anterior. R es el presupuesto de bits asignado a la va algebraica de división. Como consecuencia de ello. la ganancia global g es optimizada de manera que coincida con el consumo de bits y con el presupuesto de bits de la va algebraica. El principio subyacente se conoce como llenado con agua inverso en la literatura
A fin de reducir la complejidad de la cuantización. el consumo de bits real por parte de cada división no se computa. sino que tan solo es estimado a partir de la energía de las divisiones. Esta infonnación de energía. junto con un conocimiento a priori de la cuantización vectorial de REs a múltiples velocidades. permite estimar R(g) como una simple función de g
La ganancia global 9 se determina aplicando este principio básico en el módulo 6.002 de estímación de ganancias globales y de grado de ruido. La estimación del consumo de bits de la división Xk es una función de la ganancia global g. y se denota como Rk(g ). Con la ganancia unitaria g :: 1, la heurística da:
Rk (1 ):: 510g2 (e+ 6k)/2. k =0. 1 ...• K-1
como estimación del consumo de bits. La constante E> O evita la computación de log2 O Y. por el ejemplo, se utiliza el valor E =2. En general. la constante E es despreciable en comparación con la energía de la división el<
La fórmula de RI« 1) está basada en un conocimiento a priori del dispositivo de cuantización a mÚltíples velocidades de la publicación [Ragot. 2002) y en las propiedades de la red REs subyacente:
- o
- Para el número de libro de códigos nk > 1. el requisito sobre el presupuesto de bits para codificar la k-ésima división en a lo sumo 5nk bits . como puede ser confinnado en la Tabla 1. Esto proporciona un factor de 5 en la fórmula cuando log2 ( E + el<)12 es una estimación del número de libro de cód igos
- o
- El logaritmo log2 refleja la propiedad de que la norma cuadrática promedio de los vectores de cód igo es aproximadamente doblada cuando se utiliza Q nk en lugar de Qnk+ 1. La propiedad puede ser observada en la Tabla 4
- o
- El factor 112 aplicado a (: + ek calibra la estimación del número de libro de cód igos para el libro de cód igos 0 2. Se conoce que la norma cuadrática promedio de los puntos de red es. en este libro de cód igos particular. de en tomo a 8.0 (véase la Tabla 4). Puesto que IOg2 (t: + 8k)/2 ", log2 (2 + 8.0)/2 '" 2. la estimación del número de libro de cód igos es. ciertamente . correcta para 0 2.
- Tabla 4
- Algunas estadísticas sobre las nonnas cuad ráticas
- de los puntos de red de diferentes libros de códigos.
- n
- Norma promedio
- O
- O
- 2
- 8.50
- 3
- 20.09
- 4
- 42.23
- 5
- 93 .85
- 6
- 182,49
- 7
- 362.74
Cuando se aplica una ganancia global 9 a una división, la energía de Xhfg se obtiene dividendo eh por r/. Esto implica que el consumo de bits de la división regulada en escala de ganancia puede estimarse basándose en Rk(1), al restar de este 5 log2 rI :: 10 log2 g:
Rk(g) :: 5 IOg2(E + ek)f2r!
:: 5 10g2 (E+ ek)J2 + 51og 2 r!
(4)
expresión en la cual gk:lg :: 10 IOg2 9 La estimación de Rk(g) está limitada inferiormente por cero, por lo que se utiliza en la práctica la relación
R. g) =max (R. 1) -g" , O) (5)
El consumo de bits para la codificación de todas las K divisiones es, ahora, simplemente una suma de las divisiones ind ividua les,
(6)
La naturaleza no lineal de la ecuación (6) impide resolver analiticamente la ganancia global 9 que da lugar al consumo de bits coincidente con el presupuesto de bits dado, R(g ) :: R. Sin embargo, puede encontrarse la solución con un simple algoritmo iterativo, debido a que R(g) es una función monótona de g.
En una realización, la ganancia global 9 se busca eficientemente mediante la aplicación de una búsqueda de bisección a 9\og :: 10 log2 g, comenzando desde el valor 9Jog :: 128. En cada iteración iter, R(g) es evaluado utilizando las ecuaciones (4), (5) Y (6), Y 910!1 es ajustada, respectivamente, como glog :: 9Ioa ± 128f2 'te< Diez iteraciones proporcionan una precisión suficiente. La ganancia global puede entonces resolverse a partir de 9Jog, como g:: 28", /10 .
El diagrama de flujo de la Figura 7 representa el algoritmo de bisección empleado para determinar la ganancia global
g. El algoritmo proporciona también el grado de ruido como producto secundario o colateral. El algoritmo comienza ajustando el presupuesto de bits R, en la operación 7.001 , en el valor 0 ,95(R-K). Este ajuste se ha determinado experimentalmente con el fin de evitar una sobreestimación de la ganancia global 9 óptima. El algoritmo de bisección requiere como su valor inicial las estimaciones de consumo de bits Rk(1) para k :: O, 1, ,K -1, suponiendo una ganancia global unitaria. Estas estimaciones se computan empleando la ecuación (4) en la operación 7.002, habiendo obtenido prime~o las normas cuadráticas de las divisiones (h. El algoritmo parte de los valores iniciales iter :: O, 91og :: O y (ac:: 1281201 ... :: 128 ajustados en la operación 7.004
Si iter < 10 (operación 7.004), cada iteración en el algoritmo de bisección comprende un incremento glog :: 9\og + tae en la operación 7.005, y la evolución de la estimación del consumo de bits R(g) en las operaciones 7.006 y 7.007 con el nuevo valor de glog. Si la estimación de R(g) supera el presupuesto de bits R en la operación 7.008, 9\og es actualizado en la operación 7.009. La iteración finaliza al incrementar el contador iter y dividir el tae de tamaño de etapa en la operación 7.010. Después de diez iteraciones, se obtiene una precisión suficiente para 9Jog y puede
8 ... 110
resolverse la ganancia global g:: 2 en la operaciÓfl7.011 El grado de ruido gn$ se estima en la operación
7.012 al promediar las estimaciones del consumo de bits de las divisiones que es probable que se hayan dejado sin cuantizar con la ganancia global determinada 9100
La Figura 8 muestra las operaciones implicadas en la determinación del grado de ruido tae. El grado de ruido se computa como la raíz cuadrada de la energía promedio de las divisiones que es probable que se hayan dejado sin cuantizar. Para una ganancia global dada glog, una división es probable que esté sin cuantizar si su consumo de bits estimado es menor que 5 bits, es decir, si Rx{ 1) -glog < 5. El consumo de bits total de todas estas divisiones, R"s(g) , se obtiene calculando Rk (1) -9100 sobre las divisiones para las que Rk (1) -910g < 5. La energía promedio de estas divisiones puede computarse entonces en el dominio logarítmico a partir de R"s(g), como R"s(g)fnb, donde nb es el número de estas divisiones. El grado de ruido es
tae :: ;t"S(g)lnb-~
En esta ecuación, la constante -5 del e)(ponente es un factor de sintonización que ajusta el factor de ruido 3 dB (en energía) por debajo de la estimación real basándose en la energía promedio
Módulo 6.004 de cuanlizaeión vectorial de red a múltiples velocidades
El módulo de cuantización 6.004 constituye los medios de cuantización a múltiples velocidades divulgados y explicados en la publicación [Ragot, 20021. Las divisiones de 8 dimensiones del espectro normalizado X' son
codificadas utilizando cuantización a múltiples velocidades que emplea un conjunto de libros de códigos de REs denotado como {Oo, 02, OJ, ...}. La 01 de libro de códigos no se ha definido en el conjunto con el fin de mejorar la eficiencia de la codificación. El libro de códigos n-ésimo se denota como On, donde se hace referencia a n como un número de libro de códigos. Todos los libros de códigos Q" están construidos como subconjuntos de la misma red de 8 dimensiones REs, con O" e REs. El volumen o proporción de bits del n-ésimo libro de códigos, definido como bits por dimensión, es 4nf8, es decir, cada libro de códigos O" contiene 24n vectore s de código. El cuantizador de múltiples velocidades está construido de acuerdo con las enseñanzas de la publicación [Ragot, 2002).
Para la k-ésima división de 8 dimensiones X'k, el módulo de codificación 6.004 encuentra el vecino más próximo YI< de la red REs, y suministra como sa lida:
- o el número de libro de códigos más pequeño nk, de tal mcx:lo que Yk E 0,,1<; y
- o el índice il< de Yk en Onk
El número de libro de códigos nk es una información colateral o secundaria que tiene que ponerse a disposición del descodificador conjuntamente con el índice ik con el fin de reconstruir el vector de códigos VI<. Por ejemplo, el tamaño del índ ice ik es de 4nk bits para nk> 1. Este índice puede ser representado con bloques de 4 bits
Para nI< =O, la reconstrucción Yk se convierte en un vector cero de 8 dimensiones e il< no es necesario
Módulo 6.005 de manejo de desbordamiento de presupuesto de bits e indexación de divisiones
Para una ganancia global g dada, el consumo real de bits puede exceder el presupuesto de bits o permanecer por debajo de este. Un posible desbordamiento del presupuesto de bits no es acometido por medios específicos algunos, sino que los bits extra disponibles se ponen a cero y se dejan sin utilizar. Cuando se produce un desbordamiento del presupuesto de bits, el consumo de bits se acomoda dentro del presupuesto de bits Rx contenido en el módulo 6.005 mediante la puesta a cero de algunos de los números de libro de códigos no, n" nK.j . La puesta a cero de un número de libro de códigos nk > O reduce el consumo de bits total al menos en 5nJr-1 Las divisiones puestas a cero en el manejo del desbordamiento del presupuesto de bits se reconstruyen en el descodificador mediante rellenado con ruido
A fin de minimizar la distorsión de codificación que tiene lugar cuando los números de libro de códigos de algunas divisiones son .forzados a ponerse a cero, estas divisiones se seleccionarán prudentemente. En una realización'r el consumo de bits se acumula al manejar las diVISiones una a una en un orden descendente de energía el< = Xk Xk para k = O, 1, ... , K-1. Este procedimiento es dependiente de la señal y está de conformidad con los medios utilizados en lo anteriOf para determinar la ganancia global
Antes de examinar los detalles del manejo del desbordamiento en el módulo 6.005, se resumirá la estructura del código que se utiliza para representar la salida de los dispositivos de cuantización a múltiples velocidades. El código unario de nk > Ocomprende k-1 unos seguidos por un bit de detención cero. Tal y como se mostró en la Tabla 1, se necesitan 5nk -1 bits para codificar el índice ik y el número de libro de códigos nk, excluyendo el bit de detención. El número de libro de códigos nI< = O comprende tan solo un bit de detención que indica una división cero. Cuando se codifican Kdivisiones, únicamente se necesitan K -1 bits de detención puesto que el último viene implicitamente determinado por el presupuesto de bits R y, por tanto, es redundante. Más específicamente, cuando las k últimas divisiones son cero, son suficientes tan solo k -1 bits de detención debido a que las últimas divisiones cero pueden ser codificadas conociendo el presupuesto de bits R
En el diagrama de flujo de la Figura 9 se representa el funcionamiento del módulo 6.005 de manejo del presupuesto de bits de desbordamiento de la Figura 6. Este módulo 6.005 funciona con índices de división K{O), K(1), .. . , K(K -1) determinados en la operación 9.001 mediante la clasificación de las normas cuadráticas de divisiones en un orden descendente tal , que e~ (O) ~ eK (j) ~ ... ~ eK (K.j). De esta forma, el índice K(k) se refiere a la división X¡¡(k) que t iene la késima norma cuadrática más grande. Las normas cuadráticas de las divisiones son suministradas para el manejo del desbordamiento como una salida de la operación 9.001.
La iteración k-ésima del manejo del desbordamiento puede ser fácilmente eludida o saltada cuando nK(k) =O, al pasar directamente a la siguiente iteración, debido a que las divisiones cero no pueden causar un desbordamiento. Esta capacidad funcional se implementa con la operación lógica 9.005. Si k < K (operación 9.003), y suponiendo que la división K{k}-ésima es una división no nula, el punto de REs Y~(k) es, primeramente, indexado en la operación 9.004. La indexación a múltiples velocidades proporciona el valor exacto del número de libro de códigos nK(k) y del índice de vector de cód igos iK(k). Puede calcularse el consumo de bits de todas las divisiones hasta, e incluida, la división en curso K(k}-ésima
Utilizando las propiedades del código unario, el consumo de bits Rk hasta, e incluyendo, la división en curso en ese momento, se cuenta en el bloque de operación 9.008 como una suma de dos términos: los RD. J¡ bits necesarios para los datos, excluidos los bits de detención, y los Rs. 1< bits de detención·
(7)
donde, para n K{h} > O,
RD. k =Ro. k_' + 5nK(k)-1, (8)
Rs. k =max{ K(k) , RS.k.1}. (9)
Los va lores iniciales requeridos se ajustan a cero en la operación 9.002. Los bits de detención son contados en la operación 9.007 a partir de la ecuación (9), teniendo en cuenta que solo las divisiones hasta la última división llO nula hasta el momento presente se indican con bits de detención. debido a que se sabe que las divisiones subsiguientes son cero por la construcción del código. El índice de la última división no nula puede también expresarse como max{ 1«0), K(1), ... , K(k)}.
Puesto que el manejo del desbordamiento comienza a partir de valores iniciales cero para RD. I! Y Rs. k en las ecuaciones (8) y (9), el consumo de bits hasta la división en curso en ese momento cabe siempre en el presupuesto de bits, Rs. k_' + Ro. k_' < R. Si el consumo de bits Rk, incluyendo la división K(k)-ésima en curso en ese momento, supera el presupuesto de bits R según se verifica en la operación lógica 9.008. el número de libro de códigos n K(k) y la reconstrucción YK(k) son puestos a cero en el bloque 9.009. Los contadores de consumo de bits R D. k Y R D. k son, de acuerdo con ello, restituidos por actualización en sus valores previos en el bloque 9.010. Tras ello. el manejo del desbordamiento puede proseguir con la siguiente iteración, al incrementar k en 1 en la operación 9.011 y retomar a la operación lógica 9.003.
Nótese que la operación 9.004 produce la indexación de las divisiones como una parte integral de las rutinas de manejo del desbordamiento. La indexación puede ser almacenada y suministrada. de manera adicional, al multiplexador 6.007 de corriente de bits de la Figura 6.
Módulo 5.007 de reversión de confonnación de espectro cuantizado
Una vez que se ha cuantizado el espectro utilizando la red VO a múltiples velocidades de división del módulo 5.006, los índices de cuantización (números de libro de códigos e índices de punto de red) pueden ser calculados y enviados a un canal a través de un multiplexador (no mostrado). Se llevan a cabo una búsqueda del vecino más próximo en la red, así como una computación de índice, como en la publicación [Ragot, 2002]. El codificador de TCX realiza entonces una reversión de la conformación del espectro en el módulo 5.007, de tal manera que se invierta la conformación preliminar del módulo 5.005.
La reversión de la conformación del espectro opera utilizando únicamente el espectro cuantizado. A fin de obtener un procedimiento que invierte la operación del módulo 5.005, el módulo 5.007 aplica las siguientes etapas:
- o calcular la posición iy la energía Em~x del bloque de 8 dimensiones de energía más alta situado en el primer (bajas frecuencias) cuarto del espectro;
- o calcular la energía Em del bloque de 8 dimensiones situado en el índice de posición m;
- o computar la relación Rm = Emu I Em;
- o si Rm > 10, entonces hacer Rm = 10;
- o también, si Rm> R(m.1), hacer entonces Rm = R(m.1);
- o computar el valor (Rm )Ir.l.
Una vez computada la relación Rm ::: Em~x I Em para todos los bloques con índice de posición menor que i, se aplica entonces una inversa multiplicativa de esta relación como una ganancia para cada bloque correspondiente. Las diferencias con la conformación preliminar del módulo 5.005 son: (a) que en la reversión de conformación del módulo 5.007, se calcula la raíz cuadrada (y no la potencia 'h) de la relación Rm, y (b) que esta relación se toma como un divisor (y no como un multiplicador) del bloque de 8 dimensiones correspondiente. Si se desprecia el efecto de la cuantización en el módulo 5.006 (cuantización perfecta), puede demostrarse que la salida del módulo 5.007 es exactamente igual a la entrada del módulo 5.005. El procedimiento de conformación preliminar es, por tanto, un procedimiento invertible
Codificación de HF
En la Figura 10a se ilustra el funcionamiento del módulo de codificación de HF 1.003 de la Figura 1. Como se ha indicado en la anterior descripción con referencia a la Figura 1, la señal de HF se compone de componentes de frecuencia de la señal de entrada superiores a 6.400 Hz. La anchura de banda de esta señal de HF depende de la velocidad de muestreo de la señal de entrada. Para codificar la señal de HF a una velocidad baja. se emplea, en una realización, un esquema de prolongación de anchura de banda (BWE -"bandwidth extension"). En la BWE, se envía información de energía al descodificador en forma de envolvente espectral y energía de trama. pero la estructura
fina de la señal es extrapolada en el descodificador a partir de la señal de excitación recibida (descodificada) procedente de la señal de LF, la cual, de acuerdo con una realización, es codificada en el módulo de codificación de ACELP / TCX conmutada 1.002.
La señal de HF muestreada en sentido descendente en la salida del procesador previo y banco de filtros de análisis
1.001 se ha denominado SHF(n) en la Figura 10a. El espectro de esta señal puede verse como una versión replegada de la banda de frecuencias más altas, antes del muestreo en sentido descendente. Se lleva a cabo un análisis de LPC según se ha descrito antes, en esta memoria, con referencia a la Figura 18, en los módulos 10.02010.022, sobre la señal SHF(n) con el fin de obtener un conjunto de coeficientes de LPC que constituyen un modelo de la envolvente espectral de esta señal. Por lo común, son necesarios uno menor número de parámetros que para la señal de LF. En una realización, se utilizó un filtro de orden 8. Los coeficientes de LPC A(z) son entooces transformados al dominio de ISP en el módulo 10.023 y, a continuación, convertidos desde el dominio de ISP al dominio de ISF en el módulo 10.004, y cuantizados en el módulo 10.003 para su transmisión a través de un multiplexador 10.029. El número de análisis de LPC dentro de una supertrama de 80 ms depende de las longitudes de trama dentro de la supertrama. Los coeficientes de ISF cuantizados son convertidos de vuelta a coeficientes de ISP en el módulo 10.004 y, a continuación, interpolados (puede describirse brevemente el método de interpolación) en el módulo 10.005, antes de ser convertios en coeficientes de LPC cuantizados AHd z) por el módulo 10.006.
Un conjunto de coeficientes de filtro de LPC puede ser representado como un polinomio en la variable z. También, A(z) es el filtro de LPC para la señal de LF, y AHF(Z), el filtro de LPC para la señal de HF. Las versiones cuantizadas de estos dos filtros son, respectivamente, A(z) y AHf (z). A partir de la señal de LF sen) de la Figura 10, se obtiene, en primer lugar, una señal residual mediante el filtrado de sen) a través del filtro residual Á (z) identificado por la referencia 10.014. A continuación, esta señal residual es filtrada a través del filtro de síntesis de HF cuantizado 1/AHF(z) identificado por la referencia 10.015. Hasta un cierto factor de ganancia, esto produce una versión sintetizada de la señal de HF, pero en una versión replegada espectralmente. La señal de sintesis de HF real será recuperada una vez que se haya aplicado el muestreo en sentido ascendente
Puesto que la excitación es recuperada de la señal de LF, la ganancia apropiada es computada por la señal de HF Esto se hace comparando la energía de la señal de HF de referencia sHF(n ) con la energía de la señal de HF sintetizada. La energía es computada una vez por cada subtrama de 5 ms, de tal modo que se asegura una coincidencia de energías en el límite de la subbanda de 6.400 Hz. Específicamente, la señal de HF sintetizada y la señal de HF de referencia son filtradas a través de un filtro perceptivo (módulos 10.011 -10.012 Y 10.024 -10.025). En la realización de la Figura 10, este filtro perceptivo es deducido del AI-F(z) y se denomina ~fi ltro perceptivo de HF". La energía de estas dos señales filtradas se computa cada 5 ms en los módulos 10.013 y 10.026, respectivamente, y la relación entre las energías calculadas por los módulos 10.013 y 10.126 es calculada por el divisor 10.027 y expresada en dB en el módulo 10.016. Hay 4 de tales ganancias dentro de una trama de 20 ms (una para cada subtrama de 5 ms). Este vector de 4 ganancias representa la ganancia que debe ser aplicada a la señal de HF para hacer coincidir apropiadamente la energía de la señal de HF.
En lugar de transmitir esta ganancia directamente, se computa, en primer lugar, una relación de ganancias estimada mediante la comparación de las ganancias de los filtros A(z) obtenidos de la banda más baja y de los A HF (z), obtenidos de la banda más alta. Esta estimación de relación de ganancias se detalla en la Figura 10b y se explicará en la siguiente descripción. La estimación de la relación de ganancias es interpolada cada 5 ms, se expresa en dB y se resta en el módulo 10.010 de la relación de ganancias medida. Las diferencias de ganancia o correcciones de
ganancia resultantes, denotadas como go a gnl>-l en la Figura 10, son cuantizadas en el módulo 10.009. Las
correcciones de ganancia pueden ser cuantizadas como vectores de 4 dimensiooes, es decir, 4 valores por cada trama de 20 ms y, a continuación, suministradas al multiplexador 10.029 para su transmisión.
La estimación de ganancia computada en el módulo 10,007 a partir de los filtros A(z) y A HF (z) se explica en la Figura 10b. Estos dos filtros están disponibles en el lado del descodificador. Se computan, en primer lugar, las 64 primeras muestras de una sinusoide descendente a la frecuencia de Nyquist de 1t radianes por muestra, mediante el filtrado de un impulso unitario 8(n) a través de un filtro 10.017 de un solo polo. Se utiliza la frecuencia de Nyquist puesto que el objetivo es hacer coincidir las ganancias de filtro en alrededor de 6.400 Hz, es decir, a la frecuencia de la unión entre las señales de LF y HF. Aqu í, la longitud de las 64 muestras de esta señal de referencia es la lon~itud de subtrama (5 ms). La sinusoide descendente h(n) es entonces filtrada, primeramente, a través del filtro A (z)
10.018 con el fin de obtener un residuo de bajas frecuencias, a continuación, a través del filtro 1f A HF (z) 10.019 para obtener una señal de síntesis desde el filtro de síntesis de HF. Si los filtros A(z) y A HF (z) tienen idénticas ganancias a la frecuencia normalizada de 1t radianes por muestra, la energía de la salida x(n) del filtro 10.019 será equivalente a la energía de la entrada hin) del filtro 10.018 (sinusoide descendente). Si la ganancia difiere, entonces esta diferencia de ganancias se tiene en cuenta en la energla de la señal x(n) a la salida del filtro 10.019. La ganancia de corrección debe, en realidad, aumentar a medida que la energía de la señal x(n) disminuye. Por lo tanto, la corrección de ganancia es computada en el módulo 10.028 como la inversa multiplicativa de la energía de la señal x(n), en el dominio logarítmico (esto es, en dB). Para obtener una verdadera relación de energías, la energía de la sinusoide descendente h(n) , en dB, ha de ser extraída de la salida del módulo 10.028. Sin embargo, puesto que esta excentricidad de la energía es una constante, simplemente se tendrá en cuenta en el cod ificador de
corrección de ganancia del módulo 10.009. Por último, la ganancia obtenida del módulo 10.007 es interpolada y expresada en dB antes se ser sustraída por el módulo 10.010.
En el descodificador, la ganancia de la señal de HF puede ser recuperada añadiendo la salida del dispositivo de codificación de HF 1.003, conocida en el descodificador, a las correcciones de ganancia descodificadas que se han codificado en el módulo 11 .009.
DESCRIPCiÓN DETALLADA DEL DESCODIFICADOR
El papel del descodificador es leer en la corriente de bits los parámetros codificados y sintetizar una supertrama de audio reconstruida. En la Figura 11 se muestra un diagrama de bloques de alto nivel del descodificador
Como se ha indicado en la descripción anterior, cada supertrama de 80 ms es codificada en cuatro (4) paquetes binarios sucesivos de igual tamaño. Estos cuatro (4) paquetes forman la entrada del descodificador. Puesto que pueden no estar disponibles todos los paquetes debido a borrados en el canal, el desmultiplexador principal 11.001 también recibe como entrada cuatro (4) indicadores de trama defectuosos BFI ::: (bft:¡, bfi1, bfl2, bfb), que indican cuáles de los cuatro paquetes se han recibido. Se supone aquí que b~ = O cuando se recibe el paquete k-ésimo, y que bf;'" == 1 cuando se pierde el paquete k-ésimo. El tamaño de los cuatro (4) paquetes es especificado al desmultiplexador 11 .001 por la entrada señalizador_velocidad_bits, indicativa de la velocidad de transmisión de bits utilizada por el codificador
Desmultiplexación principal
El desmultiplexador 11 .001 realiza simplemente la operación inversa del multiplexador del codificador. Los bits relacionados con los parámetros codificados en el paquete k son extraídos cuando el paquete k está disponible, es decir, cuando b~ =O.
Como se ha indicado en la anterior descripción, los parámetros codificados se dividen en tres (3) categOfias· indicadores de modo, parámetros de LF y parámetros de HF. Los indicadores de modo especifican qué modo de codificación se utilizó en el codificador (ACELP, TCX20, TCX40 o TCX80). Una vez que el desmultiplexador 11 .001 ha recuperado estos parámetros, estos son descodificados por un módulo 11.002 de extrapolación de modo, por un descodificador de ACELP I TCX 11 .003 y por un descodificador de HF 11 .004, respectivamente Esta descodificación da como resultad 2 señales, una señal de síntesis de LF y una señal de síntesis de HF, las cuales son combinadas para formar la salida de audio del banco de filtros de tratamiento posterior y síntesis 11 .005. Se supone que un señalizadOf de entrada FS indica al descodificador cuál es la velocidad o propOfción de muestreo de salida. En una realización, las velocidades de muestreo permitidas son 16 kHz y por encima
En la si9uiente descripción se describirán los módulos de la Figura 11 .
Descodificador 11.003 de ACELP / TCX de señal de LF
El descodificador de la señal de LF implica esencialmente una descodificación de ACELP I TCX. Este procedimiento se describe en la Figura 12. El desmultiplexador de ACELP { TCX 12.001 extrae los parámetros de LF codificados basándose en los valores de MODO. Más especifica mente, los parámetros de LF son divididos en parámetros e ISF, por una parte, y en parámetros específicos de ACELP o de TCX, por otra parte
La descodificación de los parámetros de LF es controlada por una unidad de control de descodificación de ACELP I TCX principal 12.002. En particular, esta unidad de control de descodificación de ACELP { TCX principal envía señales de control a un módulo de descodificaciÓfl de ISF 12.003, a un módulo de interpolaciÓfl de ISP 12.005, asi como a descodificadores de ACELP y TCX 12.007 y 12.008. La unidad de control de descodificación de ACELP { TCX principal 12.002 también maneja la conmutación entre el descodificador de ACELP 12.007 y el descodificador de TCX 12.008 mediante el ajuste de las entradas apropiadas a estos dos descodificadores y la activación del selector de conmutación 12.009. La unidad de control de descodificación de ACELP { TCX principal 12.002 controla, de forma adicional, el registro de almacenamiento intermedio de salida 12.010 de la señal de LF, de tal manera que las tramas descodificadas de ACELP o de TCX se inscriben en los segmentos de tiempo derechos del registro de almacenamiento intermedio de salida de 80 ms.
La unidad de control de descodificación de ACELP { TCX principal 12.002 genera datos de control que son internos al descodificador de LF: BFU SF, nb (el número de subtramas para la interpolación de ISP), bfi_acelp, LTCX (longitud de trama de TCX), BFI_ TCX, señalizador_conmutación, y selector_trama (para ajustar un puntero de trama en el registro de almacenamiento intermedio de LF de salida 12.010). La naturaleza de estos datos se define en lo que sigue de esta memoria
>-BFUSF puede ser expandido como el vector entero en 2-D BFUSF == (bfi1e<_tadio bfilO.estadio ), y consiste en indicadores de trama defectuosa para la descodificación de ISF. El valor de bfi1e<_tadio es binario, y bfile<~$tadio == O cuando la 1a etapa o estadio está disponible, y bfiler~$tadio == 1 cuando esta se pierde. El valor O S b(¡2"_tadio S 31 es un señalizador de 5 bits que proporciona un indicador de trama defectuosa para cada una de las 5 divisiones de la segunda etapa o estadio de ISF·
bf~~$tadio = bfi j'.c;v;'ión + 2 ' b~-(livi$i6n + 4 • bf/:¡,.c;v;'ión + a • bfk' -(livi$i6n + 16 ' bfi5' -(livi.wn, donde bfik~sim.-divisl6n = O cuando la división k está disponible, y es igual a 1 en caso contrario. Con el formato de corriente de bits anteriOfmente descrito, los valores de bfiler-estadio y bfb.-estadio pueden ser computados a partir de BFI =( bfio bfi, bfiz bfiJ), como sigue·
Para ACELP a TCX20 en el paquete k, BFUSF = ( bflt,. ),
Para TCX40 en los paquetes k y k+1 , BFUSF =( bf", (31 • bfik+, )),
Para TCX80 en los paquetes k = O a 3, BFUSF =(bfio (bfi, + 6· bfiz + 20' bf~))
Estos valores de BFUSF pueden ser explicados directamente por el formato de corriente de bits utilizado para empaquetar los bits de la cuantización de ISF, y por la forma como se distribuyen las etapas o estadios y divisiones en uno o en varios paquetes, dependiendo del tipo de codificador (ACELP I TCX20, TCX40 o TCX80).
El número de subtramas para la interpolación de ISF se refiere al número de subtramas de 5 ms contenidas en la trama descodificada de ACELP o de TCX. De esta forma, nb =4 para ACELP y TCX20, 8 para TCX40 y 16 para TCX80.
¡.. bfi_acelp es un señalizador binario que indica la pérdida de un paquete de ACELP. Sencillamente se ajusta como bfLacelp = bf~ para una trama de ACELP contenida en el paquete k.
}-La longitud de trama de TCX (en muestras) viene dada pOf LTCX = 256 (20 ms) para TCX20, 512 (40 ms) para TCX40 y 1.024 (80 ms) para Tcxao Esto no tiene en cuenta el solapamiento utilizado en TCX para reducir los efectos de bloqueo.
}-BFI_TCX es un vector binario que se utiliza para señalizar las pérfidas de paquetes al descodificador de TCX: BFI_TCX =( bÑ.. ) para la TCX20 en el paquete k, ( bf;" bf;"H ) para la TCX40 en los paquetes k y k+1 , Y BFI_TCX = BFI para la TCX80.
Los demás datos generados por la unidad de control de descodificación de ACELP I TCX principal son bastante autoexplicativos. El selector de conmutación 12.009 es controlado de acuerdo con el tipo de trama descodificada (ACELP o TCX). El dato selector_trama permite la escritura o inscripción de las tramas descodificadas (ACELP o TCX20, TCX40 o TCX80) en los segmentos de 20 ms derechos de la supertrama. En la Figura 12 aparecen también algunos datos auxiliares tales como ACELP_ZIR y rmsW$,..,. Estos datos se definen en los párrafos subsiguientes
El módulo de descodificación de ISF 12.003 corresponde al descodificador de ISF definido en la norma de codificación de habla AMR-WB, con las mismas tablas de predicción de MA y cuantización, excepto por el manejo de las tramas defectuosas. Una diferencia, en comparación con el dispositivo de AMR-WB, es el uso de BFUSF = (bfi,er-estadio bfl2+-estadio) en lugar de un único indicador de trama defectuosa binario. Cuando se pierde la 1" etapa o estadio del dispositivo de cuantización de ISF (es decir, bfi' er-estadio = 1), los parámetros de ISF son sencillamente descodificados utilizando la ocultación de borrado de trama del descodificador de ISF de la AMR-WB. Cuando está disponible el 1er estadio (es decir, bfi'or e&t3dio = O), este 1« estadio es descodificado. Los vectores de división del 20 estadio son acumulados en e11« estadio descodificado únicamente si se encuentran disponibles. El residuo de ISF reconstruido se añade a la predicción de MA y al vector medio de ISF para formar los parámetros de ISF reconstruidos
El convertidor 12.004 transfonna parámetros de ISF (definidos en el dominio de la frecuencia) en parámetros de ISP (en el dominio de coseno). Esta operación se ha tomado de la codificación de habla de AMR-WB
El módulo de interpolación de ISP 12.005 realiza una interpolación lineal simple entre los parámetros de ISP de la trama descodificada previa (ACELP I TCX20, TCX40 o TCX80) y los parámetros de ISP descodificados. La interpolación se lleva a efecto en el dominio de ISP y da como resultado parámetros de ISP para cada subtrama de 5 ms, de acuerdo con la fórmula·
isp....bIr"""".; = ¡¡ nb ' isp.....-, + (1 -¡¡ nb)· iSPantigu:> ,
donde nb es el número de subtramas contenidas en la trama descodificada presente en ese momento (nb =4 para ACELP y TCX20, 8 para TCX40, 16 para TCX80), ; =O, ... , nb-1 es el índice de subtrama, iSPantiguo es el conjunto de parámetros de ISP obtenidos de los parámetros de ISF descodificados de la trama descodificada previa (ACELP, TCX20J40J80), e ispnuevo es el conjunto de parámetros de ISP obtenidos de los parámetros de ISF descodificados en el descodificador 12.003. los parámetros de ISP interpolados son entonces convertidos en coeficientes predictivos lineales para cada subtrama en el convertidor 12.006
Los descodificadores de ACELP y TCX 12.007 y 12.008 se describirán por separado al final de la descripción general de la descodificación de ACELP { TCX.
Conmutación de ACELP / TCX
La representación de la Figura 12 en forma de un diagrama de bloques se completa por el diagrama de flujo de la Figura 13. el cual define exactamente el modo como se maneja la conmutación entre ACELP y TCX basándose en los indicadores de modo de supertrama contenidos en MODO. Por lo tanto. la Figura 13 explica cómo se utilizan los módulos 12.003 y 12.006 de la Figura 12.
Uno de los aspectos clave de la descodificación de ACELP {TCX es el manejo de un solapamiento procedente de la trama descodificada pasada con el fin de permitir una conmutación sin discontinuidades entre tramas de ACELP y de TCX. así como enlre Iramas de TCX. La Figura 13 presenta esta característica clave en detalles para el lado de descodificación.
El solapamiento consiste en un único registro de almacenamiento intermedio de 10 ms: OVlP_TCX. Cuando la trama descodificada pasada es una trama de ACELP. OVlP_TCX = ACElP_ZIR memOfiza la respuesta ante impulso nulo (ZIR -~zero-impulse response") del fillro de síntesis de LP (1/A(z» en el dominio ponderado de la trama de ACELP previa. Cuando la trama descodificada pasada es una trama de TCX. únicamente los primeros 2.5 ms (32 muestras) para la TCX20. 5 ms (64 muestras) para la TCX40. y 10 ms (128 muestras) para la TCX 80 se utilizan en el OVlP_TCX (las otras muestras se ajustan en cero)
Como se ha ilustrado en la Figura 13. la descodificación de ACELP ( TCX se fundamenta en una intefllretación secuencial de los indicadores de modo contenidos en MODO. El número de paquete y el índice de trama descodificada k se incrementan de O a 3. El bucle rea lizado por las operaciones 13.002. 13.003 Y 13.021 a 13.023 permite tratar secuencialmente los cuatro (4) paquetes de una superlrama de 80 ms. La descripción de las operaciones 13.005. 13.006 Y 13.009 a 13.011 se han saltado debido a que llevan a cabo la descodificación de ISF. la conversión de ISF a ISP. la interpolación de ISP y la conversión de ISP a A(z) anteriormente descritas
Cuando se descodifica la ACELP (es decir. cuando f17k =O según se ha detectado en la operación 13.012). el registro de almacenamiento intermedio ACElP_ZIR se actualiza y la longitud ovp_ len del solapamiento de TCX se ajusta en O (operaciones 13.013 y 16.017). El cálculo real de ACElP_ZIR se explica en el siguiente párrafo que trata de la descodificación de ACELP.
Cuando se descodifica la TCX. el registro de almacenamiento intermedio OVlP_TCX es actualizado (operaciones
13.014 a 13.016) y la longitud real ovp_'en del solapamiento de TCX es ajustada en un número de muestras equívalente a 2.5. a 5 y a 10 ms para las TCX20. TCX40 y TCXaO. respectívamente (operacíones 13.018 a 13.020) El cálculo real de OVlP_TCX se explica en el siguiente párrafo que trata de la descodificación de TCX.
El descodificador de ACELP / TCX también computa dos parámetros para el subsiguiente fillrado ullerior de paso de avance de la síntesis de LF: las ganancias de paso de avance gp =(90. gl • ...• 915) Y los retrasos de paso de avance T =(To. h ...• T15) para cada subtrama de 5ms de la supertrama de 80 ms. Estos parámetros se inicializan en el procesador 13.001. Para cada nueva supertrama. las ganancias de paso de avance se ajustan por defecto en 9pk =O para k = O. .15. en tanto que los retrasos de paso de avance son. todos. inicializados en 64 (es decir. 5 ms). Eslos vectores son modificados únicamente por la ACELP en la operación 13.013: si la ACELP se define en el paquete k. 94k. 94k~1 • ...• g 4k+3 corresponden a las ganancias de paso de avance de cada subtrama de ACELP descodificada. en lanlo que T4k. T4k•1 • ... • T4k'3 son los relrasos de paso de avance.
Descodificaci6n de ACELP
El descodificador de ACELP presentado en la Figura 14 es deducido del algorilmo de codificación de habla de AMRWB [Bessette et al., 2002]. Los bloques nuevos o modificados comparados con el descodificador de ACELP de la AMR-WB. son resaltados (por el sombreado de eslos bloques) en la Figura 14.
En una primera etapa. los parámetros específicos de ACELP son desmultiplexados a través del desmultiplexador
14.001 .
Aún haciendo referencia a la Figura 14. la descodificación de ACELP consisle en reconstruir la señal de excitación r(n) como la combinación lineal 9p p(n) + gc c(n). donde gp y 9c son. respectivamente. la ganancia de paso de avance y la ganancia de libro de códigos fijo. T es el retraso de paso de avance. p(n) es la contribución de paso de avance deducida del libro de códigos adaptativo 14.005 a través del filtro de paso de avance 14.006. y c(n) es un vector de códigos tratado ulteriormente. perteneciente al libro de códigos innovador 14.009 obtenido de los índices de libro de códigos innovador de ACELP. descodificado por el descodificador 14.008 y tratado a traves de unos módulos 14.012 y 14.013; p(n) se multiplica de nuevo por la ganancia gp en el multiplicador 14.007. c(n) se multiplica por la ganancia 9c en el multiplicador 14.01 4. y los productos 9pp(n) y 9c c(n) son añadidos en el módulo sumador 14.015. Cuando el retardo T de paso de avance es fracciona l. p(n) implica la interpolación en el libro de códigos adaptativo 14.005. A continuación, la excitación reconstruida se hace pasar a traves del filtro de síntesis 1/ A(z) con el fin de obtener la síntesis s(n). Este tratamiento se lleva a cabo según un criterio por subtramas sobre los coeficientes de LF intefllolados. y la sínlesis es tratada a través de un registro de almacenamiento intermedio de salida 14.017. Todo el procedimienlo de descodificación de ACELP es conlrolado por una unidad de descodificación de ACELP principal
14.002. Los borrados de paquete (señalados por bfLacelp :: 1) son manejados por un selector de conmutación
14.011 que conmuta desde el libro de códigos innovador 14.009 a un libro de códigos innovador aleatorio 14.010, extrapolando parámetros de paso de avance y ganancia a partir de sus valores pasados. en unos descodificadores de ganancia 14.003 y 14.004, Y fundamentándose en los coeficientes de LP extrapolados
Los cambios en comparación con el descodificador de ACELP de AMR-WB están relacionados con el descodificadO!" de ganancia 14.003, con la computación de la respuesta ante impulso nulo (ZIR) de 1f A(z) en el dominio ponderado, en los módulos 14.018 a 14.020, y con la aclualización del valor de r.m.s. de la síntesis ponderada (rm~yn) en los módulos 14.021 y 14.022. La descodificación de ganancia se ha descrito ya cuando bfLace/p:: O o 1. Está basada en un parámetro de energía media con el fin de aplicar la VO rebajada en el valor medio.
El ZIR de 1f A(z) es computado, aqui, en el dominio ponderado, para conmutar desde una trama de ACELP a una trama de TCX al tiempo que se evitan los efectos de bloque. El tratamiento relacionado se fragmenta en tres (3) etapas y su resultado es almacenado en un registro de almacenamiento intermedio de 10 ms por la ACELP_ZIR:
1) un dispositivo calculadOf computa la ZIR de 10 ms de 11 A{z), donde los coeficientes de LP se toman de la última subtrama de ACELP (módulo 14.018);
2) un filtro pondera perceptiva mente la ZIR (módulo 14.019);
3) se halla ACELP_ZIR después de aplicar un tratamiento híbrido con ventanas triangulares planas (a
través de un generador de ventanas) a la ZIR ponderada de 10 ms en el módulo 14.020. Esta etapa se
sirve de una ventana de 10 ms w(n) que se define en lo siguiente:
w(n) = 1 sin=O, ,63,
w(n) = (128 -n)l64 sin =64, ...• 127
Ha de apreciarse que el módulo 14.020 siempre actualiza OVLP _TCX como OVLP _TCX = ACELP _ZIR
El parámetro nn~yn se actualiza en el descodificador de ACELP debido a que es utilizado en el descodificador de TCX para la ocultación del borrado de paquetes. Su actua lización en tramas descodificadas de ACELP consiste en computar, para cada subtrama, la síntesis de ACELP ponderada s.,(n) con el filtro de ponderaciórJ perceptivo 14.021, Y calcularla en el módulo 14.022;
donde L :: 256 (20 ms) es la longitud de trama de ACELP
Descodificación de TCX
En la Figura 15 se muestra una realización del descodificador de TCX Se utiliza un selector de conmutación 15.017 para manejar dos casos de descodificación diferentes·
Caso 1· Ocultación del borrado de paquetes en la TCX20, a través de los módulos 15.013 a 15.016, cuando la longitud de trama de TCX es 20 ms y el paquete en cuestión se ha perdido, es decir, BFI_TCX = 1, Y
Caso 2: Descodificación de TCX normal, posiblemente con pérdidas de paquete parciales, a través de los módulos 15.001 a 15.012.
En el Caso 1, no se dispone de ninguna información para descodificar la trama de TCX20. La síntesis de TCX se realiza mediante el tratamiento, a través de un filtro no lineal, equivalente. grosso modo, a 1/ A(z) (módulos 15.014 a 15.016), de la excitación pasada procedente de la trama de TCX descodificada previa, almacenada en el registro de almacenamiento intermedio de excitación 15.013 y retardada en T, donde T= tcxyaso es un retraso de paso de avance estimado en la trama de TCX previamente descodificada. Se utiliza un filtro no lineal en lugar del filtro 1f A{z) con el fin de evitar chasquidos en la síntesis. Este filtro se descompone en tres (3) bloques: un filtro 15.014 que tiene una función de transferencia A(z f )1 f A{z)/{1-a. Z·I ) para establecer una relación de correspondencia, o correlacionar, la excitación retardada por Tdentro del dominio de objetivo de TCX, un limitador 15.015 para limitar la magnitud a ±rmSwsyn, y, por último, un filtro 15.016 que tiene una función de transferencia {1-n z·l)f A{zI)1, a fin de encontrar la síntesis. El registro de almacenamiento intermedio OVLP_TCX se ajusta a cero en este caso
En el Caso 2, la descodificación de TCX implica descodificar los parámetros de va algebraica a través del desmultiplexador 15.001 y del descodificador 15 de parámetros de VO. Esta operación de descodificación se presenta en otra parle de la presente descripción. Como se ha indicado en la anterior descripción, el coojunto de coeficientes de transformada Y= [ Yo Y1 ... YN.l ], donde N = 288, 576 Y 1.152 para la TCX20, la TCX40 y la TCX80, respectivamente, se divide en K subveclores (bloques de coeficientes de transformada consecutivos) de 8
dimensiones. que se han representado en la red REs. El número K de subvectores es 36. 72 Y 144 para la TCX20. la TCX40 y la TCX80. respectivamente. Por lo tanto. los coeficientes Y pueden ser expandidos como y::: [ Yo Yl .
YK.l ]. con Yk =[YSk ... Y8k+7] Y k= O •... , K-1 .
El grado de rellenado con ruido ~es descod ificado en el descodificador 15.003 de grado de llenado con ruido. mediante la inversión de la cuantización escalar uniforme de 3 bits utilizada en el codificador. Para un índice O::; idxl :S 7. q"ido viene dado por: q"ido =0.1 • (8 -idXl ). Sin embargo. puede suceder que el índice idXl no esté disponible Este es el caso cuando BFLTCX =(1) en la TCX20. (1 x) en la TCX40. y (x 1 x x) en la TCX80. de tal modo que x representa un valor binario arbitrario. En este caso. q"ido se ajusta en su valor máximo. es decir. q"ido =0.8
Se inyecta ruido de confort en los subvectores Yk redondeados a cero y que corresponden a una frecuencia por encima de 6.4oof6 '" 1.067 Hz (módulo 15.004). Más precisamente. Z es inicia lizado como Z::: Y. y para K/6 ::; k ::; K (únicamente). si Yk ::: (O. O. . O). Z. es reemplazado por el vector de 8 dimensiones
donde las fases 01. 02. 03 Y 04 se han seleccionado aleatoriamente
El módulo de reversión del refuerzo de bajas frecuencias adaptativo 15.005 regula en escala los coeficientes de transformada de cada subvector z...para k =O. . Kf4-1. en un factor tac/( (módulo 21.004 de la Figura 21) que varía con k
El factor tack es. en realidad. una función monótona creciente. constante a fragmentos. de k. y se satura en 1 para una k::: kmu < KJ4 dada (es decir, tac* < 1 para k < kmu y tac* = 1 para k 2: kmu). El valor de kmax depende de Z. Para obtener tack. la energía €.le de cada subvector Z. se computa como sigue (módulo 21 .001 ):
€.le =
z./ z. + 0.01
donde el término 0.01 se ajusta arbitrariamente con el fin de evitar una energía cero (la inversa de €.le se computa posteriormente). A continuación. se busca la energía máxima a lo largo de los primeros KJ4 subvectores (módulo 21 .002)"
&n..x::: max (€t¡ •...• EKt4.1)
La computación real de raCk viene dada por la fórmula siguiente (módulo 21 .003):
taco =max( (qis"ax)o.s. 0.1)
fack =max( (alE'mu)o,s. fack.' ) para k = 1•...• KJ4-1
La estimación del paso de avance dominante se lleva a cabo por el dispositivo estimador 15.006 de manera tal. que la siguiente trama por descodificar puede ser apropiadamente extrapolada si corresponde a la TCX20 y si el paquete relacionado se ha perdido. Esta estimación está basada en la suposición de que el pico de magnitud máxima del espectro del objetivo de TCX se corresponde con el paso de avance dominante La búsqueda del máximo M está restringida a una frecuencia por debajo de 400 Hz:
M = maX¡_1...NI32( X'21)2 + (X'21+,)2
yel índice mínimo 1 :S ,;"... ::; N/32 . de tal manera que ( x'2i + (X'2i+,¡2 ::: M también es hallado Entonces. el paso de avance dominante es estimado en número de muestras. como Test = N f ima. (este valor puede no ser un entero). El avance de paso dominante es calculado para la ocultación de borrado de paquetes en la TCX20. A fin de evitar problemas de almacenamiento intermedio (al estar el registro de almacenamiento intermedio de excitación 15.013 limitado a 20 ms). si Test <!: 256 muestras (20 ms). tcxyaso se ajusta en 256; de otro modo. si Test::; 256, se evitan múltiples periodos de paso de avance en 20 ms mediante el ajuste de tcxyaso en
tcxyaso::: max {L n Tes! J I n entero > O Y n Test::; 256}
donde L . Jdenota el redondeo al entero más próximo hacia -0:;).
La transformada utilizada es. en una realización. una DFT y se implementa como FFT Debido al orden que se utiliza en el codificador de TCX. los coeficientes de transformada X' =( X'o. , X'N.' ) son tales que'
- o X'o corresponde al coeficiente de CC [corriente continua -"OC (direct current)"];
- o X', corresponde a la frecuencia de Nyquist (es decir. 6.400 Hz. puesto que la señal de objetivo en el dominio del tiempo se muestrea a 12.8 kHz); y
o los coeficientes X' 2k y X'2h !, para k = 1, ,Nf2-1, son las partes real e imaginaria de la componente de Fourier de frecuencia k(fNf2)' 6.400 Hz.
El módulo de FFT 15.007 siempre fuerza ><'1a valer O. Tras esta puesta a cero, se halla la señal de objetivo de TCX en el dominio del tiempo, x'w, en el módulo de FFT 15.007 por medio de la FFT inversa.
La ganancia de TCX (global) g,C>! es descodificada en el descodificador de ganancia global de TCX 15.008 al invertir la cuantización logarítmica de 7 bits que se utiliza en el codificador de TCX. Para hacer esto, el descodificador
17.008 computa el valor de r.m.s. de la señal de objetivo de TCX, x'w, como:
rms '" raíz cuadrada{1/N (x :...o2 + X:.,/ + + X:""L.?n
A partir de un índice O::;; idX2 :5: 127, la ganancia de TCX viene dada por:
_ IOidr¡ / 2S/(4.""S)
g TCX
La etapa de cuantización (logarítmica) es de en tomo a 0,71 dB.
Esta ganancia se utiliza en el multiplicador 15.009 para regular en escala x'wen Xw. A partir de la extrapolación de modo y de la estrategia de repetición de ganancia, tal y como se utiliza en esta realización ilustrativa, el índice idx2 queda disponible para el multiplicador 15.009. Sin embargo, en caso de pérdidas de paquete parciales (1 pérdida para la TCX40 y hasta dos pérdidas para TCX80), el bit menos significativo de idX2 puede ajustarse por defecto en O en el desmultiplexador 15.001.
Puesto que el codificador de TCX emplea un tratamiento con ventanas con solapaniento y la extracción de la ZIR ponderada, antes de la codificación de transformada de la señal de objetivo, la señal de objetivo de TCX reconstruida x = (xo, Xl, ... , XN-l ) se halla, en realidad, mediante adición con solapamiento en el módulo de síntesis
15.015. Esta adición con solapamiento depende del tipo de la trama descodificada previa (ACELP o TCX). Un primer generador de ventanas multiplica la señal de objetivo de TCX por una ventana adaptativa w =[wo Wl WN-1j·
Xi := Xi ' W¡, i =O, ., L-1
donde w se define por
W¡ =sen( n/ovlp_'en' (i+1 )/2 ), i= O, ... , ovlp_'en-1
W¡= 1, j= ov'p_'en, ... , L-1
W¡ =cos{nJ(L-N)' (i+1-L)l2), i= L, ... , N-1
Si ovlp_'en = O, es decir, si la trama descodificada previa es una trama de ACELP, la parte izquierda de esta ventana es saltada por medios de salto adecuados. A continuación, el solapamiento procedente de la trama descodificada pasada (OVLP_TCX) es añadido, a través de un sumador adecuado, a la señal x tratada con ventanas·
[xo ... x128 1:= [Xo ... x128 1+ OVLP_TCX
si ovlp_'en = O, OVLP_TCX es la ZIR ponderada de 10 ms de ACELP (128 muestras) de x . En caso contrario,
OVLP_TCX= [ x x ... x 00 ... 0],
'-----v----'
o¡'p _J.,~ mu"s/,os
donde ov'p_'en puede ser igual a 32, 64 o 128 (2,5 ms, 5 ms o 10 ms), lo que indica que la trama previamente descodificada es TCX20, TCX40 o TCX80, respectivamente.
La señal de objetivo de TCX reconstruida viene dada por [ Xo XL j Y las últimas N-L muestras son guardadas en el registro de almacenamiento intermedio OVLP_ TCX:
00 ... 0
~
128-( L-N )mlle5lrt1S
El objetivo de TCX reconstruido es filtrado en el filtro 15.011 por parte del filtro perceptivo inverso W\z) == {1-a z'\J A(z 1 npara encontrar la síntesis. La excitación es también calculada en el módulo 15.012 para actualizar el libro de códigos adaptativo de ACELP y permitir que conmute de TCX a ACELP en la trama subsiguiente. Nótese que la longitud de la síntesis de TCX viene dada por la longitud de trama de ACELP (sin el solapamiento)· 20 ms, 40 ms u 80ms.
Descodificación de la señal de frecuencia más alta (HF)
La descodificación de la señal de HF implementa una clase de mecanismo de prolongación de anchura de banda (BWE -~bandwidth extension") y se sirve de algunos datos procedentes del descodificador de LF. Se trata de una evolución del mecanismo de BWE utilizado en el descodificador de habla de AMR-WB. La estructura del descodificador de HF se ha ilustrado en la forma de un diagrama de bloques en la Figura 16. La cadena de sintesis de HF consiste en unos módulos 16.012 a 16.014. Más precisamente, la señal de HF es sintetizada en 2 etapas· cálculo de la señal de excitación de HF, y computación de la señal de HF a partir de la señal de excitaciÓfl de HF. La excitación de HF se obtiene mediante la conformación en el dominio del tiempo (multiplicador 16.012) de la señal de excitación de LF con factores escalares (o ganancias) por subtramas de 5 ms. Esta excitación de HF se trata ulteriormente en un módulo 16.013 con el fin de reducir el "zumbido" de la salida, y, a continuación, es filtrada por un filtro de sintesis linealmente predictivo de HF 16.014 que tiene una función de transferencia lIAHF(Z). Como se ha indicado en la descripción anterior, el orden de LP utilizado para codificar y, a continuación, descodificar la señal de HF es 8. El resultado es también tratado ulteriOfmente para suavizar las variaciones de energía en un módulo de suavizaciÓfl de energía de HF 16.015
El descodificador de HF sintetiza una supertrama de HF de 80 ms. Esta supertrama es segmentada de acuerdo con MODO =(mo, m1, mz, 11l3). Para ser más específico, las tramas descodificadas que se utilizan en el descodificador de HF son sincrónicas con las tramas utilizadas en el descodificador de LF. En consecuencia, mk :5: 1, mk == 2 Y mk == 3 indican, respectivamente, unas tramas de 20 ms, 40 ms y 80 ms. Se hace referencia a estas tramas como HF-20, HF-40 y HF-80, respectivamente
A partir de la cadena de sintesis anteriormente descrita, parece que los únicos parámetros necesarios para la descodificación de HF son los parámetros de ISF y de ganancia. Los parámetros de ISF representan el filtro 18.014 (11 AHF(z», en tanto que los parámetros de ganancia son utilizados para conformar la señal de excitación de LF utilizando el multiplicador 16.012. Estos parámetros son desmultiplexados a partir de la corriente de bits en el desmultiplexador 16.001 , basándose en MODO y conociendo el fOfmato de la corriente de bits
La descodificación de los parámetros de HF es controlada por una unidad de cootrol de descodificación de HF principal 16.002. Más particularmente, la unidad de control de descodificación de HF principal 16.002 controla la descodificación (descodificador de ISF 16.003) y la interpolación (módulo de interpolación de ISP 16.005) de los parámetros linealmente predictivos (LP -~Iinear-predictive"). La unidad de control de descodificación de HF principal
16.002 ajusta los indicadores de trama defectuosa adecuados para los descodificadores de ISF y de ganancia
16.003 y 16.009. También controla el registro de almacenamiento intermedio de salida 16.016 de la señal de HF de manera tal, que las tramas descodificadas son inscritas en los segmentos temporales del lado derecho del registro de almacenamiento intermedio de sa lida de 80 ms
La unidad de control de descodificación de HF principal 16.002 genera datos de control que son intemos al descodificador de HF: bfUs'-hf, GANANCIA_BFI, el número de subtramas para la interpolación de ISF y un selector de trama para establecer un puntero de trama en el registro de almacenamiento intermedio de salida 16.016. Excepto para el selector de trama, que es autoexplicativo, la naturaleza de estos datos se define con mayor detalle en lo que sigue de esta memoria:
};-bfi_isChf es un señalizador binario que indica pérdida de los parámetros de ISF Su definición se da más adelante a partir de BFI == (bflo, bfil, briz, bfiJ):
Para HF-20 en el paquete k, bfUs'-hf== bÑ.. ,
Para HF-40 en los paquetes k y k+1 , bfUs'-hf== bñ,.,
Para HF-80 (en paquetes k =O a 3), bfi_islhf= bfio
Esta definición puede ser fácilmente comprendida a partir del formato de corriente de bits. Como se ha indicado en la anterior descripciÓfl, los parámetros de ISF para la señal de HF se encuentran siempre en el primer paquete que describe HF-20, HF-40 o HF-80.
)-GANANCIA_BFI es un vector binario que se utiliza para pérdidas de paquete de señal hacia el descodificador de ganancia de HF: GANANCIA_BFI == (bÑ..) para HF-20 en el paquete k, ( bfi., bÑ..+l ) para HF-40 en los paquetes k y k+1 , GANANCIA_BFI = BFI para HF-BO
:> El número de subtramas para la interpolación de ISF hace referencia al número de subtramas de 5 ms dentro de la trama descodificada. Este número es 4 para HF-20, 8 para HF-40 y 16 para HF-80.
El vector de ISF isf_hC q es descodificado utilizando una va predictiva de AR(1) en el descodificador de ISF
16.003 _ Si bfI_is'-hf = D, el índ ice de 2 bits i1 de la primera etapa y el índ ice de 7 bits h de la segunda etapa están disponibles, e isChC q viene dado por
isf_hCq == cbl (il) + cb2(h) + medio_isChf + ¡J i$l_hf · mem_isChf
donde cb1 (ij) es el ij-ésimo vector de códigos del1er estadio, cb2(,iz) es ell2-ésimo vector de códigos del 20 estadio, medio_isf_hf es el vector de ISF medio, I-I ;s/J,I = 0,5 es el coeficiente de predicción de AR(1), y memJsf_hf es la memoria del descodificador predictivo de ISF. Si bfUslhf = 1, el vector de ISF descodificado corresponde al vector de ISF previo, desplazado hacia el vector de ISF medio·
isChf_q =a m_hI * mem_isChf + medio_isf_hf
con a ;s/_hl =0,9. Tras calcular isf_hf_q, la reordenación de ISF definida en la codificación de habla de la AMR-WB se aplica a isf_hf_q con un espacio de separación de ISF de 180 Hz. Por último, la memoria mem_isChf es actualizada para la siguiente trama de HF como·
mem_isChf = isf_hf_q -medio_isChf
El valor inicial de mem_isChf (en el restablecimiento del descodificador) es cero. Un convertidor 16.004 convierte los parámetros de ISF (en el dominio de la frecuencia) en parámetros de ISP (en el dominio del coseno).
El módulo de interpolación de ISP 16.005 realiza una simple interpolación lineal entre los parámetros de ISP de la trama de HF descodificada previa (HF-20, HF-40 o HF-80) y los nuevos parámetros de ISP descodificados. La interpolación se lleva a cabo en el dominio de ISF y da como resultado parámetros de ISF para cada subtrama de 5 ms, de acuerdo con la fórmula·
iSPSUblrama'¡ = iI nb * iSPNuevo + (1-i! nb) * iSPamiguo,
donde nb es el número de subtramas contenidas en la trama descodificada presente en ese momento (nb =4 para HF-20, 8 para HF-40, 16 para HF-80), i =O, nb-1 es el indice de subtrama, iSp""tiguo es el conjunto de parámetros de ISP obtenidos a partir de los parámetros de ISF de la trama de HF previamente descodificada, e ispnuevo es el conjunto de parámetros de ISP obtenidos de los parámetros de ISF descodificados en los procesadores 18.003. El convertidor 10.006 convierte, a continuación, los parámetros de ISP interpolados en coeficientes linealmente predictivos cuantizados AFZ(z) para cada subtrama
La computación de la ganancia ~cia en dB, en el módulo 16.007, se describe en los siguientes párrafos. Esta ganancia se interpola en el módulo 16.008 para cada subtrama de 5 ms basándose en su valor previo antigua_gcoircióencia, como:
donde nb es el número de subtramas contenidas en la trama descodificada presente en ese momento (nb =4 para HF-20, 8 para HF-40, 16 para HF-80), e i = O, ... , nb-1 es el índice de subtrama. Esto da como resu ltado un vector
(go g nl>-l )
Computación de estimación de ganancia para hacer coincidir la magnitud a 6.400 Hz (Módulo 16.007)
En la Figura 10b se ha representado el procesador 16.007. Puesto que este proceso se sirve únicamente de la versión cuantizada de los filtros de LPC, es idéntico a lo que ha computado el codificador en el estadio equivalente Una sinusoide amortiguada de frecuencia 6.400 Hz se genera por la computación de las 54 primeras muestras I h(O) h(1) ... h(63) 1 de la respuesta ante impulso h(n) del filtro autorregresivo de 1« orden 11(1 +0,9 z-\ que tiene un polo z = -0,9 (filtro 10.017). Esta señal de 5 ms h(n) es procesada o tratada a través del dispositivo de predicción (estadio cero) A(z) de orden 16, cuyos coeficientes son tomados del descodificador de LF (filtro 10.018), y, a continuación, el resultado es tratado a través del filtro de síntesis (estadio cero) 1! AHF(z) de orden 8, cuyos coeficientes son tomados del descodificador de HF (filtro 10.018) con el fin de obtener la señal x{n). Los 2 conjuntos de coeficientes de LP corresponden a la última subtrama de la trama descodificada en curso en ese momento de HF-20, HF-40 o HF-80 Se computa entonces una ganancia de corrección en dB como gc:oinciclencia = 10 lag 10 11 !(x(0)2 + X(1)2 + ... + x(63)2)], tal como se ha ilustrado en el módulo 10.028
Recuérdese que la frecuencia de muestreo de las señales tanto de LF como de HF es 12.800 Hz. Por otra parte, la señal de LF corresponde a la señal de audio de paso bajo, en tanto que la señal de HF es, espectralmente, una versión replegada de la señal de audio de paso alto. Si la señal de HF es una sinusoide a 6.400 Hz, esta se convierte, después del banco de filtros de sintesis, en una sinusoide a 6.400 Hz y no a 12.800 Hz. Como consecuencia de ello, parece que gCQincidencia se ha diseñado de tal modo que la magnitud de la respuesta en frecuencia replegada de 10/l.(gc.oinddenaJ20) / AHF(Z) coincide con la magnitud de la respuesta en frecuencia de 1/A(z) en tomo a 6.400 Hz.
Descodificación de ganancias de corrección y computación de ganancia (Descodificador de ganancia 16.009)
Como se ha descrito en la anterior descripción, después de la interpolación de ganancia, el descodificador de HF obtiene del módulo 16.008 las ganancias estimadas (g<»10, ge$\ ... , g(!$lnJ>.l ), en dB, para cada una de las nb
subtramas de la trama descodificada presente en ese momento. Por otra parte, nb == 4,8 Y 16 en la HF-20, la HF-40 y la HF-80, respectivamente. El papel del descodificador de ganancia 16.009 es descodificar las ganancias de corrección en dB, que se añadirán, a través de un sumador 16.010, a las ganancias estimadas para cada subtrama
con el fin de formar las ganancias descodificadas go, gl' ...,g nb-l'
donde
- ---
- el 0"
(go,gj,···,gnIJ-j ) ==(g 0, 1,
Por lo tanto, la descodificación de ganancia corresponde a la descodificación de cuantización escalar de VQ de dos estadios predictiva, en la que la predicción viene dada por la ganancia de coincidencia de unión de 6.400 Hz interpolada. La dimensión de cuantización es variable y es igual a nb.
Descodificación del1~estadio: El indice de 7 bits O S idx ::; 127 del libro de códigos de ganancia de HF de 4 dimensiones del 1er estadio, es descodificado en 4 ganancias (Go, G1, G2, G3). Un indicador de trama defectuosa bfi:: BFI_GANANCIAQ en la HF-20, la HF-40 y la HF-80, permite manejar las pérdidas de paquetes. Si bfi == O, estas ganancias son descodificadas como: (Go, G1, G2, G3):::: cb_ganancia_hf(idx) + media----.9anancia_hf donde cb_ganancia_hf(idx) es el vector de códigos idx-ésimo del libro de códigos cb-1Janancia_hf. Si bfi == 1, una memoria gananciayasada_h'-q es desplazada hacia -20 dB' gananciayasada_h'-q :==Uganar.cia_hf * (gananciayasada_h'-q + 20) -20, donde ~i~i_h!:: 0,9 y las 4 ganancias (Go, G1, G2, G3) son ajustadas en el mismo valor: Gk == gananciayasada_h'-q + media----.9anancia_hf, para k:: O, 1, 2 Y 3 A continuación, la memoria gananciayasada_h'-q es actualizada como: gananciayasada_h'-q := (Go, G l, G 2, G3)14 -media_ganancia_hf.
La computación de la reconstrucción del1 e< estadio se proporciona entonces como:
HF-20' (gelo, ifll, rflz, rf13) =(60, G1 , Gz, G3)
HF-40: (gC10.if\ ... , rf17) =(Go, Go, G1, G I, Gz, G2, G3, G3).
HF-80' (ge'o, if\ ,if'15) =(Go, Go, Go, Go, Gl, G I, G1, G1, G2, Gz, Gz, Gz, G3, G3, G3, G3)
Descodificación del ZO estadio' En la TCX-20, (rf20, if21, rfZ2, gc23) simplemente se ajusta en (O, O, O, O) Y no hay descodificación de 20 estadio real. En la HF-40, el índice de 2 bits O :>: idx¡ ::; 3 de la i-ésima subtrama, donde i:::: O, ... , 7, es descodificado como' Si bfi= O, ifz¡ =3 • idx¡ -4,5; si no, ifz¡ :: O. En la TCX-80, el indice de 3 bits de 16 subtramas O ::; idx¡::; 7 de la i--ésima subtrama, donde i = O, ,15, se descodifica como: Si bfi= O, ifz¡::3· idx¡-10,5; si no, if2¡ =0. En la TCX-40, la magnitud del segundo refinamiento escalar es de hasta ± 4,5 dB y, en la TCX-80, de hasta ±10,5 dB. En ambos casos, la etapa de cuantización es de 3 dB.
Reconstrucción de ganancia de HF,
. IOg,l20
Se computa entonces la gananCIa para cada subtrama en el módulo 16.011, como'
Módulo de reducción de zumbido 16.013 y módulo de suavización de energía de HF 16.015
El cometido del módulo de reducción de zumbido 16.013 consiste en atenuar los impulsos en la señal de excitación
de HF en el dominio del tiempo, fHF(n), que a menudo causan que la salida de audio suene ~zumbante· Los impulsos se detectan comprobando si el valor absoluto I rHF(n) I > 2 • umbfa~n) , donde umbfa~n) es un umbral adaptativo correspondiente a la envolvente en el dominio del tiempo de fHF(n). Las muestras fHF(n) que se detectan como impulsos están limitadas a ± 2' umbfa~n), donde ± es el signo de fHF(n).
Cada muestra fHF(n) de la señal de excitación de HF es filtrada por un filtro de paso bajo de 1 e' orden 0,021(1 0,98·z· 1) con el fin de actualizar umbfa~n). El valor inicial de umbfa~n) (en la restitución del descodificador) es O. La amplitud de la atenuación de los impulsos viene dada por
11 :: max( IfHF(n)l -2'umbra~n), 0,0)
De esta forma, 11 se ajusta en O si la muestra presente en ese momento no es detectada como un impulso, lo que dejará rHF(n) sin cambios. A continuación, el valor de corriente umbfa~n) del umbral adaptativo se modifica como:
umbfa~n) ::: umbfa~n) + 0,5' 11.
Por último, cada muestra fHF(n) se modifica como: f 'HF(n) :: fHF(n) -11 si fHF(n) ~ O, Y f 'HF(n) :: fHF(n) + II en caso contrario.
Las variaciones de energía de corto plazo de la síntesis de HF sHF(n) son suavizadas en el módulo 16.016. La energía es medida por cada subtrama. La energía de cada subtrama se modifica en hasta ± 1,5 dB basándose en un umbral adaptativo.
Para una subtrama dada [SHF(O) 5HF(1) _5HF(63)], la energía de subtrama se calcula como·
e2:: 0,0001 + 5HF(O)2+ sHF(1)2 + + sHF(63)2
El valor t del umbral es actualizado como·
t= mine é' 1,414, t ),
max{ é f 1,414, t ), en caso contrario.
La subtrama en curso en ese momento es entonces regulada en escala por ..J(t / c\
Tratamiento ulteriof y banco de fi"ros de síntesis
En la Figura 17 se ilustra el tratamiento ulterior de la síntesis de LF y de HF, así como la recombinación de las dos bandas para formar la anchura de banda de audio original
La síntesis de LF (que es la sa lida del descodificador de ACELP / TCX) es, en primer lugar, previamente refoaada por el filtro 17.001 de la función de transformada 1f(1-o.,efuerzopo-ev z·\ donde a",fue<zo po-ev :: 0,75. El resultado se hace pasar a través de un filtro ulterior de paso de avance de LF 17.002 con el fin de reducir el grado de ruido de codificación entre harmónicos de paso de avance únicamente en segmentos descodificados de ACELP. Este filtro ulterior toma como parámetros las ganancias de paso de avance 9p :: (gpO, gpl, , gp15) Y los retrasos de paso de avance T:: ( To, h ... , T1s) para cada subtrama de 5 ms de la supertrama de 80 ms. Estos vectores, gp y T se toman del descodificador de ACELP f TCX. El filtro 17.003 es el filtro de paso alto de 50 Hz de 20 orden que se utiliza en la codificación de habla de la AMR-WB
El tratamiento ulterior de la síntesis de HF se realiza a través de un módulo de retardo 17.005, el cual realiza una simple alineación temporal de la síntesis de HF para hacerla sincrónica con la síntesis de LF ulteriormente tratada La síntesis de HF es, por tanto, retardada 75 muestras con el fin de compensar el retardo generado por el filtro ulterior de paso de avance de LF 17.002
El filtro de bancos de síntesis se rea liza por medio del módulo de muestreo en sentido ascendente de LP 17.004, el módulo de muestreo en sentido ascendente de HF 17.007 Y el sumador 17.008. La velocidad de muestreo de salida FS :: 16.000 o 24.000 Hz se especifica como parámetro. El muestreo en sentido ascendente desde 12.800 Hz hasta FS en los módulos 17.004 y 17.007 se implementa de una manera similar a como se hace en la codificación de habla de la AMR-WB. Cuando FS :: 16.000, las señales ulteriormente filtradas de LF y HF son muestreadas en sentido ascendente en 5, tratadas ulteriormente por un filtro de FIR de 120-ésimo orden, y seguidamente muestreas en sentido descendente en 4 y reguladas en escala en 5/4. La diferencia entre los módulos de muestreo en sentido ascendente 17.004 y 17.007 está relacionado con los coeficientes del filtro de FIR de 120-ésimo orden. Similarmente, cuando FS :: 24.000, las señales ulteriormente filtradas de LF y HF son muestreadas en sentido ascendente en 15, tratadas por medio de un filtro de FIR de 268--ésimo orden, y seguidamente muestreadas en sentido descendente en 8 y reguladas en escala en 15fB. El sumador 17.008 combina, finalmente , las dos señales de LF y de HF muestreadas en sentido ascendente, con el fin de formar la supertrama de 80 ms de la señal de audio
de sa lida Si bien la presente invención se ha descrito anteriormente en esta memoria a modo de realización ilustrativa y no limitativa, debe tenerse en mente que estas rea lizaciones pueden ser modificadas a voluntad, dentro del alcance de las reivind icaciones que se acompañan.
Tabla A-1 Lista de los símbolos clave de acuerdo con la realización ilustrativa de la invención (a) Cuantización vectorial de REa a múltiples velocidades y autorregulable en escala
- Simbolo
- Significado Nota
- N
- Dimensión de la cuantización vectorial
- A
- Red (regular) en la dimensión N
- RE. xoX yoY n Q, , n, R
- Red de Gosset en la dimensión 8. Vector de fuente en la dimensión 8. Punto de red más próximo a! en REs Número de libro de códigos, restringido al conjunto {D, 2, 3, 4, 5, I Libro de códigos de red en A de índ ice n. índ ice del punto de red y de un libro de cód igos On. Representación binaria del número de libro de códigos n Asignación de bits a la cuantización vectorial de REa a múltiples velocidades y autorregulable en escala (es decir, presupuesto de bits disponible para cuantizar x) En el dispositivo de cuantizaci6n vectorial de REs a múltiples velocidades y autorregulable en escala, On es indexada con 4n bits . En el dispositivo de cuantización vectorial de REs a múltiples velocidades y autorregulable en escala, el indice i se representa con 4n bits. Véase la Tabla 2 para un ejemplo
(b) Cuantización vectorial de división de REa a múltiples velocidades y autorregulable en escala.
- Símbolo 1 1
- Significado Redondeo hasta el entero más próximo hacia +<.(l Nota En ocasiones denominado techoO
36
- Símbolo
- Significado Nota
- N
- Dimensión de la cuantización vectorial Múltiplo de 8
- K
- Número de subvectores de 8 dimensiones N -8K
- RE,
- Red de Gosset en la dimensión 8.
- RE, ~ • 9 • B º excentricidad fac y !!9. Q, "
- Producto cartesiano de REa (K veces)· REt=REs0 0 REa Vector de fuente de N dimensiones Vector de entrada de N dimensiones para cuant ización vectorial de división de REs Parámetro de ganancia de cuantización vectorial de conformación por ganancia Vector de energias de división (Ktuple) Vector de presupuesto de bits de división estimado (K-tuple) para 9 = 1 Vector de asignaciones de bits de división estimadas (K-tuple) para una excentricidad dada Excentricidad entera en el dominio logarítmico utilizado en la búsqueda discreta de la 9 óptima Estimación del grado de ruido Punto de red más próximo a K en REsK Vector de números de libros de códigos (K-tuple) Libro de códigos de red en REa de índice n. Vector de indices (K-tu pie) Esta es una red de N dimensiones K=1/g~ !1. = (e(O). .... e(K-1)) e(k) = z(8k) 2 + + z(8k+7) 2. 0 S k S K-1 B = IRID). .... RIK-I)) !2. = (b(O). .. .. b(K-1)) para una excentricidad dada. b(k) = R(k) excentricidad. si b(k) < O. b(k) := O g ::: 2e.cen~1O D:5; excentricidad $ 255 [!Sl = (nq(O). .. .• nq(K-1h) cada entrada nq(k) está restringida al conjunto {D. 2. 3. 4. 5. ) Qn se ha indexado con 4n bits i9. = (iq(O). ...• iq(K-1))
- Símbolo
- Significado Nota
- R
- Vector de representaciones bina rias (longitud variable) para los números de libros de códigos de lliÍ. Asignación de bits a cuantizaciÓfl vectorial de división de REs a mú ltiples velocidades y autorregu lab le en escala (es decir, presupuesto de bits disponible para cuantizar x) Vector de números de libro de códigos (K-tuple) tal , que el presupuesto de bits necesa rio para la mu ltiplexación El índ ice iq(k) se ha representado con 4nq(k) bits Véase la Tabla 2 para un ejemplo. lliÍ. = (nq'(O), ..., nq'(K-1)) cada entrada nq'(k)Q está restringida al conjunto {O, 2, 3, 4, 5, ...}.
- último parm
- de !1!l.E. e fg (hasta el último subvector) no excede de R índ ice del último subvector que se ha de multiplexar en la tabla de formateado pann índ ices de subvectores clasificados con respecto a sus energías de división Tabla de formateado entera para mu ltiplexación 0 ::;úffimo 5 K-1 es2§. = (pos(O), , pos(K-1h) es2§. es una permutación de (O, 1, , K-1) e(pos(O)) ~ e(pos(1)) ~ ~ e(pos(K1)) rR/41 entradas enteras
- pos; posn
- Puntero para inscribir I leer indices en el formateado de la tabla pann Puntero para inscribir { leer números de libros de códigos en el formateado de la tabla parm Cada entrada tiene 4 bits , excepto para la última que tiene (R mod 4) bits si R no es un múltiplo de 4, en caso contrario, 4 bits En el caso de paquete único: in icia lizado en O, incrementado por etapas enteras múltiplos de 4 En el caso de paquete individual: in icia lizado en R-1 , reducido en etapas enteras
(c) Codificación de transformada basada en cuantlzaclón vectonal de divIsión de REs a multlples veloCIdades y autorregulable en escala:
- Simbolo
- Significado Nota
- N
- Dimensión de la cuantización vectorial
- RE. R
- Red de Gosset en la dimensión 8. Asignación de bits a la cuantización vectorial de REs a múltiples
- Símbolo
- Significado velocidades y autorregulable en escala (es decir, presupuesto de bits disponible para cuantizar xl Nota
REFERENCIAS
- (Jayanl, 1984)
- N. S. Jayant y P. Noli, Digita/ Coding of Waveforms ~PrincipIes and Applications lo Speech and Video, Prenlice-Hall, 1984
- (Gersho, 1992)
- A. Gersho y R. M. Gray, Vectorquantization and signal compression , Kluwer Academic Publishers, 1992
- (Keijn, 1995)
- W. B. Kleijn y K P. Paliwal, Speech coding and synrhesis, Elsevier, 1995
- (Gibson, 1988)
- J. D. Gibson and K. Sayood, "Lattice Quantization", Adv. Eleclron. Phys., vol . 72, págs. 259-331, 1988
- (Lefebvre, 1994)
- R. Lefebvre, R. Salami , C. Laflamme y J.-P. Adoul, "High qua/ity coding of wideband audio signa/s using lransform coded excitarion (TCX)", Proceedings IEEE Inlemalional Conference on Acoustics, Speech, and Signal Processing (ICASSP), vol 1,1922 de abril de 1994, págs. 11193 -1/196
- (Xie, 1996)
- M. Xie y J.-P. Adoul, "Embedded a/gebraic vectorquantizers (EAVQ) with application to wideband speech codinif, Proceedings IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), vol. 1, 7-10 de mayo de 1996, págs. 240-243
- (Ragot, 2002)
- S . Ragot, B. Besselle y J.-P. Adoul, A method and Sysfem for Multi-Rate Lattice Vector Quantization ofa Signa/, Solicitud PCT WO 03103151 A1
- (Jbira, 1998)
- A. Jbira, N. Moreau y P Dymarski, "Low delay coding of wideband audio (20 Hz 15 kHz) af 64 kbps", Proceedings IEEE Internalional Conference on Acouslics, Speech, and Signal Processing (ICASSP), vol 6, 12-15de mayo de 1998, págs. 3645 -3648
- (SchnilzJer, 1999)
- J . Shnitzler el al., "Wideband speech coding using forward / backward adaptive prediction with mixed time / frequency domain excitatian", Proceedings IEEE Workshop on Speech Coding Processing, 20-23 de junio de 1999, págs. 4-6
- (Moreau, 1992)
- N. Moreau y P. Dymarski, "Succesive orlhogonalizations in the multis/age GELP coder', Proceedings IEEE International Conference on Acouslics, Speech, and Signal Processing (ICASSP), 1992, págs. 61-64
- (Besselle, 2002)
- B. Besselle el al., " The adaptative multirate wideband speech codec (AMR-WB)", IEEE Transactions on Speech and Audio Processing, vol. 10, nO 8, noviembre de 2002, págs. 620-636
- (Besselle, 1999)
- B. Besselle, R. Salami, C. Laflamme y R. Lefebvre, ~A wideband speech and audio codec a/ 16/24/32 kbitls using hybrid ACELP / TGXtechniques", Proceedings IEEE Workshop on Speech Coding Proceedings, 20-23 de junio de 1999, págs. 7-9
- (Chen, 1997)
- J.-H. Chen, "A candidate coder for the ITU-T's new wideband speech coding standard", Proceedings IEEE Intemational Conference on Acoustics, Speech, and Signal Processing (ICASSP), vol. 2, 21-24 de abril de 1997, págs. 1359-1362
- (Chen, 1996)
- J .-H. Chen y D. Wang, " Transform predictive coding ofwideband speech signa/s", Proceedings IEEE Internalional Conference on Acoustics, Speech, and Signal Processing (ICASSP), vol 1,7-10 de mayo de 1996, págs. 275-278
40
- (Ramprashad, 2001)
- S _A_Ramprashad, "The multimode transform pred ictive cod ing parad igm", IEEE Transactions on Speech and Audio Processing, vol. 11 , nO 2, marzo de 2003, págs . 117-129
- (Combes cure, 1999)
- P. Combescure et al. , "A 16, 24, 32 kbifls widebandspeech codee based on ATCELP', Proceedings IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), vol. 1, 15-19 de marzo de 1999, págs_ 5-8
- (3GPP TS 26.190)
- 3GPP TS 26.190, "AMR Wideband Speech Codee; Transooding Functions".
- (3GPP TS 26.173)
- 3GPP TS 26 .173, "ANSI-C code far AMR Wideband speech codee".
- Parámetro
- Asignación de bits por cada trama de 20 ms
- 13,6 k
- 16,8 k 19,2 k 20,8 k 24 k
- Parámetros de lSF
- 46
- Energía media
- 2
- Retraso de paso de avance
- 32
- Filtro de paso de avance
- 4 x 1
- Parámetro
- Asignación de bits por cada trama de 20 ms
- 13,6 k
- 16,8 k I 19,2 k I 20,8 k I 24k
- Parámetros de ISF
- 46
- Energía media
- 2
- Retraso de paso de avance
- 32
- Filtro de paso de avance
- 4 x 1
- Indices de libro de códigos fijo
- 4 "6 4 x52 4 x64 4 x72 4>88
- Ganancias de libro de códigos
- 4x7
- Total en bits
- 254 31B 366 39B 462
Tabla 4. Asignación de bits para una trama de ACELP de 20 ms
- Parámetro
- Asignación de bits por cada trama de 20 ms
- 13,6 k
- 16,8 k 19,2 k 20,8 k 24 k
- Parámetros de ISF
- 46
- Factor de ru ido
- 3
- Ganancia global
- 7
- VQ algebraica
- 198 262 310 342 406
- Total en bits
- 254 31B 366 39B 462
Tabla 5a. Asignación de bits para una trama de TCX de 20 ms
- Parámetro
- Asignación de bits por cada trama de 40 ms (111 trama de 20 ms, ZII trama de 20 ms)
- 13,6 k
- 16,8 k 19,2 k 20,8 k 24 k
- Parámetros de ISF
- 46 (16,30)
- Factor de ruido
- 3 (3 ,0)
- Ganancia global
- 13 (7,6)
- VQ algebraica
- 446 (228,218) 574 (292,282) 670 (340,330) 734 (372,362) 862 (436,426)
- Total en bits
- 508 636 732 796 924
Tabla 5b. Asignación de bits para una trama de TCX de 40 ms
- Parámetro
- Asignación de bits por cada trama de 80 ms (111, 211 , 311 Y 48 tramas de 20 ms)
- 13,6 k
- 16,8 k 19,2 k 20,8 k 24 k
- Parámetros de ISF
- 46 (16,6,12,12)
- Factor de ruido
- 3 (0 ,3,0,0)
- Ganancia global
- 16 (7,3,3,3)
- VQ algebraica
- 960 (231,242,239,239) 1207 (295,306,303,303) 1339 (343,354,359,359) 1536 (375,386,383,383) 1792 (439,450,447,447)
- Total en bits
- 1016 1272 1464 1592 1848
Tabla Sc. Asignación de bits para una trama de TCX de 80 ms.
- Parámetro
- Asignación de bits para trama de 20 140 / 80 ms
- Parámetros de ISF
- 9 (2 + 7)
- Ganancia
- 7
- Correcciones de ganancia
- 0/ 8x2 / 16x3
- Total en bits
- 16 / 32f 64
Tabla 6. Asignación de bits para prolongación de anchura de banda.
lOen
Claims (26)
- REIVINDICACIONES1.-Un método para conmutar de un modo de codificación de señal de sonido de ACELP a un modo de codificación de señal de sonido de TCX en la unión entre una trama previa codificada de acuerdo con el modo de codificación de ACELP, y una trama presente en ese momento, codificada de acuerdo con el modo de codificación de TCX, de tal manera que la senal de sonido es filtrada a través de un filtro de ponderación para producir, en la trama presente en ese momento, una señal ponderada, que comprende·calcular una respuesta ante entrada nula del filtro de ponderación;truncar y tratar con ventanas la respuesta ante entrada nula, de tal manera que dicha respuesta ante entrada nula tenga una amplitud que decrece monótonamente hasta cero tras un periodo de tiempo predeterminado; yla trama presente en ese momento, extraer o suprimir de la senal ponderada la respuesta ante entrada nula, truncada y tratada con ventanas
- 2.-Un método para conmutar de un modo de codificación de señal de sonido de ACELP a un modo de codificación de señal de sonido de TCX, de acuerdo con la reivindicación 1, en el cual calcular una respuesta ante entrada nula del filtro de ponderación comprende calcular una respuesta ante entrada nula en el dominio ponderado.
- 3.-Un método para conmutar de un modo de codificación de señal de sonido de ACELP a un modo de codificación de señal de sonido de TCX, de acuerdo con la reivindicación 1, en el cual truncar y tratar con ventanas la respuesta ante entrada nula comprende truncar dicha respuesta ante entrada nula hasta el periodo de de tiempo predeterminado.
- 4.-Un método para conmutar de un modo de codificación de señal de sonido de ACELP a un modo de codificación de señal de sonido de TCX, de acuerdo con la reivindicación 1, que comprende, una vez que se ha extraído o suprimido la respuesta ante entrada nula, truncada y tratada con ventanas, de la señal ponderada, tratar con ventas la señal ponderada hasta formar una trama de TCX de una duraciÓn predeterminada
- 5.-Un método para conmutar de un modo de codificación de señal de sonido de ACELP a un modo de codificación de señal de sonido de TCX, de acuerdo con la reivindicación 4, que comprende adicionalmente transformar al dominio de la frecuencia la señal ponderada, tratada con ventanas hasta formar una trama de TCX de una duración predeterminada
- 6. -Un método para conmutar de un modo de codificación de señal de sonido de ACELP a un modo de codificación de señal de sonido de TCX, de acuerdo con la reivindicación 1, en el cual el filtro de ponderación es un filtro de ponderación perceptivo.
- 7.-Un dispositivo para conmutar de un modo de codificación de señal de sonido de ACELP a un modo de codificación de señal de sonido de TCX en la uniórJ entre una trama previa codificada de acuerdo con el modo de codificación de ACELP, y una trama presente en ese momento, codificada de acuerdo con el modo de codificación de TCX, de tal manera que la señal de sonido es filtrada a través de un filtro de ponderación para producir, en la trama presente en ese momento, una señal ponderada, que comprende:medios para calcular una respuesta ante entrada nula del filtro de ponderación;medios para truncar y tratar con ventanas la respuesta ante entrada nula, de tal manera que dicha respuesta ante entrada nula tenga una amplitud que decrece monótonamente hasta cero tras un periodo de tiempo predeterminado; ymedios para, en la trama presente en ese momento, extraer o suprimir de la señal ponderada la respuesta ante entrada nula, truncada y tratada con ventanas
- 8.-Un dispositivo para conmutar de un modo de codificación de señal de sonido de ACELP a un modo de codificación de señal de sonido de TCX en la unión entre una trama previa codificada de acuerdo con el modo de codificación de ACELP, y una trama presente en ese momento, codificada de acuerdo con el modo de codificación de TCX, de tal manera que la señal de sonido es filtrada a través de un filtro de ponderación para producir, en la trama presente en ese momento, una señal ponderada, que comprende:un dispositivo calculador para calcular una respuesta ante entrada nula del filtro de ponderación;un generador de ventanas para truncar y tratar con ventanas la respuesta ante entrada nula, de tal manera que dicha respuesta ante entrada nula tenga una amplitud que decrece monótonamente hasta cero tras un periodo de tiempo predeterminado; yun sumadOf para, en la trama presente en ese momento, extraer o suprimir de la señal ponderada la respuesta ante entrada nula, truncada y tratada con ventanas.
- 9.-Un dispositivo para conmutar de un modo de codificación de señal de sonido de ACELP a un modo de codificación de señal de sonido de TCX, de acuerdo con la reivindicación 8, en el cual el dispositivo calculador de respuesta ante entrada nula calcula una respuesta ante entrada nula en el dominio ponderado.
- 10. -Un dispositivo para conmutar de un modo de codificación de señal de sonido de ACELP a un modo de codificación de señal de sonido de TCX, de acuerdo con la reivindicación 8, en el cual el generador de ventanas trunca la respuesta ante entrada nula para el periodo de tiempo predeterminado
- 11 .-Un dispositivo para conmutar de un modo de codificación de señal de sooido de ACELP a un modo de codificación de señal de sonido de TCX, de acuerdo con la reivindicación 8, que comprende otro generador de ventanas para tratar con ventanas, después de que la respuesta ante entrada nula, truncada y tratada con ventanas, se ha suprimido de la señal ponderada, la señal ponderada hasta formar una trama de TCX de una duración predeterminada .
- 12.-Un dispositivo para conmutar de un modo de codificación de señal de sonido de ACELP a un modo de codificación de señal de sonido de TCX, de acuerdo con la reivindicación 11 , que comprende adicionalmente un módulo de transformada en frecuencia que, en funcionamiento, transforma en el dominio de la frecuencia la señal ponderada tratada con ventanas hasta formar una trama de TCX de una duración predeterminada
- 13.-Un dispositivo para conmutar de un modo de codificación de señal de sonido de ACELP a un modo de codificación de señal de sonido de TCX, de acuerdo con la reivindicación 8, en el cual el filtro de ponderación es un filtro de ponderación perceptivo
- 14.-Un método para producir, a partir de una señal de objetivo descodificada, una señal de objetivo de solapamiento y adición, dentro de una trama en curso en ese momento, codificada de acuerdo con un modo de codificación de TCX, que comprende:tratar con ventanas la señal de objetivo descodificada de la trama en curso en ese momento, dentro de una ventana dada;saltarse una porción izquierda de la ventana; calcular una respuesta ante entrada nula de un filtro de ponderación de la trama previa codificada de acuerdo con un modo de codificación de ACELP, y truncar y tratar con ventanas la respuesta ante entrada nula, de tal manera que dicha respuesta ante entrada nula tenga una amplitud que decrece monótonamente hasta cero tras un periodo de tiempo predeterminado; ysumar la respuesta ante entrada nula, truncada y tratada con ventanas, a la señal de objetivo descodificada, a fin de reconstruir dicha señal de objetivo de solapamiento y adición
- 15.-Un método para producir una señal de objetivo de solapamiento y adición de acuerdo con la reivindicación 14, que comprende ponderar la respuesta ante entrada nula calculada, antes de tratar con ventanas dicha respuesta ante entrada nula.
- 16.-Un método para producir una señal de objetivo de solapamiento y adición de acuerdo con la reivindicación 15, en el cual la ponderación de la repuesta ante entrada nula calculada comprende ponderar perceptivamente dicha respuesta ante entrada nu la calculada
- 17.-Un método para producir una señal de objetivo de solapamiento y adición de acuerdo con la reivindicación 14, que comprende guardar en un registro de almacenamiento intermedio una última porción de muestras de la trama presente en ese momento
- 18.-Un método para producir una señal de objetivo de solapamiento y adición de acuerdo con la reivindicación 14, en el cual la respuesta ante entrada nula calculada, truncada y tratada con ventanas, tiene una amplitud que decrece monótonamente hasta cero después de 10 ms
- 19.-Un dispositivo para producir, a partir de una señal de objetivo descodificada, una señal de objetivo de solapamiento y adición en una trama presente en ese momento, codificada de acuerdo con un modo de codificación de TCX, que comprende ·medios para tratar con ventanas la señal de objetivo descodificada de la trama en curso en ese momento, dentro de una ventana dada;medios para saltarse una porción izquierda de la ventana;medios para calcular una respuesta ante entrada nula de un filtro de ponderaciÓfl de la trama previa codificada de acuerdo con un modo de codificación de ACELP, y medios para truncar y tratar con ventanas la respuesta ante entrada nula, de tal manera que dicha respuesta ante entrada nula tenga una amplitud que decrece monótonamente hasta cero tras un periodo de tiempo predeterminado; ymedios para sumar la respuesta ante entrada nula, truncada y tratada con ventanas, a la señal de objetivo descodificada, a fin de recoostruir dicha señal de objetivo de solapamiento y adición.
- 20.-Un dispositivo para producir, a partir de una señal de objetivo descodificada, una señal de objetivo de solapamiento y adición en una trama presente en ese momento, codificada de acuerdo con un modo de codificación de TCX, que comprende:un primer generador de ventanas para tratar con ventanas la señal de objetivo descodificada de la trama presente en ese momento, dentro de una ventana dada;medios para saltarse una porción izquierda de la ventana;un dispositivo calculador de una respuesta ante entrada nula de un filtro de ponderación de la trama previa, codificada de acuerdo con un modo de codificación de ACELP, y un segundo generador de ventanas para truncar y tratar con ventanas la respuesta ante entrada nula, de tal manera que dicha respuesta ante entrada nula tenga una amplitud que decrece monótonamente hasta cero tras un periodo de tiempo predeterminado; yun sumador para sumar la respuesta ante entrada nula, truncada y tratada con ventanas, a la señal de objetivo descodificada, a fin de recoostruir dicha señal de objetivo de solapamiento y adición.
- 21.-Un dispositivo para producir una señal de objetivo de solapamiento y adición de acuerdo con la reivindicación 20, que comprende un filtro para ponderar la respuesta ante entrada nula calculada, antes de tratar con ventanas dicha respuesta ante entrada nula calculada
- 22.-Un dispositivo para producir una señal de objetivo de solapamiento y adición de acuerdo con la reivindicación 21 , en el cual el filtro de ponderación es un filtro de ponderación perceptivo.
- 23.-Un dispositivo para producir una señal de objetivo de solapamiento y adición de acuerdo con la reivindicación 20, que comprende un registro de almacenamiento intermedio para guardar una última porción de muestras de la trama presente en ese momento.
- 24.-Un dispositivo para producir una señal de objetivo de solapamiento y adición de acuerdo con la reivindicación 20, en el cual la respuesta ante entrada nula calculada, truncada y tratada con ventanas, tiene una amplitud que decrece monótooamente hasta cero después de 10 ms
- 25.-El método de acuerdo con la reivindicación 1, que comprende adicionalmente reforzar en bajas frecuencias el espectro de la señal ponderada de la que se ha extraído o suprimido la respuesta ante entrada nula, truncada y tratada con ventanas, transformado en un dominio de frecuencia utilizando una Transformada de Fourier Rápida, de tal manera que el espectro comprende coeficientes de transformada agrupados en un cierto número de bloques, comprendiendo el reforzamiento en bajas frecuencias del espectro·calcular una energía máxima Ema. para un bloque que tiene un cierto indice de posición;calcular un factor Rm para cada bloque que tiene un índice de posición m más pequeño que el índice de posición del bloque con la energía máxima Emu, de tal manera que el cálculo del factor Rm comprende, para cada bloque:computar una energía Em del bloque; ycomputar el factor Rm a partir de la energía máxima calculada Ema. y de la energía computada Em del bloque, utilizando la relación Rm =EmaJEm, donde, si Rm > 10, entonces Rm se ajusta en 10, y si Rm > R(m_l), entooces Rm se ajusta en R(m_l); ypara cada bloque, determinar a partir del factor Rm una ganancia (Rm) 1/4 aplicada a los coeficientes de transformada del bloque
- 26.-El dispositivo de acuerdo con la reivindicación 7, que comprende medios para reforzar en bajas frecuencias el espectro de la señal ponderada, de la que se ha extraído o suprimido la respuesta ante entrada nula, truncada y tratada con ventanas, transformado en un dominio de frecuencia utilizando una Transformada de Fourier Rápida, de tal manera que el espectro comprende coeficientes de transformada agrupados en un cierto número de bloques, y los medios de refuerzo de en bajas frecuencias del espectro comprenden·medios para calcular una energia máxima Ema>: para un bloque que tiene un cierto índice de posición;medios para calcular un factor Rm para cada bloque que tiene un índice de posición m más pequeño que el índice de posición del bloque con la energía máxima Emu, de tal manera que los medios de cálculo del factor comprenden, para cada bloque·medios para computar una energía Em del bloque; y med ios para computa r el factor Rm a partir de la energia máxima calculada Emax Y de la energia computadaEm del bloque, utilizando la relación Rm =EmaJEm, donde, si Rm > 10, entonces Rm se ajusta en 10, y si R.,.,> R(rn .1), entonces Rm se ajusta en R{rn.l); ymedios para determinar, para cada bloque y a partir del factor Rm una ganancia (R.,.,)1/4 aplicada a los coeficientes de transformada del bloque.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CA002457988A CA2457988A1 (en) | 2004-02-18 | 2004-02-18 | Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization |
| CA2457988 | 2004-02-18 | ||
| PCT/CA2005/000220 WO2005078706A1 (en) | 2004-02-18 | 2005-02-18 | Methods and devices for low-frequency emphasis during audio compression based on acelp/tcx |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2433043T3 true ES2433043T3 (es) | 2013-12-09 |
Family
ID=34842422
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES05706494T Expired - Lifetime ES2433043T3 (es) | 2004-02-18 | 2005-02-18 | Conmutación del modo de codificación ACELP a TCX |
Country Status (12)
| Country | Link |
|---|---|
| US (2) | US7979271B2 (es) |
| EP (1) | EP1719116B1 (es) |
| JP (1) | JP4861196B2 (es) |
| CN (1) | CN1957398B (es) |
| AU (1) | AU2005213726A1 (es) |
| BR (1) | BRPI0507838A (es) |
| CA (2) | CA2457988A1 (es) |
| DK (1) | DK1719116T3 (es) |
| ES (1) | ES2433043T3 (es) |
| PT (1) | PT1719116E (es) |
| RU (1) | RU2389085C2 (es) |
| WO (1) | WO2005078706A1 (es) |
Families Citing this family (201)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7483386B2 (en) * | 2005-03-31 | 2009-01-27 | Alcatel-Lucent Usa Inc. | Adaptive threshold setting for discontinuous transmission detection |
| US7707034B2 (en) * | 2005-05-31 | 2010-04-27 | Microsoft Corporation | Audio codec post-filter |
| FR2888699A1 (fr) * | 2005-07-13 | 2007-01-19 | France Telecom | Dispositif de codage/decodage hierachique |
| JP4876574B2 (ja) | 2005-12-26 | 2012-02-15 | ソニー株式会社 | 信号符号化装置及び方法、信号復号装置及び方法、並びにプログラム及び記録媒体 |
| US20090281812A1 (en) * | 2006-01-18 | 2009-11-12 | Lg Electronics Inc. | Apparatus and Method for Encoding and Decoding Signal |
| JP5457171B2 (ja) * | 2006-03-20 | 2014-04-02 | オランジュ | オーディオデコーダ内で信号を後処理する方法 |
| ATE533289T1 (de) * | 2006-05-26 | 2011-11-15 | Incard Sa | Verfahren zum implementieren von voice over ip mittels eines mit einem paketorientierten netz verbundenen elektronischen geräts |
| KR20070115637A (ko) * | 2006-06-03 | 2007-12-06 | 삼성전자주식회사 | 대역폭 확장 부호화 및 복호화 방법 및 장치 |
| US8682652B2 (en) | 2006-06-30 | 2014-03-25 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder, audio decoder and audio processor having a dynamically variable warping characteristic |
| JP5205373B2 (ja) * | 2006-06-30 | 2013-06-05 | フラウンホーファーゲゼルシャフト・ツア・フェルデルング・デア・アンゲバンテン・フォルシュング・エー・ファウ | 動的可変ワーピング特性を有するオーディオエンコーダ、オーディオデコーダ及びオーディオプロセッサ |
| US8024192B2 (en) * | 2006-08-15 | 2011-09-20 | Broadcom Corporation | Time-warping of decoded audio signal after packet loss |
| US8239190B2 (en) * | 2006-08-22 | 2012-08-07 | Qualcomm Incorporated | Time-warping frames of wideband vocoder |
| JP4827661B2 (ja) * | 2006-08-30 | 2011-11-30 | 富士通株式会社 | 信号処理方法及び装置 |
| WO2008035949A1 (en) * | 2006-09-22 | 2008-03-27 | Samsung Electronics Co., Ltd. | Method, medium, and system encoding and/or decoding audio signals by using bandwidth extension and stereo coding |
| US7953595B2 (en) | 2006-10-18 | 2011-05-31 | Polycom, Inc. | Dual-transform coding of audio signals |
| US7966175B2 (en) | 2006-10-18 | 2011-06-21 | Polycom, Inc. | Fast lattice vector quantization |
| USRE50158E1 (en) | 2006-10-25 | 2024-10-01 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for generating audio subband values and apparatus and method for generating time-domain audio samples |
| ES2993633T3 (en) | 2006-10-25 | 2025-01-03 | Fraunhofer Ges Forschung | Apparatus for audio signal processing |
| JPWO2008053970A1 (ja) * | 2006-11-02 | 2010-02-25 | パナソニック株式会社 | 音声符号化装置、音声復号化装置、およびこれらの方法 |
| US8639500B2 (en) * | 2006-11-17 | 2014-01-28 | Samsung Electronics Co., Ltd. | Method, medium, and apparatus with bandwidth extension encoding and/or decoding |
| KR101434198B1 (ko) * | 2006-11-17 | 2014-08-26 | 삼성전자주식회사 | 신호 복호화 방법 |
| EP1927981B1 (en) * | 2006-12-01 | 2013-02-20 | Nuance Communications, Inc. | Spectral refinement of audio signals |
| EP2096631A4 (en) * | 2006-12-13 | 2012-07-25 | Panasonic Corp | TONE DECODING DEVICE AND POWER ADJUSTMENT METHOD |
| FR2911031B1 (fr) * | 2006-12-28 | 2009-04-10 | Actimagine Soc Par Actions Sim | Procede et dispositif de codage audio |
| FR2911020B1 (fr) * | 2006-12-28 | 2009-05-01 | Actimagine Soc Par Actions Sim | Procede et dispositif de codage audio |
| KR101379263B1 (ko) * | 2007-01-12 | 2014-03-28 | 삼성전자주식회사 | 대역폭 확장 복호화 방법 및 장치 |
| CN101231850B (zh) * | 2007-01-23 | 2012-02-29 | 华为技术有限公司 | 编解码方法及装置 |
| US20080208575A1 (en) * | 2007-02-27 | 2008-08-28 | Nokia Corporation | Split-band encoding and decoding of an audio signal |
| JP4871894B2 (ja) * | 2007-03-02 | 2012-02-08 | パナソニック株式会社 | 符号化装置、復号装置、符号化方法および復号方法 |
| RU2463674C2 (ru) * | 2007-03-02 | 2012-10-10 | Панасоник Корпорэйшн | Кодирующее устройство и способ кодирования |
| GB0704622D0 (en) * | 2007-03-09 | 2007-04-18 | Skype Ltd | Speech coding system and method |
| US8630863B2 (en) * | 2007-04-24 | 2014-01-14 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding audio/speech signal |
| CN102271024B (zh) * | 2007-06-10 | 2014-04-30 | 华为技术有限公司 | 帧补偿方法及系统 |
| CN101321033B (zh) * | 2007-06-10 | 2011-08-10 | 华为技术有限公司 | 帧补偿方法及系统 |
| EP2159790B1 (en) * | 2007-06-27 | 2019-11-13 | NEC Corporation | Audio encoding method, audio decoding method, audio encoding device, audio decoding device, program, and audio encoding/decoding system |
| US20090006081A1 (en) * | 2007-06-27 | 2009-01-01 | Samsung Electronics Co., Ltd. | Method, medium and apparatus for encoding and/or decoding signal |
| CN100583649C (zh) | 2007-07-23 | 2010-01-20 | 华为技术有限公司 | 矢量编/解码方法、装置及流媒体播放器 |
| KR101369064B1 (ko) * | 2007-07-27 | 2014-02-28 | 파나소닉 주식회사 | 음성 부호화 장치 및 음성 부호화 방법 |
| JP5045295B2 (ja) * | 2007-07-30 | 2012-10-10 | ソニー株式会社 | 信号処理装置及び方法、並びにプログラム |
| JP5098492B2 (ja) * | 2007-07-30 | 2012-12-12 | ソニー株式会社 | 信号処理装置及び信号処理方法、並びにプログラム |
| KR101410229B1 (ko) * | 2007-08-20 | 2014-06-23 | 삼성전자주식회사 | 오디오 신호의 연속 정현파 신호 정보를 인코딩하는 방법및 장치와 디코딩 방법 및 장치 |
| MX2010001394A (es) | 2007-08-27 | 2010-03-10 | Ericsson Telefon Ab L M | Frecuencia de transicion adaptiva entre llenado de ruido y extension de anchura de banda. |
| DK3401907T3 (da) | 2007-08-27 | 2020-03-02 | Ericsson Telefon Ab L M | Fremgangsmåde og indretning til perceptuel spektral afkodning af et audiosignal omfattende udfyldning af spektrale huller |
| CN100524462C (zh) * | 2007-09-15 | 2009-08-05 | 华为技术有限公司 | 对高带信号进行帧错误隐藏的方法及装置 |
| BRPI0818042A8 (pt) * | 2007-10-15 | 2016-04-19 | Lg Electronics Inc | Método e aparelho para processar um sinal |
| KR101540138B1 (ko) * | 2007-12-20 | 2015-07-28 | 퀄컴 인코포레이티드 | 적응적 조사영역을 갖는 모션추정 장치 및 방법 |
| CN101953167B (zh) * | 2007-12-20 | 2013-03-27 | 高通股份有限公司 | 减少光晕的图像插值 |
| CN101572092B (zh) * | 2008-04-30 | 2012-11-21 | 华为技术有限公司 | 编解码端的固定码本激励的搜索方法及装置 |
| WO2010005360A1 (en) * | 2008-07-08 | 2010-01-14 | Scalado Ab | Method for compressing images and a format for compressed images |
| CN102089810B (zh) * | 2008-07-10 | 2013-05-08 | 沃伊斯亚吉公司 | 多基准线性预测系数滤波器量化和逆量化设备及方法 |
| EP2144230A1 (en) | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low bitrate audio encoding/decoding scheme having cascaded switches |
| RU2498419C2 (ru) * | 2008-07-11 | 2013-11-10 | Фраунхофер-Гезелльшафт цур Фёердерунг дер ангевандтен | Устройство аудио кодирования и декодирования для кодирования фреймов, представленных в виде выборок звуковых сигналов |
| EP2144231A1 (en) * | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low bitrate audio encoding/decoding scheme with common preprocessing |
| CA2730200C (en) * | 2008-07-11 | 2016-09-27 | Max Neuendorf | An apparatus and a method for generating bandwidth extension output data |
| PL2304723T3 (pl) * | 2008-07-11 | 2013-03-29 | Fraunhofer Ges Forschung | Urządzenie i sposób dekodowania zakodowanego sygnału audio |
| EP4372744B1 (en) * | 2008-07-11 | 2025-04-30 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method for audio decoding and corresponding computer program |
| KR101381513B1 (ko) | 2008-07-14 | 2014-04-07 | 광운대학교 산학협력단 | 음성/음악 통합 신호의 부호화/복호화 장치 |
| ES2592416T3 (es) * | 2008-07-17 | 2016-11-30 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Esquema de codificación/decodificación de audio que tiene una derivación conmutable |
| CN102099857B (zh) * | 2008-07-18 | 2013-03-13 | 杜比实验室特许公司 | 用于解码器中的编码音频数据的频域后滤波的方法和系统 |
| WO2010028297A1 (en) * | 2008-09-06 | 2010-03-11 | GH Innovation, Inc. | Selective bandwidth extension |
| WO2010028292A1 (en) * | 2008-09-06 | 2010-03-11 | Huawei Technologies Co., Ltd. | Adaptive frequency prediction |
| WO2010028299A1 (en) * | 2008-09-06 | 2010-03-11 | Huawei Technologies Co., Ltd. | Noise-feedback for spectral envelope quantization |
| WO2010028301A1 (en) * | 2008-09-06 | 2010-03-11 | GH Innovation, Inc. | Spectrum harmonic/noise sharpness control |
| US8577673B2 (en) * | 2008-09-15 | 2013-11-05 | Huawei Technologies Co., Ltd. | CELP post-processing for music signals |
| WO2010031003A1 (en) | 2008-09-15 | 2010-03-18 | Huawei Technologies Co., Ltd. | Adding second enhancement layer to celp based core layer |
| KR101670063B1 (ko) * | 2008-09-18 | 2016-10-28 | 한국전자통신연구원 | Mdct 기반의 코더와 이종의 코더 간 변환에서의 인코딩 장치 및 디코딩 장치 |
| KR20130133917A (ko) * | 2008-10-08 | 2013-12-09 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 다중 분해능 스위치드 오디오 부호화/복호화 방법 |
| FR2936898A1 (fr) * | 2008-10-08 | 2010-04-09 | France Telecom | Codage a echantillonnage critique avec codeur predictif |
| US20100114568A1 (en) * | 2008-10-24 | 2010-05-06 | Lg Electronics Inc. | Apparatus for processing an audio signal and method thereof |
| KR101610765B1 (ko) * | 2008-10-31 | 2016-04-11 | 삼성전자주식회사 | 음성 신호의 부호화/복호화 방법 및 장치 |
| FR2938688A1 (fr) * | 2008-11-18 | 2010-05-21 | France Telecom | Codage avec mise en forme du bruit dans un codeur hierarchique |
| GB2466671B (en) * | 2009-01-06 | 2013-03-27 | Skype | Speech encoding |
| GB2466675B (en) | 2009-01-06 | 2013-03-06 | Skype | Speech coding |
| GB2466673B (en) * | 2009-01-06 | 2012-11-07 | Skype | Quantization |
| GB2466672B (en) * | 2009-01-06 | 2013-03-13 | Skype | Speech coding |
| GB2466670B (en) * | 2009-01-06 | 2012-11-14 | Skype | Speech encoding |
| GB2466674B (en) * | 2009-01-06 | 2013-11-13 | Skype | Speech coding |
| GB2466669B (en) * | 2009-01-06 | 2013-03-06 | Skype | Speech coding |
| KR101622950B1 (ko) * | 2009-01-28 | 2016-05-23 | 삼성전자주식회사 | 오디오 신호의 부호화 및 복호화 방법 및 그 장치 |
| EP2249333B1 (en) * | 2009-05-06 | 2014-08-27 | Nuance Communications, Inc. | Method and apparatus for estimating a fundamental frequency of a speech signal |
| KR20110001130A (ko) * | 2009-06-29 | 2011-01-06 | 삼성전자주식회사 | 가중 선형 예측 변환을 이용한 오디오 신호 부호화 및 복호화 장치 및 그 방법 |
| JP5547810B2 (ja) | 2009-07-27 | 2014-07-16 | インダストリー−アカデミック コーペレイション ファウンデイション, ヨンセイ ユニバーシティ | オーディオ信号を処理する方法及び装置 |
| WO2011034377A2 (en) * | 2009-09-17 | 2011-03-24 | Lg Electronics Inc. | A method and an apparatus for processing an audio signal |
| US8452606B2 (en) * | 2009-09-29 | 2013-05-28 | Skype | Speech encoding using multiple bit rates |
| ES2441069T3 (es) * | 2009-10-08 | 2014-01-31 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Decodificador multimodo para señal de audio, codificador multimodo para señal de audio, procedimiento y programa de computación que usan un modelado de ruido en base a linealidad-predicción-codificación |
| ES2884133T3 (es) * | 2009-10-15 | 2021-12-10 | Voiceage Corp | Conformación simultánea de ruido en el dominio del tiempo y el dominio de la frecuencia para transformaciones TDAC |
| TWI430263B (zh) * | 2009-10-20 | 2014-03-11 | 弗勞恩霍夫爾協會 | 音訊信號編碼器、音訊信號解碼器、使用混疊抵消來將音訊信號編碼或解碼之方法 |
| CA2778373C (en) * | 2009-10-20 | 2015-12-01 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio signal encoder, audio signal decoder, method for providing an encoded representation of an audio content, method for providing a decoded representation of an audio content and computer program for use in low delay applications |
| RU2591663C2 (ru) | 2009-10-20 | 2016-07-20 | Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. | Аудио кодер, аудио декодер, способ кодирования аудио информации, способ декодирования аудио информации и компьютерная программа, использующая обнаружение группы ранее декодированных спектральных значений |
| CA2778240C (en) * | 2009-10-20 | 2016-09-06 | Fraunhofer Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Multi-mode audio codec and celp coding adapted therefore |
| EP2491557B1 (en) | 2009-10-21 | 2014-07-30 | Dolby International AB | Oversampling in a combined transposer filter bank |
| BR122021008576B1 (pt) | 2010-01-12 | 2022-04-12 | 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 |
| KR101764633B1 (ko) * | 2010-01-15 | 2017-08-04 | 엘지전자 주식회사 | 오디오 신호 처리 방법 및 장치 |
| US8537283B2 (en) | 2010-04-15 | 2013-09-17 | Qualcomm Incorporated | High definition frame rate conversion |
| MX2012011828A (es) * | 2010-04-16 | 2013-02-27 | Fraunhofer Ges Forschung | Aparato, metodo y programa de computadora para generar una señal de banda amplia que utiliza extension de ancho de banda guiada y extension oculta de ancho de banda. |
| WO2011132368A1 (ja) | 2010-04-19 | 2011-10-27 | パナソニック株式会社 | 符号化装置、復号装置、符号化方法及び復号方法 |
| AU2016202478B2 (en) * | 2010-07-02 | 2016-06-16 | Dolby International Ab | Pitch filter for audio signals and method for filtering an audio signal with a pitch filter |
| KR101972762B1 (ko) | 2010-07-02 | 2019-04-29 | 돌비 인터네셔널 에이비 | 선택적인 베이스 포스트 필터 |
| US9236063B2 (en) | 2010-07-30 | 2016-01-12 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for dynamic bit allocation |
| US8489391B2 (en) * | 2010-08-05 | 2013-07-16 | Stmicroelectronics Asia Pacific Pte., Ltd. | Scalable hybrid auto coder for transient detection in advanced audio coding with spectral band replication |
| US9208792B2 (en) | 2010-08-17 | 2015-12-08 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for noise injection |
| KR101826331B1 (ko) * | 2010-09-15 | 2018-03-22 | 삼성전자주식회사 | 고주파수 대역폭 확장을 위한 부호화/복호화 장치 및 방법 |
| WO2012037515A1 (en) | 2010-09-17 | 2012-03-22 | Xiph. Org. | Methods and systems for adaptive time-frequency resolution in digital data coding |
| US8738385B2 (en) * | 2010-10-20 | 2014-05-27 | Broadcom Corporation | Pitch-based pre-filtering and post-filtering for compression of audio signals |
| ES2982115T3 (es) * | 2010-10-25 | 2024-10-14 | Voiceage Evs Llc | Codificación de señales de audio genérico con bajas tasas de bits y bajo retardo |
| WO2012070370A1 (ja) * | 2010-11-22 | 2012-05-31 | 株式会社エヌ・ティ・ティ・ドコモ | 音声符号化装置、方法およびプログラム、並びに、音声復号装置、方法およびプログラム |
| WO2012086485A1 (ja) * | 2010-12-20 | 2012-06-28 | 株式会社ニコン | 音声制御装置および撮像装置 |
| EP3023985B1 (en) * | 2010-12-29 | 2017-07-05 | Samsung Electronics Co., Ltd | Methods for audio signal encoding and decoding |
| EP2663978A4 (en) * | 2011-01-12 | 2016-04-06 | Nokia Technologies Oy | AUDIO CODING AND DECODING DEVICE |
| JP5743137B2 (ja) * | 2011-01-14 | 2015-07-01 | ソニー株式会社 | 信号処理装置および方法、並びにプログラム |
| MY159444A (en) * | 2011-02-14 | 2017-01-13 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E V | Encoding and decoding of pulse positions of tracks of an audio signal |
| BR112013020587B1 (pt) * | 2011-02-14 | 2021-03-09 | Fraunhofer-Gesellschaft Zur Forderung De Angewandten Forschung E.V. | esquema de codificação com base em previsão linear utilizando modelagem de ruído de domínio espectral |
| MX2013009305A (es) | 2011-02-14 | 2013-10-03 | Fraunhofer Ges Forschung | Generacion de ruido en codecs de audio. |
| AR085218A1 (es) | 2011-02-14 | 2013-09-18 | Fraunhofer Ges Forschung | Aparato y metodo para ocultamiento de error en voz unificada con bajo retardo y codificacion de audio |
| 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 |
| CA2827272C (en) | 2011-02-14 | 2016-09-06 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Apparatus and method for encoding and decoding an audio signal using an aligned look-ahead portion |
| PL2676264T3 (pl) | 2011-02-14 | 2015-06-30 | Fraunhofer Ges Forschung | Koder audio estymujący szum tła podczas faz aktywnych |
| JP5712288B2 (ja) | 2011-02-14 | 2015-05-07 | フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | 重複変換を使用した情報信号表記 |
| 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. |
| ES2715191T3 (es) | 2011-02-14 | 2019-06-03 | Fraunhofer Ges Forschung | Codificación y decodificación de posiciones de impulso de pistas de una señal de audio |
| US9626982B2 (en) * | 2011-02-15 | 2017-04-18 | Voiceage Corporation | Device and method for quantizing the gains of the adaptive and fixed contributions of the excitation in a CELP codec |
| WO2012122299A1 (en) * | 2011-03-07 | 2012-09-13 | Xiph. Org. | Bit allocation and partitioning in gain-shape vector quantization for audio coding |
| WO2012122297A1 (en) | 2011-03-07 | 2012-09-13 | Xiph. Org. | Methods and systems for avoiding partial collapse in multi-block audio coding |
| WO2012122303A1 (en) | 2011-03-07 | 2012-09-13 | Xiph. Org | Method and system for two-step spreading for tonal artifact avoidance in audio coding |
| WO2012144128A1 (ja) | 2011-04-20 | 2012-10-26 | パナソニック株式会社 | 音声音響符号化装置、音声音響復号装置、およびこれらの方法 |
| NO2669468T3 (es) * | 2011-05-11 | 2018-06-02 | ||
| WO2012157932A2 (en) * | 2011-05-13 | 2012-11-22 | Samsung Electronics Co., Ltd. | Bit allocating, audio encoding and decoding |
| US8873763B2 (en) | 2011-06-29 | 2014-10-28 | Wing Hon Tsang | Perception enhancement for low-frequency sound components |
| JP6190373B2 (ja) * | 2011-10-24 | 2017-08-30 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | オーディオ信号ノイズ減衰 |
| JPWO2013061584A1 (ja) * | 2011-10-28 | 2015-04-02 | パナソニック株式会社 | 音信号ハイブリッドデコーダ、音信号ハイブリッドエンコーダ、音信号復号方法、及び音信号符号化方法 |
| PL2876883T3 (pl) * | 2011-11-01 | 2019-10-31 | Velos Media Int Ltd | Wielopoziomowe mapy znaczeń do kodowania i dekodowania |
| WO2013118476A1 (ja) * | 2012-02-10 | 2013-08-15 | パナソニック株式会社 | 音響/音声符号化装置、音響/音声復号装置、音響/音声符号化方法および音響/音声復号方法 |
| CN103325373A (zh) | 2012-03-23 | 2013-09-25 | 杜比实验室特许公司 | 用于传送和接收音频信号的方法和设备 |
| AU2013283568B2 (en) * | 2012-06-28 | 2016-05-12 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Linear prediction based audio coding using improved probability distribution estimation |
| KR101434206B1 (ko) * | 2012-07-25 | 2014-08-27 | 삼성전자주식회사 | 신호 복호화 장치 |
| US9325544B2 (en) * | 2012-10-31 | 2016-04-26 | Csr Technology Inc. | Packet-loss concealment for a degraded frame using replacement data from a non-degraded frame |
| ES2688021T3 (es) * | 2012-12-21 | 2018-10-30 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Adición de ruido de confort para modelar ruido de fondo a bajas tasas de bits |
| CN109448745B (zh) * | 2013-01-07 | 2021-09-07 | 中兴通讯股份有限公司 | 一种编码模式切换方法和装置、解码模式切换方法和装置 |
| CN103928031B (zh) * | 2013-01-15 | 2016-03-30 | 华为技术有限公司 | 编码方法、解码方法、编码装置和解码装置 |
| KR101434207B1 (ko) | 2013-01-21 | 2014-08-27 | 삼성전자주식회사 | 오디오/스피치 신호 부호화방법 |
| BR112015018017B1 (pt) * | 2013-01-29 | 2022-01-25 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Descodificador para a geração de um sinal áudio de frequência melhorada, método de descodificação, codificador para a geração de um sinal codificado e método de codificação com informação lateral de seleção compacta |
| EP2951814B1 (en) | 2013-01-29 | 2017-05-10 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low-frequency emphasis for lpc-based coding in frequency domain |
| CN110517700B (zh) | 2013-01-29 | 2023-06-09 | 弗劳恩霍夫应用研究促进协会 | 用于选择第一编码算法与第二编码算法中的一个的装置 |
| MX345160B (es) * | 2013-01-29 | 2017-01-18 | Fraunhofer Ges Forschung | Llenado con ruido en la codificacion de audio por transformada perceptual. |
| CN108847247B (zh) | 2013-02-05 | 2023-04-07 | 瑞典爱立信有限公司 | 音频帧丢失隐藏 |
| WO2014123469A1 (en) | 2013-02-05 | 2014-08-14 | Telefonaktiebolaget L M Ericsson (Publ) | Enhanced audio frame loss concealment |
| KR102110212B1 (ko) * | 2013-02-05 | 2020-05-13 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | 오디오 프레임 손실 은폐를 제어하기 위한 방법 및 장치 |
| US9842598B2 (en) | 2013-02-21 | 2017-12-12 | Qualcomm Incorporated | Systems and methods for mitigating potential frame instability |
| SI3848929T1 (sl) * | 2013-03-04 | 2023-12-29 | Voiceage Evs Llc | Naprava in metoda za zmanjšanje šuma kvantizacije v dekoderju časovne domene |
| ES2934646T3 (es) | 2013-04-05 | 2023-02-23 | Dolby Int Ab | Sistema de procesamiento de audio |
| US9247342B2 (en) | 2013-05-14 | 2016-01-26 | James J. Croft, III | Loudspeaker enclosure system with signal processor for enhanced perception of low frequency output |
| MY177559A (en) | 2013-06-21 | 2020-09-18 | Fraunhofer Ges Forschung | Apparatus and method for improved concealment of the adaptive codebook in acelp-like concealment employing improved pitch lag estimation |
| CN110931025B (zh) | 2013-06-21 | 2024-06-28 | 弗朗霍夫应用科学研究促进协会 | 利用改进的脉冲再同步化的似acelp隐藏中的自适应码本的改进隐藏的装置及方法 |
| CN110289005B (zh) | 2013-06-21 | 2024-02-09 | 弗朗霍夫应用科学研究促进协会 | 用于产生舒缓噪声的自适应频谱形状的装置及方法 |
| 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 |
| KR101434209B1 (ko) | 2013-07-19 | 2014-08-27 | 삼성전자주식회사 | 오디오/스피치 신호 부호화장치 |
| EP2830064A1 (en) | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for decoding and encoding an audio signal using adaptive spectral tile selection |
| CN105761723B (zh) * | 2013-09-26 | 2019-01-15 | 华为技术有限公司 | 一种高频激励信号预测方法及装置 |
| WO2015063227A1 (en) * | 2013-10-31 | 2015-05-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio bandwidth extension by insertion of temporal pre-shaped noise in frequency domain |
| PL3285254T3 (pl) | 2013-10-31 | 2019-09-30 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Dekoder audio i sposób dostarczania zdekodowanej informacji audio z wykorzystaniem ukrywania błędów na bazie sygnału wzbudzenia w dziedzinie czasu |
| PL3355306T3 (pl) * | 2013-10-31 | 2022-04-04 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Dekoder audio i sposób dostarczania zdekodowanej informacji audio z wykorzystaniem maskowania błędów modyfikując sygnał pobudzenia w dziedzinie czasu |
| BR112016010273B1 (pt) * | 2013-11-07 | 2022-05-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Método para particionamento de vetores de entrada para codificação de sinais de áudio, unidade de particionamento, codificador e meio não-transitório legível por máquina |
| FR3013496A1 (fr) * | 2013-11-15 | 2015-05-22 | Orange | Transition d'un codage/decodage par transformee vers un codage/decodage predictif |
| US9293143B2 (en) | 2013-12-11 | 2016-03-22 | Qualcomm Incorporated | Bandwidth extension mode selection |
| EP2887350B1 (en) * | 2013-12-19 | 2016-10-05 | Dolby Laboratories Licensing Corporation | Adaptive quantization noise filtering of decoded audio data |
| CN104751849B (zh) | 2013-12-31 | 2017-04-19 | 华为技术有限公司 | 语音频码流的解码方法及装置 |
| CN111105807B (zh) * | 2014-01-15 | 2023-09-15 | 三星电子株式会社 | 对线性预测编码系数进行量化的加权函数确定装置和方法 |
| EP2916319A1 (en) | 2014-03-07 | 2015-09-09 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Concept for encoding of information |
| CN107369455B (zh) * | 2014-03-21 | 2020-12-15 | 华为技术有限公司 | 语音频码流的解码方法及装置 |
| GB2524333A (en) * | 2014-03-21 | 2015-09-23 | Nokia Technologies Oy | Audio signal payload |
| ES2768090T3 (es) * | 2014-03-24 | 2020-06-19 | Nippon Telegraph & Telephone | Método de codificación, codificador, programa y soporte de registro |
| JP6035270B2 (ja) * | 2014-03-24 | 2016-11-30 | 株式会社Nttドコモ | 音声復号装置、音声符号化装置、音声復号方法、音声符号化方法、音声復号プログラム、および音声符号化プログラム |
| CN107452391B (zh) * | 2014-04-29 | 2020-08-25 | 华为技术有限公司 | 音频编码方法及相关装置 |
| ES2956362T3 (es) * | 2014-05-28 | 2023-12-20 | Fraunhofer Ges Forschung | Procesador de datos y transporte de datos de control del usuario a decodificadores de audio y renderizadores |
| US10115410B2 (en) * | 2014-06-10 | 2018-10-30 | Peter Graham Craven | Digital encapsulation of audio signals |
| CN105225671B (zh) | 2014-06-26 | 2016-10-26 | 华为技术有限公司 | 编解码方法、装置及系统 |
| CN105451842B (zh) | 2014-07-28 | 2019-06-11 | 弗劳恩霍夫应用研究促进协会 | 选择第一编码演算法和第二编码演算法之一的装置与方法 |
| EP2980796A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method and apparatus for processing an audio signal, audio decoder, and audio encoder |
| 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 |
| 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 |
| TWI602172B (zh) * | 2014-08-27 | 2017-10-11 | 弗勞恩霍夫爾協會 | 使用參數以加強隱蔽之用於編碼及解碼音訊內容的編碼器、解碼器及方法 |
| FR3025923A1 (fr) * | 2014-09-12 | 2016-03-18 | Orange | Discrimination et attenuation de pre-echos dans un signal audionumerique |
| WO2016142002A1 (en) | 2015-03-09 | 2016-09-15 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder, audio decoder, method for encoding an audio signal and method for decoding an encoded audio signal |
| US9613628B2 (en) | 2015-07-01 | 2017-04-04 | Gopro, Inc. | Audio decoder for wind and microphone noise reduction in a microphone array system |
| WO2017040317A1 (en) | 2015-08-28 | 2017-03-09 | Thoratec Corporation | Blood pump controllers and methods of use for improved energy efficiency |
| US10008214B2 (en) * | 2015-09-11 | 2018-06-26 | Electronics And Telecommunications Research Institute | USAC audio signal encoding/decoding apparatus and method for digital radio services |
| KR20180081504A (ko) * | 2015-11-09 | 2018-07-16 | 소니 주식회사 | 디코드 장치, 디코드 방법, 및 프로그램 |
| US9986202B2 (en) | 2016-03-28 | 2018-05-29 | Microsoft Technology Licensing, Llc | Spectrum pre-shaping in video |
| JP6976277B2 (ja) * | 2016-06-22 | 2021-12-08 | ドルビー・インターナショナル・アーベー | 第一の周波数領域から第二の周波数領域にデジタル・オーディオ信号を変換するためのオーディオ・デコーダおよび方法 |
| CN107845385B (zh) | 2016-09-19 | 2021-07-13 | 南宁富桂精密工业有限公司 | 信息隐藏的编解码方法及系统 |
| BR112020004883A2 (pt) * | 2017-09-20 | 2020-09-15 | Voiceage Corporation | método e dispositivo para alocar um bit-budget entre subquadros em um codec celp |
| KR102383195B1 (ko) * | 2017-10-27 | 2022-04-08 | 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 | 디코더에서의 노이즈 감쇠 |
| US10847172B2 (en) * | 2018-12-17 | 2020-11-24 | Microsoft Technology Licensing, Llc | Phase quantization in a speech encoder |
| US10957331B2 (en) | 2018-12-17 | 2021-03-23 | Microsoft Technology Licensing, Llc | Phase reconstruction in a speech decoder |
| JP7608362B2 (ja) * | 2019-05-07 | 2025-01-06 | ヴォイスエイジ・コーポレーション | コーディングされる音声信号内のアタックを検出し、検出されたアタックをコーディングするための方法およびデバイス |
| BR112022003440A2 (pt) | 2019-09-03 | 2022-05-24 | Dolby Laboratories Licensing Corp | Codec de efeitos de baixa latência, baixa frequência |
| KR102722998B1 (ko) * | 2020-03-30 | 2024-10-29 | 삼성전자주식회사 | 음성 인식을 위한 디지털 마이크로폰 인터페이스 회로 및 이를 포함하는 전자 장치 |
| TWI789577B (zh) * | 2020-04-01 | 2023-01-11 | 同響科技股份有限公司 | 音訊資料重建方法及系統 |
| CN118302808A (zh) * | 2021-12-01 | 2024-07-05 | 松下电器(美国)知识产权公司 | 编码装置、解码装置、编码方法及解码方法 |
| EP4478356A1 (en) * | 2023-06-16 | 2024-12-18 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio decoder and audio encoder for coding frames using a pitch frequency dependent spectral shaping |
| CN119743118B (zh) * | 2024-12-09 | 2025-08-19 | 成都玖锦科技有限公司 | 多相插值滤波方法和装置、电子设备及存储介质 |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61242117A (ja) | 1985-04-19 | 1986-10-28 | Fujitsu Ltd | ブロツクフロ−テイング方式 |
| GB9512284D0 (en) | 1995-06-16 | 1995-08-16 | Nokia Mobile Phones Ltd | Speech Synthesiser |
| US6092041A (en) | 1996-08-22 | 2000-07-18 | Motorola, Inc. | System and method of encoding and decoding a layered bitstream by re-applying psychoacoustic analysis in the decoder |
| JPH1084284A (ja) | 1996-09-06 | 1998-03-31 | Sony Corp | 信号再生方法および装置 |
| JP3307875B2 (ja) | 1998-03-16 | 2002-07-24 | 松下電送システム株式会社 | 符号化音声再生装置および符号化音声再生方法 |
| US7272556B1 (en) | 1998-09-23 | 2007-09-18 | Lucent Technologies Inc. | Scalable and embedded codec for speech and audio signals |
| US6003224A (en) | 1998-10-16 | 1999-12-21 | Ford Motor Company | Apparatus for assembling heat exchanger cores |
| US6691082B1 (en) * | 1999-08-03 | 2004-02-10 | Lucent Technologies Inc | Method and system for sub-band hybrid coding |
| JP2001117573A (ja) * | 1999-10-20 | 2001-04-27 | Toshiba Corp | 音声スペクトル強調方法/装置及び音声復号化装置 |
| CN1308949C (zh) | 2000-09-08 | 2007-04-04 | 皇家菲利浦电子有限公司 | 具有自适应噪声整形调制的音频信号处理系统 |
| JP3478267B2 (ja) | 2000-12-20 | 2003-12-15 | ヤマハ株式会社 | ディジタルオーディオ信号圧縮方法および圧縮装置 |
| JP3942882B2 (ja) * | 2001-12-10 | 2007-07-11 | シャープ株式会社 | ディジタル信号符号化装置およびそれを備えたディジタル信号記録装置 |
| CA2388358A1 (en) | 2002-05-31 | 2003-11-30 | Voiceage Corporation | A method and device for multi-rate lattice vector quantization |
| CA2388352A1 (en) | 2002-05-31 | 2003-11-30 | Voiceage Corporation | A method and device for frequency-selective pitch enhancement of synthesized speed |
| CA2388439A1 (en) * | 2002-05-31 | 2003-11-30 | Voiceage Corporation | A method and device for efficient frame erasure concealment in linear predictive based speech codecs |
| BRPI0418838A (pt) | 2004-05-17 | 2007-11-13 | Nokia Corp | método para suportar uma codificação de um sinal de áudio, módulo para suportar uma codificação de um sinal de áudio, dispositivo eletrÈnico, sistema de codificação de áudio, e, produto de programa de software |
| US7596486B2 (en) | 2004-05-19 | 2009-09-29 | Nokia Corporation | Encoding an audio signal using different audio coder modes |
-
2004
- 2004-02-18 CA CA002457988A patent/CA2457988A1/en not_active Abandoned
-
2005
- 2005-02-18 JP JP2006553403A patent/JP4861196B2/ja not_active Expired - Lifetime
- 2005-02-18 EP EP05706494.1A patent/EP1719116B1/en not_active Expired - Lifetime
- 2005-02-18 CA CA2556797A patent/CA2556797C/en not_active Expired - Lifetime
- 2005-02-18 DK DK05706494.1T patent/DK1719116T3/da active
- 2005-02-18 BR BRPI0507838-5A patent/BRPI0507838A/pt not_active IP Right Cessation
- 2005-02-18 ES ES05706494T patent/ES2433043T3/es not_active Expired - Lifetime
- 2005-02-18 AU AU2005213726A patent/AU2005213726A1/en not_active Abandoned
- 2005-02-18 US US10/589,035 patent/US7979271B2/en active Active
- 2005-02-18 WO PCT/CA2005/000220 patent/WO2005078706A1/en not_active Ceased
- 2005-02-18 PT PT57064941T patent/PT1719116E/pt unknown
- 2005-02-18 RU RU2006133307/09A patent/RU2389085C2/ru active
- 2005-02-18 CN CN200580011604.5A patent/CN1957398B/zh not_active Expired - Lifetime
-
2007
- 2007-02-15 US US11/708,097 patent/US7933769B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| CA2556797A1 (en) | 2005-08-25 |
| AU2005213726A1 (en) | 2005-08-25 |
| EP1719116A1 (en) | 2006-11-08 |
| JP2007525707A (ja) | 2007-09-06 |
| EP1719116A4 (en) | 2007-08-29 |
| CA2457988A1 (en) | 2005-08-18 |
| JP4861196B2 (ja) | 2012-01-25 |
| US7933769B2 (en) | 2011-04-26 |
| DK1719116T3 (da) | 2013-11-04 |
| EP1719116B1 (en) | 2013-10-02 |
| BRPI0507838A (pt) | 2007-07-10 |
| RU2006133307A (ru) | 2008-03-27 |
| CA2556797C (en) | 2014-01-07 |
| US7979271B2 (en) | 2011-07-12 |
| US20070225971A1 (en) | 2007-09-27 |
| PT1719116E (pt) | 2013-11-05 |
| WO2005078706A1 (en) | 2005-08-25 |
| US20070282603A1 (en) | 2007-12-06 |
| CN1957398A (zh) | 2007-05-02 |
| RU2389085C2 (ru) | 2010-05-10 |
| CN1957398B (zh) | 2011-09-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2433043T3 (es) | Conmutación del modo de codificación ACELP a TCX | |
| RU2696292C2 (ru) | Аудиокодер и декодер | |
| KR101344174B1 (ko) | 오디오 신호 처리 방법 및 오디오 디코더 장치 | |
| US20070147518A1 (en) | Methods and devices for low-frequency emphasis during audio compression based on ACELP/TCX | |
| CN103380455B (zh) | 对音频信号的高效编码/解码 | |
| KR20220045260A (ko) | 음성 정보를 갖는 개선된 프레임 손실 보정 | |
| RU2793725C2 (ru) | Аудиокодер и декодер | |
| Moreno | Variable frame size for vector quantization and application to speech coding | |
| HK1177316B (en) | Audio encoder and decoder | |
| MXPA06009342A (es) | Metodos y dispositivos para enfasis a baja frecuencia durante compresion de audio basado en prediccion lineal con excitacion por codigo algebraico/excitacion codificada por transformada (acelp/tcx) | |
| HK1177316A (en) | Audio encoder and decoder |