ES2693229T3 - Codificación de señales de audio genérico a bajas tasas de bits y bajo retardo - Google Patents

Codificación de señales de audio genérico a bajas tasas de bits y bajo retardo Download PDF

Info

Publication number
ES2693229T3
ES2693229T3 ES11835383.8T ES11835383T ES2693229T3 ES 2693229 T3 ES2693229 T3 ES 2693229T3 ES 11835383 T ES11835383 T ES 11835383T ES 2693229 T3 ES2693229 T3 ES 2693229T3
Authority
ES
Spain
Prior art keywords
frequency
time domain
domain
excitation
contribution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES11835383.8T
Other languages
English (en)
Inventor
Tommy Vaillancourt
Milan Jelinek
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
VoiceAge Corp
Original Assignee
VoiceAge Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=45973717&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2693229(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by VoiceAge Corp filed Critical VoiceAge Corp
Application granted granted Critical
Publication of ES2693229T3 publication Critical patent/ES2693229T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/20Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech 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

Abstract

Un dispositivo de codificación mixta en el dominio de tiempo/dominio de frecuencia para codificar una señal de sonido de entrada (101), caracterizado por que 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); un calculador (215) de una frecuencia de corte para la contribución de excitación del dominio de tiempo en respuesta a la señal de sonido de entrada (101); un filtro (216) sensible la frecuencia de corte, para ajustar una extensión de frecuencia de la contribución de excitación del dominio de tiempo; un calculador (107) de una contribución de excitación del dominio de 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 filtrada y la contribución de excitación del dominio de frecuencia en el dominio de frecuencia, para formar una excitación mixta en el dominio de tiempo/dominio de frecuencia que constituye una versión codificada de la señal de sonido de entrada (101).

Description

