ES2982115T3 - Codificación de señales de audio genérico con bajas tasas de bits y bajo retardo - Google Patents
Codificación de señales de audio genérico con bajas tasas de bits y bajo retardo Download PDFInfo
- Publication number
- ES2982115T3 ES2982115T3 ES17175692T ES17175692T ES2982115T3 ES 2982115 T3 ES2982115 T3 ES 2982115T3 ES 17175692 T ES17175692 T ES 17175692T ES 17175692 T ES17175692 T ES 17175692T ES 2982115 T3 ES2982115 T3 ES 2982115T3
- Authority
- ES
- Spain
- Prior art keywords
- frequency
- domain
- time
- sound signal
- input sound
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005236 sound signal Effects 0.000 title claims abstract description 51
- 230000005284 excitation Effects 0.000 claims abstract description 90
- 238000000034 method Methods 0.000 claims abstract description 21
- 230000004044 response Effects 0.000 claims abstract description 8
- 230000008569 process Effects 0.000 claims abstract description 3
- 230000003595 spectral effect Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 7
- 239000013598 vector Substances 0.000 description 49
- 238000001228 spectrum Methods 0.000 description 27
- 238000013139 quantization Methods 0.000 description 25
- 230000003044 adaptive effect Effects 0.000 description 24
- 238000004458 analytical method Methods 0.000 description 23
- 230000002123 temporal effect Effects 0.000 description 17
- 230000007704 transition Effects 0.000 description 12
- 238000005070 sampling Methods 0.000 description 11
- 238000013459 approach Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 7
- 238000003786 synthesis reaction Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000015654 memory Effects 0.000 description 6
- 238000001914 filtration Methods 0.000 description 5
- 230000007774 longterm Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000001186 cumulative effect Effects 0.000 description 4
- 238000000695 excitation spectrum Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012850 discrimination method Methods 0.000 description 1
- 238000002592 echocardiography Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
-
- 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/20—Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
-
- 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Dispositivo de codificación mixta en el dominio del tiempo/dominio de la frecuencia para codificar una señal de sonido de entrada, que comprende: un calculador de una contribución de excitación en el dominio del tiempo en respuesta a la señal de sonido de entrada, en donde el calculador de contribución de excitación en el dominio del tiempo procesa la señal de sonido de entrada en cuadros sucesivos de dicha señal de sonido de entrada y comprende un calculador de un número de subcuadros que se utilizarán en un cuadro actual de la señal de sonido de entrada, en donde el calculador de contribución de excitación en el dominio del tiempo utiliza en el cuadro actual el número de subcuadros determinado por el calculador de número de subcuadros para dicho cuadro actual; un calculador de una contribución de excitación en el dominio de la frecuencia en respuesta a la señal de sonido de entrada; y un sumador de la contribución de excitación en el dominio del tiempo y la contribución de excitación en el dominio de la frecuencia para formar una excitación mixta en el dominio del tiempo/dominio de la frecuencia que constituye una versión codificada de la señal de sonido de entrada. También se describen el método de codificación, el dispositivo de decodificación y el método correspondientes. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Codificación de señales de audio genérico con bajas tasas de bits y bajo retardo
Campo
La presente divulgación se refiere a dispositivos y métodos de codificación mixta en el dominio de tiempo/dominio de la frecuencia para codificar una señal de sonido de entrada, y al codificador correspondiente que usa estos dispositivos y métodos de codificación mixta en el dominio de tiempo/dominio de la frecuencia. Antecedentes
Un códec conversacional de última generación puede representar con muy buena calidad una señal de voz limpia con una tasa de bits de alrededor de 8 kbps y acercarse a la transparencia a una tasa de bits de 16 kbps. Sin embargo, a tasas de bits por debajo de 16 kbps, los códecs conversacionales de bajo retardo de procesamiento, que a menudo codifican la señal de voz de entrada en el dominio de tiempo, no son adecuados para señales de audio genérico, como música y voz reverberante. Para superar este inconveniente, se han introducido códecs conmutados, que usan básicamente el enfoque del dominio de tiempo para codificar señales de entrada dominadas por la voz y un enfoque del dominio de la frecuencia para codificar señales de audio genérico. Se da un ejemplo de dominio de tiempo/dominio de la frecuencia mixto "Wideband speech coding using forward/backward adaptive prediction with mixed time/frequency domain excitation", Schnitzler y otros, Procedimientos de codificación de voz 1999. Sin embargo, estas soluciones conmutadas típicamente requieren un mayor retardo de procesamiento, necesario tanto para la clasificación de voz y música como para la transformada al dominio de la frecuencia.
Para superar el inconveniente anterior, se propone un modelo más unificado de dominio de tiempo y dominio de la frecuencia.
Resumen
En la presente divulgación, se describe un dispositivo de codificación mixta en el dominio de tiempo/dominio de la frecuencia para codificar una señal de sonido de entrada como se establece en la reivindicación 1. La presente divulgación se refiere además a un método de codificación mixta en el dominio de tiempo/dominio de la frecuencia para codificar una señal de sonido de entrada como se establece en la reivindicación 2. Las características anteriores y otras serán más evidentes tras la lectura de la siguiente descripción no restrictiva de una modalidad ilustrativa del modelo propuesto en el dominio de tiempo y en el domino de la frecuencia, dada a manera de ejemplo solo con referencia a los dibujos adjuntos.
Breve descripción de las figuras
En las figuras anexas:
La Figura 1 es un diagrama de bloques esquemático que ilustra una visión general de un codificador CELP (predicción lineal con excitación por código) mejorado, por ejemplo, un codificador ACELP (predicción lineal con excitación por código algebraico);
La Figura 2 es un diagrama de bloques esquemático de una estructura más detallada del codificador CELP mejorado de la Figura 1;
La Figura 3 es un diagrama de bloques esquemático de una visión general de un calculador de frecuencia de corte;
La Figura 4 es un diagrama de bloques esquemático de una estructura más detallada del calculador de frecuencia de corte de la Figura 3;
La Figura 5 es un diagrama de bloques esquemático de una visión general de un cuantificador de frecuencia; y
La Figura 6 es un diagrama de bloques esquemático de una estructura más detallada del cuantificador de frecuencia de la Figura 5.
Descripción detallada
El modelo más unificado de dominio de tiempo y dominio de la frecuencia propuesto, es capaz de mejorar la calidad de la síntesis de señales de audio genérico como, por ejemplo, música y/o voz reverberante, sin aumentar el retardo de procesamiento ni la tasa de bits. Este modelo opera, por ejemplo, en un dominio residual de predicción lineal (LP) donde los bits disponibles se asignan dinámicamente entre un libro de códigos adaptativo, uno o más libros de códigos fijos (por ejemplo, un libro de códigos algebraico, un libro de códigos gaussiano, etc.) y un modo de codificación en el dominio de la frecuencia, dependiendo de las características de la señal de entrada.
Para lograr un códec conversacional de baja tasa de bits y bajo retardo de procesamiento que mejore la calidad de síntesis de señales de audio genérico como música y/o voz reverberante, se puede integrar un modo de codificación en el dominio de la frecuencia lo más cercano posible al modo de codificación en el dominio de tiempo CELP (predicción lineal con excitación por código). Para este propósito, el modo de codificación en el dominio de la frecuencia usa, por ejemplo, una transformada de frecuencia realizada en el dominio residuo LP. Esto permite cambiar casi sin artefactos de una trama, por ejemplo, una trama de 20 ms, a otra. Además, la integración de los dos (2) modos de codificación es lo suficientemente cercana como para permitir la reasignación dinámica del presupuesto de bits a otro modo de codificación si se determina que el modo de codificación actual no es lo suficientemente eficiente.
Una característica del modelo propuesto más unificado de dominio de tiempo y dominio de la frecuencia es el soporte temporal variable del componente en el dominio de tiempo, que varía desde un cuarto de trama hasta una trama completa trama por trama, y se llamará subtrama. Como ejemplo ilustrativo, una trama representa 20 ms de señal de entrada. Esto corresponde a 320 muestras si la frecuencia de muestreo interna del códec es de 16 kHz o a 256 muestras por trama si la frecuencia de muestreo interna del códec es de 12,8 kHz. Luego, un cuarto de trama (la subtrama) representa 64 u 80 muestras, dependiendo de la frecuencia de muestreo interna del códec. En la siguiente realización ilustrativa, la frecuencia de muestreo interna del códec es de 12,8 kHz, lo que da una longitud de trama de 256 muestras. El soporte temporal variable hace posible capturar eventos temporales importantes con una tasa de bits mínima para crear una contribución de excitación básica en el dominio de tiempo. A una tasa de bits muy baja, el soporte temporal usualmente es toda la trama. En ese caso, la contribución en el dominio de tiempo a la señal de excitación se compone únicamente del libro de códigos adaptativo, y la información de tono correspondiente con la ganancia correspondiente se transmite una vez por trama. Cuando hay más tasa de bits disponible, es posible capturar más eventos temporales acortando el soporte temporal (y aumentando la tasa de bits asignada al modo de codificación en el dominio de tiempo). Finalmente, cuando el soporte temporal es lo suficientemente corto (hasta un cuarto de trama) y la tasa de bits disponible es lo suficientemente alta, la contribución en el dominio de tiempo puede incluir la contribución del libro de códigos adaptativo, una contribución del libro de códigos fijo, o ambas, con las ganancias correspondientes. Los parámetros que describen los índices del libro de códigos y las ganancias se transmiten luego para cada subtrama.
A una tasa de bits baja, los códecs conversacionales no son capaces de codificar adecuadamente frecuencias superiores. Esto provoca una degradación importante de la calidad de la síntesis cuando la señal de entrada incluye música y/o voz reverberante. Para resolver este problema, se agrega una función para calcular la eficiencia de la contribución de excitación del dominio de tiempo. En algunos casos, cualquiera que sea la tasa de bits de entrada y el soporte de trama de tiempo, la contribución de excitación del dominio de tiempo no es valiosa. En esos casos, todos los bits se reasignan al siguiente paso de codificación en el dominio de la frecuencia. Pero la mayoría de las veces, la contribución de excitación del dominio de tiempo es valiosa sólo hasta una determinada frecuencia (la frecuencia de corte). En estos casos, la contribución de excitación del dominio de tiempo se filtra por encima de la frecuencia de corte. La operación de filtrado permite mantener información valiosa codificada con la contribución de excitación del dominio de tiempo y eliminar la información no valiosa por encima de la frecuencia de corte. En una realización ilustrativa, el filtrado se realiza en el dominio de la frecuencia estableciendo las cajas de frecuencia por encima de una determinada frecuencia en cero.
El soporte temporal variable en combinación con la frecuencia de corte variable hace que la asignación de bits dentro del modelo integrado en el dominio de tiempo y dominio de la frecuencia sea muy dinámica. La tasa de bits después de la cuantificación del filtro LP se puede asignar completamente al dominio de tiempo o completamente al dominio de la frecuencia o en algún punto intermedio. La asignación de tasa de bits entre los dominios de tiempo y frecuencia se realiza en función del número de subtramas usadas para la contribución en el dominio de tiempo, del presupuesto de bits disponible y de la frecuencia de corte calculada.
Para crear una excitación total que coincida más eficientemente con el residual de entrada, se aplica el modo de codificación en el dominio de la frecuencia. Una característica de la presente divulgación es que la codificación en el dominio de la frecuencia se realiza en un vector que contiene la diferencia entre una representación de frecuencia (transformada de frecuencia) del residuo LP de entrada y una representación de frecuencia (transformada de frecuencia) de la contribución de excitación del dominio de tiempo filtrada hasta la frecuencia de corte, y que contiene la representación de frecuencia (transformada de frecuencia) del propio residuo LP de entrada por encima de esa frecuencia de corte. Se inserta una transición de espectro suave entre ambos segmentos justo por encima de la frecuencia de corte. En otras palabras, primero se pone a cero la parte de alta frecuencia de la representación de frecuencia de la contribución de excitación del dominio de tiempo. Se inserta una región de transición entre la parte sin cambios del espectro y la parte puesta a cero del espectro justo encima de la frecuencia de corte para garantizar una transición suave entre ambas partes del espectro. Este espectro modificado de la contribución de excitación del dominio de tiempo se resta luego de la representación de frecuencia del residuo LP de entrada. El espectro resultante corresponde por lo tanto a la diferencia de ambos espectros por debajo de la frecuencia de corte y a la representación de frecuencia del residuo LP por encima de esta, con alguna región de transición. La frecuencia de corte, como se mencionó anteriormente, puede variar de una trama a otra.
Cualquiera que sea el método de cuantificación de frecuencia (modo de codificación en el dominio de la frecuencia) elegido, siempre existe la posibilidad de pre-eco, especialmente con ventanas largas. En esta técnica, las ventanas usadas son ventanas cuadradas, de modo que la longitud de la ventana adicional en comparación con la señal codificada es cero (0), es decir, no se usa ninguna suma de superposición. Si bien esto corresponde a la mejor ventana para reducir cualquier potencial pre-eco, es posible que algunos pre-ecos aún sean audibles en los ataques temporales. Existen muchas técnicas para resolver tal problema de pre-eco, pero la presente divulgación propone una característica simple para cancelar este problema de pre-eco. Esta característica se basa en un modo de codificación en el dominio de tiempo sin memoria que se deriva del "modo de transición" de la Recomendación UIT-T G.718; Referencia [Recomendación UIT-T G.718 "Frame error robust narrow-band and wideband embedded variable bit-rate coding of speech and audio from 8-32 kbit/s", junio de 2008, sección 6.8.1.4 y sección 6.8.4.2]. La idea detrás de esta característica es aprovechar el hecho de que el modelo propuesto más unificado de dominio de tiempo y dominio de la frecuencia está integrado al dominio residuo LP, lo que permite la conmutación sin artefactos casi en cualquier momento. Cuando una señal se considera como audio genérico (música y/o voz reverberante) y cuando se detecta un ataque temporal en una trama, entonces esta trama solo se codifica con este modo especial de codificación en el dominio de tiempo sin memoria. Este modo se encargará del ataque temporal evitando por lo tanto el pre-eco que podría introducirse con la codificación en el dominio de la frecuencia de esa trama.
Realización ilustrativa
En el modelo propuesto más unificado de dominio de tiempo y dominio de la frecuencia, el libro de códigos adaptativo mencionado anteriormente, uno o más libros de códigos fijos (por ejemplo, un libro de códigos algebraico, un libro de códigos gaussiano, etc.), es decir, los llamados libros de códigos en el dominio de tiempo, y la cuantificación en el dominio de la frecuencia (el modo de codificación en el dominio de la frecuencia puede verse como una biblioteca de libros de códigos, y los bits se pueden distribuir entre todos los libros de códigos disponibles, o un subconjunto de los mismos. Esto significa, por ejemplo, que, si la señal de sonido de entrada es una voz limpia, todos los bits se asignarán al modo de codificación en el dominio de tiempo, básicamente reduciendo la codificación al esquema CELP heredado. Por otro lado, para algunos segmentos musicales, todos los bits asignados para codificar el residuo LP de entrada a veces se gastan mejor en el dominio de la frecuencia, por ejemplo, en un dominio de transformada.
Como se indica en la descripción anterior, no es necesario que el soporte temporal para los modos de codificación en el dominio de tiempo y dominio de la frecuencia sea el mismo. Mientras que los bits utilizados en los diferentes métodos de cuantificación en el dominio de tiempo (búsquedas en libros de códigos algebraicos y adaptativos) generalmente se distribuyen en subtramas (típicamente un cuarto de trama, o 5 ms de soporte temporal), los bits asignados al modo de codificación en el dominio de la frecuencia se distribuyen en tramas (típicamente 20 ms de soporte temporal) para mejorar la resolución de frecuencia.
El presupuesto de bits asignado al modo de codificación CELP en el dominio de tiempo también se puede controlar dinámicamente dependiendo de la señal de sonido de entrada. En algunos casos, el presupuesto de bits asignado al modo de codificación CELP en el dominio de tiempo puede ser cero, lo que significa efectivamente que todo el presupuesto de bits se atribuye al modo de codificación en el dominio de la frecuencia. La elección de trabajar en el dominio residuo LP tanto para el enfoque del dominio de tiempo como en el dominio de la frecuencia tiene dos (2) beneficios principales. En primer lugar, esto es compatible con el modo de codificación CELP, que ha demostrado ser eficaz en la codificación de señales de voz. En consecuencia, no se introduce ningún artefacto debido al cambio entre los dos tipos de modos de codificación. En segundo lugar, la menor dinámica del residuo LP con respecto a la señal de sonido de entrada original, y su relativa planitud, facilitan el uso de una ventana cuadrada para las transformaciones de frecuencia, permitiendo por lo tanto el uso de una ventana que no se superponga.
En un ejemplo no limitativo donde la frecuencia de muestreo interna del códec es 12,8 kHz (lo que significa 256 muestras por trama), de manera similar a la recomendación ITU-T G.718, la longitud de las subtramas usadas en el modo de codificación CELP en el dominio de tiempo puede variar desde un típico % de la longitud de trama (5 ms) hasta media trama (10 ms) o una longitud completa de la trama (20 ms). La decisión de la longitud de la subtrama se basa en la tasa de bits disponible y en un análisis de la señal de sonido de entrada, particularmente la dinámica espectral de esta señal de sonido de entrada. La decisión de la longitud de la subtrama se puede realizar en forma de bucle cerrado. Para ahorrar complejidad, también es posible basar la decisión de la longitud de la subtrama en forma de bucle abierto. La longitud de la subtrama se puede cambiar de una trama a otra.
Una vez que se elige la longitud de las subtramas en una trama particular, se realiza un análisis de tono de bucle cerrado estándar y se selecciona la primera contribución a la señal de excitación del libro de códigos adaptativo. Luego, dependiendo del presupuesto de bits disponible y de las características de la señal de sonido de entrada (por ejemplo, en el caso de una señal de voz de entrada), se puede añadir una segunda contribución de uno o varios libros de códigos fijos antes de la codificación en el dominio de transformada. La excitación resultante se denominará contribución de excitación del dominio de tiempo. Por otro lado, a tasas de bits muy bajas y en el caso de audio genérico, a menudo es mejor saltarse la etapa del libro de códigos fijo y usar todos los bits restantes para el modo de codificación en el dominio de transformada. El modo de codificación en el dominio de transformada puede ser, por ejemplo, un modo de codificación en el dominio de la frecuencia. Como se describió anteriormente, la longitud de la subtrama auxiliar puede ser un cuarto de la trama, la mitad de la trama o una trama larga. La contribución del libro de códigos fijo se usa sólo si la longitud de la subtrama es igual a un cuarto de la longitud de trama. En caso de que se decida que la longitud de la subtrama sea la mitad de una trama o toda la trama larga, entonces solo se usa la contribución del libro de códigos adaptativo para representar la excitación del dominio de tiempo, y todos los bits restantes se asignan al modo de codificación en el dominio de la frecuencia.
Una vez que se completa el cálculo de la contribución de excitación del dominio de tiempo, es necesario evaluar y cuantificar su eficiencia. Si la ganancia de la codificación en el dominio de tiempo es muy baja, es más eficaz eliminar por completo la contribución de excitación del dominio de tiempo y usar en su lugar todos los bits para el modo de codificación en el dominio de la frecuencia. Por otra parte, por ejemplo, en el caso de una voz de entrada limpia, el modo de codificación en el dominio de la frecuencia no es necesario y todos los bits se asignan al modo de codificación en el dominio de tiempo. Pero a menudo la codificación en el dominio de tiempo es eficaz sólo hasta una determinada frecuencia. Esta frecuencia se denominará frecuencia de corte de la contribución de excitación del dominio de tiempo. La determinación de tal frecuencia de corte garantiza que toda la codificación en el dominio de tiempo ayude a obtener una mejor síntesis final en lugar de trabajar en contra de la codificación en el dominio de la frecuencia.
La frecuencia de corte se estima en el dominio de la frecuencia. Para calcular la frecuencia de corte, los espectros tanto del residuo LP como de la contribución codificada en el dominio de tiempo se dividen primero en un número predefinido de bandas de frecuencia. El número de bandas de frecuencia y el número de cajas de frecuencia cubiertos por cada banda de frecuencia pueden variar de una implementación a otra. Para cada una de las bandas de frecuencia, se calcula una correlación normalizada entre la representación de frecuencia de la contribución de excitación del dominio de tiempo y la representación de frecuencia del residuo LP, y la correlación se suaviza entre bandas de frecuencia adyacentes. Las correlaciones por banda están limitadas a 0,5 y normalizadas entre 0 y 1. Luego, la correlación promedio se calcula como el promedio de las correlaciones para todas las bandas de frecuencia. A efectos de una primera estimación de la frecuencia de corte, la correlación promedio se escala entonces entre 0 y la mitad de la velocidad de muestreo (la mitad de la velocidad de muestreo correspondiente al valor de correlación normalizada de 1). La primera estimación de la frecuencia de corte se encuentra entonces como el límite superior de la banda de frecuencia más cercano a ese valor. En un ejemplo de implementación, se definen dieciséis (16) bandas de frecuencia a 12,8 kHz para el cálculo de correlación.
Aprovechando la propiedad psicoacústica del oído humano, se mejora la fiabilidad de la estimación de la frecuencia de corte comparando la posición estimada de la 8va frecuencia armónica del tono a la frecuencia de corte estimada por el cálculo de correlación. Si esta posición es mayor que la frecuencia de corte estimada por el cálculo de correlación, la frecuencia de corte se modifica para corresponder a la posición de la 8vafrecuencia armónica del tono. A continuación, se cuantifica y transmite el valor final de la frecuencia de corte. En un ejemplo de implementación, se usan 3 o 4 bits para dicha cuantificación, dando 8 o 16 posibles frecuencias de corte dependiendo de la tasa de bits.
Una vez que se conoce la frecuencia de corte, se realiza la cuantificación de frecuencia de la contribución de excitación del dominio de la frecuencia. Primero se determina la diferencia entre la representación de frecuencia (transformada de frecuencia) del residuo LP de entrada y la representación de frecuencia (transformada de frecuencia) de la contribución de excitación del dominio de tiempo. Luego se crea un nuevo vector, que consta de esta diferencia hasta la frecuencia de corte y una transición suave a la representación de frecuencia del residuo LP de entrada para el espectro restante. Luego se aplica una cuantificación de frecuencia a todo el nuevo vector. En un ejemplo de implementación, la cuantificación consiste en codificar el signo y la posición de los pulsos espectrales dominantes (más energéticos). El número de pulsos a cuantificar por banda de frecuencia está relacionado con la tasa de bits disponible para el modo de codificación en el dominio de la frecuencia. Si no hay suficientes bits disponibles para cubrir todas las bandas de frecuencia, las bandas restantes se llenan únicamente de ruido.
La cuantificación de frecuencia de una banda de frecuencia usando el método de cuantificación descrito en el párrafo anterior no garantiza que todas las cajas de frecuencia dentro de esta banda estén cuantificadas. Esto es especialmente cierto a tasas de bits bajas donde el número de pulsos cuantificados por banda de frecuencia es relativamente bajo. Para evitar la aparición de artefactos audibles debido a estas cajas no cuantificadas, se agrega algo de ruido para llenar estos espacios. Como a bajas tasas de bits los pulsos cuantificados deberían dominar el espectro en lugar del ruido insertado, la amplitud del espectro de ruido corresponde sólo a una fracción de la amplitud de los pulsos. La amplitud del ruido añadido en el espectro es mayor cuando el presupuesto de bits disponible es bajo (lo que permite más ruido) y menor cuando el presupuesto de bits disponible es alto.
En el modo de codificación en el dominio de la frecuencia, las ganancias se calculan para cada banda de frecuencia para hacer coincidir la energía de la señal no cuantificada con la señal cuantificada. Las ganancias se cuantifican vectorialmente y se aplican por banda a la señal cuantificada. Cuando el codificador cambia su asignación de bits del modo de codificación solo en el dominio de tiempo al modo de codificación mixta en el dominio de tiempo/dominio de la frecuencia, la energía del espectro de excitación por banda del modo de codificación solo en el dominio de tiempo no coincide con la energía del espectro de excitación por banda del modo de codificación mixta en el dominio de tiempo/dominio de la frecuencia. Esta falta de coincidencia de energía puede crear algunos artefactos de conmutación, especialmente a tasas de bits bajas. Para reducir cualquier degradación audible creada por esta reasignación de bits, se puede calcular una ganancia a largo plazo para cada banda y se puede aplicar para corregir la energía de cada banda de frecuencia durante unas pocas tramas después de cambiar del modo de codificación en el dominio de tiempo al modo de codificación en el dominio de tiempo al modo de codificación mixta en el dominio de tiempo/dominio de la frecuencia.
Después de completar el modo de codificación en el dominio de la frecuencia, la excitación total se encuentra sumando la contribución de excitación del dominio de la frecuencia a la representación de frecuencia (transformada de frecuencia) de la contribución de excitación del dominio de tiempo y luego la suma de las contribuciones de la excitación se transforma nuevamente al dominio de tiempo para formar una excitación total. Finalmente, la señal sintetizada se calcula filtrando la excitación total a través de un filtro de síntesis LP. En una realización, mientras las memorias de codificación CELP se actualizan en una subtrama usando solo la contribución de excitación del dominio de tiempo, la excitación total se usa para actualizar esas memorias en los límites de la trama. En otra implementación posible, las memorias de codificación CELP se actualizan en una subtrama y también en los límites de la trama usando solo la contribución de excitación del dominio de tiempo. Esto da como resultado una estructura integrada donde la señal cuantificada en el dominio de la frecuencia constituye una capa de cuantificación superior independiente de la capa CELP central. En este caso particular, el libro de códigos fijo siempre se usa para actualizar el contenido del libro de códigos adaptativo. Sin embargo, el modo de codificación en el dominio de la frecuencia puede aplicarse a toda la trama. Este enfoque integrado funciona para tasas de bits de alrededor de 12 kbps y superiores.
1) Clasificación del tipo de sonido
La Figura 1 es un diagrama de bloques esquemático que ilustra una descripción general de un codificador CELP mejorado 100, por ejemplo, un codificador ACELP. Por supuesto, se pueden implementar otros tipos de codificadores CELP mejorados usando el mismo concepto. La Figura 2 es un diagrama de bloques esquemático de una estructura más detallada del codificador CELP mejorado 100.
El codificador CELP 100 comprende un preprocesador 102 (Figura 1) para analizar parámetros de la señal de sonido de entrada 101 (Figuras 1 y 2). Con referencia a la Figura 2, el preprocesador 102 comprende un analizador LP 201 de la señal de sonido de entrada 101, un analizador espectral 202, un analizador de tono de bucle abierto 203 y un clasificador de señal 204. Los analizadores 201 y 202 realizan los análisis espectrales y de LP que usualmente se llevan a cabo en la codificación CELP, como se describe por ejemplo en la recomendación ITU-T G.718, secciones 6.4 y 6.1.4 y, por lo tanto, no se describirán más en la presente divulgación.
El preprocesador 102 lleva a cabo un primer nivel de análisis para clasificar la señal de sonido de entrada 101 entre voz y no de voz (audio genérico (música o voz reverberante)), por ejemplo, de una manera similar a la descrita en la referencia [T. Vaillancourt y otros, "Inter-tone noise reduction in a low bit rate CELP decoder", Proc. IEEE ICASSP, Taipei, Taiwán, abril de 2009, págs. 4113-16], o con cualquier otro método confiable de discriminación de voz/no de voz.
Después de este primer nivel de análisis, el preprocesador 102 realiza un segundo nivel de análisis de los parámetros de la señal de entrada para permitir el uso de codificación CELP en el dominio de tiempo (sin codificación en el dominio de la frecuencia) en algunas señales de sonido con características fuertes no de voz pero que aún están mejor codificados con un enfoque de dominio de tiempo. Cuando se produce una variación importante de energía, este segundo nivel de análisis permite que el codificador CELP 100 cambie a un modo de codificación en el dominio de tiempo sin memoria, generalmente llamado Modo de Transición en referencia [Eksler, V. y Jelinek, M. (2008), "Transition mode coding for source controlled CELP codecs", Actas IEEE de la Conferencia Internacional sobre acústica, voz y procesamiento de señales, marzo-abril, págs.4001-[0043].
Durante este segundo nivel de análisis, el clasificador de señales 204 calcula y usa una variación<oc>de una versión suavizada CstCstde la correlación de tono de bucle abierto del analizador de tono de bucle abierto 203, una energía de trama total actual Etoty una diferencia entre la energía total de la trama actual y la energía total de la trama anterior Edif. Primero, la variación de la correlación de tono de bucle abierto suavizada se calcula como:
donde:
Cst es la correlación de tono de bucle abierto suavizada definida como: Cst = 0,9 •Coi 0,1 Cst;
Coi es la correlación de tono de bucle abierto calculada por el analizador 203 usando un método conocido por los expertos en la técnica de la codificación CELP, por ejemplo, como se describe en la recomendación ITU-T G.718, Sección 6.6;
Cst es el promedio de las últimas 10 tramas de la correlación de tono de bucle abierto suavizada Cst;
<oc>es la variación de la correlación de tono de bucle abierto suavizada.
Cuando, durante el primer nivel de análisis, el clasificador de señales 204 clasifica una trama como no de voz, el clasificador de señales 204 realiza las siguientes verificaciones para determinar, en el segundo nivel de análisis, si es realmente seguro usar un modo de codificación mixta en el dominio de tiempo/dominio de la frecuencia. A veces, sin embargo, es mejor codificar la trama actual sólo con el modo de codificación en el dominio de tiempo, usando uno de los enfoques en el dominio de tiempo estimados por la función de preprocesamiento del modo de codificación en el dominio de tiempo. En particular, podría ser mejor usar el modo de codificación en el dominio de tiempo sin memoria para reducir al mínimo cualquier posible pre-eco que pueda introducirse con un modo de codificación mixta en el dominio de tiempo y dominio de la frecuencia.
Como primera verificación de si se debe usar la codificación mixta en el dominio de tiempo/en el dominio de la frecuencia, el clasificador de señales 204 calcula una diferencia entre la energía total de la trama actual y la energía total de la trama anterior. Cuando la diferencia Edif Edif entre la energía total actual de la trama Etot Etot y la energía total de la trama anterior es superior a 6 dB, esto corresponde al llamado "ataque temporal" en la señal de sonido de entrada. En tal situación, la decisión de voz/no de voz y el modo de codificación seleccionado se sobrescriben y se fuerza un modo de codificación en el dominio de tiempo sin memoria. Más específicamente, el codificador CELP mejorado 100 comprende un selector 103 de codificación de solamente tiempo/tiempo-frecuencia (Figura 1), que comprende un selector 205 de voz/audio genérico (Figura 2), un detector 208 de ataque temporal (Figura 2), y un selector 206 del modo de codificación en el dominio de tiempo sin memoria. En otras palabras, en respuesta a una determinación de una señal no de voz (audio genérico) por el selector 205 y la detección de un ataque temporal en la señal de sonido de entrada por el detector 208, el selector 206 fuerza un codificador CELP de bucle cerrado 207 (Figura 2) para usar el modo de codificación en el dominio de tiempo sin memoria. El codificador CELP de bucle cerrado 207 forma parte del codificador solamente del dominio de tiempo 104 de la Figura 1.
Como segunda verificación, cuando la diferencia Edif entre la energía total actual de la trama Etot Etot y la energía total de la trama anterior es menor o igual que 6 dB, pero:
- la correlación de tono de bucle abierto suavizada Cst es superior a 0,96; o
- la correlación de tono de bucle abierto suavizada Cst es superior a 0,85 y la diferencia Ediff entre la energía total actual de la trama Etot y la energía total de la trama anterior es inferior a 0,3 dB; o
- la variación de la correlación de tono de bucle abierto suavizada<oc>está por debajo de 0,1 y la diferencia Edif entre la energía total actual de la trama Etot y la energía total de la última trama anterior es inferior a 0,6 dB; o
- la energía total actual de la trama Etot está por debajo de 20 dB;
y esta es al menos la segunda trama consecutiva (cnt > 2) donde se va a cambiar la decisión del primer nivel del análisis, entonces el selector de voz/audio genérico 205 determina que la trama actual se codificará usando un modo solamente del dominio de tiempo usando el codificador CELP genérico de bucle cerrado 207 (Figura 2).
De lo contrario, el selector de codificación de tiempo/tiempo-frecuencia 103 selecciona un modo de codificación mixta en el dominio de tiempo/dominio de la frecuencia que se realiza mediante un dispositivo de codificación mixta en el dominio de tiempo/dominio de la frecuencia divulgado en la siguiente descripción.
Esto se puede resumir, por ejemplo, cuando la señal de sonido no de voz es música, con el siguiente pseudocódigo:
si (midió genérico)
si (Ed¡f>6 dB)
modo de codificación=Dominio de tiempo sin memoria
ent=l
de lo contrario si(Cst> 0,96 I (Cst> 0,85 & Edif<0,3 dB) I (<gc><0,1 & Ed¡f< 0,6 dB) I Etot < 20 dB)cnt++
si (cnt>= 2)
modo de codificación=Dominio de tiempo
sino
modo de codificación=Dominio de tiempo/frecuencia mixto
cnt=0
Donde Etot es una energía de trama actual expresada como:
(donde x(/)representa las muestras de la señal de sonido de entrada en la trama) y Edmes la diferencia entre la energía total actual de la trama Etot Etot y la última energía total de la trama anterior.
2) Decisión sobre la longitud de la subtrama
En un CELP típico, las muestras de señales de sonido de entrada se procesan en tramas de 10-30 ms y estas tramas se dividen en varias subtramas para el análisis del libro de códigos adaptativo y del libro de códigos fijo. Por ejemplo, se puede usar una trama de 20 ms (256 muestras cuando la frecuencia de muestreo interna es de 12,8 kHz) y dividirla en 4 subtramas de 5 ms. Una longitud de la subtrama variable es una característica usada para obtener una integración completa del dominio de tiempo y del dominio de la frecuencia en un modo de codificación. La longitud de la subtrama auxiliar puede variar desde un típico % de la longitud de trama a la mitad de una trama, o a una longitud de trama completa. Por supuesto, se puede implementar el uso de otro número de subtramas (longitud de la subtrama).
La decisión en cuanto a la longitud de las subtramas (el número de subtramas), o el soporte temporal, se determina mediante un calculador del número de subtramas 210 en base a la tasa de bits disponible y del análisis de la señal de entrada en el preprocesador 102, en particular la dinámica espectral de alta frecuencia de la señal de sonido de entrada 101 de un analizador 209 y el análisis de tono de bucle abierto que incluye la correlación de tono de bucle abierto suavizada del analizador 203. El analizador 209 responde a la información del analizador espectral 202 para determinar la dinámica espectral de alta frecuencia de la señal de entrada 101. La dinámica espectral se calcula a partir de una característica descrita en la recomendación ITU-T G.718, sección 6.7.2.2, como el espectro de entrada sin su ruido de fondo que proporciona una representación de la dinámica del espectro de entrada. Cuando la dinámica espectral promedio de la señal de sonido de entrada 101 en la banda de frecuencia entre 4,4 kHz y 6,4 kHz determinada por el analizador 209 está por debajo de 9,6 dB y se ha considerado que la última trama tenía una alta dinámica espectral, se deja de considerar que la señal de entrada 101 tiene contenido de alta dinámica espectral en frecuencias superiores. En ese caso, se pueden asignar más bits a las frecuencias por debajo, por ejemplo, 4 kHz, agregando más subtramas al modo de codificación en el dominio de tiempo o forzando más pulsos en la parte de frecuencia más baja de la contribución en el dominio de la frecuencia.
Por otro lado, si el aumento de la dinámica promedio del contenido de frecuencia más alta de la señal de entrada 101 frente a la dinámica espectral promedio de la última trama que no se consideró que tenía una alta dinámica espectral determinado por el analizador 209 es mayor que, por ejemplo, 4,5 dB, se considera que la señal de entrada de sonido 101 tiene contenido de alta dinámica espectral por encima de, por ejemplo, 4 kHz. En ese caso, dependiendo de la tasa de bits disponible, se usan algunos bits adicionales para codificar las altas frecuencias de la señal de sonido de entrada 101 para permitir la codificación de uno o más pulsos de frecuencia.
La longitud de la subtrama determinada por el calculador 210 (Figura 2) también depende del presupuesto de bits disponible. A tasas de bits muy bajas, por ejemplo, tasas de bits por debajo de 9 kbps, sólo está disponible una subtrama para la codificación en el dominio de tiempo, de lo contrario, el número de bits disponibles será insuficiente para la codificación en el dominio de la frecuencia. Para tasas de bits medias, por ejemplo, tasas de bits entre 9 kbps y 16 kbps, se usa una subtrama para el caso en que las altas frecuencias contienen alto contenido espectral dinámico y dos subtramas en caso contrario. Para tasas de bits medias-altas, por ejemplo, tasas de bits de alrededor de 16 kbps y superiores, se hace disponible asimismo el caso de cuatro (4) subtramas si la correlación de tono de bucle abierto suavizada Cst, tal como se define en el párrafo de la sección de clasificación de tipos de sonido, es superior a 0,8.
Si bien el caso con una o dos subtramas limita la codificación en el dominio de tiempo a solamente una contribución de libro de códigos adaptativo (con retardo de tono y ganancia de tono codificados), es decir, en ese caso no se usa ningún libro de códigos fijo, las cuatro (4) subtramas permiten contribuciones de libro de códigos fijos y adaptativos si el presupuesto de bits disponible es suficiente. Se permite el caso de cuatro (4) subtramas a partir de aproximadamente 16 kbps en adelante. Debido a las limitaciones del presupuesto de bits, la excitación del dominio de tiempo consiste únicamente en la contribución del libro de códigos adaptativo a tasas de bits más bajas. Se puede agregar una contribución de libro de códigos fijo simple para tasas de bits más altas, por ejemplo, a partir de 24 kbps. Para todos los casos, la eficiencia de la codificación en el dominio de tiempo se evaluará posteriormente para decidir hasta qué frecuencia dicha codificación en el dominio de tiempo es valiosa.
3) Análisis de tono de bucle cerrado
Cuando se usa un modo de codificación mixta en el dominio de tiempo/dominio de la frecuencia, se realiza un análisis de tono de bucle cerrado seguido, si es necesario, de una búsqueda del libro de códigos algebraico fijo. Para ese propósito, el codificador CELP 100 (Figura 1) comprende un calculador de la contribución de excitación del dominio de tiempo 105 (Figuras 1 y 2). Este calculador comprende además un analizador 211 (Figura 2) que responde al análisis de tono de bucle abierto realizado en el analizador de tono de bucle abierto 203 y a la determinación de la longitud de la subtrama (o el número de subtramas en una trama) en el calculador 210 para realizar un análisis de tono de bucle cerrado. El análisis de tono de bucle cerrado es bien conocido por los expertos en la técnica y un ejemplo de implementación se describe, por ejemplo, en la referencia [recomendación UIT-T G.718; Sección 6.8.4.1.4.1]. El análisis de tono de bucle cerrado da como resultado el cálculo de los parámetros de tono, también conocidos como parámetros de libro de códigos adaptativos, que consisten principalmente en un retardo de tono (índice de libro de códigos adaptativo T) y ganancia de tono (o ganancia de libro de códigos adaptativo b). La contribución del libro de códigos adaptativo es normalmente la excitación pasada en el retardo T o una versión interpolada del mismo. El índice del libro de códigos adaptativo T se codifica y se transmite a un decodificador distante. La ganancia de tono b también se cuantifica y se transmite al decodificador distante.
Cuando se ha completado el análisis de tono de bucle cerrado, el codificador CELP 100 comprende un libro de códigos fijo 212 en el que se busca para encontrar los mejores parámetros del libro de códigos fijos que usualmente comprenden un índice del libro de códigos fijo y una ganancia del libro de códigos fijo. El índice del libro de códigos fijo y la ganancia forman la contribución del libro de códigos fijo. El índice del libro de códigos fijo se codifica y se transmite al decodificador distante. La ganancia del libro de códigos fijo también se cuantifica y se transmite al decodificador distante. Se cree que el libro de códigos algebraicos fijos y su búsqueda son bien conocidos por los expertos en la técnica de la codificación CELP y, por lo tanto, no se describirán más en la presente divulgación.
El índice y la ganancia del libro de códigos adaptativo y el índice y la ganancia del libro de códigos fijos forman una contribución de excitación CELP en el dominio de tiempo.
4) Transformada de frecuencia de la señal de interés.
Durante la codificación en el dominio de la frecuencia del modo de codificación mixta en el dominio de tiempo/dominio de la frecuencia, es necesario representar dos señales en un dominio de transformada, por ejemplo, en el dominio de la frecuencia. En una realización, la transformada de tiempo a frecuencia se puede lograr usando una DCT (Transformada de coseno discreta) tipo II (o tipo IV) de 256 puntos que proporciona una resolución de 25 Hz con una frecuencia de muestreo interna de 12,8 kHz, pero se podría utilizar cualquier otra transformada. En el caso de que se utilice otra transformada, es posible que sea necesario revisar en consecuencia la resolución de frecuencia (definida anteriormente), el número de bandas de frecuencia y el número de cajas de frecuencia por banda (definidos más adelante). A este respecto, el codificador CELP 100 comprende un calculador 107 (Figura 1) de una contribución de excitación del dominio de la frecuencia en respuesta al residuo LP de entrada r<es>(n) resultante del análisis LP de la señal de sonido de entrada por el analizador 201. Como se ilustra en la Figura 2, el calculador 107 puede calcular una DCT 213, por ejemplo, una DCT de tipo II del residuo LP de entrada res(n). El codificador CELP 100 también comprende un calculador 106 (Figura 1) de una transformada de frecuencia de la contribución de excitación del dominio de tiempo. Como se ilustra en la Figura 2, el calculador 106 puede calcular una DCT 214, por ejemplo, una DCT de tipo II de la contribución de excitación del dominio de tiempo. La transformada de frecuencia del residuo LP de entrada ires y la contribución de excitación CELP en el dominio de tiempo fexc se puede calcular usando las siguientes expresiones:
y:
donde res(n) es el residuo LP de entrada, etd(n) es la contribución de excitación del dominio de tiempo, y Nes la longitud de trama. En una posible implementación, la longitud de trama es de 256 muestras para una frecuencia de muestreo interna correspondiente de 12,8 kHz. La contribución de excitación del dominio de tiempo viene dada por la siguiente relación:
etd(n) = bv(n) gc(n)
donde v(n)es la contribución del libro de códigos adaptativo, b es la ganancia del libro de códigos adaptativos, c(n) es la contribución del libro de códigos fijo y g es la ganancia del libro de códigos fijo. Cabe señalar que la contribución de excitación del dominio de tiempo puede consistir únicamente en la contribución del libro de códigos adaptativo como se describe en la descripción anterior.
5) Frecuencia de corte de la contribución en el dominio de tiempo
Con muestras de audio genérico, la contribución de excitación del dominio de tiempo (la combinación de libros de códigos algebraicos fijos y/o adaptativos) no siempre contribuye mucho a la mejora de la codificación en comparación con la codificación en el dominio de la frecuencia. A menudo, mejora la codificación de la parte inferior del espectro, mientras que la mejora de la codificación en la parte superior del espectro es mínima. El codificador CELP 100 comprende un determinador de una frecuencia de corte y un filtro 108 (Figura 1), que es la frecuencia en la que la mejora de codificación proporcionada por la contribución de excitación del dominio de tiempo se vuelve demasiado baja para ser valiosa. El determinador y filtro 108 comprende un calculador de frecuencia de corte 215 y el filtro 216 de la Figura 2. La frecuencia de corte de la contribución de excitación del dominio de tiempo se estima primero mediante el calculador 215 (Figura 2) usando un calculador 303 (Figuras 3 y 4) de correlación cruzada normalizada para cada banda de frecuencia entre el residuo LP de entrada transformado en frecuencia procedente del calculador 107 y la contribución de excitación del dominio de tiempo transformada en frecuencia procedente del calculador 106, respectivamente designadas fres y fexc que se definen en la sección anterior 4. La última frecuencia Lf incluidas en cada una de, por ejemplo, las dieciséis (16) bandas de frecuencia se definen en Hz como:
Para este ejemplo ilustrativo, el número de cajas de frecuencia por banda Bb, las cajas de frecuencia acumulativas por banda CBb y la correlación cruzada normalizada por banda de frecuencia Cc(i) se definen de la siguiente manera, para una trama de 20 ms a una frecuencia de muestreo de 12,8 kHz:
_Í8 ,8,16,16,16,16,16,16, 1
" | 16,16,16,16,16,16,16,32]
Donde
Donde Bb es el número de cajas de frecuencia por banda Bb.CBb son las cajas de frecuencia acumulativas por 5 ',
banda, Cbí> Cc(/)Cc(/) es la correlación cruzada normalizada por banda de frecuencia,<J,>es la energía de
excitación de una banda y de manera similar s, KS es la energía residual por banda.
El calculador de frecuencia de corte 215 comprende un suavizador 304 (Figuras 3 y 4) de correlación cruzada a través de las bandas de frecuencia que realiza algunas operaciones para suavizar el vector de correlación cruzada entre las diferentes bandas de frecuencia. Más específicamente, el suavizador 304 de correlación cruzada a través de las bandas calcula un nuevo vector de correlación cruzada Cc2 usando la siguiente relación:
donde
El calculador de frecuencia de corte 215 comprende además un calculador 305 (Figuras 3 y 4) de un promedio del nuevo vector de correlación cruzada C<c>2sobre el primer Nb bandas (N<b>=13 que representa 5575 Hz). El calculador 215 de frecuencia de corte también comprende un módulo de frecuencia de corte 306 (Figura 3) que incluye un limitador 406 (Figura 4) de la correlación cruzada, un normalizador 407 de la correlación cruzada y un determinador 408 de la banda de frecuencia donde la correlación cruzada es la más baja. Más específicamente, el limitador 406 limita el promedio del vector de correlación cruzada a un valor mínimo de 0,5 y el normalizador 408 normaliza el promedio limitado del vector de correlación cruzada entre 0 y 1. El determinador 408 obtiene una primera estimación de la frecuencia de corte determinando la última frecuencia de una banda de frecuencias Lf que minimiza la diferencia entre dicha última frecuencia de una banda de frecuencias Lf y el promedio normalizadoC<c>2 del vector de correlación cruzada multiplicado por el ancho F/2 del espectro de la señal de sonido de entrada:
donde
ftc1 es la primera estimación de la frecuencia de corte.
A baja tasa de bits, donde el promedio normalizado C^" nunca es realmente alto, o para aumentar artificialmente el valor de f<c>1 para darle un poco más de peso a la contribución del dominio de tiempo, es posible sobredimensionar el valor de CCz con un factor de escala fijo, por ejemplo, a una tasa de bits inferior a 8 kbps,f<tc>1 se multiplica por 2 todo el tiempo en la implementación del ejemplo.
La precisión de la frecuencia de corte se puede aumentar agregando un componente siguiente al cálculo. Para ese propósito, el calculador 215 de frecuencia de corte comprende un extrapolador 410 (Figura 4) de los 8vo armónico calculado a partir del valor de retardo de tono mínimo o más bajo de la contribución de excitación del dominio de tiempo de todas las subtramas, usando la siguiente relación:
donde Fs= 12 800 Hz, Nsub es el número de subtramas y T(i) es el índice de libro de códigos adaptativo o retardo de tono para la subtrama i.
El calculador 215 de frecuencia de corte también comprende un determinador 409 (Figura 4) de la banda de frecuencia en la que se localiza el 8vo armónico hsvo. Más específicamente, para todos i <Nb, el determinador 409 busca la banda de frecuencia más alta para la cual todavía se verifica la siguiente desigualdad:
( V<~ L f>(0)<ha:h > Lf {O>
El índice de esa banda se llamará isvoe indica la banda donde es probable que se encuentre el 8vo el armónico.
El calculador 215 de frecuencia de corte comprende finalmente un selector 411 (Figura 4) de la frecuencia de corte final ftc. Más específicamente, el selector 411 retiene la frecuencia más alta entre la primera estimaciónftcíde la frecuencia de corte del determinador 408 y la última frecuencia de la banda de frecuencia en la que se localiza el 8vo armónico (Lt(isvo)), usando la siguiente relación:
Como se ilustra en las Figuras 3 y 4,
- el calculador 215 de frecuencia de corte comprende además un decisor307 (Figura 3) sobre el número de cajas de frecuencia que se van a reducir a cero, que incluye a su vez un analizador 415 (Figura 4) de parámetros y un selector 416 (Figura 4) de cajas de frecuencia a reducir a cero; y
- el filtro 216 (Figura 2), que funciona en el dominio de la frecuencia, comprende un reductor a cero 308 (Figura 3) de las cajas de frecuencia que se ha decidido reducir a cero. El reductor a cero puede reducir a cero todas las cajas de frecuencia (reductor a cero 417 en la Figura 4) o (filtro 418 en la Figura 4) solo algunas de las cajas de frecuencia superiores situadas por encima de la frecuencia de corte ftc complementada con una región de transición suave. La región de transición está situada por encima de la frecuencia de corte ftc y debajo de las cajas reducidas a cero, y permite una transición espectral suave entre el espectro sin cambios por debajo ftc y las cajas reducidas a cero en frecuencias superiores.
Para el ejemplo ilustrativo, cuando la frecuencia de corte ftc del selector 411 es menor o igual que 775 Hz, el analizador 415 considera que el costo de la contribución de excitación del dominio de tiempo es demasiado elevado. El selector 416 selecciona todas las cajas de frecuencia de la representación de frecuencia de la contribución de excitación del dominio de tiempo a reducir a cero y el reductor a cero 417 fuerza la reducción a cero de todas las cajas de frecuencia y también fuerza la reducción a cero de la frecuencia de corte ftc. Todos los bits asignados a la contribución de excitación del dominio de tiempo se reasignan luego al modo de codificación en el dominio de la frecuencia. De lo contrario, el analizador 415 fuerza al selector 416 a elegir las cajas de frecuencia altas por encima de la frecuencia de corte ftc para a reducir a cero por el reductor a cero 418.
Finalmente, el calculador 215 de frecuencia de corte comprende un cuantificador 309 (Figuras 3 y 4) de la frecuencia de corte ftc en una versión cuantificada ftcq de esta frecuencia de corte. Si se asocian tres (3) bits al parámetro de frecuencia de corte, se puede definir un posible conjunto de valores de salida (en Hz) de la siguiente manera:
Se podrían usar muchos mecanismos para estabilizar la elección de la frecuencia de corte final ftc para evitar que la versión cuantificada ftcq conmute entre 0 y 1175 en un segmento de señal inadecuado. Para lograr esto, el analizador 415 en esta implementación de ejemplo responde a la ganancia de tono promedio a largo plazo Git 412 del analizador de tono de bucle cerrado 211 (Figura 2), la correlación de bucle abierto Coi 413 del analizador de tono de bucle abierto 203 y la correlación de bucle abierto suavizada Cst. Para evitar la conmutación a una codificación de frecuencia completa, cuando se cumplen las siguientes condiciones, el analizador 415 no permite la codificación de solo frecuencia, es decir ftcq no se puede establecer en 0:
o
donde Coi es la correlación de tono de bucle abierto 413 y Cst corresponde a la versión suavizada de la correlación de tono de bucle abierto 414 definida como Cst = 0,9-Coi 0,1Cst. Además, Git (elemento 412 de la Figura 4) corresponde al promedio a largo plazo de la ganancia de tono obtenida por el analizador de tono de bucle cerrado 211 dentro de la contribución de excitación del dominio de tiempo. El promedio a largo plazo de la ganancia de tono 412 se define como Git = 0,9 Gp+ 0,1 Git y Gp es la ganancia de tono promedio sobre la trama actual. Para reducir aún más la tasa de conmutación entre codificación de sólo frecuencia y codificación mixta en el dominio de tiempo/dominio de la frecuencia, se puede agregar un residuo.
6) Codificación en el dominio de la frecuencia.
Crear un vector de diferencia
Una vez definida la frecuencia de corte de la contribución de excitación del dominio de tiempo, se realiza la codificación en el dominio de la frecuencia. El codificador CELP 100 comprende un sustractor o calculador 109 (Figuras 1, 2, 5 y 6) para formar una primera porción de un vector de diferencia fd con la diferencia entre la transformada de frecuencia fres 502 (Figuras 5 y 6) (u otra representación de frecuencia) del residuo LP de entrada procedente de la DCT 213 (Figura 2) y la transformada de frecuencia fexc 501 (Figuras 5 y 6) (u otra representación de frecuencia) de la contribución de excitación del dominio de tiempo procedente de la DCT 214 (Figura 2) desde cero hasta la frecuencia de corte ftc de la contribución de excitación del dominio de tiempo. Se aplica un factor de reducción de escala 603 (Figura 6) a la transformada de frecuencia fexc 501 para la próxima región de transición de ftrans =2 kHz (80 cajas de frecuencia en esta implementación de ejemplo) antes de su resta de la porción espectral respectiva de la transformada de frecuencia fres. El resultado de la resta constituye la segunda porción del vector de diferencia fd que representa el rango de frecuencia desde la frecuencia de corte ftc hasta ftc+ftrans. La transformada de frecuencia fres 502 del residuo LP de entrada se usa para la restante tercera porción del vector fd. La parte en escala reducida del vector fd resultante de la aplicación del factor de reducción de escala 603 se puede realizar con cualquier tipo de función de desvanecimiento, se puede acortar a sólo unas pocas cajas de frecuencia, pero también se puede omitir cuando el presupuesto de bits disponible se considera suficiente para evitar artefactos de oscilación de energía cuando la frecuencia de corte ftc está cambiando. Por ejemplo, con una resolución de 25 Hz, correspondiente a 1 caja de frecuencia fbn= 25 Hz en DCT 256 puntos a 12,8 kHz, el vector de diferencia se puede construir como:
donde
donde
de cualquier otra manera
donde fres fres, fexc y ftc se han definido en las secciones 4 y 5 anteriores.
Búsqueda de pulsos de frecuencia
El codificador CELP 100 comprende un cuantificador de frecuencia 110 (Figuras 1 y 2) del vector de diferencia fd. El vector de diferencia fd se puede cuantificar usando varios métodos. En todos los casos es necesario buscar y cuantificar pulsos de frecuencia. En un posible método sencillo, la codificación en el dominio de la frecuencia comprende una búsqueda de los pulsos más energéticos del vector de diferencia fd a través del espectro. El método para buscar los pulsos puede ser tan simple como dividir el espectro en bandas de frecuencia y permitir una cierta cantidad de pulsos por banda de frecuencia. El número de pulsos por banda de frecuencia depende del presupuesto de bits disponible y de la posición de la banda de frecuencia dentro del espectro. Normalmente, se asignan más pulsos a las bajas frecuencias.
Vector de diferencia cuantificada
Dependiendo de la tasa de bits disponible, la cuantificación de los pulsos de frecuencia se puede realizar usando diferentes técnicas. En una realización, a una tasa de bits por debajo de 12 kbps, se puede usar un esquema de búsqueda y cuantificación simple para codificar la posición y el signo de los pulsos. Este esquema se describe a continuación en la presente descripción.
Por ejemplo, para frecuencias por debajo de 3175 Hz, este esquema de búsqueda y cuantificación simple usa un enfoque basado en codificación de pulso factorial (FPC) que se describe en la literatura, por ejemplo, en la referencia [Mittal, U., Ashley, JP y Cruz-Zeno, EM (2007), "Low Complexity Factorial Pulse Coding of MDCT Coefficients using Approximation of Combinatorial Functions", Actas del IEEE sobre acústica, voz y procesamiento de señal, vol. 1 de abril, págs. 289-292].
Más específicamente, un selector 504 (Figuras 5 y 6) determina que no todo el espectro está cuantificado usando FPC. Como se ilustra en la Figura 5, la codificación FPC y la codificación de posición de pulso y señal se realizan en un codificador 506. Como se ilustra en la Figura 6, el codificador 506 comprende un buscador 609 de pulsos de frecuencia. La búsqueda se realiza en todas las bandas de frecuencia para las frecuencias por debajo de 3175 Hz. A continuación, un codificador FPC 610 procesa los pulsos de frecuencia. El codificador 506 también comprende un determinador 611 de los pulsos más energéticos para frecuencias iguales y superiores a 3175 Hz, y un cuantificador 612 de la posición y el signo de los pulsos más energéticos encontrados. Si se permite más de un (1) pulso dentro de una banda de frecuencia, entonces la amplitud del pulso encontrado previamente se divide por 2 y la búsqueda se realiza nuevamente en toda la banda de frecuencia. Cada vez que se encuentra un pulso, su posición y signo se almacenan para la cuantificación y la etapa de empaquetado de bits. El siguiente pseudocódigo ilustra este esquema de búsqueda y cuantificación simple:
Donde N<bd>es el número de bandas de frecuencia (N<bd>= 16 en el ejemplo ilustrativo),Np es el número de pulsos a codificar en una banda de frecuencia k, Bb es el número de cajas de frecuencia por banda de frecuencia Bb, CBb son las cajas de frecuencia acumulativas por banda definidas anteriormente en la sección 5,pppp representa el vector que contiene la posición del pulso encontrada,psps representa el vector que contiene el signo del pulso encontrado y pmáx ^pmáx representa la energía del pulso encontrado.
A una tasa de bits por encima de 12 kbps, el selector 504 determina que todo el espectro debe cuantificarse usando FPC. Como se ilustra en la Figura 5, la codificación FPC se realiza en un codificador 505. Como se ilustra en la Figura 6, el codificador 505 comprende un buscador 607 de pulsos de frecuencia. La búsqueda se realiza en todas las bandas de frecuencia. Un procesador FPC 610 codifica con FPC a continuación los pulsos de frecuencia encontrados.
Entonces, el vector de diferencia cuantificado fdQ se obtiene sumando el número de pulsos nb_pulsos con el signo del pulso ps a cada una de las posiciones pp encontradas. Para cada banda el vector de diferencia cuantificado fdQ se puede escribir con el siguiente pseudocódigo:
<Para>j<= 0 ,... ,y < tib _ pulsos>
f*l(Pp{J)) = PAj) ;;Relleno de ruido ;;Todas las bandas de frecuencia están cuantificadas con mayor o menor precisión; el método de cuantificación descrito en la sección anterior no garantiza que todas las cajas de frecuencia dentro de las bandas de frecuencia estén cuantificadas. Este es especialmente el caso con tasas de bits bajas donde el número de pulsos cuantificados por banda de frecuencia es relativamente bajo. Para evitar la aparición de artefactos audibles debido a estas cajas no cuantificadas, un relleno de ruido 507 (Figura 5) añade algo de ruido para llenar estos espacios. Esta adición de ruido se realiza en todo el espectro a una tasa de bits por debajo de 12 kbps, por ejemplo, pero sólo se puede aplicar por encima de la frecuencia de corte fc de la contribución de excitación del dominio de tiempo para tasas de bits más altas. Para simplificar, la intensidad del ruido varía sólo con la tasa de bits disponible. A tasas de bits altas, el nivel de ruido es bajo, pero el nivel de ruido es mayor a tasas de bits bajas. ;;El relleno de ruido 504 comprende un sumador 613 (Figura 6) que añade ruido al vector de diferencia cuantificado fdQ después de que se haya determinado la intensidad o el nivel de energía de tal ruido añadido en un estimador 614 y antes de que se haya determinado la ganancia por banda en un calculador 615. En la realización ilustrativa, el nivel de ruido está directamente relacionado con la tasa de bits codificada. Por ejemplo, ;a 6,60 kbps el nivel de ruidoN'L ;es 0,4 veces la amplitud de los pulsos espectrales codificados en una banda específica y a medida que desciende progresivamente hasta un valor de 0,2 veces la amplitud de los pulsos espectrales codificados en una banda a 24 kbps. El ruido se agrega solo a las secciones del espectro donde un cierto número de cajas de frecuencia consecutivas tiene una energía muy baja, por ejemplo, cuando el número de cajas consecutivas de muy baja energía Nz es la mitad del número de cajas incluidas en la banda de frecuencia. Para una banda específica i, el ruido se inyecta como: ;;paraj - C Bb( i ) , j < C Bb( i ) B b( / ) ;j+Nz ;;' / £ / « ( * ) < 0,5
k - j
para
j = N z
.B h ( i )
DondeN= -----------z 2
donde, para una banda i, Cabes el número acumulativo de cajas por bandas, Bb es el número de cajas en una
banda específica/,N'L es el nivel de ruido, y ryes un generador de números aleatorios que está limitado entre -1 a 1.
7) Cuantificación de ganancia por banda
El cuantificador de frecuencia 110 comprende un calculador/cuantificador 508 de ganancia por banda (Figura 5) que incluye un calculador 615 (Figura 6) de ganancia por banda y un cuantificador 616 (Figura 6) de la ganancia por banda calculada. Una vez que el vector de diferencia cuantificado fdQ, incluido el relleno de ruido si es necesario, el calculador 615 calcula la ganancia por banda para cada banda de frecuencia. La ganancia por banda para una banda específica Gb(i) se define como la relación entre la energía de la señal del vector de diferencia no cuantificado fd a la energía del vector de diferencia cuantificado fdQ en el dominio de registro como:
Donde
Donde CBb y Bb se definen en la sección 5 anterior.
En la realización de las Figuras 5 y 6, el vector cuantificador 616 de ganancia por banda cuantifica las ganancias de frecuencia por banda. Antes de la cuantificación vectorial, a una tasa de bits baja, la última ganancia (correspondiente a la última banda de frecuencia) se cuantifica por separado y las restantes quince (15) ganancias se dividen por la última ganancia cuantificada. Luego, las restantes quince (15) ganancias normalizadas se cuantifican vectorialmente. A mayor velocidad, la media de las ganancias por banda se cuantifica primero y luego se elimina de todas las ganancias por banda de, por ejemplo, dieciséis (16) bandas de frecuencia antes de la cuantificación vectorial de dichas ganancias por banda. La cuantificación vectorial que se usa puede ser una minimización estándar en el dominio logarítmico de la distancia entre el vector que contiene las ganancias por banda y las entradas de un libro de códigos específico.
En el modo de codificación en el dominio de la frecuencia, las ganancias se calculan en el calculador 615 para cada banda de frecuencia para igualar la energía del vector no cuantificado fd al vector cuantificado fdQ. Las ganancias se cuantifican vectorialmente en el cuantificador 616 y se aplican por banda al vector cuantificado fdQ a través de un multiplicador 509 (Figuras 5 y 6).
Alternativamente, también es posible usar el esquema de codificación FPC a una velocidad por debajo de 12 kbps para todo el espectro seleccionando sólo algunas de las bandas de frecuencia a cuantificar. Antes de realizar la selección de las bandas de frecuencia, se cuantifica la energía Ed de las bandas de frecuencia del vector de diferencia no cuantificado f<d>. La energía se calcula como:
donde
sA i ) =<Z>f d U Y
donde CBb y Bb se definen en la sección 5 anterior.
Para realizar la cuantificación de la energía de la banda de frecuencia Ed, primero se cuantifica la energía promedio de las primeras 12 bandas de las dieciséis bandas usadas y se resta de las dieciséis (16) energías de bandas. Entonces todas las bandas de frecuencia son vectores cuantificados por grupo de 3 o 4 bandas. La cuantificación vectorial que se usa puede ser una minimización estándar en el dominio logarítmico de la distancia entre el vector que contiene las ganancias por banda y las entradas de un libro de códigos específico. Si no hay suficientes bits disponibles, es posible cuantificar sólo las primeras 12 bandas y extrapolar las últimas 4 bandas usando el promedio de las 3 bandas anteriores o mediante cualquier otro método.
Una vez que se cuantifica la energía de las bandas de frecuencia del vector de diferencia no cuantificado, resulta posible clasificar la energía en orden decreciente de tal manera que sea replicable en el lado del decodificador. Durante la clasificación, todas las bandas de energía por debajo de 2 kHz siempre se mantienen y luego solo las bandas más energéticas pasarán al FPC para codificar amplitudes y signos de pulso. Con este enfoque, el esquema FPC codifica un vector más pequeño, pero que cubre un rango de frecuencia más amplio. En otras palabras, se necesitan menos bits para cubrir eventos energéticos importantes en todo el espectro.
Después del proceso de cuantificación de pulsos, se necesita un relleno de ruido similar al descrito anteriormente. Entonces, un factor de ajuste de ganancia Ga se calcula por banda de frecuencia para igualar la energía EdQ del vector de diferencia cuantificado fdQ a la energía cuantificada Ed del vector de diferencia no cuantificado fd. Luego, este factor de ajuste de ganancia por banda se aplica al vector de diferencia cuantificado fdQ.
donde
y Ed es la energía cuantificada por banda del vector de diferencia no cuantificado fd como se definió anteriormente
Después de completar la etapa de codificación en el dominio de la frecuencia, la excitación total en el dominio de tiempo/dominio de la frecuencia se encuentra sumando a través de un sumador 111 (Figuras 1,2, 5 y 6) el vector de diferencia cuantificado en frecuencia fdQ a la contribución de excitación del dominio de tiempo transformada en frecuencia filtrada fexcF. Cuando el codificador CELP mejorado 100 cambia su asignación de bits de un modo de codificación sólo en el dominio de tiempo a un modo de codificación mixta en el dominio de tiempo/dominio de la frecuencia, la energía del espectro de excitación por banda de frecuencia del modo de codificación sólo en el dominio de tiempo no coincide con la energía del espectro de excitación por banda de frecuencia del modo de codificación mixta en el dominio de tiempo/dominio de la frecuencia. Esta falta de coincidencia de energía puede crear artefactos de conmutación que son más audibles a una tasa de bits baja. Para reducir cualquier degradación audible creada por esta reasignación de bits, se puede calcular una ganancia a largo plazo para cada banda y se puede aplicar a la excitación sumada para corregir la energía de cada banda de frecuencia durante algunas tramas después de la reasignación. Entonces, la suma del vector de diferencia de frecuencia cuantificada fdQ y la contribución de excitación del dominio de tiempo filtrada y transformada en frecuencia fexcF luego se transforma nuevamente al dominio de tiempo en un convertidor 112 (Figuras 1, 5 y 6) que comprende, por ejemplo, una IDCT (DCT inversa) 220.
Finalmente, la señal sintetizada se calcula filtrando la señal de excitación total de la IDCT 220 a través de un filtro de síntesis LP 113 (Figuras 1 y 2).
La suma del vector de diferencia cuantificada en frecuencia fdQ y la contribución de excitación del dominio de tiempo filtrada y transformada en frecuencia fexcF forma la excitación mixta en el dominio de tiempo/dominio de la frecuencia transmitida a un decodificador distante (no mostrado). El decodificador distante también comprenderá el convertidor 112 para transformar la excitación mixta en el dominio de tiempo/dominio de la frecuencia nuevamente al dominio de tiempo usando, por ejemplo, la IDCT (DCT inversa) 220. Finalmente, la señal sintetizada se calcula en el decodificador filtrando la señal de excitación total de la IDCT 220, es decir, la excitación mixta en el dominio de tiempo/dominio de la frecuencia a través del filtro de síntesis LP 113 (Figuras 1 y 2).
En una realización, mientras las memorias de codificación CELP se actualizan en una subtrama usando solo la contribución de excitación del dominio de tiempo, la excitación total se usa para actualizar esas memorias en los límites de la trama. En otra implementación posible, las memorias de codificación CELP se actualizan en una subtrama y también en los límites de la trama usando solo la contribución de excitación del dominio de tiempo. Esto da como resultado una estructura integrada donde la señal cuantificada en el dominio de la frecuencia constituye una capa de cuantificación superior independiente de la capa CELP central. Esto presenta ventajas en determinadas aplicaciones. En este caso particular, el libro de códigos fijo siempre se usa para mantener una buena calidad de percepción, y el número de subtramas es siempre cuatro (4) por la misma razón. Sin embargo, el análisis en el dominio de la frecuencia puede aplicarse a toda la trama. Este enfoque integrado funciona para tasas de bits de alrededor de 12 kbps y superiores.
La divulgación anterior se refiere a realizaciones ilustrativas no restrictivas, y estas realizaciones pueden modificarse a voluntad, dentro del alcance de las reivindicaciones adjuntas.
Claims (2)
1. Un dispositivo de codificación mixta en el dominio de tiempo/dominio de la frecuencia para codificar una señal de sonido de entrada (101), caracterizado porque comprende:
un calculador (105) de una contribución de excitación del dominio de tiempo en respuesta a la señal de sonido de entrada (101), en donde el calculador (105) de la contribución de excitación del dominio de tiempo está configurada para procesar la señal de sonido de entrada (101) en tramas sucesivas de dicha señal de sonido de entrada y comprende un calculador (210) de una cantidad de subtramas a usar en una trama actual, en donde la cantidad de subtramas a usar en una trama actual se basa en una dinámica espectral de alta frecuencia de la señal de sonido de entrada (101), en donde el calculador (105) de contribución de excitación del dominio de tiempo está configurado para usar en la trama actual el número de subtramas determinadas por el calculador (210) del número de subtramas para dicha trama actual;
un calculador (107) de una contribución de excitación del dominio de la frecuencia en respuesta a la señal de sonido de entrada (101); y
un sumador (111) de la contribución de excitación del dominio de tiempo y la contribución de excitación del dominio de la frecuencia en el dominio de la frecuencia configurado para formar una excitación mixta en el dominio de tiempo/dominio de la frecuencia que constituye una versión codificada de la señal de sonido de entrada (101).
2. Un método de codificación mixta en el dominio de tiempo/dominio de la frecuencia para codificar una señal de sonido de entrada (101), caracterizado porque comprende:
calcular (105) una contribución de excitación del dominio de tiempo en respuesta a la señal de sonido de entrada (101), en donde calcular (105) la contribución de excitación del dominio de tiempo comprende procesar la señal de sonido de entrada en tramas sucesivas de dicha señal de sonido de entrada (101) y calcular (210) un número de subtramas a usar en una trama actual, en donde el número de subtramas a usar en una trama actual se basa en una dinámica espectral de alta frecuencia de la señal de sonido de entrada (101), en donde calcular (105) la contribución de excitación del dominio de tiempo también comprende usar en la trama actual el número de subtramas calculadas para dicha trama actual;
calcular (107) una contribución de excitación del dominio de la frecuencia en respuesta a la señal de sonido de entrada (101); y
sumar (111) la contribución de excitación del dominio de tiempo y la contribución de excitación del dominio de la frecuencia en el dominio de la frecuencia para formar una excitación mixta en el dominio de tiempo/dominio de la frecuencia que constituye una versión codificada de la señal de sonido de entrada (101).
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US40637910P | 2010-10-25 | 2010-10-25 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2982115T3 true ES2982115T3 (es) | 2024-10-14 |
Family
ID=45973717
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES11835383.8T Active ES2693229T3 (es) | 2010-10-25 | 2011-10-24 | Codificación de señales de audio genérico a bajas tasas de bits y bajo retardo |
| ES17175692T Active ES2982115T3 (es) | 2010-10-25 | 2011-10-24 | Codificación de señales de audio genérico con bajas tasas de bits y bajo retardo |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES11835383.8T Active ES2693229T3 (es) | 2010-10-25 | 2011-10-24 | Codificación de señales de audio genérico a bajas tasas de bits y bajo retardo |
Country Status (20)
| Country | Link |
|---|---|
| US (1) | US9015038B2 (es) |
| EP (3) | EP3239979B1 (es) |
| JP (1) | JP5978218B2 (es) |
| KR (2) | KR101998609B1 (es) |
| CN (1) | CN103282959B (es) |
| CA (1) | CA2815249C (es) |
| DK (2) | DK3239979T3 (es) |
| ES (2) | ES2693229T3 (es) |
| FI (1) | FI3239979T3 (es) |
| HR (1) | HRP20240863T1 (es) |
| HU (1) | HUE067096T2 (es) |
| LT (1) | LT3239979T (es) |
| MX (1) | MX351750B (es) |
| MY (1) | MY164748A (es) |
| PL (1) | PL2633521T3 (es) |
| PT (1) | PT2633521T (es) |
| RU (1) | RU2596584C2 (es) |
| SI (1) | SI3239979T1 (es) |
| TR (1) | TR201815402T4 (es) |
| WO (1) | WO2012055016A1 (es) |
Families Citing this family (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3684104A1 (en) * | 2011-06-09 | 2020-07-22 | Panasonic Intellectual Property Corporation of America | Communication terminal and communication method |
| WO2013002696A1 (en) * | 2011-06-30 | 2013-01-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Transform audio codec and methods for encoding and decoding a time segment of an audio signal |
| JP6126006B2 (ja) * | 2012-05-11 | 2017-05-10 | パナソニック株式会社 | 音信号ハイブリッドエンコーダ、音信号ハイブリッドデコーダ、音信号符号化方法、及び音信号復号方法 |
| US9589570B2 (en) * | 2012-09-18 | 2017-03-07 | Huawei Technologies Co., Ltd. | Audio classification based on perceptual quality for low or medium bit rates |
| US9129600B2 (en) * | 2012-09-26 | 2015-09-08 | Google Technology Holdings LLC | Method and apparatus for encoding an audio signal |
| PT2936486T (pt) * | 2012-12-21 | 2018-10-19 | Fraunhofer Ges Forschung | Adição de ruído de conforto para modelagem do ruído de fundo em baixas taxas de bits |
| EP2936487B1 (en) | 2012-12-21 | 2016-06-22 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Generation of a comfort noise with high spectro-temporal resolution in discontinuous transmission of audio signals |
| CN105308681B (zh) * | 2013-02-26 | 2019-02-12 | 皇家飞利浦有限公司 | 用于生成语音信号的方法和装置 |
| JP6111795B2 (ja) * | 2013-03-28 | 2017-04-12 | 富士通株式会社 | 信号処理装置、及び信号処理方法 |
| US10083708B2 (en) * | 2013-10-11 | 2018-09-25 | Qualcomm Incorporated | Estimation of mixing factors to generate high-band excitation signal |
| EP2980797A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio decoder, method and computer program using a zero-input-response to obtain a smooth transition |
| CN106409300B (zh) | 2014-03-19 | 2019-12-24 | 华为技术有限公司 | 用于信号处理的方法和装置 |
| AU2014204540B1 (en) * | 2014-07-21 | 2015-08-20 | Matthew Brown | Audio Signal Processing Methods and Systems |
| US9875745B2 (en) * | 2014-10-07 | 2018-01-23 | Qualcomm Incorporated | Normalization of ambient higher order ambisonic audio data |
| US12125492B2 (en) | 2015-09-25 | 2024-10-22 | Voiceage Coproration | Method and system for decoding left and right channels of a stereo sound signal |
| RU2730548C2 (ru) * | 2015-09-25 | 2020-08-24 | Войсэйдж Корпорейшн | Способ и система для кодирования левого и правого каналов стереофонического звукового сигнала с выбором между моделями двух и четырех подкадров в зависимости от битового бюджета |
| US10373608B2 (en) | 2015-10-22 | 2019-08-06 | Texas Instruments Incorporated | Time-based frequency tuning of analog-to-information feature extraction |
| US10210871B2 (en) * | 2016-03-18 | 2019-02-19 | Qualcomm Incorporated | Audio processing for temporally mismatched signals |
| CN110062945B (zh) | 2016-12-02 | 2023-05-23 | 迪拉克研究公司 | 音频输入信号的处理 |
| US11276411B2 (en) * | 2017-09-20 | 2022-03-15 | Voiceage Corporation | Method and device for allocating a bit-budget between sub-frames in a CELP CODEC |
| CA3170065A1 (en) | 2020-04-16 | 2021-10-21 | Vladimir Malenovsky | Method and device for speech/music classification and core encoder selection in a sound codec |
| JP2023540377A (ja) * | 2020-09-09 | 2023-09-22 | ヴォイスエイジ・コーポレーション | 音コーデックにおける、非相関ステレオコンテンツの分類、クロストーク検出、およびステレオモード選択のための方法およびデバイス |
| JP7764480B2 (ja) * | 2021-01-08 | 2025-11-05 | ヴォイスエイジ・コーポレーション | 音響信号の統合時間領域/周波数領域符号化のための方法およびデバイス |
| JP2025540695A (ja) * | 2022-11-23 | 2025-12-16 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | 過渡オーディオ信号の適応符号化 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB9811019D0 (en) * | 1998-05-21 | 1998-07-22 | Univ Surrey | Speech coders |
| ATE265732T1 (de) * | 2000-05-22 | 2004-05-15 | Texas Instruments Inc | Vorrichtung und verfahren zur breitbandcodierung von sprachsignalen |
| KR100528327B1 (ko) * | 2003-01-02 | 2005-11-15 | 삼성전자주식회사 | 비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치 |
| CA2457988A1 (en) * | 2004-02-18 | 2005-08-18 | Voiceage Corporation | Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization |
| RU2007109803A (ru) * | 2004-09-17 | 2008-09-27 | Мацусита Электрик Индастриал Ко., Лтд. (Jp) | Устройство масштабируемого кодирования, устройство масштабируемого декодирования, способ масштабируемого кодирования, способ масштабируемого декодирования, устройство коммуникационного терминала и устройство базовой станции |
| KR101390188B1 (ko) * | 2006-06-21 | 2014-04-30 | 삼성전자주식회사 | 적응적 고주파수영역 부호화 및 복호화 방법 및 장치 |
| WO2007148925A1 (en) * | 2006-06-21 | 2007-12-27 | Samsung Electronics Co., Ltd. | Method and apparatus for adaptively encoding and decoding high frequency band |
| RU2319222C1 (ru) * | 2006-08-30 | 2008-03-10 | Валерий Юрьевич Тарасов | Способ кодирования и декодирования речевого сигнала методом линейного предсказания |
| US8515767B2 (en) * | 2007-11-04 | 2013-08-20 | Qualcomm Incorporated | Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs |
| ATE500588T1 (de) * | 2008-01-04 | 2011-03-15 | Dolby Sweden Ab | Audiokodierer und -dekodierer |
| 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 |
| 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 |
-
2011
- 2011-10-24 HU HUE17175692A patent/HUE067096T2/hu unknown
- 2011-10-24 EP EP17175692.7A patent/EP3239979B1/en active Active
- 2011-10-24 PL PL11835383T patent/PL2633521T3/pl unknown
- 2011-10-24 WO PCT/CA2011/001182 patent/WO2012055016A1/en not_active Ceased
- 2011-10-24 HR HRP20240863TT patent/HRP20240863T1/hr unknown
- 2011-10-24 MY MYPI2013700658A patent/MY164748A/en unknown
- 2011-10-24 DK DK17175692.7T patent/DK3239979T3/da active
- 2011-10-24 CA CA2815249A patent/CA2815249C/en active Active
- 2011-10-24 LT LTEP17175692.7T patent/LT3239979T/lt unknown
- 2011-10-24 KR KR1020187011402A patent/KR101998609B1/ko active Active
- 2011-10-24 RU RU2013124065/08A patent/RU2596584C2/ru active
- 2011-10-24 ES ES11835383.8T patent/ES2693229T3/es active Active
- 2011-10-24 EP EP24167694.9A patent/EP4372747A3/en active Pending
- 2011-10-24 PT PT11835383T patent/PT2633521T/pt unknown
- 2011-10-24 MX MX2013004673A patent/MX351750B/es active IP Right Grant
- 2011-10-24 ES ES17175692T patent/ES2982115T3/es active Active
- 2011-10-24 KR KR1020137013143A patent/KR101858466B1/ko active Active
- 2011-10-24 EP EP11835383.8A patent/EP2633521B1/en active Active
- 2011-10-24 FI FIEP17175692.7T patent/FI3239979T3/fi active
- 2011-10-24 TR TR2018/15402T patent/TR201815402T4/tr unknown
- 2011-10-24 CN CN201180062729.6A patent/CN103282959B/zh active Active
- 2011-10-24 DK DK11835383.8T patent/DK2633521T3/en active
- 2011-10-24 SI SI201132111T patent/SI3239979T1/sl unknown
- 2011-10-24 JP JP2013535216A patent/JP5978218B2/ja active Active
- 2011-10-25 US US13/280,707 patent/US9015038B2/en active Active
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2982115T3 (es) | Codificación de señales de audio genérico con bajas tasas de bits y bajo retardo | |
| RU2660605C2 (ru) | Концепция заполнения шумом | |
| US8095362B2 (en) | Method and system for reducing effects of noise producing artifacts in a speech signal | |
| JP6086999B2 (ja) | ハーモニクス低減を使用して第1符号化アルゴリズムと第2符号化アルゴリズムの一方を選択する装置及び方法 | |
| CN102985966A (zh) | 音频编码器和解码器及用于音频信号的编码和解码的方法 | |
| ES3035793T3 (en) | Method and device for unified time-domain / frequency domain coding of a sound signal | |
| CA2910878C (en) | Apparatus and method for selecting one of a first encoding algorithm and a second encoding algorithm using harmonics reduction | |
| HK40107881A (en) | Coding generic audio signals at low bitrates and low delay | |
| HK1185709B (en) | Coding generic audio signals at low bitrates and low delay | |
| HK1222943B (en) | Selection of one of a first encoding algorithm and a second encoding algorithm using harmonics reduction |