ES2690252T3 - Ajuste de ganancia temporal basado en la característica de señal de banda alta - Google Patents

Ajuste de ganancia temporal basado en la característica de señal de banda alta Download PDF

Info

Publication number
ES2690252T3
ES2690252T3 ES15731780.1T ES15731780T ES2690252T3 ES 2690252 T3 ES2690252 T3 ES 2690252T3 ES 15731780 T ES15731780 T ES 15731780T ES 2690252 T3 ES2690252 T3 ES 2690252T3
Authority
ES
Spain
Prior art keywords
signal
high band
gain
value
audio signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES15731780.1T
Other languages
English (en)
Inventor
Venkatraman S. Atti
Venkatesh Krishnan
Vivek Rajendran
Venkata Subrahmanyam Chandra Sekhar CHEBIYYAM
Subasingha Shaminda Subasingha
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2690252T3 publication Critical patent/ES2690252T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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
    • G10L19/032Quantisation or dequantisation of spectral components
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • G10L21/0224Processing in the time domain
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/038Speech enhancement, e.g. noise reduction or echo cancellation using band spreading techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/12Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being prediction coefficients
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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
    • G10L19/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0016Codebook for LPC parameters

Landscapes

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

Abstract

Un procedimiento que comprende: determinar, en un codificador, una suma de valores de energía correspondientes a salidas de un banco de filtros de análisis, con la suma de valores de energía correspondientes a un rango de frecuencias superior de una parte de banda alta de una señal de audio; realizar una operación de promedio basada en la suma de valores de energía para determinar una característica de señal; determinar, en el codificador, si la característica de señal satisface un umbral; generar una señal de excitación de banda alta correspondiente a la parte de banda alta; generar una parte de banda alta sintetizada basada en la señal de excitación de banda alta; determinar un valor de un parámetro de ganancia temporal basado en una comparación de la parte de banda alta sintetizada con la parte de banda alta; y en respuesta a la característica de señal que satisface el umbral, ajustar el valor del parámetro de ganancia temporal, en el que el ajuste del valor del parámetro de ganancia temporal controla una variabilidad del parámetro de ganancia temporal.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Ajuste de ganancia temporal basado en la característica de señal de banda alta REIVINDICACIÓN DE PRIORIDAD
[0001] La presente solicitud reivindica prioridad de la Solicitud de Patente Provisional de Estados Unidos n.° 62/017,790 presentada el 26 de junio de, 2014, y la Solicitud de Patente de Estados Unidos n.° 14/731,198 presentada el 4 de junio de 2015, ambas tituladas "TEMPORAL GAIN ADJUSTMENT BASED ON HIGH-BAND SIGNAL CHARACTERISTIC [AJUSTE DE GANANCIA TEMPORAL BASADO EN CARACTERÍSTICA DE SEÑAL DE BANDA ALTA]".
CAMPO
[0002] La presente divulgación se refiere en general a procesamiento de señales de audio. DESCRIPCIÓN DE LA TÉCNICA RELACIONADA
[0003] Los avances en la tecnología han dado lugar a dispositivos informáticos personales más pequeños y más potentes. Por ejemplo, existe actualmente una variedad de dispositivos informáticos personales portátiles, incluyendo dispositivos informáticos inalámbricos, tales como teléfonos inalámbricos portátiles, asistentes digitales personales (PDA) y dispositivos de búsqueda que son pequeños, ligeros y que son transportados fácilmente por los usuarios. Más específicamente, los teléfonos inalámbricos portátiles, tales como los teléfonos celulares y los teléfonos del protocolo de Internet (IP), pueden comunicar paquetes de voz y datos por redes inalámbricas. Además, muchos de dichos teléfonos inalámbricos incluyen otros tipos de dispositivos que están incorporados en los mismos. Por ejemplo, un teléfono inalámbrico también puede incluir una cámara fotográfica digital, una cámara de vídeo digital, un grabador digital y un reproductor de archivos de audio.
[0004] La transmisión de la voz por técnicas digitales está extendida, en particular en aplicaciones radiotelefónicas de larga distancia y digitales. Puede haber interés en determinar la menor cantidad de información que se puede enviar a través de un canal manteniendo a la vez una calidad percibida de habla reconstruida. Si el habla se transmite por muestreo y digitalización, se puede usar una velocidad de datos en el orden de sesenta y cuatro kilobits por segundo (kbps) para lograr una calidad de habla de un teléfono analógico. Mediante el uso de análisis de habla, seguido de codificación, transmisión y resíntesis en un receptor, se puede lograr una reducción significativa en la velocidad de datos.
[0005] Los dispositivos para comprimir habla pueden encontrar uso en muchos campos de las telecomunicaciones. Un campo a modo de ejemplo son las comunicaciones inalámbricas. El campo de las comunicaciones inalámbricas tiene muchas aplicaciones, incluyendo, por ejemplo, teléfonos sin cables, radiobúsqueda, bucles locales inalámbricos, telefonía inalámbrica, tal como sistemas telefónicos de servicio de comunicación personal (PCS) y celulares, telefonía de protocolo de Internet (IP) móvil y sistemas de comunicación satelital. Una aplicación particular es la telefonía inalámbrica para abonados móviles.
[0006] Se han desarrollado varias interfaces aéreas para sistemas de comunicación inalámbrica incluyendo, por ejemplo, acceso múltiples por división de frecuencia (FDMA), acceso múltiple por división de tiempo (TDMA), acceso múltiple por división de código (CDMA), y CDMA síncrona por división de tiempo (TD-SCDMA). En relación con eso, se han establecido diversos estándares nacionales e internacionales, incluyendo, por ejemplo, el servicio telefónico móvil avanzado (AMPS), el sistema global para las comunicaciones móviles (GSM) y el estándar transitorio 95 (IS- 95). Un sistema de comunicación de telefonía inalámbrica a modo de ejemplo es un sistema de acceso múltiple por división de código (CDMA). El estándar IS-95 y sus derivados, IS-95A, AnSI J-STD-008 e IS-95B (a los que se hace referencia en el presente documento como IS-95), son promulgados por la Asociación de la Industria de las Telecomunicaciones (TIA) y otros conocidos organismos de normalización para especificar el uso de una interfaz aérea CDMA para sistemas de comunicación de telefonía celular o PCS.
[0007] El estándar IS-95 evolucionado posteriormente en sistemas "3G", tales como cdma2000 y WCDMA, que proporcionan servicios de datos de paquetes de alta velocidad y más capacidad. Se presentan dos variaciones de cdma2000 por los documentos IS-2000 (cdma2000 1xRTT) e IS-856 (cdma2000 1xEV-DO), que se emiten por TIA. El sistema de comunicación cdma2000 1xRTT ofrece una velocidad de datos máxima de 153 kbps, mientras que el sistema de comunicación cdma2000 1xEV-DO define un conjunto de velocidades de datos, que varían de 38,4 kbps a 2,4 Mbps. El estándar WCDMA se realiza en el Proyecto de Colaboración de Tercera Generación "3GPP", documentos n.os 3G TS 25.211, 3G TS 25.212, 3G TS 25.213 y 3G TS 25.214. La especificación de telecomunicaciones móviles internacionales avanzadas (IMT-Advanced) expone los estándares "4G". La especificación IMT-Advanced establece una velocidad de datos máxima para el servicio 4G en 100 megabits por segundo (Mbit/s) para comunicación de alta movilidad (por ejemplo, de trenes y automóviles) y de 1 gigabit por segundo (Gbit/s) para comunicación de baja movilidad (por ejemplo, de peatones y usuarios estacionarios).
5
10
15
20
25
30
35
40
45
50
55
60
65
[0008] Los dispositivos que emplean técnicas para comprimir el habla extrayendo parámetros que se relacionan con un modelo de generación de habla humana se denominan codificadores de habla. Los codificadores de voz pueden comprender un codificador y un descodificador. El codificador divide la señal de habla entrante en bloques de tiempo o tramas de análisis. Se puede seleccionar la duración de cada segmento en tiempo (o "trama") para que sea suficientemente corta como para que se pueda esperar que la envolvente espectral de la señal permanezca relativamente estacionaria. Por ejemplo, una longitud de trama tiene veinte milisegundos, que corresponde a 160 muestras a una velocidad de muestreo de ocho kilohercios (kHz), aunque se puede usar cualquier longitud de trama o velocidad de muestreo que se considere adecuada para la aplicación particular.
[0009] El codificador analiza la trama de habla entrante para extraer determinados parámetros relevantes y luego cuantifica los parámetros en representación binaria, por ejemplo, en un conjunto de bits o un paquete de datos binarios. Los paquetes de datos se transmiten por un canal de comunicación (por ejemplo, una conexión de red alámbrica y/o inalámbrica) a un receptor y un descodificador. El descodificador procesa los paquetes de datos, descuantifica los paquetes de datos procesados para producir los parámetros, y resintetiza las tramas de habla usando los parámetros descuantificados.
[0010] La función del codificador de habla es comprimir la señal de habla digitalizada en una señal de baja velocidad de transmisión de bits eliminando las redundancias naturales inherentes en el habla. Se puede lograr la compresión digital representando una trama de habla de entrada con un conjunto de parámetros y empleando la cuantificación para representar los parámetros con un conjunto de bits. Si la trama de habla de entrada tiene un número de bits Ni y un paquete de datos producido por el codificador de habla tiene un número de bits No, el factor de compresión logrado por el codificador de habla es Cr = Ni/No. El desafío es conservar la alta calidad de voz del habla descodificada a la vez que se logra el factor de compresión objetivo. El rendimiento de un codificador de habla depende de (1) qué tan bien lleve a cabo el modelo de habla, o la combinación del procedimiento de análisis y síntesis descrito anteriormente, y (2) qué tan bien se lleve a cabo el procedimiento de cuantificación de parámetro en la velocidad de transmisión de bits objetivo de No bits por trama. El objetivo del modelo de habla es por tanto capturar la esencia de la señal de habla, o la calidad de voz objetivo, con un pequeño conjunto de parámetros para cada trama.
[0011] Los codificadores de voz en general utilizan un conjunto de parámetros (que incluyen vectores) para describir la señal de habla . Un buen conjunto de parámetros proporciona, idealmente, un bajo ancho de banda de sistema para la construcción de una señal de habla exacta de manera perceptual. El tono, la potencia de señal, la envolvente espectral (o formantes), la amplitud y los espectros de fase son ejemplos de los parámetros de codificación del habla.
[0012] Se pueden implementar los codificadores del habla como codificadores de dominio de tiempo, que intentan capturar la forma de onda del habla de dominio de tiempo empleando un procesamiento de alta resolución temporal para codificar pequeños segmentos de habla (por ejemplo, subtramas de 5 milisegundos (ms)) de uno en uno. Para cada subtrama, se encuentra un representante de alta precisión de un espacio de libro de códigos por medio de un algoritmo de búsqueda. De forma alternativa, se pueden implementar codificadores del habla como codificadores de dominio de frecuencia, que intentan capturar el espectro de habla a corto plazo de la trama de habla de entrada con un conjunto de parámetros (análisis) y emplear un proceso de síntesis correspondiente para recrear la forma de onda de habla a partir de los parámetros espectrales. El cuantificador de parámetros conserva los parámetros representándolos con representaciones almacenadas de vectores de código de acuerdo con técnicas de cuantificación conocidas.
[0013] Un codificador de voz de dominio de tiempo es el codificador predictivo lineal excitado por código (CELP). En un codificador CELP, se eliminan las correlaciones a corto plazo, o redundancias, en la señal del habla por un análisis de predicción lineal (LP), que encuentra los coeficientes de un filtro formante a corto plazo. La aplicación del filtro de predicción a corto plazo a la trama de habla entrante genera una señal residual de Lp, que se modela y se cuantifica adicionalmente con parámetros de filtro de predicción a largo plazo y un libro de códigos estocástico posterior. Por tanto, la codificación CELP divide la tarea de codificar la forma de onda del habla de dominio de tiempo en tareas separadas de codificación de los coeficientes de filtro a corto plazo de LP y de codificación de LP residual. Se puede realizar la codificación de dominio de tiempo a una velocidad fija (por ejemplo, usando el mismo número de bits, No, para cada trama) o a una velocidad variable (en la que se usan diferentes velocidades de transmisión de bits para diferentes tipos de contenido de trama). Los codificadores de velocidad variable intentan usar la cantidad de bits necesarios para codificar los parámetros de códec a un nivel adecuado para obtener una calidad objetivo.
[0014] Los codificadores de dominio de tiempo, tales como el codificador CELP, pueden depender de un alto número de bits, N0, por trama para conservar la exactitud de la forma de onda del habla de dominio de tiempo. Dichos codificadores pueden suministrar excelente calidad de voz siempre que el número de bits, No, por trama sea relativamente grande (por ejemplo, 8 kbps o mayores). A bajas velocidades de transmisión de bits (por ejemplo, 4 kbps y menores), los codificadores de dominio de tiempo pueden dejar de mantener una alta calidad y un sólido rendimiento debido al número limitado de bits disponibles. A bajas velocidades de transmisión de bits, el espacio limitado del libro de códigos recorta la capacidad de igualar la forma de onda de los codificadores de dominio de
5
10
15
20
25
30
35
40
45
50
55
60
65
tiempo, que se instalan en aplicaciones comerciales de velocidad más alta. De ahí que, pese a las mejoras en el transcurso del tiempo, muchos sistemas de codificación CELP que funcionan a bajas velocidades de transmisión de bits son susceptibles de distorsión significativa de manera perceptual caracterizada como ruido.
[0015] Una alternativa para los codificadores CELP a bajas velocidades de transmisión de bits es el codificador "predictivo lineal excitado por ruido" (NELP), que funciona bajo principios similares a un codificador CELP. Los codificadores NELP usan una señal de ruido pseudoaleatoria filtrada para modelar el habla, en lugar de un libro de códigos. Puesto que NELP usa un modelo más simple para el habla codificada, NELP logra una velocidad de transmisión de bits más baja que CELP. Se puede usar NELP para comprimir o representar habla sin voz o silencio.
[0016] Los sistemas de codificación que funcionan a velocidades en el orden de 2,4 kbps son en general de naturaleza paramétrica. Es decir, dichos sistemas de codificación funcionan transmitiendo parámetros que describen el período de tono y la envolvente espectral (o formantes) de la señal de habla a intervalos regulares. El sistema vocodificador de LP es ilustrativo de estos codificadores denominados paramétricos.
[0017] Los vocodificadores LP modelan una señal de habla sonora con un único pulso por período de tono. Esta técnica básica se puede aumentar para incluir información de transmisión acerca de la envolvente espectral, entre otras cosas. Aunque los vocodificadores de LP proporcionan un rendimiento razonable en general, pueden introducir distorsión significativa de manera perceptual, caracterizada como zumbido.
[0018] En los últimos años, han aparecido codificadores que son híbridos de codificadores de forma de onda y de codificadores paramétricos. El sistema de codificación de habla de interpolación de forma de onda prototipo (PWI) es ilustrativo de estos codificadores denominados híbridos. El sistema de codificación PWI también se puede conocer como un codificador de habla de período de tono prototipo (PPP). Un sistema de codificación PWI proporciona un procedimiento eficiente para codificar el habla con voz. El concepto básico de PWI es extraer un ciclo de tono representativo (la forma de onda prototipo) a intervalos fijos, transmitir su descripción y reconstruir la señal de habla interpolando entre las formas de onda prototipo. El procedimiento PWI puede funcionar en la señal residual de LP o bien en la señal de habla.
[0019] Puede haber interés en la investigación e interés comercial en la mejora de la calidad de audio de una señal de habla (por ejemplo, una señal de habla codificada, una señal de habla reconstruida, o ambos). Por ejemplo, un dispositivo de comunicación puede recibir una señal de habla con una calidad de voz inferior a la óptima. Para ilustrar esto, el dispositivo de comunicación puede recibir la señal de habla desde otro dispositivo de comunicación durante una llamada de voz. La calidad de la llamada de voz se puede ver afectada debido a diversas razones, tales como ruido ambiental (por ejemplo, viento, ruido de la calle), limitaciones de las interfaces de los dispositivos de comunicación, procesamiento de la señal por los dispositivos de comunicación, pérdida de paquete, limitaciones de ancho de banda, limitaciones de velocidad de transmisión de bits, etc.
[0020] En los sistemas telefónicos tradicionales (por ejemplo, las redes telefónicas conmutadas públicas (PSTN)), el ancho de banda de la señal está limitado al rango de frecuencias de 300 hercios (Hz) a 3,4 kilohercios (kHz). En aplicaciones de banda ancha (WB), tales como la telefonía celular y la voz sobre el protocolo de Internet (VoIP), el ancho de banda de la señal puede abarcar el rango de frecuencias de 50 Hz a 7 kHz. Las técnicas de codificación de banda superancha (SWB) prestan soporte a un ancho de banda que se extiende hasta alrededor de 16 kHz. La extensión del ancho de banda de la señal desde la telefonía de banda estrecha a 3,4 kHz hasta la telefonía SWB de 16 kHz puede mejorar la calidad de la reconstrucción, la inteligibilidad y la naturalidad de la señal.
[0021] Las técnicas de codificación de SWB típicamente implican codificar y transmitir la parte de frecuencias más bajas de la señal (por ejemplo, de 0 Hz a 6,4 kHz, también denominada la "banda baja"). Por ejemplo, la banda baja se puede representar usando parámetros de filtro y/o una señal de excitación de banda baja. Sin embargo, con el fin de mejorar la eficiencia de codificación, la parte de frecuencias más altas de la señal (por ejemplo, de 6,4 kHz a 16 kHz, también llamada "banda alta") puede no codificarse y transmitirse totalmente. En cambio, un receptor puede utilizar el modelado de señales para predecir la banda alta. En algunas implementaciones, los datos asociados a la banda alta pueden proporcionarse al receptor para facilitar la predicción. Tales datos pueden denominarse "información secundaria" y pueden incluir información de ganancia, frecuencias espectrales de línea (LSF, también denominadas pares espectrales de línea (LSP)), etc. Al codificar y descodificar una señal de banda alta utilizando modelado de señal, en ciertas condiciones se pueden introducir ruidos no deseados o distorsiones audibles en la señal de banda alta.
[0022] El documento US 2006/0282262 A1 divulga un procedimiento de codificación de voz en el que un parámetro de ganancia temporal se determina en una base de subtrama de acuerdo con una señal de banda alta y una versión sintética de la misma.
SUMARIO
[0023] La invención se define mediante las reivindicaciones independientes adjuntas. Se proporcionan modos de realización adicionales en las reivindicaciones dependientes.
5
10
15
20
25
30
35
40
45
50
55
60
65
BREVE DESCRIPCIÓN DE LOS DIBUJOS
[0024]
La FIG. 1 es un diagrama para ilustrar un aspecto particular de un sistema que es operable para ajustar un parámetro de ganancia temporal basado en una característica de señal de banda alta;
La FIG. 2 es un diagrama para ilustrar un aspecto particular de componentes de un codificador operable para ajustar un parámetro de ganancia temporal basándose en una característica de señal de banda alta;
La FIG. 3 incluye diagramas que ilustran los componentes de frecuencia de las señales de acuerdo con un aspecto particular;
La FIG. 4 es un diagrama para ilustrar un aspecto particular de componentes de un descodificador operable para sintetizar una parte de banda alta de una señal de audio usando parámetros de ganancia temporal que se ajustan basándose en una característica de señal de banda alta;
La FIG. 5A representa un diagrama de flujo para ilustrar un aspecto particular de un procedimiento de ajuste de un parámetro de ganancia temporal basándose en una característica de señal de banda alta;
La FIG. 5B representa un diagrama de flujo para ilustrar un aspecto particular de un procedimiento de cálculo de una característica de señal de banda alta;
La FIG. 5C representa un diagrama de flujo para ilustrar un aspecto particular del procedimiento de ajuste de coeficientes de predicción lineal (LPC) de un codificador; y
La FIG. 6 es un diagrama de bloques de un dispositivo inalámbrico operable para realizar operaciones de procesamiento de señales de acuerdo con los sistemas, aparatos y procedimientos de las FIGs. 1-5B.
DESCRIPCIÓN DETALLADA
[0025] Se divulgan los sistemas y procedimientos de ajuste de información de ganancia temporal basándose en una característica de la señal de banda alta. Por ejemplo, la información de ganancia temporal puede incluir un parámetro de forma de ganancia que se genera en un codificador por subtrama. En ciertas situaciones, una entrada de señal de audio en el codificador puede tener poco o ningún contenido en la banda alta (por ejemplo, tal vez "banda limitada" con respecto a la banda alta). Por ejemplo, se puede generar una señal de banda limitada durante la captura de audio en un dispositivo electrónico que es compatible con el modelo SWB, un dispositivo que no es capaz de capturar datos en una totalidad de la banda alta, etc. Para ilustrarlo, un teléfono inalámbrico particular puede no ser capaz, o puede ser programado para abstenerse de capturar datos a frecuencias superiores a 8 kHz, más altas 10 kHz, etc. Cuando codifica tales señales de banda limitada, un modelo de señal (por ejemplo, un modelo armónico SWB) puede introducir distorsiones audibles debido a una gran variación en la ganancia temporal.
[0026] Para reducir tales distorsiones, un codificador (por ejemplo, un codificador de voz o "vocoder") pueden determinar una característica de señal de una señal de audio que va a codificarse. En un ejemplo, la característica de señal es una suma de energías en una región de frecuencia superior de la parte de banda alta de la señal de audio. Como ejemplo no limitativo, la característica de señal puede determinarse sumando las energías de las salidas del banco de filtros de análisis en un rango de frecuencias de 12 kHz - 16 kHz, y de este modo puede corresponder a un "suelo de señal" de banda alta. Como se usa en el presente documento, la "región de frecuencia superior" de la parte de banda alta de la señal de audio puede corresponder a cualquier rango de frecuencias (en la parte superior de la parte de banda alta de la señal de audio) que es menor que el ancho de banda de la parte de banda alta de la señal de audio. Como ejemplo no limitativo, si la parte de banda alta de la señal de audio se caracteriza por un rango de frecuencias de 6,4 kHz a 14,4 kHz, la región de frecuencia superior de la parte de banda alta de la señal de audio puede caracterizarse por un rango de frecuencias de 10,6 kHz - 14,4 kHz. Como otro ejemplo no limitativo , si la parte de banda alta de la señal de audio se caracteriza por un rango de frecuencias de 8 kHz a 16 kHz, la región de frecuencia superior de la parte de banda alta de la señal de audio puede caracterizarse por un rango de frecuencias de 13 kHz - 16 kHz. El codificador puede procesar la parte de banda alta de la señal de audio para generar una señal de excitación de banda alta y puede generar una versión sintetizada de la parte de banda alta basándose en la señal de excitación de banda alta. Basándose en una comparación de las partes de banda alta "original" y sintetizada, el codificador puede determinar el valor de un parámetro de forma de ganancia. Si la característica de señal de la parte de banda alta satisface un umbral (por ejemplo, la característica de señal indica que la señal de audio está limitada por banda y tiene poco o ningún contenido de banda alta), el codificador puede ajustar el valor del parámetro de forma de ganancia para limitar la variabilidad (por ejemplo, un rango dinámico limitado) del parámetro de forma de ganancia. Limitar la variabilidad del parámetro de forma de ganancia puede reducir las distorsiones generadas durante la codificación/descodificación de la señal de audio de banda limitada.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0027] Con referencia a la FIG. 1, se muestra un aspecto particular de un sistema que es operable para ajustar un parámetro de ganancia temporal basado en una característica de señal de banda alta y en general designado como 100. En un aspecto particular, el sistema 100 puede integrarse en un sistema o aparato de codificación (por ejemplo, en un teléfono inalámbrico o codificador/descodificador (CÓDEC)).
[0028] Hay que señalar que en la siguiente descripción, las diversas funciones realizadas por el sistema 100 de la FIG. 1 se describen como realizados por ciertos componentes o módulos. Sin embargo, esta división de componentes y módulos es solo para ilustración. En un aspecto alternativo, una función realizada por un componente o módulo particular se puede dividir, en cambio, entre múltiples componentes o módulos. Además, en un aspecto alternativo, dos o más componentes o módulos de la FIG. 1 se pueden integrar en un único componente o módulo. Cada componente o módulo ilustrado en la FIG. 1 puede implementarse utilizando hardware (por ejemplo, un dispositivo de matriz de puertas programable sobre el terreno (FPGA), un circuito integrado específico de la aplicación (ASIC), un procesador de señal digital (DSP), un controlador, etc.), software (por ejemplo, instrucciones ejecutables por un procesador), o cualquier combinación de los mismos.
[0029] El sistema 100 incluye un módulo de pre-procesamiento 110 que está configurado para recibir una señal de audio 102. Por ejemplo, la señal de audio 102 puede proporcionarse mediante un micrófono u otro dispositivo de entrada. En un aspecto particular, la señal de audio 102 puede incluir voz. La señal de audio 102 puede ser una señal de banda super-ancha (SWB) que incluye datos en el rango de frecuencias de aproximadamente 50 hercios (Hz) a aproximadamente 16 kilohercios (kHz). El módulo de pre-procesamiento 110 puede filtrar la señal de audio 102 en múltiples partes basándose en la frecuencia. Por ejemplo, el módulo de pre-procesamiento 110 puede generar una señal de banda baja 122 y una señal de banda alta 124. La señal de banda baja 122 y la señal de banda alta 124 pueden tener anchos de banda iguales o desiguales, y pueden estar superpuestas o no superpuestas.
[0030] En un aspecto particular, la señal de banda baja 122 y la señal de banda alta 124 corresponden a los datos en bandas de frecuencia que no se solapan. Por ejemplo, la señal de banda baja 122 y la señal de banda alta 124 pueden corresponder a datos en bandas de frecuencia no solapantes de 50 Hz - 7 kHz y 7 kHz - 16 kHz. En un aspecto alternativo, la señal de banda baja 122 y la señal de banda alta 124 pueden corresponder a bandas de frecuencia de datos no solapantes de 50 Hz - 8 kHz y 8 kHz - 16 kHz. En otro aspecto alternativo, la señal de banda baja 122 y la señal de banda alta 124 corresponden a bandas superpuestas (por ejemplo, 50 Hz - 8 kHz y 7 kHz - 16 kHz), lo cual puede permitir que un filtro de paso bajo y un filtro de paso alto del módulo de pre-procesamiento 110 tengan un desplazamiento suave, lo cual puede simplificar el diseño y reducir el coste del filtro de paso bajo y el filtro de paso alto. La superposición de la señal de banda baja 122 y de la señal de banda alta 124 también puede permitir el mezclado suave de señales de banda baja y banda alta en un receptor, lo cual puede dar como resultado menos distorsiones audibles.
[0031] En un aspecto particular, el módulo de pre-procesamiento 110 incluye un banco de filtros de análisis. Por ejemplo, el módulo de pre-procesamiento 110 puede incluir un banco de filtros de filtros de espejo en cuadratura (QMF) que incluye una pluralidad de QMF. Cada QMF puede filtrar una parte de la señal de audio 102. Como otro ejemplo, el módulo de pre-procesamiento 110 puede incluir un banco de filtros de bajo retardo complejo (CLDFB). El módulo de pre-procesamiento 110 también puede incluir un volteador espectral configurado para voltear un espectro de la señal de audio 102. De este modo, en un aspecto particular, aunque la señal de banda alta 124 corresponde a una parte de banda alta de la señal de audio 102, la señal de banda alta 124 puede comunicarse como una señal de banda de base.
[0032] En un aspecto particular SWB, el banco de filtros incluye 40 filtros QMF, donde cada filtro QMF (por ejemplo, un filtro QMF ilustrativo 112) funciona en una parte de 400 Hz de la señal de audio 102. Cada filtro QmF 112 puede generar salidas de filtro que incluyen una parte real y una parte imaginaria. El módulo de pre-procesamiento 110 puede sumar salidas de filtro de filtros QMF correspondientes a una parte de frecuencia superior de la parte de banda alta de la señal de audio 102. Por ejemplo, el módulo de pre-procesamiento 110 puede sumar salidas de los diez QMF correspondientes al rango de frecuencias de 12 kHz a 16 kHz, que se muestran en la FIG. 1 usando un patrón de sombreado. El módulo de pre-procesamiento 110 puede determinar una característica de señal de banda alta 126 basándose en las salidas de QMF sumadas. En un aspecto particular, el módulo de pre-procesamiento 110 realiza una operación de promediado a largo plazo en la suma de las salidas de QMF para determinar la característica de señal de banda alta 126. Para ilustrar, el módulo de pre-procesamiento 110 puede funcionar de acuerdo con el siguiente pseudocódigo:
//CLDFB_NO_COL_MAX = 16;
//nB: número de bandas
//ts: número de muestras por banda
//realBufferFlipped: Salida del filtro de análisis QMF (real)
//imagBufferFlipped: Salida del filtro de análisis QMF (imaginaria)
//qmfHBLT: promedio a largo plazo del mínimo de señal de banda alta // Estimar el mínimo de señal de banda alta flotante QmfHB = 0;
5
10
15
20
25
30
35
40
45
50
55
60
65
/*itera sobre diez bandas = 10*400 Hz = 4 kHz correspondientes a datos de 12-16 kHz. QMFs 0-9 utilizados porque funcionan en el dominio de señal volteado, por lo que las frecuencias superiores de banda alta son procesadas por el número más bajo QMFs */
para (nB = 0; nB <10; nB ++)
{
para (ts = 0; ts <CLDFB_NO_COL_MAX; ts ++) // iterar sobre muestras en cada banda {
/*sumar los cuadrados de salidas de memoria intermedia reales/imaginarias (que corresponden a la magnitud/energía de señal */
QmfHB += (realBufferFlipped[ts][nB] * realBufferFlipped[ts][nB]) + (imagBufferFlipped[ts][nB] * imagBufferFlipped[ts][nB]);
} }
/* realizar una media a largo plazo del mínimo de señal de banda alta en el dominio de registro 0,221462 = 1/log10 (32768)/*
qmfHBLT = 0,9 * qmfHBLT + 0,1 * (0,221462 * (log10(QmfHB) - 1.0));
[0033] Aunque el pseudocódigo anterior ilustra un promedio a largo plazo de más de diez bandas (por ejemplo, diez bandas de 400 Hz representan datos de 12-16 datos) utilizando bancos de filtros de análisis QMF, debe apreciarse que el módulo de pre-procesamiento 110 puede funcionar de acuerdo con pseudocódigo sustancialmente similar para diferentes bancos de filtros de análisis, un número diferente de bandas y/o un rango de frecuencias de datos diferente. Como un ejemplo no limitativo, el módulo de pre-procesamiento 110 puede utilizar bancos de filtros de análisis de bajo retardo complejos para 20 bandas que representan datos de 13-16 kHz.
[0034] En un aspecto particular, la característica de señal de banda alta 126 se determina por subtrama. Para ilustrar, la señal de audio 102 se puede dividir en una pluralidad de tramas, donde cada trama corresponde a aproximadamente 20 milisegundos (ms) de audio. Cada trama puede incluir una pluralidad de subtramas. Por ejemplo, cada trama de 20 ms puede incluir cuatro subtramas de 5 ms (o aproximadamente 5 ms). En aspectos alternativos, las tramas y subtramas pueden corresponder a diferentes longitudes de tiempo y se puede incluir un número diferente de subtramas en cada trama.
[0035] Hay que señalar que, aunque el ejemplo de la FIG. 1 ilustra el procesamiento de una señal SWB, esto es solo para ilustración. En un aspecto alternativo, la señal de audio 102 puede ser una señal de banda ancha (WB) que tiene un rango de frecuencias de aproximadamente 50 Hz a aproximadamente 8 kHz. En dicho aspecto, la señal de banda baja 122 puede corresponder a un rango de frecuencias desde aproximadamente 50 Hz hasta aproximadamente 6,4 kHz y la señal de banda alta 124 puede corresponder a un rango de frecuencias desde aproximadamente 6,4 kHz hasta aproximadamente 8 kHz.
[0036] El sistema 100 puede incluir un módulo de análisis de banda baja 130 configurado para recibir la señal de banda baja 122. En un aspecto particular, el módulo de análisis de banda baja 130 puede representar un aspecto de un codificador de predicción lineal excitado por código (CELP). El módulo de análisis de banda baja 130 puede incluir un módulo 132 de análisis y codificación de predicción lineal (LP), un módulo 134 de transformación de coeficiente de predicción lineal (LPC) a par espectral de línea (LTP) y un cuantificador 136. Los LSP también pueden denominarse frecuencias espectrales de línea (LSF), y los dos términos se pueden usar indistintamente en el presente documento. El módulo de análisis y codificación de LP 132 puede codificar una envolvente espectral de la señal de banda baja 122 como un conjunto de los LPC. Se pueden generar los LPC para cada trama de audio (por ejemplo, 20 milisegundos (ms) de audio, correspondientes a 320 muestras a una frecuencia de muestreo de 16 kHz), para cada subtrama de audio (por ejemplo, 5 ms de audio), o para cualquier combinación de las mismas. Se puede determinar el número de los LPC generados para cada trama o subtrama mediante el "orden" del análisis de LP realizado. En un aspecto particular, el módulo de análisis y codificación LP 132 puede generar un conjunto de once LPC correspondientes a un análisis de LP de décimo orden.
[0037] El módulo de transformación de LPC a LSP 134 puede transformar el conjunto de los LPC generados por el módulo de análisis y codificación de LP 132 en un conjunto correspondiente de los LSP (por ejemplo, usando transformación de uno en uno). De forma alternativa, el conjunto de los LPC puede transformarse de uno en uno en un conjunto correspondiente de coeficientes de correlación parcial, valores de razón de logaritmo de área, pares espectrales de impedancia de corriente alterna (ISP) o frecuencias espectrales de impedancia de corriente alterna (ISF). La transformación entre el conjunto de los LPC y el conjunto de los LSP puede ser reversible sin error.
[0038] El cuantificador 136 puede cuantificar el conjunto de los LSP generados por el módulo de transformación 134. Por ejemplo, el cuantificador 136 puede incluir o puede estar acoplado a múltiples libros de códigos que incluyen múltiples entradas (por ejemplo, vectores). Para cuantificar el conjunto de los LSP, el cuantificador 136 puede identificar entradas de libros de códigos que estén "más cercanas a" (por ejemplo, basándose en una medida de distorsión tal como mínimos cuadrados o error cuadrático medio) el conjunto de los LSP. El cuantificador 136 puede emitir un valor de índice o una serie de valores de índice correspondientes a la ubicación de las entradas
5
10
15
20
25
30
35
40
45
50
55
60
65
identificadas en el libro de códigos. La salida del cuantificador 136 puede por tanto representar parámetros de filtro de banda baja que están incluidos en un flujo de bits de banda baja 142.
[0039] El módulo de análisis de banda baja 130 también puede generar una señal de excitación de banda baja 144. Por ejemplo, la señal de excitación de banda baja 144 puede ser una señal codificada que se genera cuantificando una señal residual de LP que se genera durante el proceso de LP realizado por el módulo de análisis de banda baja 130. La señal residual LP puede representar un error de predicción.
[0040] El sistema 100 puede incluir además un módulo de análisis de banda alta 150 configurado para recibir la señal de banda alta 124 y la característica de señal de banda alta 126 desde el módulo de pre-procesamiento 110 y para recibir la señal de excitación de banda baja 144 desde el módulo 130 de análisis de banda baja. El módulo de análisis de banda alta 150 puede generar información secundaria de banda alta (por ejemplo, parámetros) 172. Por ejemplo, la información secundaria de banda alta 172 puede incluir LSP de banda alta, información de ganancia, etc.
[0041] El módulo de análisis de banda alta 150 puede incluir un generador de excitación de banda alta 160. El generador de excitación de banda alta 160 puede generar una señal de excitación de banda alta 161 ampliado un espectro de la señal de excitación de banda baja 144 al rango de frecuencias de banda alta (por ejemplo, entre 8 kHz y 16 kHz). Para ilustrar, el generador de excitación de banda alta 160 puede aplicar una transformación (por ejemplo, una transformación no lineal tal como una operación de valor absoluto o cuadrado) a la señal de excitación de banda baja y puede mezclar la señal de excitación de banda baja transformada con una señal de ruido (por ejemplo, ruido blanco modulado de acuerdo con una envolvente correspondiente a la señal de excitación de banda baja 144 que imita las características temporales de variación lenta de la señal de banda baja 122) para generar la señal de excitación de banda alta 161.
[0042] La señal de excitación de banda alta 161 puede utilizarse para determinar uno o más parámetros de ganancia de banda alta que se incluyen en la información secundaria de banda alta 172. Como se ilustra, el módulo de análisis de banda alta 150 también puede incluir un módulo de análisis y codificación LP 152, un módulo de transformación de LPC a LSP 154 y un cuantificador 156. Cada uno entre el módulo de análisis y codificación de LP 152, el módulo de transformación 154 y el cuantificador 156 puede funcionar como se ha descrito anteriormente con referencia a componentes correspondientes del módulo de análisis de banda baja 130, pero con una resolución comparativamente reducida (por ejemplo, utilizando menos bits para cada coeficiente, LSP, etc.). El módulo de análisis y codificación LP 152 puede generar un conjunto de los LPC que se transforman en los LSP mediante el módulo de transformación 154 y se cuantifican mediante el cuantificador 156 basándose en un libro de códigos 163. Por ejemplo, el módulo de análisis y codificación de LP 152, el módulo de transformación 154 y el cuantificador 156 pueden utilizar la señal de banda alta 124 para determinar la información de filtro de banda alta (por ejemplo, los LSP de banda alta) que está incluida en la información secundaria de banda alta 172. En un aspecto particular, el módulo de análisis de banda alta 150 puede incluir un descodificador local que utiliza coeficientes de filtro basados en los LPC generados por el módulo de transformación 154 y que recibe la señal de excitación de banda alta 161 como una entrada. Una salida de un filtro de síntesis (por ejemplo, el módulo de síntesis 164) del descodificador local, tal como una versión sintetizada de la señal de banda alta 124, se puede comparar con la señal de banda alta 124 y los parámetros de ganancia (por ejemplo, valores de conformación de ganancia de envolvente y/o ganancia de trama) pueden determinarse, cuantificarse e incluirse en la información secundaria de banda alta 172.
[0043] En un aspecto particular, la información secundaria de banda alta 172 puede incluir LSP de banda alta, así como parámetros de ganancia de banda alta. Por ejemplo, la información secundaria de banda alta 172 puede incluir un parámetro de ganancia temporal (por ejemplo, un parámetro de forma de ganancia) que indica cómo una envolvente espectral de la señal de banda alta 124 evoluciona a lo largo del tiempo. Por ejemplo, un parámetro de forma de ganancia puede basarse en una relación de energía normalizada entre una parte de banda alta "original" y una parte de banda alta sintetizada. El parámetro de forma de ganancia puede determinarse y aplicarse por subtrama. En un aspecto particular, también se puede determinar y aplicar un segundo parámetro de ganancia. Por ejemplo, un parámetro de "trama de ganancia" puede determinarse y aplicarse a través de una trama completa, donde el parámetro de trama de ganancia corresponde a una relación de energía de banda alta a banda baja para la trama particular.
[0044] Por ejemplo, el módulo de análisis de banda alta 150 puede incluir un módulo de síntesis 164 configurado para generar una versión sintetizada de la señal de banda alta 124 basándose en la señal de excitación de banda alta 161. El módulo de análisis de banda alta 150 también puede incluir un ajustador de ganancia 162 que determina un valor del parámetro de forma de ganancia basándose en una comparación de la señal de banda alta 124 "original" y la versión sintetizada de la señal de banda alta generada por el módulo de síntesis 164. Para ilustrar, para una trama particular de audio que incluye cuatro subtramas, la señal de banda alta 124 puede tener valores (por ejemplo, amplitudes o energías) de 10, 20, 30, 20 para las subtramas respectivas. La versión sintetizada de la señal de banda alta puede tener valores 10, 10, 10, 10. El ajustador de ganancia 162 puede determinar valores del parámetro de forma de ganancia como 1, 2, 3, 2 para las subtramas respectivas. En un descodificador, los valores del parámetro de forma de ganancia se pueden usar para dar forma a la versión sintetizada de la señal de banda alta para reflejar más de cerca la señal de banda alta 124 "original". En un aspecto particular, el ajustador de
5
10
15
20
25
30
35
40
45
50
55
60
65
ganancia 162 puede normalizar los valores del parámetro de forma de ganancia a valores entre 0 y 1. Por ejemplo, los valores del parámetro de forma de ganancia pueden normalizarse a 0,33; 0,67; 1; 0,33.
[0045] En un aspecto particular, el ajustador de ganancia 162 puede ajustar un valor del parámetro de forma de ganancia basándose en si la característica de señal de banda alta 126 satisface un umbral de 165. El umbral 165 puede ser fijo o tal vez ajustable. La característica de señal de banda alta 126 que satisface el umbral 165 puede indicar que la señal de audio 102 incluye menos de una cantidad umbral de contenido de audio en la región de frecuencia superior (por ejemplo, 12 kHz - 16 kHz) de la parte de banda alta (por ejemplo, 8 kHz - 16 kHz). Por lo tanto, la característica de señal de banda alta se puede determinar en un dominio de filtrado/análisis (por ejemplo, un dominio QMF), en oposición a un dominio sintetizado. Cuando la señal de audio 102 incluye poco o ningún contenido en la región de frecuencia superior de la parte de banda alta, el módulo de análisis de banda alta 150 puede codificar grandes oscilaciones de ganancia, causando distorsiones audibles en la descodificación de señal. Para reducir tales distorsiones, el ajustador de ganancia 162 puede ajustar el (los) valor(es) del parámetro de forma de ganancia cuando la característica de señal de banda alta satisface el umbral (165). El ajuste de los valores del parámetro de forma de ganancia puede limitar la variabilidad (por ejemplo, el rango dinámico) del parámetro de forma de ganancia. Para ilustrar, el ajustador de ganancia puede funcionar de acuerdo con el siguiente pseudocódigo:
/* NUM_SHB_SUBGAINS = número de valores de forma de ganancia por trama = 4
limitar el rango dinámico de forma de ganancia si el mínimo de señal de banda alta a largo plazo es menor que el umbral (en este ejemplo se usa el umbral normalizado de 1,0) */
if (qmfHBLT <1,0) {
para (i = 0; i <NUM_SHB_SUBGAINS; i ++)
{/*el valor de forma de ganancia para cada subtrama está limitado a una constante normalizada +/- 10 % del valor de forma de ganancia */
GainShape[i] = 0,315 + 0,1*GainShape[i];
} }
[0046] En un aspecto alternativo, el umbral 165 puede almacenarse en o estar disponible para el módulo de preprocesamiento 110, y el módulo de pre-procesamiento 110 puede determinar si la característica de señal de banda alta 126 satisface el umbral 165. En este aspecto, el módulo de pre-procesamiento 110 puede enviar al ajustador de ganancia 162 un indicador (por ejemplo, un bit). El indicador puede tener un primer valor (por ejemplo, 1) cuando la característica de señal de banda alta 126 satisface el umbral 165 y puede tener un segundo valor (por ejemplo, 0) cuando la característica de señal de banda alta 126 no satisface el umbral 165. El ajustador de ganancia 162 puede ajustar el (los) valor (es) del parámetro de forma de ganancia basándose en si el indicador tiene el primer valor o el segundo valor.
[0047] El flujo de bits de banda baja 142 y la información secundaria de banda alta 172 pueden ser multiplexados por un multiplexor (MUX) 180 para generar un flujo de bits de salida 192. El flujo de bits de salida 192 puede representar una señal de audio codificada correspondiente a la señal de audio 102. Por ejemplo, el flujo de bits de salida 192 puede transmitirse (por ejemplo, por un canal cableado, inalámbrico u óptico) y/o almacenarse. En un receptor, las operaciones inversas pueden ser realizadas por un desmultiplexador (DEMUX), un descodificador de banda baja, un descodificador de banda alta y un banco de filtros, para generar una señal de audio (por ejemplo, una versión reconstruida de la señal de audio 102 que se proporciona a un altavoz u otro dispositivo de salida). El número de bits utilizados para representar el flujo de bits de banda baja 142 puede ser esencialmente mayor que el número de bits utilizados para representar la información secundaria de banda alta 172. De este modo, la mayoría de los bits en el flujo de bits de salida 192 pueden representar datos de banda baja. La información secundaria de banda alta 172 puede utilizarse en un receptor para regenerar la señal de excitación de banda alta a partir de los datos de banda baja, de acuerdo con un modelo de señal. Por ejemplo, el modelo de señal puede representar un conjunto esperado de relaciones o correlaciones entre datos de banda baja (por ejemplo, la señal de banda baja 122) y datos de banda alta (por ejemplo, la señal de banda alta 124). Por lo tanto, se pueden usar diferentes modelos de señales para diferentes tipos de datos de audio (por ejemplo, voz, música, etc.) y el modelo de señal particular que está en uso puede ser negociado por un transmisor y un receptor (o definirse mediante un estándar industrial) antes de la comunicación de datos de audio codificados. Usando el modelo de señal, el módulo de análisis de banda alta 150 en un transmisor puede ser capaz de generar la información secundaria de banda alta 172 de tal manera que un correspondiente módulo de análisis de banda alta en un receptor pueda usar el modelo de señal para reconstruir la señal de banda alta 124 a partir del flujo de bits de salida 192.
[0048] Mediante el ajuste de forma selectiva de información de ganancia temporal (por ejemplo, el parámetro de forma de ganancia) cuando una característica de señal de banda alta satisface un umbral, el sistema 100 de la FIG. 1 puede reducir las distorsiones audibles cuando una señal codificada tiene una banda limitada (por ejemplo, incluye poco o ningún contenido de banda alta). El sistema 100 de la FIG. 1 puede de este modo permitir la restricción de la ganancia temporal cuando una señal de entrada no se corresponde con un modelo de señal en uso.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0049] Con referencia a la FIG. 2, se muestra un aspecto particular de los componentes usados en un codificador 200. En un aspecto ilustrativo, el codificador 200 corresponde al sistema 100 de la FIG. 1.
[0050] Una señal de entrada 201 con un ancho de banda de "F" (por ejemplo, una señal que tiene un rango de frecuencias de 0 Hz - F Hz, tal como 0 Hz - 16 kHz cuando F = 16 000 = 16k) puede ser recibido por el codificador 200 . Un filtro de análisis 202 puede emitir una parte de banda baja de la señal de entrada 201. La salida de señal 203 del filtro de análisis 202 puede tener componentes de frecuencia de 0 Hz a F1 Hz (como 0 Hz - 6,4 kHz cuando F1 = 6,4 k).
[0051] Un codificador de banda baja 204, tal como un codificador ACELP (por ejemplo, el módulo de codificación y análisis de LP 132 en el módulo de análisis de banda baja 130 de la FIG. 1), puede codificar la señal 203. El codificador ACELP 204 puede generar información de codificación, tal como LPC, y una señal de excitación de banda baja 205.
[0052] La señal de excitación de banda baja 205 desde el codificador ACELP (que también puede ser reproducida por un descodificador de ACELP en un receptor, tal como se describe en la FIG. 4) se puede muestrear de forma ascendente en un muestreador 206 de manera que el ancho de banda efectivo de una la señal muestreada 207 está en un rango de frecuencias de 0 Hz a F Hz. La señal de excitación de banda baja 205 puede ser recibida por el muestreador 206 ya que un conjunto de muestras corresponde a una velocidad de muestreo de 12,8 kHz (por ejemplo, la velocidad de muestreo Nyquist de una señal de excitación de banda baja de 6,4 kHz 205). Por ejemplo, la señal de excitación de banda baja 205 puede muestrearse al doble de la velocidad del ancho de banda de la señal de excitación de banda baja 205.
[0053] Un primer generador de transformación no lineal 208 puede estar configurado para generar una señal de ancho de banda ampliado 209, que se ilustra como una señal de excitación no lineal basándose en la señal muestreada de forma ascendente 207. Por ejemplo, el generador de transformación no lineal 208 puede realizar una operación de transformación no lineal (por ejemplo, una operación de valor absoluto o una operación cuadrada) en la señal muestreada de forma ascendente 207 para generar la señal de ancho de banda ampliado 209. La operación de transformación no lineal puede ampliar los armónicos de la señal original, la señal de excitación de banda baja 205 de 0 Hz a F1 Hz (por ejemplo, 0 Hz a 6,4 kHz), a una banda superior, como de 0 Hz a F Hz (por ejemplo, de 0 Hz a 16 kHz).
[0054] La señal de ancho de banda ampliado 209 puede ser proporcionada a un primer módulo de volteo de espectro 210. El primer módulo de volteo de espectro 210 puede configurarse para realizar una operación de espejo espectral (por ejemplo, "voltear" el espectro) de la señal de ancho de banda ampliado 209 para generar una señal 211 volteada. El volteo de espectro de la señal de ancho de banda ampliado 209 puede cambiar (por ejemplo, "voltear") el contenido de la señal de ancho de banda ampliado 209 a extremos opuestos del espectro que varían de 0 Hz a F Hz (por ejemplo, de 0 Hz a 16 kHz ) de la señal volteada 211. Por ejemplo, el contenido a 14,4 kHz de la señal de ancho de banda ampliado 209 puede estar a 1,6 kHz de la señal volteada 211, el contenido a 0 Hz de la señal de ancho de banda ampliado 209 puede estar a 16 kHz de la señal volteada 211, etc.
[0055] La señal volteada 211 puede proporcionarse a una entrada de un conmutador 212 que selectivamente hace pasar la señal volteada 211 en un primer modo de funcionamiento a una primera ruta que incluye un filtro 214 y un mezclador descendente 216, o en un segundo modo de funcionamiento a una segunda ruta que incluye un filtro 218. Por ejemplo, el conmutador 212 puede incluir un multiplexor sensible a una señal en una entrada de control que indica el modo de funcionamiento del codificador 200.
[0056] En el primer modo de funcionamiento, la señal volteada 211 está filtrada con paso de banda en el filtro 214 para generar una señal de paso de banda 215 con contenido de la señal reducido o eliminado fuera del rango de frecuencias a partir de (F-F2) Hz a (F-F1 ) Hz, donde F2> F1. Por ejemplo, cuando F = 16 k, F1 = 6,4 k, y F2 = 14,4k, la señal volteada 211 puede filtrarse con paso de banda al rango de frecuencias de 1,6 kHz a 9,6 kHz. El filtro 214 puede incluir un filtro de polo a cero configurado para funcionar como un filtro de paso bajo que tiene una frecuencia de corte en aproximadamente F-F1 (por ejemplo, a 16 kHz - 6,4 kHz = 9,6 kHz). Por ejemplo, el filtro de polo cero puede ser un filtro de alto orden que tiene una caída brusca en la frecuencia de corte y configurado para filtrar componentes de alta frecuencia de la señal volteada 211 (por ejemplo, filtrar componentes de la señal volteada 211 entre (F-F1) y F, tal como entre 9,6 kHz y 16 kHz). Además, el filtro 214 puede incluir un filtro de paso alto configurado para atenuar las componentes de frecuencia en una señal de salida que está por debajo de F-F2 (por ejemplo, por debajo de 16 kHz - 14,4 kHz = 1,6 kHz).
[0057] La señal de paso de banda 215 puede proporcionarse al mezclador descendente 216, que puede generar una señal 217 que tiene un ancho de banda de señal efectivo que se extiende de 0 Hz a (F2-F1) Hz, tal como de 0 Hz a 8 kHz. Por ejemplo, el mezclador descendente 216 puede configurarse para mezclar de forma descendente la señal de paso de banda 215 desde el rango de frecuencias entre 1,6 kHz y 9,6 kHz a la banda de base (por ejemplo, un rango de frecuencias entre 0 Hz y 8 kHz) para generar la señal 217. El mezclador descendente 216 puede implementarse utilizando transformadas de Hilbert de dos etapas. Por ejemplo, el mezclador descendente 216
5
10
15
20
25
30
35
40
45
50
55
60
65
puede implementarse usando dos filtros de respuesta de pulso infinito (IIR) de quinto orden que tienen componentes imaginarios y reales.
[0058] En el segundo modo de funcionamiento, el conmutador 212 proporciona la señal volteada 211 al filtro 218 para generar una señal 219. El filtro 218 puede funcionar como un filtro de paso bajo para atenuar los componentes de frecuencia por encima de (F2-F1) Hz (por ejemplo, por encima de 8 kHz). El filtrado de paso bajo en el filtro 218 se puede realizar como parte de un proceso de remuestreo donde la velocidad de muestreo se convierte en 2*(F2- F1) (por ejemplo, a 2*(14,4 Hz - 6,4 Hz = 16 kHz)).
[0059] Un conmutador 220 emite una de las señales 217, 219 para ser procesadas en un módulo de escalado y blanqueo adaptivo 222 de acuerdo con el modo de funcionamiento, y una salida del módulo de escalado y blanqueo adaptivo se proporciona a una primera entrada de un combinador 240, tal como un sumador. Una segunda entrada del combinador 240 recibe una señal que se obtiene como resultado de una salida de un generador de ruido aleatorio 230 que se ha procesado de acuerdo con un módulo de envolvente de ruido 232 (por ejemplo, un modulador) y un módulo de escalado 234. El combinador 240 genera una señal de excitación de banda alta 241, tal como la señal de excitación de banda alta 161 de la FIG. 1.
[0060] La señal de entrada 201 que tiene un ancho de banda efectivo en el rango de frecuencias entre 0 Hz y F Hz también se puede procesar en una ruta de generación de la señal de banda de base. Por ejemplo, la señal de entrada 201 puede voltearse espectralmente en un módulo de volteo espectral 242 para generar una señal volteada 243. La señal volteada 243 puede filtrarse mediante paso de banda en un filtro 244 para generar una señal de paso de banda 245 que tiene componentes de señal eliminados o reducidos fuera del rango de frecuencias de (F-F2) Hz a (F-F1) Hz (por ejemplo, de 1,6 kHz a 9,6 kHz).
[0061] En un aspecto particular, el filtro 244 determina una característica de señal de un rango de frecuencias superior de la parte de banda alta de la señal de entrada 201. Como un ejemplo ilustrativo no limitativo, el filtro 244 puede determinar un promedio a largo plazo de un mínimo de señal de banda alta basado en salidas de filtro correspondientes al rango de frecuencias de 12 kHz - 16 kHz, como se describe con referencia a la FIG. 1. La FIG. 3 ilustra ejemplos de dichas señales de banda limitada (denotadas como 1-7). La estimación de los coeficientes de predicción lineal (LPC) de estas señales de banda limitada presenta problemas de cuantificación y estabilidad que ocasionan distorsiones en la banda alta. Por ejemplo, si una señal de entrada muestreada a 32 kHz tiene una banda limitada a 10 kHz (es decir, hay energía muy limitada por encima de 10 kHz y hasta Nyquist) y la banda alta está codificando desde 8-16 kHz o 6,4-14,4 kHz, entonces el contenido espectral de banda limitada de 8-10 kHz puede causar problemas de estabilidad en la estimación de LPC de banda alta. En particular, los coeficientes LP pueden saturarse debido a la pérdida de precisión cuando se representan en un formato Q de precisión de punto fijo deseado. En tales escenarios, se puede usar un orden de predicción inferior para el análisis de LP (p. ej., usar el orden de LPC = 2 o 4 en lugar de 10). Esta reducción del orden de LPC para el análisis de LP para limitar los problemas de saturación y estabilidad se puede realizar basándose en la ganancia de LP o la energía del filtro de síntesis LP. Si la ganancia de LP es mayor que un umbral particular, entonces el orden de LPC se puede ajustar a un valor inferior. La energía del filtro de síntesis LP está dada por |1/A(z)|A2, donde A(z) es el filtro de análisis de LP. Un valor típico de ganancia de LP de 64 correspondiente a 48 dB es un buen indicador para comprobar las altas ganancias de LP en estos escenarios de banda limitada y controlar el orden de predicción para evitar los problemas de saturación en la estimación de LPC.
[0062] La señal de paso de banda 245 puede mezclarse de forma descendente en un mezclador descendente 246 para generar la señal "objetivo" de banda alta 247 que tiene un ancho de banda de señal efectivo en el rango de frecuencias de 0 Hz a (F2-F1) Hz (por ejemplo, de 0 Hz a 8 kHz). La señal 247 de objetivo de banda alta es una señal de banda de base correspondiente al primer rango de frecuencias.
[0063] Los parámetros que representan las modificaciones de la señal de excitación de banda alta 241 de modo que representan la señal objetivo de banda alta 247 pueden extraerse y transmitirse al descodificador. Para ilustrar, la señal objetivo de banda alta 247 puede procesarse mediante un módulo de análisis de LP 248 para generar LPC que se convierten en LSP en un convertidor de LPC a LSP 250 y se cuantifican en un módulo 252 de cuantificación. El módulo de cuantificación 252 puede generar índices de cuantificación de LSP para ser enviados al descodificador, tal como en la información secundaria de banda alta 172 de la FIG. 1.
[0064] Los LPC se pueden utilizar para configurar un filtro de síntesis 260 que recibe la señal de excitación de banda alta 241 como una entrada y genera una señal de banda alta sintetizada 261 como una salida. La señal de banda alta sintetizada 261 se compara con la señal de objetivo de banda alta 247 (por ejemplo, las energías de las señales 261 y 247 pueden compararse en cada subtrama de las señales respectivas) en un módulo de estimación de envolvente temporal 262 para generar información de ganancia 263, tal como valores de parámetros de forma de ganancia. La información de ganancia 263 se proporciona a un módulo de cuantificación 264 para generar índices de información de ganancia cuantificados para ser enviados al descodificador, como en la información secundaria de banda alta 172 de la FIG. 1.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0065] Como se describió anteriormente, un orden de predicción inferior se puede utilizar para el análisis de LP (por ejemplo, utilizar el orden de LPC = 2 o 4 en lugar de 10) si la ganancia de LP es mayor que un umbral particular para reducir la saturación. Para ilustrar, el módulo de análisis de LP 248 puede funcionar de acuerdo con el siguiente pseudocódigo:
{energía flotante, lpc_shb1[M+1];
/*extender los LPC de banda super-alta (lpc_shb) a un cálculo de ganancia de orden 16 */
/*inicializar un vector de LPC temporal de banda super-alta (lpc_shb1) con 0 valores */
set-f(lpc_shb1, 0, M+1);
/*copiar LPC de banda super-alta que están en lpc_shb a lpc_shb1 */ mvr2r(lpc_shb, lpc_shb1, LPC_SHB_ORDER + 1);
/* estimar la ganancia de LP */
/* enr_1_Az emite energía de respuesta de impulso (enerG) correspondiente a la ganancia de LP basada en LPC y tamaño de subtrama */ enerG = enr_1_Az(lpc_shb1, 2*L_SUBRF);
/* si la ganancia de LP es mayor que un umbral, evite la saturación.
La función "is_numeric_float" se usa para comprobar el enerG */ de infinidad
if(enerG > 64 || !(is_numeric_float(enerG)))
{
/*reinicializar lpc_shb con 0 valores */ set_f(lpc_shb, 0, LPC_SHB_ORDER+1);
/* rellenar lpc_shb con nuevas LPC para orden de LP =2 basándose en un vector de autocorrelaciones (R) y una energía de error de predicción (ervec) utilizando una operación de recursión Levinson- Durbin */
lev_dur(lpc_shb, R, 2, ervec);
} }
[0066] Basado en el pseudocódigo, el módulo de análisis de LP 248 puede determinar una ganancia de LP basándose en una operación de aumento de LP que utiliza un primer valor de un orden de LP. Por ejemplo, el módulo de análisis de LP 248 puede estimar la ganancia de LP (por ejemplo, "enerG") usando la función 'ener_1_Az'. La función puede utilizar un filtro de 16.° orden (por ejemplo, un cálculo de la ganancia de orden decimosexto) para estimar la ganancia de LP. El módulo de análisis de LP 248 también puede comparar la ganancia de LP con un umbral. De acuerdo con el pseudocódigo, el umbral tiene un valor numérico de 64. Sin embargo, debe entenderse que el umbral en el pseudocódigo se usa meramente como un ejemplo no limitativo y que se pueden usar otros valores numéricos como el umbral. El módulo de análisis de LP 248 también puede determinar si el nivel de energía ("enerG") excede un límite. Por ejemplo, el módulo de análisis de LP 248 puede determinar si el nivel de energía es "infinito" usando la función 'is_numeric_float'. Si el módulo de análisis de LP 248 determina que el nivel de energía (por ejemplo, la ganancia de LP) satisface el umbral (por ejemplo, es mayor que el umbral) o excede el límite, o ambos, el módulo de análisis de LP 248 puede reducir el orden de LP del primer valor (por ejemplo, 16) a un segundo valor (por ejemplo, 2 o 4) para reducir la probabilidad de saturación de LPC.
[0067] En un aspecto particular, el módulo de estimación de envolvente temporal 262 puede ajustar los valores del parámetro de ganancia de forma cuando la característica de señal determinada por el filtro 244 satisface un umbral (por ejemplo, cuando la característica de señal indica que la señal de entrada 201 tiene poco o no hay contenido en el rango de frecuencias superior de la parte de banda alta). Cuando se codifican tales señales, se producen grandes oscilaciones en los valores del parámetro de forma de ganancia de trama a trama y/o de subtrama a subtrama, lo cual produce distorsiones audibles en una señal de audio reconstruida. Por ejemplo, como se muestra en un círculo en la FIG. 3, las distorsiones de banda alta pueden estar presentes en una señal de audio reconstruida. Las técnicas de la presente invención pueden permitir reducir o eliminar la presencia de tales distorsiones ajustando selectivamente valores de parámetros de forma de ganancia cuando la señal de entrada 201 tiene poco o ningún contenido en la parte de banda alta, o al menos una región de frecuencia superior de la misma.
[0068] Como se ha descrito con respecto a la primera ruta, en el primer modo de funcionamiento, la ruta de generación de señal de excitación de banda alta 241 incluye una operación de mezclado descendente para generar la señal 217. Esta operación de mezclado descendente puede ser compleja si se implementa a través de transformadores Hilbert. Una implementación alternativa puede basarse en filtros espejo en cuadratura (QMF). En el segundo modo de funcionamiento, la operación de mezclado descendente no está incluida en la ruta de generación de señal de excitación de banda alta 241. Esto da como resultado una falta de coincidencia entre la señal de excitación de banda alta 241 y la señal de objetivo banda alta 247. Se apreciará que generar la señal de excitación de banda alta 241 de acuerdo con el segundo modo (por ejemplo, usando el filtro 218) puede omitir el filtro de polo a cero 214 y el mezclador descendente 216 y reducir operaciones complejas y computacionalmente costosas asociadas con el mezclado descendente y el filtrado de polo a cero. Aunque la FlG. 2 describe la primera ruta (que
5
10
15
20
25
30
35
40
45
50
55
60
65
incluye el filtro 214 y el mezclador descendente 216) y la segunda ruta (que incluye el filtro 218) como asociada a modos de funcionamiento distintos del codificador 200, en otros aspectos, el codificador 200 puede configurarse para funcionar en el segundo modo sin ser configurable para funcionar también en el primer modo (por ejemplo, el codificador 200 puede omitir el conmutador 212, el filtro 214, el mezclador descendente 216, y el conmutador 220, teniendo la entrada del filtro 218 acoplada para recibir la señal volteada 211 y teniendo la señal 219 proporcionada a la entrada del módulo de blanqueo y escalado adaptivo 222).
[0069] La FIG. 4 representa un aspecto particular de un descodificador 400 que puede usarse para descodificar una señal de audio codificada, tal como una señal de audio codificada generada por el sistema 100 de la FIG. 1 o el codificador 200 de la FIG. 2.
[0070] El descodificador 400 incluye un descodificador de banda baja 404, tal como un descodificador núcleo ACELP 404, que recibe una señal de audio codificada 401. La señal de audio codificada 401 es una versión codificada de una señal de audio, tal como la señal de entrada 201 de la FIG. 2, e incluye primeros datos 402 (por ejemplo, una señal de excitación de banda baja 205 e índices de LSP cuantificados) correspondientes a una parte de banda baja de la señal de audio y segundos datos 403 (p. ej., datos de envolvente de ganancia 463 e índices de LSP cuantificados 461) correspondiente a una parte de banda alta de la señal de audio. En un aspecto particular, los datos de la envolvente de ganancia 463 incluyen valores de parámetros de forma de ganancia que se ajustan selectivamente para limitar la variabilidad/rango dinámico cuando una señal de entrada (por ejemplo, la señal de entrada 201) tiene poco o ningún contenido en la parte de banda alta (o región de frecuencia superior de la misma).
[0071] El descodificador de banda baja 404 genera una señal descodificada de banda baja sintetizada 471. La síntesis de señal de banda alta incluye proporcionar la señal de excitación de banda baja 205 de la FIG. 2 (o una representación de la señal de excitación de banda baja 205, tal como una versión cuantificada de la señal de excitación de banda baja 205 recibida de un codificador) al muestreador ascendente 206 de la FIG. 2. La síntesis de banda alta incluye generar la señal de excitación de banda alta 241 usando el muestreador ascendente 206, el módulo de transformación no lineal 208, el módulo de volteo espectral 210, el filtro 214 y el mezclador descendente 216 (en un primer modo de funcionamiento) o el filtro 218 (en un segundo modo de funcionamiento) controlado por los conmutadores 212 y 220, y el módulo de blanqueo y escalado adaptivo 222 para proporcionar una primera entrada al combinador 240 de la FIG. 2. Una segunda entrada al combinador se genera mediante una salida del generador de ruido aleatorio 230 procesado por el módulo de envolvente de ruido 232 y escalado en el módulo de escalado 234 de la FIG. 2.
[0072] El filtro de síntesis 260 de la FIG. 2 puede configurarse en el descodificador 400 de acuerdo con los índices de cuantificación LSP recibidos de un codificador, por ejemplo emitidos por el módulo de cuantificación 252 del codificador 200 de la FIG. 2, y procesa la señal de excitación 241 emitida por el combinador 240 para generar una señal sintetizada. La señal sintetizada se proporciona a un módulo de aplicación de envolvente temporal 462 que está configurado para aplicar una o más ganancias, tales como valores de parámetros de forma de ganancia (por ejemplo, de acuerdo con los índices de envolvente de ganancia emitidos desde el módulo de cuantificación 264 del codificador 200 de la FIG. 2) para generar una señal ajustada.
[0073] La síntesis de alta banda continúa con el procesamiento mediante un mezclador 464 configurado para mezclado ascendente de la señal ajustada del rango de frecuencias de 0 Hz a (F2-F1) Hz al rango de frecuencias de (F-F2) Hz a (F-F1) Hz (por ejemplo, de 1,6 kHz a 9,6 kHz). Una salida de señal mezclada de forma ascendente por el mezclador 464 se muestrea de forma ascendente en un muestreador 466, y se proporciona una salida muestreada de forma ascendente del muestreador 466 a un módulo de volteo espectral 468 que puede funcionar como se describe con respecto al módulo de volteo espectral 210 para generar una señal descodificada de banda alta 469 que tiene una banda de frecuencia que se extiende de F1 Hz a F2 Hz.
[0074] La señal descodificada de banda baja 471 emitida por el descodificador de banda baja 404 (de 0 Hz a F1 Hz) y la señal descodificada de banda alta 469 emitida desde el módulo de volteo espectral 468 (de F1 Hz a F2 Hz) se proporcionan a un banco de filtros de síntesis 470. El banco de filtros de síntesis 470 genera una señal de audio sintetizada 473, tal como una versión sintetizada de la señal de audio 201 de la FIG. 2, basándose en una combinación de la señal descodificada de banda baja 471 y la señal descodificada de banda alta 469, y que tiene un rango de frecuencias de 0 Hz a F2 Hz.
[0075] Como se ha descrito con respecto a la FIG. 2, la generación de la señal de excitación de banda alta 241 de acuerdo con el segundo modo (por ejemplo, utilizando el filtro 218) puede omitir el filtro de polo-cero 214 y el mezclador descendente 216 y reducir operaciones complejas y computacionalmente caras asociadas con el filtrado de polo-cero y el mezclador descendente. Aunque la FIG. 4 describe la primera ruta (que incluye el filtro 214 y el mezclador descendente 216) y la segunda ruta (que incluye el filtro 218) como asociadas a modos de funcionamiento distintos del descodificador 400, en otros aspectos, el descodificador 400 puede configurarse para funcionar en el segundo modo sin ser configurable para funcionar también en el primer modo (por ejemplo, el descodificador 400 puede omitir el conmutador 212, el filtro 214, el mezclador descendente 216, y el conmutador 220, teniendo la entrada del filtro 218 acoplada para recibir la señal volteada 211 y teniendo la señal 219 proporcionada a la entrada del módulo de blanqueo y escalado adaptivo 222).
5
10
15
20
25
30
35
40
45
50
55
60
65
[0076] Con referencia a la FIG. 5A, se muestra un aspecto particular de un procedimiento 500 de ajuste de un parámetro de ganancia temporal basado en una característica de señal de banda alta. En un aspecto ilustrativo, el procedimiento 500 puede ser realizado por el sistema 100 de la FIG. 1 o el codificador 200 de la FIG. 2.
[0077] El procedimiento 500 puede incluir la determinación si una característica de señal de un rango de frecuencias superior de una parte de banda alta de una señal de audio satisface un umbral, en 502. Por ejemplo, en la FIG. 1, el ajustador de ganancia 162 puede determinar si la característica de señal 126 satisface el umbral 165.
[0078] Avanzando a 504, el procedimiento 500 puede generar una señal de excitación de banda alta correspondiente a la parte de banda alta. El procedimiento 500 puede generar además una parte de banda alta sintetizada basándose en la señal de excitación de banda alta, en 506. Por ejemplo, en la FIG. 1, el generador de excitación de banda alta 160 puede generar la señal de excitación de banda alta 161 y el módulo de síntesis 164 puede generar una parte de banda alta sintetizada basándose en la señal de excitación de banda alta 161.
[0079] Continuando a 508, el procedimiento 500 puede determinar un valor de un parámetro de ganancia temporal (por ejemplo, aumento de forma) basándose en una comparación de la parte de banda alta sintetizada con la parte de banda alta. El procedimiento 500 también puede incluir determinar si la característica de señal satisface un umbral, en 510. Cuando la característica de señal satisface el umbral, el procedimiento 500 puede incluir ajustar el valor del parámetro de ganancia temporal en 512. El ajuste del valor del parámetro de ganancia temporal puede limitar la variabilidad del parámetro de ganancia temporal. Por ejemplo, en la FIG. 1, el ajustador de ganancia 162 puede ajustar un valor del parámetro de forma de ganancia cuando la característica de señal de banda alta 126 satisface el umbral 165 (por ejemplo, la característica de señal de banda alta 126 indica que la señal de audio 102 tiene poco o ningún contenido en una parte de banda alta (o al menos una región de frecuencia superior de la misma)). En un aspecto ilustrativo, ajustar el valor del parámetro de forma de ganancia incluye calcular un segundo valor del parámetro de forma de ganancia basándose en una suma de una constante normalizada (por ejemplo, 0,315) y un porcentaje particular (por ejemplo, 10 %) de un primer valor del parámetro de forma de ganancia, como se muestra en el pseudocódigo descrito con referencia a la FIG. 1.
[0080] Cuando la característica de señal no satisface el umbral, el procedimiento 500 puede incluir usar el valor no ajustado del parámetro de ganancia temporal, en 514. Por ejemplo, en la FIG. 1, cuando la señal de audio 102 incluye contenido suficiente, la parte de banda alta (o al menos una región de frecuencia superior de la misma), el ajustador de ganancia 162 puede abstenerse de limitar la variabilidad del valor o valores del parámetro de forma de ganancia.
[0081] En aspectos particulares, el procedimiento 500 de la FIG. 5A puede implementarse a través de hardware (por ejemplo, un dispositivo de matriz de puertas programable sobre el terreno (FPGA), un circuito integrado específico de aplicación (ASIC), etc.) de una unidad de procesamiento, como una unidad de procesamiento central (CPU), un procesador digital de señal (DSP), o un controlador, a través de un dispositivo de firmware, o cualquier combinación de los mismos. Como un ejemplo, el procedimiento 500 de la FIG. 5A puede ser realizado por un procesador que ejecuta instrucciones, como se describe con respecto a la FIG. 6.
[0082] Con referencia a la FIG. 5B, se muestra un aspecto particular de un procedimiento 520 de cálculo de una característica de señal de banda alta. En un aspecto ilustrativo, el procedimiento 520 puede ser realizado por el sistema 100 de la FIG. 1 o el codificador 200 de la FIG. 2.
[0083] El procedimiento 520 incluye la generación de una versión espectralmente volteada de una señal de audio a través de la realización de una operación de volteado de espectro de la señal de audio para procesar una parte de banda alta de la señal de audio en la banda de base, en 522. Por ejemplo, refiriéndose a la FIG. 2, el módulo de volteo espectral 242 puede generar la señal volteada 243 (por ejemplo, una versión volteada espectralmente de la señal de entrada 201) realizando una operación de volteo de espectro en la señal de entrada 201. El volteo espectral de la señal de entrada 201 puede permitir el procesamiento del rango de frecuencias superior de la parte de banda alta (por ejemplo, parte de 12-16 kHz) de la señal de entrada 201 en la banda de base.
[0084] Se puede calcular una suma de valores de energía basándose en la versión espectralmente volteada de la señal de audio, en 524. Por ejemplo, refiriéndose a la FIG. 1, el módulo de pre-procesamiento 110 puede realizar una operación de promediado a largo plazo sobre la suma de los valores de energía. Los valores de energía pueden corresponder a salidas de QMF correspondientes al rango de frecuencias superior de la parte de banda alta de la señal de entrada 201. La suma de los valores de energía puede ser indicativa de la característica de señal de banda alta 126.
[0085] El procedimiento 520 de la FIG. 5B puede reducir las distorsiones generadas durante la codificación/descodificación de una señal de audio de banda limitada. Por ejemplo, el promedio a largo plazo de la suma de valores de energía puede ser indicativo de la característica 126 de señal de banda alta. Si la característica de señal de banda alta 126 satisface un umbral (por ejemplo, la característica de señal indica que la señal de audio está limitada por banda y tiene poco o ningún contenido de banda alta), un codificador puede ajustar el valor del
5
10
15
20
25
30
35
40
45
50
55
60
65
parámetro de forma de ganancia para limitar variabilidad (por ejemplo, un rango dinámico limitado) del parámetro de forma de ganancia. Limitar la variabilidad del parámetro de forma de ganancia puede reducir las distorsiones generadas durante la codificación/descodificación de la señal de audio de banda limitada.
[0086] En aspectos particulares, el procedimiento 520 de la FIG. 5B puede implementarse a través de hardware (por ejemplo, un dispositivo de matriz de puertas programable sobre el terreno (FPGA), un circuito integrado específico de aplicación (ASIC), etc.) de una unidad de procesamiento, como una unidad de procesamiento central (CPU), un procesador digital de señal (DSP), o un controlador, a través de un dispositivo de firmware, o cualquier combinación de los mismos. Como un ejemplo, el procedimiento 520 de la FIG. 5B puede ser realizado por un procesador que ejecuta instrucciones, como se describe con respecto a la FIG. 6.
[0087] Con referencia a la FIG. 5C, se muestra un aspecto particular de un procedimiento 540 de LPC de ajuste de un codificador. En un aspecto ilustrativo, el procedimiento 540 puede ser realizado por el sistema 100 de la FIG. 1 o el módulo de análisis de LP 248 de la FIG. 2. De acuerdo con una implementación, el módulo de análisis de LP 248 puede funcionar de acuerdo con el pseudocódigo correspondiente descrito anteriormente para realizar el procedimiento 540.
[0088] El procedimiento 540 incluye determinar, en un codificador, una ganancia de predicción lineal (LP) basada en una operación de ganancia de LP que utiliza un primer valor de un orden de LP, en 542. La ganancia de LP puede estar asociada con un nivel de energía de un filtro de síntesis LP. Por ejemplo, en referencia a la FIG. 2, el módulo de análisis de LP 248 puede determinar una ganancia de LP basada en un cálculo de ganancia de LP que usa un primer valor para un orden de LP. De acuerdo con una implementación, el primer valor corresponde a un filtro de decimosexto orden. La ganancia de LP puede estar asociada con un nivel de energía del filtro de síntesis 260. Por ejemplo, el nivel de energía puede corresponder a un nivel de energía de respuesta de pulso que se basa en un tamaño de trama de audio de una trama de audio y se basa en un número de LPC generados para la trama de audio. El filtro de síntesis 260 (por ejemplo, el filtro de síntesis LP) puede responder a la señal de excitación de banda alta 241 generada a partir de una extensión no lineal de una señal de excitación de banda baja (por ejemplo, generada a partir de la señal de ancho de banda ampliado 209).
[0089] La ganancia de LP puede compararse con un umbral, en 544. Por ejemplo, refiriéndose a la FIG. 2, el módulo de análisis de LP 248 puede comparar la ganancia de LP con un umbral. El orden de LP puede reducirse desde el primer valor a un segundo valor si la ganancia de LP satisface el umbral, en 546. Por ejemplo, refiriéndose a la FIG. 2, el módulo de análisis de LP 248 puede reducir el orden de LP del primer valor a un segundo valor si la ganancia de LP satisface (por ejemplo, está por encima de) el umbral. De acuerdo con una implementación, el segundo valor corresponde a un filtro de segundo orden. De acuerdo con otra implementación, el segundo valor corresponde a un filtro de cuarto orden.
[0090] El procedimiento 540 puede incluir también la determinación de si el nivel de energía excede un límite. Por ejemplo, refiriéndose a la FIG. 2, el módulo de análisis de LP 248 puede determinar si el nivel de energía del filtro de síntesis 260 excede un límite (por ejemplo, un límite "infinito" que puede hacer que el valor de energía se interprete como que tiene un valor numérico incorrecto). El orden de LP puede reducirse desde el primer valor al segundo valor en respuesta al nivel de energía del filtro de síntesis 260 que excede el límite.
[0091] En aspectos particulares, el procedimiento 540 de la FIG. 5C puede implementarse a través de hardware (por ejemplo, un dispositivo FPGA, un ASIC, etc.) de una unidad de procesamiento, tal como una CPU, un DSP o un controlador, a través de un dispositivo de firmware, o cualquier combinación de los mismos. Como un ejemplo, el procedimiento 540 de la FIG. 5C puede ser realizado por un procesador que ejecuta instrucciones, como se describe con respecto a la FIG. 6.
[0092] Con referencia a la FIG. 6, se representa un diagrama de bloques de un aspecto ilustrativo particular de un dispositivo (por ejemplo, un dispositivo de comunicación inalámbrica) y en general se designa como 600. En diversos aspectos, el dispositivo 600 puede tener menos o más componentes de los que se ilustran en la FIG. 6. En un aspecto ilustrativo, el dispositivo 600 puede corresponder a uno o más componentes de uno o más sistemas, aparatos o dispositivos descritos con referencia a las FIGs. 1,2 y 4. En un aspecto ilustrativo, el dispositivo 600 puede funcionar de acuerdo con uno o más procedimientos, descritos en el presente documento, tales como la totalidad o una parte del procedimiento 500 de la FIG. 5A, el procedimiento 520 de la FIG. 5B, y/o el procedimiento 540 de la FIG. 5C.
[0093] En un aspecto particular, el dispositivo 600 incluye un procesador 606 (por ejemplo, una unidad de procesamiento central (CPU)). El dispositivo 600 puede incluir uno o más procesadores adicionales 610 (por ejemplo, uno o más procesadores de señal digital (DSP)). El procesador 610 puede incluir un codificador- descodificador (CÓDEC) de habla y música 608 y un cancelador de eco 612. El CÓDEC de habla y música 608 puede incluir un codificador de vocodificador 636, un descodificador de vocodificador 638 o ambos.
[0094] En un aspecto particular, el codificador del codificador de voz 636 puede incluir el sistema 100 de la FIG. 1 o el codificador 200 de la FIG. 2. El codificador de vocodificador 636 puede incluir un ajustador de forma de ganancia
5
10
15
20
25
30
35
40
45
50
55
60
65
662 configurado para ajustar selectivamente información de ganancia temporal (por ejemplo, valor (es) de parámetro de forma de ganancia basándose en una característica de señal de banda alta (por ejemplo, cuando la característica de señal de banda alta indica que la señal de audio de entrada tiene poco o ningún contenido en un rango de frecuencias superior de una parte de banda alta).
[0095] El descodificador de vocodificador 638 puede incluir el descodificador 400 de la FIG. 4. Por ejemplo, el descodificador de vocodificador 638 puede configurarse para realizar la reconstrucción de señal 672 basándose en valores de parámetros de forma de ganancia ajustados. Aunque se ilustra el CÓDEC de habla y música 608 como un componente de los procesadores 610, en otros aspectos se pueden incluir uno o más componentes del CÓDEC de habla y música 608 en el procesador 606, el CÓDEC 634, otro componente de procesamiento o una combinación de los mismos.
[0096] El dispositivo 600 puede incluir una memoria 632 y un controlador inalámbrico 640 acoplado a una antena 642 por medio de un transceptor 650. El dispositivo 600 puede incluir una pantalla 628 acoplada a un controlador de pantalla 626. Se puede acoplar un altavoz 648, un micrófono 646 o ambos al CÓDEC 634. El CÓDEC 634 puede incluir un convertidor de digital a analógico (DAC) 602 y un convertidor de analógico a digital (ADC) 604.
[0097] En un aspecto particular, el CÓDEC 634 puede recibir señales analógicas desde el micrófono 646, convertir las señales analógicas en señales digitales usando el convertidor de analógico a digital 604 y proporcionar las señales digitales al CÓDEC de habla y música 608, tal como en un formato de modulación por código de pulsos (PCM). El CÓDEC de habla y música 608 puede procesar las señales digitales. En un aspecto particular, el CÓDEC de habla y música 608 puede proporcionar señales digitales al CÓDEC 634. El CÓDEC 634 puede convertir las señales digitales a señales analógicas usando el convertidor de digital a analógico 602 y puede proporcionar las señales analógicas al altavoz 648.
[0098] La memoria 632 puede incluir instrucciones 656 ejecutables por el procesador 606, los procesadores 610, el CÓDEC 634, otra unidad de procesamiento del dispositivo 600, o una combinación de los mismos, para llevar a cabo los procedimientos y procesos divulgados en el presente documento, tales como los procedimientos de FIGs. 5A-5B. Uno o más componentes de los sistemas de las FIGs. 1, 2 o 4 pueden implementarse a través de hardware dedicado (por ejemplo, circuitería), mediante un procesador que ejecuta instrucciones para realizar una o más tareas, o una combinación de las mismas. Como ejemplo, la memoria 632 o uno o más componentes del procesador 606, los procesadores 610 y/o el CÓDEC 634 pueden ser un dispositivo de memoria, tal como una memoria de acceso aleatorio (RAM), memoria de acceso aleatorio magnetorresistivo (MRAM), MRAM de transferencia de torsión de spin (STT-MRAM), memoria flash, memoria de solo lectura (ROM), memoria de solo lectura programable (PROM), memoria de solo lectura programable y borrable (EPROM), memoria de solo lectura programable y borrable eléctricamente (EEPROM), registros, disco duro, un disco extraíble o una memoria de solo lectura de disco compacto (CD-ROM). El dispositivo de memoria puede incluir instrucciones (por ejemplo, las instrucciones 656) que, cuando son ejecutadas por un ordenador (por ejemplo, un procesador en el CÓDEC 634, el procesador 606 y/o los procesadores 610), pueden hacer que el ordenador realice al menos una parte de los procedimientos de las FIGs. 5A-5B. Como ejemplo, la memoria 632 o el uno o más componentes del procesador 606, los procesadores 610, el CÓDEC 634 pueden ser un medio no transitorio legible por ordenador que incluye instrucciones (por ejemplo, las instrucciones 656) que, cuando son ejecutadas por un ordenador (por ejemplo, un procesador en el CÓDEC 634, el procesador 606 y/o los procesadores 610) hace que el ordenador realice al menos una parte de los procedimientos de las FIGs. 5A-5b.
[0099] En un aspecto particular, el dispositivo 600 puede estar incluido en un sistema en paquete o un dispositivo de sistema en chip 622, tal como un módem de estación móvil (MSM). En un aspecto particular, el procesador 606, los procesadores 610, el controlador de pantalla 626, la memoria 632, el CÓDEC 634, el controlador inalámbrico 640 y el transceptor 650 están incluidos en un sistema en paquete o el dispositivo de sistema en chip 622. En un aspecto particular, un dispositivo de entrada 630, tal como una pantalla táctil y/o un teclado, y una fuente de alimentación 644 están acoplados al dispositivo de sistema en chip 622. Además, en un aspecto particular, como se ilustra en la FIG. 6, la pantalla 628, el dispositivo de entrada 630, el altavoz 648, el micrófono 646, la antena 642 y la fuente de alimentación 644 son externos con respecto al dispositivo de sistema en chip 622. Sin embargo, cada uno de la pantalla 628, el dispositivo de entrada 630, el altavoz 648, el micrófono 646, la antena 642 y la fuente de alimentación 644 se pueden acoplar a un componente del dispositivo de sistema en chip 622, tal como una interfaz o un controlador. En un aspecto ilustrativo, el dispositivo 600 corresponde a un dispositivo de comunicación móvil, un teléfono inteligente, un teléfono celular, un ordenador portátil, un ordenador, una tablet, un asistente digital personal, una pantalla, un televisor, una consola de juegos, un reproductor de música, una radio, un reproductor de vídeo digital, un reproductor de disco óptico, un sintonizador, una cámara, un dispositivo de navegación, un sistema descodificador, un sistema codificador o cualquier combinación de los mismos.
[0100] En un aspecto ilustrativo, los procesadores 610 pueden ser operables para realizar operaciones de codificación y descodificación de señal de acuerdo con las técnicas descritas. Por ejemplo, el micrófono 646 puede capturar una señal de audio. El ADC 604 puede convertir la señal de audio capturada de una forma de onda analógica a una forma de onda digital que incluye muestras de audio digitales. Los procesadores 610 pueden
5
10
15
20
25
30
35
40
45
procesar las muestras de audio digitales. El cancelador de eco 612 puede reducir un eco que se puede haber creado por una salida del altavoz 648 que entra al micrófono 646.
[0101] El codificador de vocodificador 636 puede comprimir muestras de audio digitales correspondientes a una señal de habla procesada y puede formar un paquete de transmisión (por ejemplo, una representación de los bits comprimidos de las muestras de audio digitales). Por ejemplo, el paquete de transmisión puede corresponder a al menos una parte del flujo de bits 192 de la FIG. 1. El paquete de transmisión puede almacenarse en la memoria 632. El transceptor 650 puede modular alguna forma del paquete de transmisión (por ejemplo, se puede adjuntar otra información al paquete de transmisión) y puede transmitir los datos modulados por medio de la antena 642.
[0102] Como otro ejemplo, la antena 642 puede recibir paquetes entrantes que incluyen un paquete de recepción. Se puede enviar el paquete de recepción por otro dispositivo por medio de una red. Por ejemplo, el paquete de recepción puede corresponder a al menos una parte del flujo de bits recibido en el descodificador de núcleo ACELP 404 de la FIG. 4. El descodificador de vocodificador 638 puede descomprimir y descodificar el paquete de recepción para generar muestras de audio reconstruidas (por ejemplo, correspondientes a la señal de audio sintetizada 473). El cancelador de eco 612 puede eliminar el eco de las muestras de audio reconstruidas. El DAC 602 puede convertir una salida del descodificador de vocodificador 638 de una forma de onda digital a una forma de onda analógica y puede proporcionar la forma de onda convertida al altavoz 648 para su salida.
[0103] Los expertos en la técnica apreciarán además que los diversos bloques lógicos, configuraciones, módulos, circuitos y pasos de algoritmo ilustrativos descritos en relación con los aspectos divulgados en el presente documento pueden implementarse como hardware electrónico, software informático ejecutado por un dispositivo de procesamiento tal como un procesador de hardware, o combinaciones de ambos. Diversos componentes, bloques, configuraciones, módulos, circuitos y pasos ilustrativos se han descrito anteriormente, en general, en lo que respecta a su funcionalidad. Que dicha funcionalidad se implemente como hardware o software ejecutable depende de la aplicación particular y de las restricciones de diseño impuestas al sistema global. Los artesanos expertos pueden implementar la funcionalidad descrita de diferentes maneras para cada aplicación en particular.
[0104] Los pasos de un procedimiento o algoritmo descritas en relación con los aspectos divulgados en el presente documento pueden realizarse directamente en hardware, en un módulo de software ejecutado por un procesador o en una combinación de los dos. Un módulo de software puede residir en un dispositivo de memoria, tal como una memoria de acceso aleatorio (RAM), una memoria de acceso aleatorio magneto-resistiva (MRAM), una MRAM de transferencia de par de giro (STT-MRAM), una memoria flash, una memoria de solo lectura (ROM), una memoria de solo lectura programable (PROM), una memoria de solo lectura programable y borrable (EPROM), una memoria de lectura programable y borrable eléctricamente (EEPROM), registros, un disco duro, un disco extraíble o una memoria de solo lectura de disco compacto (CD-ROM). Un dispositivo de memoria a modo de ejemplo está acoplado al procesador de tal manera que el procesador pueda leer información de, y escribir información en, el dispositivo de memoria. De forma alternativa, el dispositivo de memoria puede estar integrado en el procesador. El procesador y el medio de almacenamiento pueden residir en un circuito integrado específico de la aplicación (ASIC). El ASIC puede residir en un dispositivo informático o en un terminal de usuario. De forma alternativa, el procesador y el medio de almacenamiento pueden residir como componentes discretos en un dispositivo informático o un terminal de usuario.
[0105] La descripción anterior de los aspectos divulgados se proporciona para permitir que una persona experta en la técnica haga o use los aspectos divulgados. Varias modificaciones de estos aspectos serán evidentes para los expertos en la técnica, y los principios definidos en el presente documento pueden aplicarse a otros aspectos sin apartarse del alcance de la invención tal como se define en las siguientes reivindicaciones.

Claims (16)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    1. Un procedimiento que comprende:
    determinar, en un codificador, una suma de valores de energía correspondientes a salidas de un banco de filtros de análisis, con la suma de valores de energía correspondientes a un rango de frecuencias superior de una parte de banda alta de una señal de audio;
    realizar una operación de promedio basada en la suma de valores de energía para determinar una característica de señal;
    determinar, en el codificador, si la característica de señal satisface un umbral;
    generar una señal de excitación de banda alta correspondiente a la parte de banda alta;
    generar una parte de banda alta sintetizada basada en la señal de excitación de banda alta;
    determinar un valor de un parámetro de ganancia temporal basado en una comparación de la parte de banda alta sintetizada con la parte de banda alta; y
    en respuesta a la característica de señal que satisface el umbral, ajustar el valor del parámetro de ganancia temporal, en el que el ajuste del valor del parámetro de ganancia temporal controla una variabilidad del parámetro de ganancia temporal.
  2. 2. El procedimiento según la reivindicación 1, que comprende además:
    generar una versión volteada espectralmente de la señal de audio realizando una operación de volteo de espectro en la señal de audio para procesar la parte de banda alta de la señal de audio en la banda de base; y
    calcular la suma de los valores de energía basándose en la versión volteada espectralmente de la señal de audio.
  3. 3. El procedimiento según la reivindicación 1, en el que la señal de excitación de banda alta se genera basándose en una extensión armónica de una parte de banda baja de la señal de audio.
  4. 4. El procedimiento según la reivindicación 3, que comprende además realizar una operación de volteo de espectro en la extensión armónica de la parte de banda baja de la señal de audio para generar una señal volteada espectralmente.
  5. 5. El procedimiento según la reivindicación 4, que comprende además:
    realizar una operación de filtro de paso de banda en la señal volteada espectralmente para generar una señal filtrada de paso de banda; y
    realizar una operación de mezclado descendente en la señal filtrada de paso de banda para generar una señal de mezclado descendente en la banda de base.
  6. 6. El procedimiento según la reivindicación 4, que comprende además realizar una operación de filtro de paso bajo en la señal volteada espectralmente para generar una señal filtrada de paso bajo.
  7. 7. El procedimiento según la reivindicación 1, en el que la característica de señal se determina basándose en una versión espectralmente volteada de una señal recibida.
  8. 8. El procedimiento según la reivindicación 7, en el que la característica de señal corresponde a un mínimo de señal de banda alta promediado.
  9. 9. El procedimiento según la reivindicación 1, en el que la característica de señal que satisface el umbral es indicativa de la señal de audio que tiene contenido limitado en la parte de banda alta.
  10. 10. El procedimiento según la reivindicación 1, en el que el parámetro de ganancia temporal comprende un parámetro de forma de ganancia.
  11. 11. El procedimiento según la reivindicación 10, que comprende además determinar valores del parámetro de forma de ganancia para cada una de una pluralidad de subtramas de la señal de audio.
    5
    10
    15
    20
    25
    30
    35
    40
  12. 12. El procedimiento según la reivindicación 10, en el que ajustar un valor particular del parámetro de forma de ganancia comprende calcular un segundo valor del parámetro de forma de ganancia basándose en una suma de una constante normalizada y un porcentaje particular de un primer valor del parámetro de forma de ganancia, en el que el porcentaje particular es preferentemente del diez por ciento.
  13. 13. Un medio legible por procesador no transitorio que comprende instrucciones que, cuando son ejecutadas por un procesador, hacen que el procesador realice operaciones de acuerdo con una cualquiera de las reivindicaciones de procedimiento anteriores.
  14. 14. Un aparato que comprende:
    medios para filtrar al menos una parte de una señal de audio para generar una pluralidad de salidas;
    medios para determinar una suma de valores de energía correspondientes a la pluralidad de salidas, con la suma de valores de energía correspondiente a un rango de frecuencias superior de una parte de banda alta de una señal de audio;
    medios para realizar una operación de promediado basada en la suma de valores de energía para determinar una característica de señal;
    medios para determinar si la característica de señal satisface un umbral;
    medios para generar una señal de excitación de banda alta correspondiente a la parte de banda alta;
    medios para generar una parte de banda alta sintetizada basándose en la señal de excitación de banda alta; y
    medios para estimar una envolvente temporal de la parte de banda alta, en el que los medios para estimar están configurados para:
    determinar un valor de un parámetro de ganancia temporal basado en una comparación de la parte de banda alta sintetizada con la parte de banda alta; y
    en respuesta a la característica de señal que satisface el umbral, ajuste el valor del parámetro de ganancia temporal, en el que el ajuste del valor del parámetro de ganancia temporal controla una variabilidad del parámetro de ganancia temporal.
  15. 15. El procedimiento según la reivindicación 1 o el aparato de la reivindicación 14, en el que ajustar el valor del parámetro de ganancia temporal limita la variabilidad del parámetro de ganancia temporal.
  16. 16. El procedimiento según la reivindicación 1 o el aparato de la reivindicación 14, en el que el rango de frecuencias superior de la parte de banda alta incluye un rango de frecuencias entre 12 kHz y 16 kHz.
ES15731780.1T 2014-06-26 2015-06-05 Ajuste de ganancia temporal basado en la característica de señal de banda alta Active ES2690252T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462017790P 2014-06-26 2014-06-26
US201462017790P 2014-06-26
US14/731,198 US9583115B2 (en) 2014-06-26 2015-06-04 Temporal gain adjustment based on high-band signal characteristic
US201514731198 2015-06-04
PCT/US2015/034535 WO2015199954A1 (en) 2014-06-26 2015-06-05 Temporal gain adjustment based on high-band signal characteristic

Publications (1)

Publication Number Publication Date
ES2690252T3 true ES2690252T3 (es) 2018-11-20

Family

ID=54931208

Family Applications (2)

Application Number Title Priority Date Filing Date
ES15731780.1T Active ES2690252T3 (es) 2014-06-26 2015-06-05 Ajuste de ganancia temporal basado en la característica de señal de banda alta
ES15729725.0T Active ES2690251T3 (es) 2014-06-26 2015-06-05 Ajuste del orden de predicción lineal de un codificador de audio

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES15729725.0T Active ES2690251T3 (es) 2014-06-26 2015-06-05 Ajuste del orden de predicción lineal de un codificador de audio

Country Status (12)

Country Link
US (2) US9583115B2 (es)
EP (2) EP3161825B1 (es)
JP (2) JP6312868B2 (es)
KR (2) KR101849871B1 (es)
CN (2) CN106463136B (es)
AR (2) AR100847A1 (es)
BR (1) BR112016030384B1 (es)
CA (2) CA2952006C (es)
ES (2) ES2690252T3 (es)
HU (2) HUE039698T2 (es)
TW (2) TWI598873B (es)
WO (2) WO2015199955A1 (es)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542955B2 (en) * 2014-03-31 2017-01-10 Qualcomm Incorporated High-band signal coding using multiple sub-bands
US9583115B2 (en) * 2014-06-26 2017-02-28 Qualcomm Incorporated Temporal gain adjustment based on high-band signal characteristic
EP2980794A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and decoder using a frequency domain processor and a time domain processor
EP2980795A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoding and decoding using a frequency domain processor, a time domain processor and a cross processor for initialization of the time domain processor
US10109284B2 (en) * 2016-02-12 2018-10-23 Qualcomm Incorporated Inter-channel encoding and decoding of multiple high-band audio signals
US10362423B2 (en) * 2016-10-13 2019-07-23 Qualcomm Incorporated Parametric audio decoding
US10553222B2 (en) * 2017-03-09 2020-02-04 Qualcomm Incorporated Inter-channel bandwidth extension spectral mapping and adjustment
US10825467B2 (en) * 2017-04-21 2020-11-03 Qualcomm Incorporated Non-harmonic speech detection and bandwidth extension in a multi-source environment
US10891960B2 (en) * 2017-09-11 2021-01-12 Qualcomm Incorproated Temporal offset estimation
KR102697685B1 (ko) * 2017-12-19 2024-08-23 돌비 인터네셔널 에이비 통합 음성 및 오디오 디코딩 및 인코딩 qmf 기반 고조파 트랜스포저 개선을 위한 방법, 장치 및 시스템
US11425258B2 (en) * 2020-01-06 2022-08-23 Waves Audio Ltd. Audio conferencing in a room
EP4122217B1 (en) 2020-03-20 2025-05-07 Dolby International AB Bass enhancement for loudspeakers
CN113820067B (zh) * 2021-11-22 2022-02-18 北京理工大学 强冲击传感器下阶跃响应动态特性计算方法及发生装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4301329A (en) 1978-01-09 1981-11-17 Nippon Electric Co., Ltd. Speech analysis and synthesis apparatus
JP2625998B2 (ja) 1988-12-09 1997-07-02 沖電気工業株式会社 特徴抽出方式
IT1257065B (it) 1992-07-31 1996-01-05 Sip Codificatore a basso ritardo per segnali audio, utilizzante tecniche di analisi per sintesi.
FR2742568B1 (fr) * 1995-12-15 1998-02-13 Catherine Quinquis Procede d'analyse par prediction lineaire d'un signal audiofrequence, et procedes de codage et de decodage d'un signal audiofrequence en comportant application
GB2318029B (en) * 1996-10-01 2000-11-08 Nokia Mobile Phones Ltd Audio coding method and apparatus
US6636829B1 (en) * 1999-09-22 2003-10-21 Mindspeed Technologies, Inc. Speech communication system and method for handling lost frames
US6782360B1 (en) 1999-09-22 2004-08-24 Mindspeed Technologies, Inc. Gain quantization for a CELP speech coder
US20050004793A1 (en) 2003-07-03 2005-01-06 Pasi Ojala Signal adaptation for higher band coding in a codec utilizing band split coding
US7146309B1 (en) * 2003-09-02 2006-12-05 Mindspeed Technologies, Inc. Deriving seed values to generate excitation values in a speech coder
KR100707174B1 (ko) * 2004-12-31 2007-04-13 삼성전자주식회사 광대역 음성 부호화 및 복호화 시스템에서 고대역 음성부호화 및 복호화 장치와 그 방법
RU2386179C2 (ru) * 2005-04-01 2010-04-10 Квэлкомм Инкорпорейтед Способ и устройство для кодирования речевых сигналов с расщеплением полосы
JP4804532B2 (ja) 2005-04-15 2011-11-02 ドルビー インターナショナル アクチボラゲット 無相関信号の包絡線整形
TWI324336B (en) * 2005-04-22 2010-05-01 Qualcomm Inc Method of signal processing and apparatus for gain factor smoothing
US7707034B2 (en) * 2005-05-31 2010-04-27 Microsoft Corporation Audio codec post-filter
KR101393298B1 (ko) * 2006-07-08 2014-05-12 삼성전자주식회사 적응적 부호화/복호화 방법 및 장치
US8135047B2 (en) * 2006-07-31 2012-03-13 Qualcomm Incorporated Systems and methods for including an identifier with a packet associated with a speech signal
US8706480B2 (en) 2007-06-11 2014-04-22 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder for encoding an audio signal having an impulse-like portion and stationary portion, encoding methods, decoder, decoding method, and encoding audio signal
US8140331B2 (en) * 2007-07-06 2012-03-20 Xia Lou Feature extraction for identification and classification of audio signals
US9253568B2 (en) * 2008-07-25 2016-02-02 Broadcom Corporation Single-microphone wind noise suppression
US8838443B2 (en) * 2009-11-12 2014-09-16 Panasonic Intellectual Property Corporation Of America Encoder apparatus, decoder apparatus and methods of these
FR2961937A1 (fr) * 2010-06-29 2011-12-30 France Telecom Codage/decodage predictif lineaire adaptatif
US8811601B2 (en) * 2011-04-04 2014-08-19 Qualcomm Incorporated Integrated echo cancellation and noise suppression
US9536534B2 (en) * 2011-04-20 2017-01-03 Panasonic Intellectual Property Corporation Of America Speech/audio encoding apparatus, speech/audio decoding apparatus, and methods thereof
US9583115B2 (en) * 2014-06-26 2017-02-28 Qualcomm Incorporated Temporal gain adjustment based on high-band signal characteristic

Also Published As

Publication number Publication date
US9583115B2 (en) 2017-02-28
KR101809866B1 (ko) 2017-12-15
WO2015199955A1 (en) 2015-12-30
US9626983B2 (en) 2017-04-18
CA2952006A1 (en) 2015-12-30
TW201604865A (zh) 2016-02-01
HUE039281T2 (hu) 2018-12-28
US20150380006A1 (en) 2015-12-31
KR101849871B1 (ko) 2018-04-17
JP6312868B2 (ja) 2018-04-18
CA2952006C (en) 2019-05-21
EP3161825A1 (en) 2017-05-03
AR100847A1 (es) 2016-11-02
CN106463136A (zh) 2017-02-22
CA2952214A1 (en) 2015-12-30
US20150380007A1 (en) 2015-12-31
JP2017523460A (ja) 2017-08-17
JP2017524980A (ja) 2017-08-31
WO2015199954A1 (en) 2015-12-30
AR100848A1 (es) 2016-11-02
BR112016030384B1 (pt) 2023-04-04
TWI598873B (zh) 2017-09-11
CN106663440A (zh) 2017-05-10
KR20170023851A (ko) 2017-03-06
CA2952214C (en) 2020-06-16
ES2690251T3 (es) 2018-11-20
HUE039698T2 (hu) 2019-01-28
CN106663440B (zh) 2018-05-08
CN106463136B (zh) 2018-05-08
JP6196004B2 (ja) 2017-09-13
EP3161825B1 (en) 2018-07-18
KR20170023007A (ko) 2017-03-02
EP3161823B1 (en) 2018-07-18
TW201606758A (zh) 2016-02-16
EP3161823A1 (en) 2017-05-03
BR112016030384A2 (es) 2017-08-22

Similar Documents

Publication Publication Date Title
ES2690251T3 (es) Ajuste del orden de predicción lineal de un codificador de audio
ES2711524T3 (es) Generación de señal de excitación de banda alta
ES2842175T3 (es) Control de señal objetivo de banda alta
ES2690096T3 (es) Codificación de señal de banda alta usando intervalos de frecuencias no coincidentes
ES2755364T3 (es) Codificación de señal de banda alta que utiliza múltiples subbandas
ES2660605T3 (es) Estimación de factores de mezcla para generar una señal de excitación de banda alta
ES2688037T3 (es) Aparato y procedimientos de conmutación de tecnologías de codificación en un dispositivo
BR112016030381B1 (pt) Método e aparelho para codificar um sinal de áudio e memória legível por computador