5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Codificacion de senales de audio generico a bajas tasas de bits y bajo retardo Sector tecnico
La presente invencion se refiere a dispositivos y procedimientos de codificacion mixta en el dominio de
tiempo/dominio de frecuencia para codificar una senal de sonido de entrada, y a un codificador y un descodificador correspondientes que utilizan estos dispositivos y procedimientos de codificacion mixta en el dominio de
tiempo/dominio de frecuencia.
Antecedentes
Un codec conversacional del estado de la tecnica puede representar con muy buena calidad una senal de voz limpia con una tasa de bits de aproximadamente 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 codecs conversacionales con bajo retardo de procesamiento, que la mayor parte de las veces codifican la senal de voz de entrada en el dominio de tiempo, no son adecuados
para senales de audio generico, tales como musica y voz reverberante. Para superar este inconveniente, se han
introducido codecs conmutados, basicamente utilizando el enfoque del dominio de tiempo para codificar senales de entrada dominadas por voz y un enfoque del dominio de frecuencia para codificar senales de audio generico. Sin embargo, dichas soluciones conmutadas requieren habitualmente un mayor retardo de procesamiento, necesario tanto para la clasificacion voz-musica como para la transformada al dominio de frecuencia.
El documento "High quality coding of wideband audio signals using transform coded excitation (TCX)", Lefebvre et al., Procedimientos de ICASSP '94, propone un enfoque que utiliza una combinacion de tecnicas del dominio de tiempo y el dominio de frecuencia. El enfoque propuesto utiliza un modelo de smtesis similar al de los codificadores de prediccion lineal tales como CELP. Sin embargo, en el codificador, el analisis por smtesis de alta complejidad se evita mediante cuantificacion directa de la denominada senal objetivo (la senal ponderada perceptualmente con correlaciones de tono y sonido de filtro eliminadas) en el dominio de frecuencia. La excitacion novedosa se obtiene en el descodificador mediante filtrado inverso de la senal objetivo cuantificada.
Para superar el inconveniente anterior, se propone un modelo de dominio de tiempo y dominio de frecuencia mas unificado.
Compendio
La presente invencion se refiere a un dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia para codificar una senal de sonido de entrada, que comprende: un calculador de una contribucion de excitacion del dominio de tiempo, en respuesta a la senal de sonido de entrada; un calculador de una frecuencia de corte para la contribucion de excitacion del dominio de tiempo en respuesta a la senal de sonido de entrada; un filtro sensible a la frecuencia de corte para ajustar una extension de frecuencia de la contribucion de excitacion del dominio de tiempo; un calculador de una contribucion de excitacion del dominio de frecuencia en respuesta a la senal de sonido de entrada; y un sumador de la contribucion de excitacion del dominio de tiempo filtrada y la contribucion de excitacion del dominio de frecuencia en el dominio de frecuencia para formar una excitacion mixta en el dominio de tiempo/dominio de frecuencia que constituye una version codificada de la senal de sonido de entrada.
La presente invencion se refiere asimismo a un codificador que utiliza un modelo de dominio de tiempo y dominio de frecuencia, que comprende: un clasificador de una senal de sonido de entrada como de voz o no de voz; un codificador solamente del dominio de tiempo; el dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia descrito anteriormente; y un selector de uno del codificador solamente del dominio de tiempo y el dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia, para codificar la senal de sonido de entrada en funcion de la clasificacion de la senal de sonido de entrada.
La presente invencion se refiere ademas a un descodificador para descodificar una senal de sonido codificada utilizando el dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia que se ha descrito anteriormente, que comprende: un convertidor de la excitacion mixta en el dominio de tiempo/dominio de frecuencia al dominio de tiempo; y un filtro de smtesis para sintetizar la senal de sonido en respuesta a la excitacion mixta en el dominio de tiempo/dominio de frecuencia convertida al dominio de tiempo.
La presente invencion se refiere asimismo a un procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia para codificar una senal de sonido de entrada, que comprende: calcular una contribucion de excitacion del dominio de tiempo en respuesta a la senal de sonido de entrada; calcular una frecuencia de corte para la contribucion de excitacion del dominio de tiempo en respuesta a la senal de sonido de entrada; en respuesta a la frecuencia de corte, ajustar una extension de frecuencia de la contribucion de excitacion del dominio de tiempo; calcular una contribucion de excitacion del dominio de frecuencia en respuesta a la senal de sonido de entrada; y sumar la contribucion de excitacion del dominio de tiempo ajustada y la contribucion de excitacion del dominio de frecuencia en el dominio de frecuencia para formar una excitacion mixta en el dominio de tiempo/dominio de frecuencia que constituye una version codificada de la senal de sonido de entrada.
En la presente invencion, se describe ademas un procedimiento de codificacion que utiliza un modelo de dominio de tiempo y dominio de frecuencia, que comprende: clasificar una senal de sonido de entrada como de voz o no de voz; proporcionar un procedimiento de codificacion solamente del dominio de tiempo; proporcionar el procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia descrito anteriormente, y seleccionar uno del 5 procedimiento de codificacion solamente del dominio de tiempo y el procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia para codificar la senal de sonido de entrada en funcion de la clasificacion de la senal de sonido de entrada.
En la presente invencion, se describe ademas un procedimiento de descodificacion de una senal de sonido codificada utilizando el procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia que se ha 10 descrito anteriormente, que comprende: convertir la excitacion mixta en el dominio de tiempo/dominio de frecuencia al dominio de tiempo; y sintetizar la senal de sonido mediante un filtro de smtesis en respuesta a la excitacion mixta en el dominio de tiempo/dominio de frecuencia convertida al dominio de tiempo.
Las anteriores y otras caractensticas resultaran mas evidentes tras la lectura de la siguiente descripcion no restrictiva de una realizacion ilustrativa del modelo de dominio de tiempo y dominio de frecuencia propuesto, 15 proporcionada solamente a modo de ejemplo, haciendo referencia a los dibujos adjuntos.
Breve descripcion de los dibujos
En los dibujos adjuntos:
la figura 1 es un diagrama esquematico de bloques que muestra una vision general de un codificador CELP (CodeExcited Linear Prediction, prediccion lineal con excitacion por codigo) mejorado, por ejemplo un codificador ACELP 20 (Algebraic Code-Excited Linear Prediction; prediccion lineal con excitacion por codigo algebraico);
la figura 2 es un diagrama esquematico de bloques de una estructura mas detallada del codificador CELP mejorado de la figura 1;
la figura 3 es un diagrama esquematico de bloques de una vision general de un calculador de frecuencia de corte;
la figura 4 es un diagrama esquematico de bloques de una estructura mas detallada del calculador de frecuencia de 25 corte de la figura 3;
la figura 5 es un diagrama esquematico de bloques de una vision general de un cuantificador de frecuencia; y
la figura 6 es un diagrama esquematico de bloques de una estructura mas detallada del cuantificador de frecuencia de la figura 5.
Descripcion detallada
30 El modelo mas unificado de dominio de tiempo y dominio de frecuencia propuesto puede mejorar la calidad de smtesis para senales de audio generico tales como, por ejemplo, musica y/o voz reverberante, sin aumentar el retardo de procesamiento y la tasa de bits. Este modelo actua, por ejemplo, en un dominio de residuos de prediccion lineal (LP, Linear Prediction), donde los bits disponibles son asignados dinamicamente entre un libro de codigos adaptativo, uno o varios libros de codigos fijos (por ejemplo, un libro de codigos algebraico, un libro de codigos 35 gaussiano, etc.) y un modo de codificacion en el dominio de frecuencia, dependiendo de las caractensticas de la senal de entrada.
Para conseguir un codec conversacional de bajo retardo de procesamiento y baja tasa de bits, que mejore la calidad de smtesis de las senales de audio generico, tales como musica y/o voz reverberante, se puede integrar lo mejor posible un modo de codificacion en el dominio de frecuencia en el modo de codificacion en el dominio de tiempo 40 CELP (prediccion lineal con excitacion por codigo). Con este proposito, el modo de codificacion en el dominio de frecuencia utiliza, por ejemplo, una transformada de frecuencia realizada en el dominio de residuos LP. Esto permite una conmutacion casi sin artefactos de una trama, por ejemplo una trama de 20 ms, a otra. Asimismo, la integracion de los dos (2) modos de codificacion es lo suficientemente estrecha como para permitir una reasignacion dinamica del presupuesto de bits a otro modo de codificacion si se determina que el modo de codificacion actual no es lo 45 suficientemente eficiente.
Una caractenstica del modelo mas unificado de dominio de tiempo y dominio de frecuencia propuesto, es el soporte temporal variable del componente del dominio de tiempo, que vana desde un cuarto de trama hasta una trama completa en una base trama a trama, y se denominara subtrama. Como un ejemplo ilustrativo, una trama representa 20 ms de senal de entrada. Esto corresponde a 320 muestras si la frecuencia de muestreo interna del codec es 16 50 kHz, o a 256 muestras por trama si la frecuencia de muestreo interna del codec es de 12,8 kHz. Entonces un cuarto de trama (la subtrama) representa 64 u 80 muestras en funcion de la frecuencia de muestreo interna del codec. En la siguiente realizacion ilustrativa, la frecuencia de muestreo interna del codec es de 12,8 kHz proporcionando una longitud de trama de 256 muestras. El soporte temporal variable hace posible capturar eventos temporales principales con una tasa de bits minima para crear una contribucion basica de excitacion del dominio de tiempo. A 55 una tasa de bits muy baja, el soporte temporal es normalmente toda la trama. En ese caso, la contribucion del
5
10
15
20
25
30
35
40
45
50
55
dominio de tiempo a la senal de excitacion se compone solamente del libro de codigos adaptativo, y la correspondiente informacion de tono con la correspondiente ganancia se transmiten una vez por cada trama. Cuando esta disponible mas de una tasa de bits, es posible capturar mas eventos temporales acortando el soporte temporal (y aumentando la tasa de bits asignada al modo de codificacion en el dominio de tiempo). Al final, cuando el soporte temporal es lo suficientemente corto (de un cuarto de trama), y la tasa de bits disponible es lo suficientemente alta, la contribucion del dominio de tiempo puede incluir la contribucion del libro de codigos adaptativo, una contribucion de libro de codigos fijo, o ambas, con las correspondientes ganancias. Los parametros que describen los indices de libro de codigos y las ganancias se transmiten a continuacion para cada subtrama.
A una baja tasa de bits, los codec conversacionales no pueden codificar adecuadamente las frecuencias superiores. Esto provoca una degradacion importante de la calidad de la smtesis cuando la senal de entrada incluye musica y/o voz reverberante. Para resolver este problema, se anade una caractenstica para calcular la eficiencia de la contribucion de excitacion del dominio de tiempo. En algunos casos, la contribucion de excitacion del dominio de tiempo no es valiosa para cualesquiera tasa de bits de entrada y soporte temporal de las tramas. En estos casos, todos los bits son reasignados a la siguiente etapa de codificacion en el dominio de frecuencia. Pero la mayor parte del tiempo, la contribucion de excitacion del dominio de tiempo es valiosa solamente hasta una determinada frecuencia (la frecuencia de corte). En estos casos, la contribucion de excitacion del dominio de tiempo se filtra por encima de la frecuencia de corte. La operacion de filtrado permite mantener informacion valiosa codificada con la contribucion de excitacion del dominio de tiempo y eliminar la informacion no valiosa por encima de la frecuencia de corte. En una realizacion ilustrativa, el filtrado se lleva a cabo en el dominio de frecuencia ajustando a cero las cajas de frecuencia por encima de una determinada frecuencia.
El soporte temporal variable en combinacion con la frecuencia de corte variable hace muy dinamica la asignacion de bits dentro del modelo integrado de dominio de tiempo y dominio de frecuencia. La tasa de bits despues de la cuantificacion del filtro de LP se puede asignar mtegramente al dominio de tiempo o mtegramente al dominio de frecuencia, o a cualquier situacion intermedia. La asignacion de la tasa de bits entre los dominios de tiempo y de frecuencia se realiza como una funcion del numero de subtramas utilizadas para la contribucion del dominio de tiempo, del presupuesto de bits disponible y de la frecuencia de corte calculada.
Para crear una excitacion total que se ajuste mas eficientemente al residuo de entrada, se aplica el modo de codificacion en el dominio de frecuencia. Una caractenstica de la presente invencion es que la codificacion en el dominio de frecuencia se lleva a cabo sobre un vector que contiene la diferencia entre una representacion en frecuencia (transformada de frecuencia) del residuo LP de entrada y una representacion en frecuencia (transformada de frecuencia) de la contribucion filtrada de excitacion del dominio de tiempo hasta la frecuencia de corte, y que contiene la representacion en frecuencia (transformada de frecuencia) del propio residuo LP de entrada por encima de dicha frecuencia de corte. Se introduce una transicion espectral suave entre ambos segmentos inmediatamente por encima de la frecuencia de corte. En otras palabras, en primer lugar la parte de alta frecuencia de la representacion en frecuencia de la contribucion de excitacion del dominio de tiempo se reduce a cero. Se introduce una zona de transicion entre la parte no modificada del espectro y la parte reducida a cero del espectro, inmediatamente por encima de la frecuencia de corte, para garantizar una transicion suave entre ambas partes del espectro. Este espectro modificado de la contribucion de excitacion del dominio de tiempo se resta a continuacion de la representacion en 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 representacion en frecuencia del residuo LP por encima de la misma, con una cierta zona de transicion. La frecuencia de corte, tal como se ha mencionado anteriormente, puede variar de una trama a otra.
Cualquiera que sea el procedimiento de cuantificacion de frecuencia (modo de codificacion en el dominio de frecuencia) escogido, existe siempre una posibilidad de pre-eco, especialmente con ventanas largas. En esta tecnica, las ventanas utilizadas son ventanas cuadradas, de tal modo que la longitud de ventana extra comparada con la senal codificada es cero (0), es decir, no se utiliza suma en solapamiento. Aunque esto corresponde a la mejor ventana para reducir cualquier pre-eco potencial, puede seguir siendo audible algun pre-eco en ataques temporales. Existen muchas tecnicas para resolver dicho problema de pre-eco, pero la presente invencion propone una caractenstica simple para cancelar este problema de pre-eco. Esta caractenstica se basa en un modo de codificacion en el dominio de tiempo sin memoria que se obtiene a partir del "modo de transicion" de la recomendacion de ITU-T G.718; referencia [recomendacion ITU-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, seccion 6.8.1.4 y seccion 6.8.4.2]. La idea tras esta caractenstica es sacar partido del hecho de que el modelo mas unificado de dominio de tiempo y dominio de frecuencia propuesto esta integrado en el dominio de residuos LP, lo que permite casi todo el tiempo una conmutacion sin artefactos. Cuando una senal se considera audio generico (musica y/o voz reverberante) y cuando se detecta un ataque temporal en una trama, entonces esta trama solamente se codifica con este modo de codificacion en el dominio de tiempo sin memoria especial. Este modo se encargara del ataque temporal, evitando de ese modo el pre-eco que podna ser introducido con la codificacion en el dominio de frecuencia de dicha trama.
5
10
15
20
25
30
35
40
45
50
55
60
Realizacion ilustrativa
En el modelo mas unificado de dominio de tiempo y dominio de frecuencia propuesto, el libro de codigos adaptativo mencionado anteriormente, uno o varios libros de codigos fijos (por ejemplo, un libro de codigos algebraico, un libro de codigos gaussiano, etc.), es decir, los denominados libros de codigos del dominio de tiempo, y la cuantificacion en el dominio de frecuencia (modo de codificacion en el dominio de frecuencia se pueden ver como una biblioteca de libros de codigos, y los bits se pueden distribuir entre todos los libros de codigos disponibles, o un subconjunto de los mismos. Esto significa, por ejemplo, que si la senal de sonido de entrada es una voz limpia, todos los bits seran asignados al modo de codificacion en el dominio de tiempo, basicamente reduciendo la codificacion al esquema CELP heredado. Por otra parte, para algunos segmentos de musica, en ocasiones todos los bits asignados para codificar el residuo LP de entrada estan mejor empleados en el dominio de frecuencia, por ejemplo en un dominio de transformada.
Tal como se ha indicado en la descripcion anterior, el soporte temporal para los modos de codificacion en el dominio de tiempo y el dominio de frecuencia no tiene por que ser el mismo. Mientras los bits invertidos en los diferentes procedimientos de cuantificacion en el dominio de tiempo (busquedas de libros de codigos adaptativos y algebraicos) se distribuyen normalmente en un esquema por subtrama (habitualmente un cuarto de trama, o 5 ms de soporte temporal), los bits asignados al modo de codificacion en el dominio de frecuencia se distribuyen en un esquema por trama (habitualmente, 20 ms de soporte temporal) para mejorar la resolucion de la frecuencia.
El presupuesto de bits asignado al modo de codificacion CELP en el dominio de tiempo puede asimismo controlarse dinamicamente en funcion de la senal de sonido de entrada. En algunos casos, el presupuesto de bits asignado al modo de codificacion CELP en el dominio de tiempo puede ser cero, lo que significa de hecho que todo el presupuesto de bits se atribuye al modo de codificacion en el dominio de frecuencia. La eleccion de trabajar en el dominio de residuos LP para los enfoques tanto del dominio de tiempo como del dominio de frecuencia tiene dos (2) beneficios principales. En primer lugar, es compatible con el modo de codificacion CELP, que ha mostrado ser eficiente en codificacion de senales de voz. Por consiguiente, no se introduce ningun artefacto debido a la conmutacion entre los dos tipos de modos de codificacion. En segundo lugar, una menor dinamica del residuo LP con respecto a la senal de sonido de entrada original, y su relativa planitud, facilitan la utilizacion de una ventana cuadrada para las transformadas de frecuencia, permitiendo por lo tanto la utilizacion de una ventana sin solapamiento.
En un ejemplo no limitativo donde la frecuencia de muestreo interna del codec es de 12,8 kHz (lo que significa 256 muestras por trama), de manera similar a la recomendacion G.718 de ITU-T, la longitud de las subtramas utilizadas en el modo de codificacion CELP del dominio de tiempo puede variar desde un tfpico 1/4 de longitud de trama (5 ms) a media trama (10 ms), o una longitud de trama completa (20 ms). La decision de la longitud de la subtrama se basa en la tasa de bits disponible y en un analisis de la senal de sonido de entrada, en particular de las dinamicas espectrales de la senal de sonido de entrada. La decision de la longitud de la subtrama se puede llevar a cabo en un modo en bucle cerrado. Para ahorrar complejidad, es posible asimismo basar la decision de la longitud de la subtrama en un modo en bucle abierto. La longitud de la subtrama se puede modificar de una trama a otra.
Una vez se ha elegido la longitud de las subtramas en una trama particular, se lleva a cabo un analisis estandar de tono en bucle cerrado y se selecciona la primera contribucion a la senal de excitacion desde el libro de codigos adaptativo. A continuacion, dependiendo del presupuesto de bits disponible y de las caractensticas de la senal de sonido de entrada (por ejemplo, en el caso de una senal de voz de entrada), se puede anadir una segunda contribucion desde uno o varios libros de codigos fijos antes de la codificacion en el dominio de transformada. La excitacion resultante se denominara la contribucion de excitacion del dominio de tiempo. Por otra parte, a tasas de bits muy bajas y en caso de audio generico, a menudo es mejor omitir la etapa de libro de codigos fijo y utilizar todos los bits restantes para el modo de codificacion en el dominio de transformada. El modo de codificacion en el dominio de transformada puede ser, por ejemplo, un modo de codificacion en el dominio de frecuencia. Tal como se ha descrito anteriormente, la longitud de la subtrama puede ser de la longitud de un cuarto de la trama, de la mitad de la trama o de una trama. La contribucion de libro de codigos fijo se utiliza solamente 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 tenga una longitud de media trama o de la trama entera, se utiliza entonces solamente la contribucion de libro de codigos adaptativo para representar la excitacion en el dominio de tiempo, y todos los bits restantes son asignados al modo de codificacion en el dominio de frecuencia.
Una vez se ha completado el calculo de la contribucion de excitacion del dominio de tiempo, es necesario evaluar y cuantificar su eficiencia. Si la ganancia de la codificacion en el dominio de tiempo es muy baja, es mas eficiente eliminar por completo la contribucion de excitacion del dominio de tiempo y utilizar en su lugar todos los bits para el modo de codificacion en el dominio de frecuencia. Por otra parte, por ejemplo en el caso de una voz de entrada limpia, el modo de codificacion en el dominio de frecuencia no es necesario y todos los bits son asignados al modo de codificacion en el dominio de tiempo. Pero a menudo la codificacion en el dominio de tiempo es eficiente solamente hasta una determinada frecuencia. Esta frecuencia se denominara la frecuencia de corte de la contribucion de excitacion del dominio de tiempo. La determinacion de dicha frecuencia de corte garantiza que toda la codificacion en el dominio de tiempo esta contribuyendo a obtener una mejor smtesis final en lugar de trabajar contra la codificacion en el dominio de frecuencia.
5
10
15
20
25
30
35
40
45
50
55
60
La frecuencia de corte se estima en el dominio de frecuencia. Para calcular la frecuencia de corte, los espectros tanto del residuo LP como de la contribucion codificada del dominio de tiempo se dividen en primer lugar en un numero predefinido de bandas de frecuencia. El numero de bandas de frecuencia y el numero de cajas de frecuencia cubiertas por cada banda de frecuencia pueden variar de una implementacion a otra. Para cada una de las bandas de frecuencia, se calcula una correlacion normalizada entre la representacion en frecuencia de la contribucion de excitacion del dominio de tiempo y la representacion en frecuencia del residuo LP, y la correlacion es suavizada entre bandas de frecuencia adyacentes. Las correlaciones por banda se limitan por debajo a 0,5 y se normalizan entre 0 y 1. A continuacion se calcula la correlacion promedio, como el promedio de las correlaciones para todas las bandas de frecuencia. Con el objetivo de una primera estimacion de la frecuencia de corte, a continuacion la correlacion promedio se escala entre 0 y la mitad de la velocidad de muestreo (correspondiendo la mitad de la velocidad de muestreo al valor de correlacion normalizada de 1). A continuacion, se encuentra la primera estimacion de la frecuencia de corte como el lfmite superior de la banda de frecuencia que se acerca mas a dicho valor. En un ejemplo de implementacion, se definen dieciseis (16) bandas de frecuencia a 12,8 kHz para el calculo de correlacion.
Sacando partido de la propiedad psicoacustica del ofdo humano, la fiabilidad de la estimacion de la frecuencia de corte se mejora comparando la posicion estimada de la frecuencia del octavo armonico del tono con la frecuencia de corte estimada por el calculo de correlacion. Si esta posicion esta por encima de la frecuencia de corte estimada por el calculo de correlacion, la frecuencia de corte se modifica en correspondencia con la posicion de la frecuencia del octavo armonico del tono. A continuacion, el valor final de la frecuencia de corte es cuantificado y transmitido. En un ejemplo de implementacion, se utilizan 3 o 4 bits para dicha cuantificacion, que proporcionan 8 o 16 posibles frecuencias de corte en funcion de la tasa de bits.
Una vez se conoce la frecuencia de corte, se lleva a cabo la cuantificacion de frecuencia de la contribucion de excitacion del dominio de frecuencia. En primer lugar, se determina la diferencia entre la representacion en frecuencia (transformada de frecuencia) del residuo LP de entrada y la representacion en frecuencia (transformada de frecuencia) de la contribucion de excitacion del dominio de tiempo. A continuacion se crea un nuevo vector, que consiste en esta diferencia hasta la frecuencia de corte, y una transicion suave a la representacion en frecuencia del residuo LP de entrada para el resto del espectro. A continuacion se aplica una cuantificacion de frecuencia a todo el nuevo vector. En un ejemplo de implementacion, la cuantificacion consiste en codificar el signo y la posicion de los pulsos espectrales dominantes (mas energeticos). El numero de pulsos a cuantificar por banda de frecuencia esta relacionado con la tasa de bits disponible para el modo de codificacion en el dominio de frecuencia. Si no existen suficientes bits disponibles para cubrir todas las bandas de frecuencia, las bandas restantes se llenan solamente con ruido.
La cuantificacion de frecuencia de una banda de frecuencia utilizando el procedimiento de cuantificacion descrito en el parrafo anterior no garantiza que se cuantifiquen todas las cajas de frecuencia dentro de esta banda. Esto es especialmente cierto a tasas de bits bajas donde el numero de pulsos cuantificados por banda de frecuencia es relativamente bajo. Para impedir la aparicion de artefactos audibles debido a estas cajas no cuantificadas, se anade algun ruido para llenar estos huecos. Dado que a tasas de bits bajas los pulsos cuantificados debenan dominar el espectro en lugar de hacerlo el ruido introducido, la amplitud del espectro del ruido corresponde solamente una fraccion de la amplitud de los pulsos. La amplitud del ruido anadido en el espectro es mayor cuando el presupuesto de bits disponibles es bajo (permitiendo mas ruido) y menor cuando el presupuesto de bits disponible es alto.
En el modo de codificacion en el dominio de frecuencia, se calculan las ganancias para cada banda de frecuencia con el fin de ajustar la energfa de la senal no cuantificada a la senal cuantificada. Las ganancias son cuantificadas vectorialmente y aplicadas por cada banda a la senal cuantificada. Cuando el codificador cambia su asignacion de bits desde el modo de codificacion solamente del dominio de tiempo al modo de codificacion mixta en el dominio de tiempo/dominio de frecuencia, la energfa del espectro de excitacion por banda del modo de codificacion solamente del dominio de tiempo no se ajusta a la energfa del espectro de excitacion por banda del modo de codificacion mixta en el dominio de tiempo/dominio de frecuencia. Este desajuste de energfa puede crear algunos artefactos de conmutacion, especialmente a baja tasa de bits. Para reducir cualquier degradacion audible creada por esta reasignacion de bits, se puede calcular una ganancia a largo plazo para cada banda y se puede aplicar con el fin de corregir la energfa de cada banda de frecuencia para unas pocas tramas despues de la conmutacion del modo de codificacion en el dominio de tiempo al modo de codificacion mixta en el dominio de tiempo/dominio de frecuencia.
Despues de completarse el modo de codificacion en el dominio de frecuencia, la excitacion total se obtiene sumando la contribucion de excitacion del dominio de frecuencia a la representacion en frecuencia (transformada de frecuencia) de la contribucion de excitacion del dominio de tiempo, y a continuacion la suma de las contribuciones de excitacion se transforma de nuevo al dominio de tiempo para formar un excitacion total. Finalmente, la senal sintetizada se calcula filtrando la excitacion total a traves del filtro de smtesis LP. En una realizacion, si bien las memorias de codificacion CELP se actualizan en un esquema por subtramas utilizando solamente la contribucion de excitacion del dominio de tiempo, se utiliza la excitacion total para actualizar estas memorias en los lfmites de trama. En otra posible implementacion, las memorias de codificacion CELP se actualizan en un esquema por subtrama y asimismo en los lfmites de trama utilizando solamente la contribucion de excitacion del dominio de tiempo. Esto tiene como resultado una estructura integrada donde la senal cuantificada en el dominio de frecuencia constituye una capa de cuantificacion superior independiente de la capa CELP central. En este caso particular, se utiliza siempre el
5
10
15
20
25
30
35
40
45
50
libro de codigos fijo para actualizar el contenido del libro de codigos adaptativo. Sin embargo, el modo de codification en el dominio de frecuencia puede aplicar a toda la trama. Este enfoque integrado funciona para tasas de bits en torno 12 kbps y superiores.
1) Clasificacion del tipo de sonido
La figura 1 es un diagrama esquematico de bloques que muestra una vision general de un codificador CELP mejorado 100, por ejemplo un codificador ACELP. Por supuesto, se pueden implementar otros tipos de codificadores CELP utilizando el mismo concepto. La figura 2 es un diagrama esquematico de bloques de una estructura mas detallada del codificador CELP mejorado de la figura 100.
El codificador CELP 100 comprende un preprocesador 102 (figura 1) para analizar parametros de la senal de sonido de entrada 101 (figuras 1 y 2). Haciendo referencia a la figura 2, el preprocesador 102 comprende un analizador LP 201 de la senal de sonido de entrada 101, un analizador espectral 202, un analizador de tono en bucle abierto 203 y un clasificador de senal 204. Los analizadores 201 y 202 llevan a cabo el analisis LP y espectral normalmente realizado en codificacion CELP, tal como se describe por ejemplo en la recomendacion ITU-T G.718, secciones 6.4 y 6.1.4 y, por lo tanto, no se describiran en mayor detalle en la presente invention.
El preprocesador 102 realiza un primer nivel de analisis para clasificar la senal de sonido de entrada 101 entre de voz y no de voz (audio generico (musica o voz reverberante)), por ejemplo de una manera similar a la descrita en la referencia [T. Vaillancourt et al., "Inter-tone noise reduction in a low bit rate CELP decoder", Proc. IEEE ICASSP, Taipei, Taiwan, abril de 2009, paginas 4113-16], cuyo contenido mtegro se incorpora como referencia a la presente memoria, o con cualesquiera otros procedimientos fiables de discrimination de voz/no voz.
Despues de este primer nivel de analisis, el preprocesador 102 lleva a cabo un segundo nivel de analisis de parametros de la senal de entrada para permitir la utilization de codificacion CELP en el dominio de tiempo (sin codificacion en el dominio de frecuencia) sobre algunas senales de sonido con fuertes caracteristicas no de voz, pero que se siguen codificando mejor con un enfoque en el dominio de tiempo. Cuando se produce una variation importante de energia, este segundo nivel de analisis permite que el codificador CELP 100 conmute a un modo de codificacion en el dominio de tiempo sin memoria, denominado generalmente modo de transition en la referencia [Eksler, V., y Jelmek, M (2008), "Transition mode coding for source controlled CELP codecs", Actas del IEEE de la Conferencia internacional sobre acustica, voz y procesamiento de senal, marzo-abril, paginas 4001-40043], cuyo contenido mtegro se incorpora como referencia a la presente memoria.
Durante este segundo nivel de analisis, el clasificador de senal 204 calcula y utiliza una variacion oq de una version suavizada Cst de la correlation de tono en bucle abierto procedente del analizador de tonos bucle abierto 203, una energia total de la trama actual Etot y una diferencia entre la energia total de la trama actual y la energia de trama total anterior Ediff. En primer lugar, la variacion de la correlacion de tono en bucle abierto suavizada se calcula como:
4 i=a donde:
Cst es la correlacion de tono en bucle abierto suavizada, definida como:
Cjt = 0.9 ■ Cpi -1- 0.1 • ;
Col es la correlacion de tono en bucle abierto calculada por el analizador 203 utilizando un procedimiento conocido por los expertos en la materia de codificacion CELP, por ejemplo, tal como se describe en la recomendacion ITU-T G.718, Section 6.6;
Cst es el promedio sobre las ultimas 10 tramas de la correlacion de tono en bucle abierto suavizada Cst; oc es la variacion de la correlacion de tono en bucle abierto suavizada.
Cuando, durante el primer nivel de analisis, el clasificador de senal 204 clasifica una trama como no de voz, se llevan a cabo las siguientes verificaciones mediante el clasificador de senal 204 para determinar, en el segundo nivel de analisis, si es realmente seguro utilizar un modo de codificacion mixta en el dominio de tiempo/dominio de frecuencia. Sin embargo, en ocasiones es mejor codificar toda la trama solamente con el modo de codificacion en el dominio de tiempo, utilizando uno de los enfoques del dominio de tiempo estimados por la funcion de preprocesamiento del modo de codificacion en el dominio de tiempo. En particular, puede ser mejor utilizar el modo de codificacion en el dominio de tiempo sin memoria para reducir al mmimo cualquier posible pre-eco que se pueda introducir con el modo de codificacion mixta en el dominio de tiempo/dominio de frecuencia.
Como una primera verification de si se debena utilizar la codificacion mixta en el dominio de tiempo/dominio de frecuencia, el clasificador de senal 204 calcula la diferencia entre la energia total de la trama actual y la energia total de la trama anterior. Cuando la diferencia Etot entre la energia total de la trama actual Etot y la energia total de la
7
5
10
15
20
25
30
35
trama anterior es mayor de 6 dB, esto corresponde a un denominado "ataque temporal" en la senal de sonido de entrada. En una situation de este tipo, se sobrescribe la decision de voz/no de voz y el modo de codification seleccionado y se fuerza un modo de codificacion en el dominio de tiempo sin memoria. Mas espetificamente, el codificador cElP mejorado 100 comprende un selector de codificacion de solamente tiempo/tiempo-frecuencia 103 (figura 1) que comprende por si mismo un selector de audio de voz/generico 205 (figura 2), un detector de ataque temporal 208 (figura 2) y un selector 206 del modo de codificacion en el dominio de tiempo sin memoria. En otras palabras, en respuesta a una determination de senal no de voz (audio generico) por el detector 205 y una detection de un ataque temporal en la senal de sonido de entrada por el detector 208, el selector 206 fuerza a un codificador CELP de bucle cerrado 207 (figura 2) a utilizar el modo de codificacion en el dominio de tiempo sin memoria. El codificador CELP en bucle cerrado 207 forma parte del codificador solamente del dominio de tiempo 104 de la figura 1.
Como una segunda verification, cuando la diferencia Edm entre la energia total de la trama actual Etot Etot y la energia total de la trama anterior es menor o igual que 6 dB, pero:
- la correlation de tono en bucle abierto suavizada Cst es mayor que 0,96; o
- la correlacion de tono en bucle abierto suavizada Cst es mayor que 0,85 y la diferencia Edm entre la energia total de la trama actual Etot y la energia total de la trama anterior esta por debajo de 0,3 dB; o
- la variation de la correlacion de tono en bucle abierto suavizada ac esta por debajo de 0,1 y la diferencia Edm entre la energia total de la trama actual Etot y la ultima energia total de la trama anterior esta por debajo de 0,6 dB; o
- la energia total de la trama actual Etot esta por debajo de 20 dB;
y esta es por lo menos la segunda trama consecutiva (cnt > 2) donde va a ser modificada la decision del primer nivel del analisis, entonces el selector de audio de voz/generico 205 determina que la trama actual se codificara utilizando un modo solamente del dominio de tiempo utilizando el codificador CELP generico de bucle cerrado 207 (figura 2).
De lo contrario, el selector de codificacion de tiempo/tiempo-frecuencia 103 selecciona un modo de codificacion mixta en el dominio de tiempo/dominio de frecuencia que es llevado a cabo por un dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia dado a conocer en la siguiente description.
Esto se puede resumir, por ejemplo cuando la senal de sonido no de voz es musica, con el siguiente pseudocodigo:
si (audio generico)
s/ > 6dB)
modo de codificacion = dominio de tiempo sin memoria cnt=l
si no, si (c# > 0.96 | > 0.85 8cEdtff < 0.3<5©)|(<tc <0.1 &Eaff < 0.6dB^\Etol < 20dB^j
cnt+ + si (cm/ >= 2)
modo de codificacion = dominio de tiempo
si no
modo de codificacion = mezcla dominio de tiempo/frecuencia cnt 0
Donde Etot es una energia de trama actual, expresada como:
imagen1
(donde x(i) representa las muestras de la senal de sonido de entrada en la trama) y Edm es la diferencia entre la energia total de la trama actual Etot y la ultima energia total de la trama anterior.
2) Decision sobre la longitud de la subtrama
En un CELP tipico, las muestras de senal de sonido de entrada se procesan en tramas de 10 a 30 ms, y estas tramas se dividen en varias subtramas para analisis de libro de codigos adaptativo y de libro de codigos fijo. Por ejemplo, una trama de 20 ms (256 muestras cuando la frecuencia de muestreo interna es 12,8 kHz) se puede utilizar
5
10
15
20
25
30
35
40
45
50
55
y dividir en 4 subtramas de 5 ms. Una longitud de subtrama variable es una caractenstica utilizada para obtener una integracion completa del dominio de tiempo y el dominio de frecuencia en un modo de codificacion. La longitud de la subtrama puede variar de un tipico 1/4 de la longitud de trama a la mitad de una trama, o a una longitud de trama completa. Por supuesto, se puede implementar la utilizacion de otro numero de subtramas (longitud de la subtrama).
La decision acerca de la longitud de las subtramas (el numero de subtramas), o el soporte temporal, es determinada por un calculador del numero de subtramas 210 en base a la tasa de bits disponible y al analisis de la senal de entrada en el preprocesador 102, en particular, la dinamica espectral de alta frecuencia de la senal de sonido de entrada 101 procedente de un analizador 209 y el analisis del tono en bucle abierto que incluye la correlacion de tono en bucle abierto suavizada procedente del analizador 203. En analizador 209 es sensible a la informacion procedente del analizador espectral 202 para determinar la dinamica espectral de alta frecuencia de la senal de entrada 101. La dinamica espectral se calcula a partir de una caractenstica descrita en la recomendacion ITU-T G.718, seccion 6.7.2.2, como el espectro de entrada sin su ruido de fondo proporcionando una representacion de la dinamica del espectro de entrada. Cuando la dinamica espectral promedio de la senal de sonido de entrada 101 en la banda de frecuencia entre 4,4 kHz y 6,4 kHz determinada por el analizador 209 esta por debajo de 9,6 dB y se ha considerado que la ultima trama tema una alta dinamica espectral, se deja de considerar que la senal de entrada 101 tiene contenido de alta dinamica espectral en frecuencias superiores. En este caso, se pueden asignar mas bits a las frecuencias por debajo, por ejemplo, de 4 kHz, anadiendo mas subtramas al modo de codificacion en el dominio de tiempo o forzando mas pulsos en la parte de frecuencia inferior de la contribucion del dominio de frecuencia.
Por otra parte, si el aumento de la dinamica promedio del contenido de frecuencia superior de la senal de entrada 101 frente a la dinamica espectral promedio de la ultima trama que no se ha considerado que tenga una alta dinamica espectral, determinado por el analizador 209, es mayor, por ejemplo, que 4,5 dB, se considera que la senal de entrada de sonido 101 tiene un contenido de alta dinamica espectral por encima, por ejemplo, de 4 kHz. En ese caso, dependiendo de la tasa de bits disponible, se utilizan algunos bits adicionales para codificar las altas frecuencias de la senal de sonido de entrada 101 con el fin de permitir codificar uno o varios pulsos de frecuencia.
La longitud de la subtrama determinada por el calculador 210 (figura 2) depende asimismo del presupuesto de bits disponible. A una tasa de bits muy baja, por ejemplo a tasas de bits por debajo de 9 kbps, solamente esta disponible una subtrama para la codificacion en el dominio de tiempo, o de lo contrario el numero de bits disponibles sera insuficiente para la codificacion en el dominio de frecuencia. Para tasas de bits medias, por ejemplo tasas de bits entre 9 kpbs y 16 kbps, se utiliza una subtrama para el caso en que las altas frecuencias contienen un alto contenido espectral dinamico, y dos subtramas en caso contrario. Para tasas de bits medias-altas, por ejemplo tasas de bits en torno a 16 kbps y superiores, se hace disponible asimismo el caso de cuatro (4) subtramas si la correlacion de tono en bucle abierto suavizada Cst, tal como se define en el parrafo [0037] de la seccion de clasificacion del tipo de sonido, es mayor que 0,8.
Aunque el caso con una o dos subtramas limita la codificacion en el dominio de tiempo a solamente una contribucion de libro de codigos adaptativo (con retardo de tono y ganancia de tono codificados), es decir no se utiliza ningun libro de codigos fijo en este caso, las cuatro (4) subtramas permiten contribuciones de libros de codigos adaptativos y fijos si el presupuesto de bits es suficiente. Se permite que comience el caso de cuatro (4) subtramas aproximadamente de 16 kbps en adelante. Debido a las limitaciones del presupuesto de bits, la excitacion del dominio de tiempo consiste solamente en la contribucion del libro de codigos adaptativo a tasas de bits menores. Se puede anadir una simple contribucion del libro de codigos fijo para tasas de bits superiores, por ejemplo a partir de 24 kbps. Para todos los casos, la eficiencia de codificacion en el dominio de tiempo sera evaluada despues para decidir hasta que frecuencia es valiosa dicha codificacion en el dominio de tiempo.
3) Analisis de tono en bucle cerrado
Cuando se utiliza un modo de codificacion mixta en el dominio de tiempo/dominio de frecuencia, se lleva a cabo un analisis de tono de bucle cerrado seguido, si es necesario, por una busqueda de libro de codigos algebraico fijo. Para este proposito, un codificador CELP 100 (figura 1) comprende un calculador de la contribucion de excitacion del dominio de tiempo 105 (figuras 1 y 2). Este calculador comprende ademas un analizador 211 (figura 2) sensible al analisis de tono en bucle abierto realizado en el analizador de tono en bucle abierto 203 y a la determinacion de la longitud de la subtrama (o del numero de subtramas en una trama) en el calculador 210, para llevar a cabo un analisis de tono en bucle cerrado. El analisis de tono en bucle cerrado es bien conocido por los expertos en la materia, y se describe un ejemplo de implementacion, por ejemplo, en la referencia [recomendacion ITU-T G.718; seccion 6.8.4.1.4.1], cuyo contenido mtegro se incorpora como referencia a la presente memoria. El analisis de tono en bucle cerrado tiene como resultado el calculo de los parametros de tono, conocidos asimismo como parametros de libro de codigos adaptativo, que consisten principalmente en un retardo de tono (mdice de libro de codigos adaptativo T) y una ganancia de tono (o ganancia de libro de codigos adaptativo b). La contribucion del libro de codigos adaptativo es normalmente la excitacion anterior en el retardo T o una version interpolada de la misma. El mdice de libro de codigos adaptativo T es codificado y transmitido a un descodificador distante. La ganancia de tono b es asimismo cuantificada y transmitida al descodificador distante.
5
10
15
20
25
30
35
40
45
Cuando el analisis de tono en bucle cerrado se ha completado, el codificador CELP 100 comprende un libro de codigos fijo 212 buscado para encontrar los mejores parametros del libro de codigos fijo, que comprenden normalmente un mdice del libro de codigos fijo y una ganancia del libro de codigos fijo. El mdice y la ganancia del libro de codigos fijo forman la contribution del libro de codigos fijo. El mdice del libro de codigos fijo es codificado y transmitido al descodificador distante. La ganancia del libro de codigos fijo es asimismo cuantificada y transmitida al descodificador distante. Se considera que el libro de codigos algebraico fijo y la busqueda del mismo son conocidos por los expertos en la materia de la codification CELP, y por lo tanto no se describiran en mayor detalle en la presente invention.
El mdice y la ganancia del libro de codigos adaptativo y el mdice y la ganancia del libro de codigos fijo forman una contribucion de excitation CELP del dominio de tiempo.
4) Transformada de frecuencia de la senal de interes
Durante la codificacion en el dominio de frecuencia del modo de codificacion mixta en el dominio de tiempo/dominio de frecuencia, es necesario representar dos senales en un dominio de transformada, por ejemplo en el dominio de frecuencia. En una realization, la transformada de tiempo a frecuencia se puede conseguir utilizando una DCT (Discrete Cosine Transform, transformada de coseno discreta) de tipo II (o de tipo IV) de 256 puntos, que proporciona una resolution de 25 Hz con una frecuencia de muestreo interna de 12,8 kHz, pero se podria utilizar cualquier otra transformada. En caso de que se utilice otra transformada, puede ser necesario revisar en correspondencia la resolucion de frecuencia (definida anteriormente), el numero de bandas de frecuencia y el numero de cajas de frecuencia por banda (definido en mayor detalle a continuation). A este respecto, el codificador CELP 100 comprende un calculador 107 (figura 1) de una contribucion de excitacion del dominio de frecuencia en respuesta al residuo LP de entrada res(n) resultante del analisis LP de la senal de sonido de entrada mediante el analizador 201. Tal como se muestra 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 comprende asimismo un calculador 106 (figura 1) de una transformada de frecuencia de la contribucion de excitacion del dominio de tiempo. Tal como se muestra en la figura 2, el calculador 106 puede calcular una DCT 214, por ejemplo una DCT de tipo II de la contribucion de excitacion del dominio de tiempo. La transformada de frecuencia del residuo LP de entrada fres y la contribucion de excitacion CELP del dominio de tiempo fexc se pueden calcular utilizando las expresiones siguientes:
imagen2
imagen3
donde e(n) es el residuo LP de entrada, etd(n) es la contribucion de excitacion del dominio de tiempo y N es la longitud de trama. En una posible implementacion, la longitud de trama es de 256 muestras para una correspondiente frecuencia de muestreo interna de 12,8 kHz. La contribucion de excitacion del dominio de tiempo esta dada por la siguiente relation:
imagen4
donde v(n) es la contribucion del libro de codigos adaptativo, b es la ganancia del libro de codigos adaptativo, c(n) es la contribucion del libro de codigos fijo y g es la ganancia del libro de codigos fijo. Se debe observar que la contribucion de excitacion del dominio de tiempo puede consistir solamente en la contribucion del libro de codigos adaptativo, tal como se ha descrito en la description anterior.
5) Frecuencia de corte de la contribucion del dominio de tiempo
Con muestras de audio generico, la contribucion de excitacion del dominio de tiempo (la combination de libros de codigos algebraicos adaptativo y/o fijo) no siempre contribuye mucho a la mejora de la codificacion comparada con la codificacion en el dominio de frecuencia. A menudo, esto mejora la codificacion de la parte inferior del espectro, mientras que la mejora de la codificacion de la parte superior del espectro es minima. 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
5
10
15
20
25
30
mejora de codificacion proporcionada por la contribution de excitation del dominio de tiempo se hace demasiado baja para ser valiosa. El determinador y filtro 108 comprenden un calculador de la frecuencia de corte 215 y el filtro 216 de la figura 2. La frecuencia de corte de la contribucion de excitacion del dominio de tiempo es primero estimada por el calculador 215 (figura 2) utilizando un calculador 303 (figuras 3 y 4) de correlation cruzada normalizada, para cada banda de frecuencia entre el residuo LP de entrada transformado en frecuencia procedente del calculador 107 y la contribucion de excitacion del dominio de tiempo transformada en frecuencia procedente del calculador 106, denominadas respectivamente fres y fexc, que se definen en la section anterior 4. La ultima frecuencia Lf incluida en cada una de, por ejemplo, las dieciseis (16) bandas de frecuencia se define en Hz como:
imagen5
Para este ejemplo ilustrativo, el numero de cajas de frecuencia por banda Bb, las cajas de frecuencia acumulativas por banda CBb y la correlacion cruzada normalizada por banda de frecuencia Cc(t) se definen como sigue, para una trama de 20 ms a una frecuencia de muestreo de 12,8 kHz:
imagen6
[0,8,16,32,48,64,80,96,
Bb~\ 112,128,144,160,176,192,208,224
J=CBb(')+Bb('}
I )
c\. (/) =
VlfdO-OJO)
Donde
sfJ‘)= I /...of
J~^Bb{‘)
y
J=CBb{')+Bb{‘)
^..(0= I /„,0)
J~^Bb(')
donde Bb es el numero de cajas de frecuencia por banda Bb, CBb son las cajas de frecuencia acumulativas por banda, CBbCc(i)Cc(i) es la correlacion cruzada normalizada por banda de frecuencia, Sec es la energia de excitacion para una banda y analogamente Sfres es la energia de residuo por banda.
El calculador de la frecuencia de corte 215 comprende un elemento de suavizado 304 (figuras 3 y 4) de correlacion cruzada a traves de las bandas de frecuencia, que lleva a cabo algunas operaciones para suavizar el vector de correlacion cruzada entre las diferentes bandas de frecuencia. Mas espedficamente, el elemento de suavizado 304 de correlacion cruzada a traves de las bandas calcula un nuevo vector de correlacion cruzada Cc2 utilizando la siguiente relacion:
2-(min(0.5, a-Cf (0) + £Cc(l))-0.5) para i = 0
Cc (/) = • >
2 2 • (min (0.5, a • Cc (/) + pCc (/ +1) + pCc (/ -1)) - 0.5) para \ <i<Nh
donde
imagen7
El calculador de frecuencia de corte 215 comprende ademas un calculador 305 (figuras 3 y 4) de un promedio del nuevo vector de correlacion cruzada Cc2 sobre las primeras Nb bandas (Nb =13 representa 5575 Hz).
5
10
15
20
25
30
35
40
45
El calculador 215 de la frecuencia de corte comprende asimismo un modulo de frecuencia de corte 306 (figura 3) que incluye un limitador 406 (figura 4) de la correlacion cruzada, un normalizador 407 de la correlacion cruzada y un determinador 408 de la banda de frecuencia donde la correlacion cruzada es la minima. Mas espedficamente, el limitador 406 limita el promedio del vector de correlacion cruzada a un valor mmimo de 0,5 y el normalizador 408 normaliza el promedio limitado del vector de correlacion cruzada entre 0 y 1. El determinador 408 obtiene una primera estimacion de la frecuencia de corte encontrando la ultima frecuencia de una banda de frecuencia Lf que minimiza la diferencia entre dicha ultima frecuencia de una banda de frecuencia Lf y el promedio normalizado Cc2 del vector de correlacion cruzada Cc2 multiplicado por la anchura F/2 del espectro de la senal de sonido de entrada.
'-»=S
M0-<V f y /,-MO
donde
imagen8
ftci es la primera estimacion de la frecuencia de corte.
A una tasa de bits baja, donde el promedio normalizado Cc2 nunca es realmente alto, o para aumentar artificialmente el valor de ftci para proporcionar algo mas de peso a la contribucion del dominio de tiempo, es posible sobredimensionar el valor de Cc2 con un factor de escala fijo, por ejemplo, a una tasa de bits por debajo de 8 kbps, ftc1 se multiplica por 2 todo el tiempo en la implementacion de ejemplo.
La precision de la frecuencia de corte se puede aumentar anadiendo un siguiente componente al calculo. A tal efecto, el calculador 215 de la frecuencia de corte comprende un extrapolador 410 (figura 4) del octavo armonico calculado a partir del valor de retardo de tono mmimo o mas bajo de la contribucion de excitacion del dominio de tiempo de todas las subtramas, utilizando la siguiente relacion:
imagen9
donde Fs = 12800 Hz, Nsub es el numero de subtramas y T(i) es el mdice de libro de codigos adaptativo o el retardo de tono para la subtrama i.
El calculador 215 de la frecuencia de corte comprende asimismo un determinador 409 (figura 4) de la banda de frecuencia en la que esta situado el octavo armonico h8th. Mas espedficamente, para todo i<Nb,, el determinador 409 busca la banda de frecuencia mas alta para la que se sigue verificando la siguiente desigualdad:
El mdice de dicha banda se puede denominar isth e indica la banda en la que probablemente esta situado el octavo armonico.
imagen10
El calculador 215 de la frecuencia de corte comprende finalmente un selector 411 (figura 4) de la frecuencia de corte final ftc. Mas espedficamente, el selector 411 retiene la frecuencia superior entre la primera estimacion ftci de la frecuencia de corte procedente del determinador 408 y la ultima frecuencia de la banda de frecuencia en la que esta situado el octavo armonico (Lf(isth)), utilizando la siguiente relacion:
imagen11
Tal como se muestra en las figuras 3 y 4,
- el calculador 215 de la frecuencia de corte comprende ademas un decisor 307 (figura 3) sobre el numero de cajas de frecuencia a reducir a cero, que incluye por si mismo un analizador 415 (figura 4) de parametros 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 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) tan solo algunas de las cajas de frecuencia superiores situadas por encima de la frecuencia de corte ftc complementada con una zona de transicion suave. La zona de transicion esta situada por encima de la frecuencia de corte ftc y por debajo de las cajas reducidas a cero, y permite una transicion espectral suave entre el espectro no modificado por debajo de ftc y las cajas reducidas a cero en frecuencias superiores.
5
10
15
20
25
30
35
40
45
50
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 coste de la contribution de excitation del dominio de tiempo es demasiado elevado. El selector 416 selecciona todas las cajas de frecuencia de la representation en frecuencia de la contribucion de excitacion del dominio de tiempo a reducir a cero, y el reductor a cero 417 fuerza la reduction a cero de todas las cajas de frecuencia y fuerza asimismo la reduccion a cero de la frecuencia de corte ftc. Todos los bits asignados a la contribucion de excitacion del dominio de tiempo se asignan a continuation al modo de codification en el dominio de frecuencia. De lo contrario, el analizador 415 fuerza el selector 416 a elegir las cajas de frecuencia altas por encima de la frecuencia de corte ftc para 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 version cuantificada ftcQ de esta frecuencia de corte. Si se asocian tres (3) bits al parametro de la frecuencia de corte, un posible conjunto de valores de salida se puede definir (en Hz) como sigue:
fuQ ~ {0,1175,1575,1975,2375, 2775,3175,3575 }
Se podrian utilizar muchos mecanismos para estabilizar la election de la frecuencia de corte final ftc con el fin de impedir que la version cuantificada ftcQ conmute entre 0 y 1175 en un segmento de senal inapropiado. Para conseguir esto, el analizador 415 de esta implementation de ejemplo es sensible a la ganancia de tono promedio a largo plazo Git 412 procedente del analizador de tono de bucle cerrado 211 (figura 2), a la correlation de bucle abierto Coi 413 procedente del analizador de tono de bucle abierto 203 y a la correlacion de bucle abierto suavizada Cst. Para impedir la conmutacion a una codificacion de frecuencia completa, cuando se cumplen las siguientes condiciones el analizador 415 no permite la codificacion de solo frecuencia, es decir, ftcQ no se puede ajustar a 0:
ftc > 2375Hz
o
imagen12
o
flt>W5Hz y C„0.8 0.4
o
imagen13
donde Cot es la correlacion de tono en bucle abierto 413 y Cst corresponde la version suavizada de la correlacion de tono en bucle abierto 414 definida como Cst = 0,9Coi+0,1Cst. Ademas, Git (elemento 412 de la figura 4) corresponde al promedio a largo plazo de la ganancia de tono obtenida mediante el analizador de tono de bucle cerrado 211 dentro de la contribucion de excitacion del dominio de tiempo. El promedio a largo plazo de la ganancia de tono 412 se define como Git = 0,9-G^-0,1-Gity G^ es la ganancia de tono promedio sobre la trama actual. Para reducir mas la velocidad de conmutacion entre codificacion de solo frecuencia y codificacion mixta en el dominio de tiempo/dominio de frecuencia, se puede anadir un residuo.
6) Codificacion en el dominio de frecuencia
Creation de un vector de diferencia
Una vez se ha definido la frecuencia de corte de la contribucion de excitacion del dominio de tiempo, se lleva a cabo la codificacion en el dominio de frecuencia. El codificador CELP 100 comprende un substractor o calculador 109 (figuras 1, 2, 5 y 6) para formar una primera parte de un vector de diferencia fd con la diferencia entre la transformada de frecuencia 502 (figuras 5 y 6) (u otra representacion en 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 representacion en frecuencia) de la contribucion de excitacion del dominio de tiempo procedente de la dCt 214 (figura 2), desde cero hasta la frecuencia de corte ftc de la contribucion de excitacion del dominio de tiempo. Un factor de reduccion de escala 603 (figura 6) se aplica a la transformada de frecuencia fexc 501 para la siguiente zona de transition de ftans=2 kHz (80 cajas de frecuencia en esta implementacion de ejemplo) antes de su resta de la respectiva parte espectral de la transformada de frecuencia fres. El resultado de esta resta constituye la segunda parte del vector de diferencia fd que representa el intervalo de frecuencias desde la frecuencia de corte ftc hasta ftc+ftrans. La transformada de frecuencia fres 502 del residuo LP de entrada se utiliza para la restante tercera parte del vector fd. La parte en escala reducida del vector fd resultante de la aplicacion del factor de reduccion de escala 603 se puede llevar a cabo con cualquier tipo de funcion de desvanecimiento, se puede acortar a solamente unas pocas cajas de frecuencia, pero podria asimismo omitirse cuando se estima que el presupuesto de bits es suficiente para impedir artefactos de oscilacion de energia cuando la frecuencia de corte ftc esta cambiando. Por ejemplo, con una resolution de 25 Hz, correspondiente a 1 caja de frecuencia fbin = 25 Hz en DCT de 256 puntos a 12,8 kHz, el vector de diferencia se puede construir como:
5
10
15
20
25
30
35
imagen14
donde 0 < k < ftc / fbn
(
1 —sen
V
If f
J tram J b
W
bin J J
donde ftc / fbn < k < (ftc + ftrans) / fbir
fd(k) = fres(k), si no
donde fresfres, fexc y fts se han definido en las anteriores acciones 4 y 5.
Busqueda 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 utilizando varios procedimientos. En todos los casos, es necesario buscar y cuantificar pulsos de frecuencia. En un posible procedimiento simple, la codificacion en el dominio de frecuencia comprende una busqueda de la mayor parte de los pulsos energeticos del vector de diferencia fd a traves del espectro. El procedimiento para buscar los pulsos puede ser tan simple como dividir el espectro en bandas de frecuencia y permitir un cierto numero de pulsos por bandas de frecuencia. El numero de pulsos por bandas de frecuencia depende del presupuesto de bits disponible y de la posicion de la banda de frecuencia en el interior del espectro. Habitualmente, se asignan mas pulsos a las frecuencias bajas.
Vector de diferencia cuantificado
Dependiendo de la tasa de bits disponible, la cuantificacion de los pulsos de frecuencia se puede llevar a cabo utilizando diferentes tecnicas. En una realization, a una tasa de bits por debajo de 12 kbps, se puede utilizar un esquema de busqueda y cuantificacion simple para codificar la posicion y el signo de los pulsos. Este esquema se describe a continuacion.
Por ejemplo, para frecuencias por debajo de 3175 Hz, este esquema de busqueda y cuantificacion simple utiliza un enfoque basado en codificacion factorial de pulsos (FPC, factorial pulse coding) que se describe en la bibliografia, por ejemplo en la referencia [Mittal, U., Ashley, J.P., y Cruz-Zeno, E.M (2007), "Low Complexity Factorial Pulse Coding of MDCT Coefficients using Approximation of Combinatorial Functions", Actas del IEEE sobre acustica, voz y procesamiento de senal, volumen 1, abril , paginas 289-292], la totalidad de cuyo contenido se incorpora como referencia a la presente memoria.
Mas espedficamente, un selector 504 (figuras 5 y 6) determina que todo el espectro no es cuantificado utilizando FPC. Tal como se muestra en la figura 5, la codificacion FPC y la codificacion de la posicion y del signo de los pulsos se llevan a cabo en un codificador 506. Tal como se muestra en la figura 6, el codificador 506 comprende un buscador 609 de pulsos de frecuencia. La busqueda se realiza a traves de todas las bandas de frecuencia para las frecuencias menores que 3175 Hz. Un codificador FPC 610 procesa a continuation los pulsos de frecuencia. El codificador 506 comprende asimismo un determinador 611 de la mayor parte de los pulsos energeticos para frecuencias iguales y mayores que 3175 Hz, y un cuantificador 612 de la posicion y del signo de los pulsos mas energeticos encontrados. Si se permite mas de un (1) pulso dentro de una banda de frecuencia, entonces la amplitud del pulso encontrado anteriormente se divide por 2 y la busqueda se realiza de nuevo sobre toda la banda de frecuencia. Cada vez que se encuentra un pulso, su posicion y su signo se almacenan para cuantificacion y para la etapa de empaquetamiento de bits. El siguiente pseudocodigo muestra este esquema de busqueda y cuantificacion simple:
5
10
15
20
25
30
35
imagen15
Donde Nbd es el numero de bandas de frecuencia (Nbd = 16 en el ejemplo ilustrativo), Np es el numero de pulsos a codificar en una banda de frecuencia k, Bb es el numero de cajas de frecuencia por banda de frecuencia Bb, CBb son las cajas de frecuencia acumulativas por banda, tal como se ha definido anteriormente en la seccion 5, pppp representa el vector que contiene la posicion de pulso encontrada, psps representa el vector que contiene el signo del pulso encontrado y pmax □ pmax representa la energia del pulso encontrado.
A una tasa de bits por encima de 12 kbps, el selector 504 determina que todo el espectro se tiene que cuantificar utilizando FPC. Tal como se muestra en la figura 5, la codificacion FPC se lleva a cabo en un codificador 505. Tal como se muestra en la figura 6, el codificador 505 comprende un buscador 607 de pulsos de frecuencia. La busqueda se realiza a traves de todas las bandas de frecuencia. Un procesador FPC 610 codifica con FPC a continuacion los pulsos de frecuencia encontrados.
A continuacion, el vector de diferencia cuantificado fdQ se obtiene sumando el numero de pulsos nb_pulses 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 pseudocodigo:
para j= 0,..., j < nb_pulses
imagen16
Relleno con ruido
Todas las bandas de frecuencia son cuantificadas con mas o menos precision; el procedimiento de cuantificacion descrito en la seccion anterior no garantiza que se cuantifiquen todas las cajas de frecuencia dentro de las bandas de frecuencia. Este es el caso sobretodo a tasas de bits bajas donde el numero de pulsos cuantificados por banda de frecuencia es relativamente bajo. Para impedir la aparicion de artefactos audibles debido a estas cajas no cuantificadas, un elemento de relleno con ruido 507 (figura 5) anade algun ruido para rellenar estos huecos. Esta adicion de ruido se lleva a cabo sobre todo el espectro a una tasa de bits por debajo de 12 kbps, por ejemplo, pero se puede aplicar solamente por encima de la frecuencia de corte ftc de la contribucion de excitacion del dominio de tiempo para tasas de bits superiores. Por simplicidad, la intensidad del ruido varia solamente con la tasa de bits disponible. A tasas de bits altas el nivel de ruido es bajo, pero el nivel de ruido es superior a tasas de bits bajas.
El dispositivo de relleno de ruido 504 comprende un sumador 613 (figura 6) que anade ruido al vector de diferencia cuantificado fdQ despues de que se ha determinado la intensidad o el nivel de energia de dicho ruido anadido, en un estimador 614, y antes de que se haya determinado la ganancia por banda en un calculador 615. En la realizacion ilustrativa, el nivel de ruido esta relacionado directamente con la tasa de bits codificada. Por ejemplo, a 6,60 kbps el nivel de ruido NL es 0,4 veces la amplitud de los pulsos espectrales codificados en una banda espedfica, y desciende progresivamente a un valor de 0,2 veces la amplitud de los pulsos espectrales codificados en una banda a 24 kbps. El ruido se suma solamente a la seccion o secciones del espectro donde un determinado numero de cajas de frecuencia consecutivas tienen una energia muy baja, por ejemplo, cuando el numero de cajas consecutivas de muy baja energia Nz es la mitad del numero de cajas incluidas en la banda de frecuencia. Para una banda espedfica i, el ruido se inyecta como:
imagen17
5
10
15
20
25
30
35
imagen18
para
k = j9k < j + N
imagen19
j+ = N:
Donde
imagen20
donde, para una banda i, CBb es el numero acumulativo de cajas por bandas, Bb es el numero de cajas en una banda espedfica i, NL es el nivel de ruido y rand es un generador numerico aleatorio que esta limitado entre -1 y 1
7) Cuantificacion de ganancia por banda
El cuantificador de frecuencia 110 comprende un calculador/cuantificador de ganancia por banda 508 (figura 5) que incluye un calculador 615 (figura 6) de ganancia por banda y cuantificador 616 (figura 6) de la ganancia por banda calculada. Una vez encontrado el vector de diferencia cuantificado fdQ, incluyendo 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 espedfica Gb(i) se define como la relacion entre la energia de la senal del vector de diferencia no cuantificado fd y la energia del vector de diferencia cuantificado fdQ en el dominio logaritmico, como:
Gb(i) - loGi< (- /
su(i)= Z w*
Donde .—-si'-'-'- y
donde CBb y Bb se han definido anteriormente en la seccion 5.
En la realizacion de las figuras 5 y 6, el cuantificador de ganancia por banda 616 cuantifica vectorialmente las ganancias de frecuencia por banda. Antes de la cuantificacion vectorial, a baja tasa de bits, la ultima ganancia (correspondiente a la ultima banda de frecuencia) se cuantifica por separado, y la totalidad de las quince (15) ganancias restantes se dividen por la ultima ganancia cuantificada. A continuacion, las quince (15) restantes ganancias normalizadas son cuantificadas vectorialmente. A una tasa superior, la media de las ganancias por banda se cuantifica en primer lugar y a continuacion se elimina de todas las ganancias por banda de, por ejemplo, dieciseis (16) bandas de frecuencia antes de la cuantificacion vectorial de dichas ganancias por banda. La cuantificacion vectorial que se esta utilizando puede ser una minimizacion estandar en el dominio logaritmico de la distancia entre el vector que contiene las ganancias por banda y las entradas de un libro de codigos espedfico.
imagen21
En el modo de codificacion en el dominio de frecuencia, se calculan ganancias en el calculador 615 para cada banda de frecuencia con el fin de ajustar la energia del vector no cuantificado fd al vector cuantificado fdQ. Las ganancias son cuantificadas vectorialmente en el cuantificador 616 y aplicadas por banda al vector cuantificado fdQ por medio de un multiplicador 509 (figuras 5 y 6).
Alternativamente, es posible asimismo utilizar el esquema de codificacion FPC a una tasa por debajo de 12 kbps para todo el espectro, seleccionando solamente algunas de las bandas de frecuencia a cuantificar. Antes de llevar a cabo la seleccion de las bandas de frecuencia, se cuantifica la energia Ed de las bandas de frecuencia del vector de diferencia no cuantificado fd. La energia se calcula como:
imagen22
donde
imagen23
donde CBb y Bb se han definido anteriormente en la seccion 5.
5
10
15
20
25
30
35
40
45
50
Para llevar a cabo la cuantificacion de la energfa de banda de frecuencia Ed, en primer lugar la energfa promedio sobre las primeras 12 bandas entre las dieciseis bandas es cuantificada y restada de la totalidad de las dieciseis (16) enemas de banda. A continuacion todas las bandas de frecuencia son cuantificadas vectorialmente por cada grupo de 3 o 4 bandas. La cuantificacion vectorial que se esta utilizando puede ser una minimizacion estandar en el dominio logantmico de la distancia entre el vector que contiene las ganancias por banda y las entradas de un libro de codigos espedfico. Si no hay suficientes bits disponibles, es posible cuantificar solamente las primeras 12 bandas y extrapolar las ultimas 4 bandas utilizando el promedio de las anteriores 3 bandas, o mediante cualesquiera otros procedimientos.
Una vez que las energfas de las bandas de frecuencia del vector de diferencia no cuantificado se cuantifican, es posible ordenar la energfa en orden decreciente de tal modo que sena aplicable en el lado del descodificador. Durante la clasificacion, se mantienen siempre todas las bandas de energfa por debajo de 2 kHz, y entonces solamente las bandas mas energeticas se transferiran al FPC para codificar amplitudes y signos de pulsos. Con este enfoque, el esquema FPC codifica un vector mas pequeno pero abarca un intervalo de frecuencias mas amplio. En otras palabras, cuesta menos bits cubrir eventos de energfa importantes sobre todo el espectro.
Despues del proceso de cuantificacion de pulsos, es necesario un relleno con ruido similar al que se ha descrito anteriormente. A continuacion, un factor de ajuste de ganancia Ga se calcula por cada banda de frecuencia, para ajustar la energfa EdQ del vector de diferencia cuantificado fdQ a la energfa cuantificada Ed del vector de diferencia no cuantificado fd. Entonces, este factor de ajuste de la ganancia por banda se aplica al vector de diferencia cuantificado fdQ.
imagen24
donde
imagen25
y Ed es la energfa cuantificada por banda anteriormente.
del vector de diferencia no cuantificado fd que se ha definido
Despues de la finalizacion de la etapa de codificacion en el dominio de frecuencia, se obtiene la excitacion total del dominio de tiempo/dominio de frecuencia sumando por medio de un sumador 111 (figuras 1, 2, 5 y 6) el vector de diferencia cuantificado en frecuencia fdQ a la contribucion de excitacion del dominio de tiempo transformada en frecuencia filtrada fexcF. Cuando el codificador CELP mejorado 100 cambia su asignacion de bits desde un modo de codificacion solamente en el dominio de tiempo a un modo de codificacion mixta en el dominio de tiempo/dominio de frecuencia, la energfa del espectro de excitacion por banda de frecuencia del modo de codificacion solamente en el dominio de tiempo no se ajusta a la energfa del espectro de excitacion por banda de frecuencia del modo de codificacion mixta en el dominio de tiempo/dominio de frecuencia. Este desajuste de energfa puede crear artefactos de conmutacion que son mas audibles a una tasa de bits baja. Para reducir cualquier degradacion audible creada por esta reasignacion de bits, se puede calcular una ganancia a largo plazo para cada banda y se puede aplicar a la excitacion sumada, con el fin de corregir la energfa de cada banda de frecuencia para unas pocas tramas despues de la reasignacion. A continuacion, la suma del vector de diferencia cuantificado en frecuencia fdQ y la contribucion de excitacion del dominio de tiempo transformada en frecuencia y filtrada fexcF se transforma de nuevo al dominio de tiempo en un convertidor 112 (figuras 1, 5 y 6) que comprende por ejemplo una IDCT (DCT inversa) 220.
Finalmente, la senal sintetizada se calcula filtrando la senal de excitacion total procedente de la IDCT 220 por medio de un filtro de smtesis LP 113 (figuras 1 y 2).
La suma del vector de diferencia cuantificado en frecuencia fdQ y la contribucion de excitacion del dominio de tiempo transformada en frecuencia y filtrada fexcF forma la excitacion mixta en el dominio de tiempo/dominio de frecuencia transmitida a un descodificador distante (no mostrado). El descodificador distante comprendera asimismo el convertidor 112 para transformar la excitacion mixta en el dominio de tiempo/dominio de frecuencia de nuevo al dominio de tiempo utilizando, por ejemplo, la IDCT (DCT inversa) 220. Finalmente, la senal sintetizada es calculada en el descodificador filtrando la senal de excitacion total de la IDCT 220, es decir, la excitacion mixta en el dominio de tiempo/dominio de frecuencia, por medio del filtro de smtesis LP 113 (figuras 1 y 2).
En una realizacion, si bien las memorias de codificacion CELP se actualizan en un esquema por subtramas utilizando solamente la contribucion de excitacion del dominio de tiempo, se utiliza la excitacion total para actualizar estas memorias en los lfmites de trama. En otra posible implementacion, las memorias de codificacion CELP se actualizan en un esquema por subtrama y asimismo en los lfmites de trama utilizando solamente la contribucion de excitacion del dominio de tiempo. Esto tiene como resultado una estructura integrada donde la senal cuantificada en el dominio de frecuencia constituye una capa de cuantificacion superior independiente de la capa CELP central. Esto
presenta ventajas en determinadas aplicaciones. En este caso particular, el libro de codigos fijo se utiliza siempre para mantener una buena calidad perceptual, y el numero de subtramas es siempre de cuatro (4) por la misma razon. No obstante, el analisis en el dominio de frecuencia puede aplicar a toda la trama. Este enfoque integrado funciona para tasas de bits en torno 12 kbps y superiores.
5 La discusion anterior se refiere a realizaciones ilustrativas, no restrictivas, y estas realizaciones se pueden modificar a voluntad, dentro del alcance de las reivindicaciones adjuntas.

Claims (32)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    REIVINDICACIONES
    1. Un dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia para codificar una senal de sonido de entrada (101), caracterizado por que comprende:
    un calculador (105) de una contribucion de excitacion del dominio de tiempo en respuesta a la senal de sonido de entrada (101);
    un calculador (215) de una frecuencia de corte para la contribucion de excitacion del dominio de tiempo en respuesta a la senal de sonido de entrada (101);
    un filtro (216) sensible la frecuencia de corte, para ajustar una extension de frecuencia de la contribucion de excitacion del dominio de tiempo;
    un calculador (107) de una contribucion de excitacion del dominio de frecuencia en respuesta a la senal de sonido de entrada (101); y
    un sumador (111) de la contribucion de excitacion del dominio de tiempo filtrada y la contribucion de excitacion del dominio de frecuencia en el dominio de frecuencia, para formar una excitacion mixta en el dominio de tiempo/dominio de frecuencia que constituye una version codificada de la senal de sonido de entrada (101).
  2. 2. Un dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun la reivindicacion 1, caracterizado por que la contribucion de excitacion del dominio de tiempo incluye (a) solamente una contribucion de libro de codigos adaptativo, o (b) una contribucion de libro de codigos adaptativo y una contribucion de libro de codigos fijo.
  3. 3. Un dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun la reivindicacion 1 o 2, caracterizado por que comprende un calculador (210) de un numero de subtramas a utilizar en una trama actual, el calculador (210) del numero de subtramas en la trama actual es sensible a por lo menos uno de un presupuesto de bits disponible y una dinamica espectral de alta frecuencia de la senal de sonido de entrada (101), y el calculador (105) de la contribucion de excitacion del dominio de tiempo utiliza en la trama actual el numero de subtramas determinado por el calculador del numero de subtramas (210) para dicha trama actual.
  4. 4. Un dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun cualquiera de las reivindicaciones 1 a 3, caracterizado por que el calculador (107) de la contribucion de excitacion del dominio de frecuencia realiza una transformada de frecuencia (213) de un residuo LP obtenido a partir de un analisis LP (201) de la senal de sonido de entrada (101) para producir una representacion en frecuencia del residuo LP.
  5. 5. Un dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun la reivindicacion 4, caracterizado por que el calculador (215) de la frecuencia de corte comprende un calculador (303) de correlacion cruzada, para cada una de una serie de bandas de frecuencia, entre la representacion en frecuencia del residuo LP y una representacion en frecuencia de la contribucion de excitacion del dominio de tiempo, y el dispositivo de codificacion comprende un determinador (408) de una estimacion de la frecuencia de corte, en respuesta a la correlacion cruzada.
  6. 6. Un dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun la reivindicacion 4 o 5, caracterizado por que comprende un elemento de suavizado (304) de la correlacion cruzada a traves de las bandas de frecuencia para producir un vector de correlacion cruzada, un calculador (305) de un promedio del vector de correlacion cruzada sobre las bandas de frecuencia y un normalizador (407) del promedio del vector de correlacion cruzada, y el determinador (408) de la estimacion de la frecuencia de corte determina una primera estimacion de la frecuencia de corte encontrando una ultima frecuencia de una de las bandas de frecuencia que minimiza una diferencia entre dicha ultima frecuencia y el promedio normalizado del vector de correlacion cruzada multiplicado por un valor de anchura del espectro.
  7. 7. Un dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun la reivindicacion 6, caracterizado por que el calculador (215) de la frecuencia de corte comprende un determinador (409) de una de las bandas de frecuencia en la que esta situado un armonico calculado a partir de la contribucion de excitacion del dominio de tiempo, y un selector (411) de la frecuencia de corte como la frecuencia superior entre dicha primera estimacion de la frecuencia de corte y una ultima frecuencia de la banda de frecuencia en la que esta situado dicho armonico.
  8. 8. Un dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun cualquiera de las reivindicaciones 1 a 7, caracterizado por que el filtro (216) comprende un reductor a cero (418) de cajas de frecuencia, que fuerza la reduccion a cero de las cajas de frecuencia de una serie de bandas de frecuencia por encima de la frecuencia de corte.
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
  9. 9. Un dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun cualquiera de las reivindicaciones 1 a 8, caracterizado por que el filtro (216) comprende un reductor a cero (417) de cajas de frecuencia, que fuerza la reduccion a cero de todas las cajas de frecuencia de una serie de bandas de frecuencia cuando la frecuencia de corte esta por debajo de un determinado valor.
  10. 10. Un dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun cualquiera de las reivindicaciones 1 a 9, caracterizado por que el calculador (107) de la contribucion de excitacion del dominio de frecuencia comprende un calculador (109) de una diferencia entre una representacion en frecuencia de un residuo LP de la senal de sonido de entrada (101) y una representacion en frecuencia filtrada de la contribucion de excitacion del dominio de tiempo.
  11. 11. Un dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun la reivindicacion 4, caracterizado por que el calculador (107) de la contribucion de excitacion del dominio de frecuencia comprende un calculador (109) de la diferencia entre la representacion en frecuencia del residuo LP y la representacion en frecuencia de la contribucion de excitacion del dominio de tiempo hasta la frecuencia de corte para formar una primera parte de un vector de diferencia, se aplica un factor de reduccion de escala (603) a la representacion en frecuencia de la contribucion de excitacion del dominio de tiempo en un intervalo de frecuencia determinado a continuacion de la frecuencia de corte para formar una segunda parte del vector de diferencia, y el vector de diferencia se forma mediante la representacion en frecuencia (604) del residuo LP para una tercera parte restante por encima del intervalo de frecuencia determinado.
  12. 12. Un dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun la reivindicacion 11, caracterizado por que comprende un cuantificador (110) del vector de diferencia, y el sumador (111) suma, en el dominio de frecuencia, el vector de diferencia cuantificado y una version transformada en frecuencia de la contribucion de excitacion del dominio de tiempo, filtrada, para formar la excitacion mixta en el dominio de tiempo/dominio de frecuencia.
  13. 13. Un dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun cualquiera de las reivindicaciones 1 a 12, caracterizado por que comprende medios para asignar dinamicamente un presupuesto de bits entre una contribucion de excitacion del dominio de tiempo y la contribucion de excitacion del dominio de frecuencia.
  14. 14. Un codificador (100) que utiliza el modelo de dominio de tiempo y dominio de frecuencia, caracterizado por que comprende:
    un clasificador (204) de una senal de sonido de entrada (101) como de voz o no de voz; un codificador solamente del dominio de tiempo (104);
    el dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun cualquiera de las reivindicaciones 1 a 13; y
    un selector (103) de uno del codificador solamente del dominio de tiempo y el dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia para codificar la senal de sonido de entrada (101) en funcion de la clasificacion de la senal de sonido de entrada.
  15. 15. Un codificador segun la reivindicacion 14, caracterizado por que comprende un selector (206) de un modo de codificacion en el dominio de tiempo sin memoria que, cuando el clasificador (204) clasifica la senal de sonido de entrada (101) como no de voz y detecta un ataque temporal en la senal de sonido de entrada (101), fuerza el modo de codificacion en el dominio de tiempo sin memoria para codificar la senal de sonido de entrada (101) en el codificador solamente del dominio de tiempo (207).
  16. 16. Un descodificador para descodificar una senal de sonido codificada utilizando el dispositivo de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun cualquiera de las reivindicaciones 1 a 13, caracterizado por que comprende:
    un convertidor de la excitacion mixta en el dominio de tiempo/dominio de frecuencia, segun cualquiera de las reivindicaciones 1 a 13, al dominio de tiempo; y
    un filtro de smtesis para sintetizar la senal de sonido en respuesta a la excitacion mixta en el dominio de tiempo/dominio de frecuencia convertida al dominio de tiempo.
  17. 17. Un procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia para codificar una senal de sonido de entrada (101), caracterizado por que comprende:
    calcular (105) una contribucion de excitacion del dominio de tiempo en respuesta a la senal de sonido de entrada (101);
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    calcular (215) una frecuencia de corte para la contribucion de excitacion del dominio de tiempo en respuesta a la senal de sonido de entrada (101);
    en respuesta a la frecuencia de corte, ajustar (216) una extension de frecuencia de la contribucion de excitacion del dominio de tiempo;
    calcular (107) una contribucion de excitacion del dominio de frecuencia en respuesta a la senal de sonido de entrada (101); y
    sumar (111) la contribucion de excitacion del dominio de tiempo ajustada y la contribucion de excitacion del dominio de frecuencia en el dominio de frecuencia para formar una excitacion mixta en el dominio de tiempo/dominio de frecuencia que constituye una version codificada de la senal de sonido de entrada (101).
  18. 18. Un procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun la reivindicacion 17, caracterizado por que la contribucion de excitacion del dominio de tiempo incluye (a) solamente una contribucion de libro de codigos adaptativo, o (b) una contribucion de libro de codigos adaptativo y una contribucion de libro de codigos fijo.
  19. 19. Un procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun la reivindicacion 17 o 18, caracterizado por que comprende calcular (210) un numero de subtramas para utilizar en una trama actual en respuesta a por lo menos uno de un presupuesto de bits disponible y una dinamica espectral de alta frecuencia de la senal de sonido de entrada (101), y calcular (105) la contribucion de excitacion del dominio de tiempo comprende utilizar en la trama actual el numero de subtramas determinado para dicha trama actual.
  20. 20. Un procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun cualquiera de las reivindicaciones 17 a 19, caracterizado por que calcular (107) la contribucion de excitacion del dominio de frecuencia comprende llevar a cabo una transformada de frecuencia (213) de un residuo LP obtenido a partir de un analisis LP de la senal de sonido de entrada (101) para producir una representacion en frecuencia del residuo LP.
  21. 21. Un procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun la reivindicacion
    20, caracterizado por que calcular (215) la frecuencia de corte comprende calcular (303) una correlacion cruzada, para cada una de una serie de bandas de frecuencia, entre la representacion en frecuencia del residuo LP y una representacion en frecuencia de la contribucion de excitacion del dominio de tiempo, y el procedimiento de codificacion comprende encontrar (408) una estimacion de la frecuencia de corte en respuesta a la correlacion cruzada.
  22. 22. Un procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun la reivindicacion
    21, caracterizado por que comprende suavizar (304) la correlacion cruzada a traves de las bandas de frecuencia para producir un vector de correlacion cruzada, calcular (305) un promedio del vector de correlacion cruzada sobre las bandas de frecuencia y normalizar (407) el promedio de el vector de correlacion cruzada, y encontrar (408) la estimacion de la frecuencia de corte comprende determinar una primera estimacion de la frecuencia de corte encontrando una ultima frecuencia de una de las bandas de frecuencia que minimiza la diferencia entre dicha ultima frecuencia y el promedio normalizado del vector de correlacion cruzada multiplicado por un valor de anchura del espectro.
  23. 23. Un procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun la reivindicacion
    22, caracterizado por que calcular (215) la frecuencia de corte comprende encontrar (409) una de las bandas de frecuencia en las que esta situado un armonico calculado a partir de la contribucion de excitacion del dominio de tiempo, y seleccionar (411) la frecuencia de corte como la frecuencia superior entre dicha primera estimacion de la frecuencia de corte y una ultima frecuencia de la banda de frecuencia en la que esta situado dicho armonico.
  24. 24. Un procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun cualquiera de las reivindicaciones 17 a 23, caracterizado por que ajustar (216) la extension de frecuencia de la contribucion de excitacion del dominio de tiempo comprende reducir a cero (418) cajas de frecuencia para forzar a cero las cajas de frecuencia de una serie de bandas de frecuencia por encima de la frecuencia de corte.
  25. 25. Un procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun cualquiera de las reivindicaciones 17 a 24, caracterizado por que ajustar (216) la extension de frecuencia de la contribucion de excitacion del dominio de tiempo comprende reducir a cero (417) cajas de frecuencia para forzar a cero todas las cajas de frecuencia de una serie de bandas de frecuencia cuando la frecuencia de corte esta por debajo de un determinado valor.
  26. 26. Un procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun cualquiera de las reivindicaciones 17 a 25, caracterizado por que calcular (107) la contribucion de excitacion del dominio de frecuencia comprende calcular (109) una diferencia entre una representacion en frecuencia de un residuo LP de la senal de sonido de entrada (101) y una representacion en frecuencia filtrada de la contribucion de excitacion del dominio de tiempo.
    5
    10
    15
    20
    25
    30
    35
    40
  27. 27. Un procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun cualquiera de las reivindicaciones 17 a 25, caracterizado por que calcular (107) la contribucion de excitacion del dominio de frecuencia comprende calcular (109) la diferencia entre la representacion en frecuencia del residuo LP y la representacion en frecuencia de la contribucion de excitacion del dominio de tiempo hasta la frecuencia de corte para formar una primera parte de un vector de diferencia, se aplica un factor de reduccion de escala (603) a la representacion en frecuencia de la contribucion de excitacion del dominio de tiempo en un intervalo de frecuencia determinado a continuacion de la frecuencia de corte para formar una segunda parte del vector de diferencia, y el vector de diferencia se forma con la representacion en frecuencia (604) del residuo LP para una tercera parte restante por encima del intervalo de frecuencia determinado.
  28. 28. Un procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun la reivindicacion 27, caracterizado por que comprende cuantificar (110) el vector de diferencia, y sumar (111) la contribucion de excitacion del dominio de tiempo ajustada y la contribucion de excitacion del dominio de frecuencia para formar la excitacion mixta en el dominio de tiempo/dominio de frecuencia comprende sumar, en el dominio de frecuencia, el vector de diferencia cuantificado y una version transformada en frecuencia de la contribucion de excitacion del dominio de tiempo ajustada.
  29. 29. Un procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun cualquiera de las reivindicaciones 17 a 28, caracterizado por que comprende medios para asignar dinamicamente un presupuesto de bits entre una contribucion de excitacion del dominio de tiempo y la contribucion de excitacion del dominio de frecuencia.
  30. 30. Un procedimiento (100) de codificacion que utiliza un modelo de dominio de tiempo y dominio de frecuencia, caracterizado por que comprende:
    clasificar (204) una senal de sonido de entrada como de voz o no de voz; proporcionar un procedimiento de codificacion solamente en el dominio de tiempo (104);
    proporcionar el procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun cualquiera de las reivindicaciones 17 a 29; y
    seleccionar (103) uno del procedimiento de codificacion solamente en el dominio de tiempo y el procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia, para codificar la senal de sonido de entrada (101), en funcion de la clasificacion de la senal de sonido de entrada (101).
  31. 31. Un procedimiento de codificacion segun se define en la reivindicacion 30, caracterizado por que comprende seleccionar (206) un modo de codificacion en el dominio de tiempo sin memoria que, cuando la senal de sonido de entrada (101) se clasifica (204) como no de voz y se detecta (208) un ataque temporal en la senal de sonido de entrada (101), fuerza el modo de codificacion en el dominio de tiempo sin memoria para codificar la senal de sonido de entrada (101) utilizando el procedimiento de codificacion solamente en el dominio de tiempo (207).
  32. 32. Un procedimiento de descodificacion de una senal de sonido codificada utilizando el procedimiento de codificacion mixta en el dominio de tiempo/dominio de frecuencia segun cualquiera de las reivindicaciones 17 a 31, caracterizado por que comprende:
    convertir la excitacion mixta en el dominio de tiempo/dominio de frecuencia segun cualquiera de las reivindicaciones 17 a 31 al dominio de tiempo; y
    sintetizar la senal de sonido a traves de un filtro de smtesis en respuesta a la excitacion mixta en el dominio de tiempo/dominio de frecuencia convertida al dominio de tiempo.
ES11835383.8T 2010-10-25 2011-10-24 Codificación de señales de audio genérico a bajas tasas de bits y bajo retardo Active ES2693229T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US40637910P 2010-10-25 2010-10-25
US406379P 2010-10-25
PCT/CA2011/001182 WO2012055016A1 (en) 2010-10-25 2011-10-24 Coding generic audio signals at low bitrates and low delay

Publications (1)

Publication Number Publication Date
ES2693229T3 true ES2693229T3 (es) 2018-12-10

Family

ID=45973717

Family Applications (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 (16)

Country Link
US (1) US9015038B2 (es)
EP (2) EP3239979B1 (es)
JP (1) JP5978218B2 (es)
KR (2) KR101998609B1 (es)
CN (1) CN103282959B (es)
CA (1) CA2815249C (es)
DK (1) DK2633521T3 (es)
ES (1) ES2693229T3 (es)
HK (1) HK1185709A1 (es)
MX (1) MX351750B (es)
MY (1) MY164748A (es)
PL (1) PL2633521T3 (es)
PT (1) PT2633521T (es)
RU (1) RU2596584C2 (es)
TR (1) TR201815402T4 (es)
WO (1) WO2012055016A1 (es)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3139696B1 (en) 2011-06-09 2020-05-20 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
EP2849180B1 (en) * 2012-05-11 2020-01-01 Panasonic Corporation Hybrid audio signal encoder, hybrid audio signal decoder, method for encoding audio signal, and method for decoding audio signal
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
PL2936486T3 (pl) * 2012-12-21 2018-12-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Dodawanie szumu komfortu do modelowania szumu tła przy niskich przepływnościach
PT2936487T (pt) 2012-12-21 2016-09-23 Fraunhofer Ges Forschung Geração de um ruído de conforto com alta resolução espetrotemporal em transmissão descontínua de sinais de áudio
US10032461B2 (en) * 2013-02-26 2018-07-24 Koninklijke Philips N.V. Method and apparatus for generating a speech signal
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
CN104934034B (zh) 2014-03-19 2016-11-16 华为技术有限公司 用于信号处理的方法和装置
AU2014204540B1 (en) * 2014-07-21 2015-08-20 Matthew Brown Audio Signal Processing Methods and Systems
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
US9875745B2 (en) * 2014-10-07 2018-01-23 Qualcomm Incorporated Normalization of ambient higher order ambisonic audio data
EP3961623A1 (en) 2015-09-25 2022-03-02 VoiceAge Corporation Method and system for decoding left and right channels of a stereo sound signal
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 迪拉克研究公司 音频输入信号的处理
CN111133510B (zh) 2017-09-20 2023-08-22 沃伊斯亚吉公司 用于在celp编解码器中高效地分配比特预算的方法和设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
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
EP2077551B1 (en) * 2008-01-04 2011-03-02 Dolby Sweden AB Audio encoder and decoder
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
EP2146344B1 (en) * 2008-07-17 2016-07-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoding/decoding scheme having a switchable bypass

Also Published As

Publication number Publication date
EP2633521A1 (en) 2013-09-04
PT2633521T (pt) 2018-11-13
PL2633521T3 (pl) 2019-01-31
CA2815249A1 (en) 2012-05-03
HK1185709A1 (en) 2014-02-21
EP3239979B1 (en) 2024-04-24
WO2012055016A8 (en) 2012-06-28
MY164748A (en) 2018-01-30
MX2013004673A (es) 2015-07-09
EP2633521A4 (en) 2017-04-26
KR101858466B1 (ko) 2018-06-28
EP3239979A1 (en) 2017-11-01
KR101998609B1 (ko) 2019-07-10
KR20130133777A (ko) 2013-12-09
WO2012055016A1 (en) 2012-05-03
MX351750B (es) 2017-09-29
EP2633521B1 (en) 2018-08-01
CN103282959A (zh) 2013-09-04
TR201815402T4 (tr) 2018-11-21
KR20180049133A (ko) 2018-05-10
CN103282959B (zh) 2015-06-03
JP2014500521A (ja) 2014-01-09
JP5978218B2 (ja) 2016-08-24
RU2013124065A (ru) 2014-12-10
DK2633521T3 (en) 2018-11-12
US20120101813A1 (en) 2012-04-26
RU2596584C2 (ru) 2016-09-10
CA2815249C (en) 2018-04-24
US9015038B2 (en) 2015-04-21

Similar Documents

Publication Publication Date Title
ES2693229T3 (es) Codificación de señales de audio genérico a bajas tasas de bits y bajo retardo
US10885926B2 (en) Classification between time-domain coding and frequency domain coding for high bit rates
JP5357055B2 (ja) 改良形デジタルオーディオ信号符号化/復号化方法
KR101078625B1 (ko) 이득 계수 제한을 위한 시스템, 방법 및 장치
ES2739477T3 (es) Decodificador de audio y método para proporcionar una información de audio decodificada usando un ocultamiento de errores en base a una señal de excitación de dominio de tiempo
EP1997101B1 (en) Method and system for reducing effects of noise producing artifacts
RU2660605C2 (ru) Концепция заполнения шумом
US20150073784A1 (en) Adaptive Bandwidth Extension and Apparatus for the Same
ES2908183T3 (es) Decisión no sonora para el procesamiento de la voz
US20130110506A1 (en) Audio Encoder and Decoder and Methods for Encoding and Decoding an Audio Signal
WO2022147615A1 (en) Method and device for unified time-domain / frequency domain coding of a sound signal
Heikkinen Development of a 4 kbit/s hybrid sinusoidal/CELP speech coder