ES2690251T3 - Ajuste del orden de predicción lineal de un codificador de audio - Google Patents

Ajuste del orden de predicción lineal de un codificador de audio Download PDF

Info

Publication number
ES2690251T3
ES2690251T3 ES15729725.0T ES15729725T ES2690251T3 ES 2690251 T3 ES2690251 T3 ES 2690251T3 ES 15729725 T ES15729725 T ES 15729725T ES 2690251 T3 ES2690251 T3 ES 2690251T3
Authority
ES
Spain
Prior art keywords
signal
gain
high band
encoder
value
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
ES15729725.0T
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 ES2690251T3 publication Critical patent/ES2690251T3/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 (540) de codificación de una señal de audio, comprendiendo el procedimiento el ajuste de coeficientes de predicción lineales, LPC, de un codificador de señales de audio, en el que el ajuste de LPC del codificador comprende: determinar (542), en el codificador, una ganancia de predicción lineal, LP, en base a una operación de ganancia LP que usa un primer valor para un orden LP, la ganancia LP asociada con un nivel de energía de un filtro de síntesis LP; comparar (544) la ganancia LP con un umbral; y reducir (546) el orden LP del primer valor a un segundo valor si la ganancia LP es mayor que el umbral.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Ajuste del orden de predicción lineal de un codificador de audio REIVINDICACIÓN DE PRIORIDAD
[0001] La presente solicitud reivindica prioridad de la solicitud de patente provisional estadounidense N.°. 62/017,790 presentada el 26 de junio de 2014, y la solicitud de patente estadounidense N.° 14/731,276 presentada el 4 de junio de 2015, ambas tituladas "TEMPORAL GAIN ADJUSTMENT BASED ON HIGH-BAND SIGNAL CHARACTERISTIC [AJUSTE DE GANANCIA TEMPORAL EN BASE A CARACTERÍSTICA DE SEÑAL DE BANDA ALTA]".
CAMPO
[0002] La presente divulgación se refiere en general al procesamiento de señales de audio. DESCRIPCIÓN DE LA TÉCNICA RELACIONADA
[0003] Los avances en la tecnología han dado como resultado 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 radiobúsqueda que son pequeños, ligeros y que se transportan 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 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 la voz reconstruido. Si la voz se transmite por muestreo y digitalización, se puede usar una velocidad de transferencia de datos del orden de sesenta y cuatro kilobits por segundo (kbps) para lograr una calidad de voz de un teléfono analógico. Mediante el uso del análisis de la voz, seguido de la codificación, la transmisión y la resíntesis en un receptor, se puede lograr una reducción significativa en la velocidad de transferencia de datos.
[0005] Los dispositivos para comprimir voz 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, 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 móvil (IP) y sistemas de comunicación satelital. Una aplicación particular es la telefonía inalámbrica para abonados móviles.
[0006] Se han desarrollado diversas interfaces aéreas para sistemas de comunicación inalámbrica, incluyendo, por ejemplo, acceso múltiple 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 simultáneo con división de tiempo (TD-SCDMA). En relación con eso, se han establecido diversas normas nacionales e internacionales, incluyendo, por ejemplo, el servicio telefónico móvil avanzado (AMPS), el sistema global para las comunicaciones móviles (GSM) y la norma transitoria 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). La norma 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) se promulgan por la Asociación de la Industria de las Telecomunicaciones (TIA) y por otros organismos de normalización conocidos para especificar el uso de una interfaz aérea CDMA para sistemas de comunicación de telefonía celular o PCS.
[0007] La norma IS-95 evolucionó posteriormente en sistemas "3G", tales como cdma2000 y WCDMA, que proporcionan más servicios de datos de paquetes de alta velocidad y capacidad. Se presentan dos variaciones de cdma2000 por los documentos IS-2000 (cdma2000 1xRTT) e IS-856 (cdma2000 1xEV-DO), que se presentan por la TIA. El sistema de comunicación cdma2000 1xRTT ofrece una velocidad de transferencia de datos máxima de 153 kbps, mientras que el sistema de comunicación cdma2000 1xEV-DO define un conjunto de velocidades de transferencia datos, que varían de 38,4 kbps a 2,4 Mbps. La norma 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 memoria descriptiva de telecomunicaciones móviles internacionales avanzadas (IMT-Advanced) expone las normas "4G". La memoria descriptiva IMT-Advanced establece una velocidad de transferencia de datos máxima para el servicio 4G en 100 megabits por segundo (Mbit/s) para la comunicación de alta movilidad (por ejemplo, de trenes y automóviles) y de 1 gigabit por segundo (Gbit/s) para la 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 la voz extrayendo parámetros que se relacionan con un modelo de generación de voz humana se denominan codificadores de voz. Los codificadores de voz pueden comprender un codificador y un decodificador. El codificador divide la señal de voz entrante en bloques de tiempo o tramas de análisis. Se puede seleccionar la duración de cada segmento de 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 es de 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 voz 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 en 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 a un decodificador. El decodificador procesa los paquetes de datos, descuantifica los paquetes de datos procesados para producir los parámetros y resintetiza las tramas de voz usando los parámetros descuantificados.
[0010] La función del codificador de voz es comprimir la señal de voz digitalizada en una señal de tasa baja de bits eliminando las redundancias naturales inherentes en la voz. Se puede lograr la compresión digital representando una trama de voz 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 voz de entrada tiene un número de bits Ni y un paquete de datos producido por el codificador de voz tiene un número de bits No, el factor de compresión logrado por el codificador de voz es Cr = Ni/No. El desafío es retener la alta calidad de voz de la voz decodificada mientras que se logra el factor de compresión objetivo. El rendimiento de un codificador de voz depende de (1) qué tan bien lleve a cabo el modelo de voz, 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 tasa de bits objetivo de N.° de bits por trama. El objetivo del modelo de voz es por tanto capturar la esencia de la señal de voz , o la calidad de voz objetivo, con un pequeño conjunto de parámetros para cada trama.
[0011] Los codificadores de voz utilizan en general un conjunto de parámetros (que incluyen vectores) para describir la señal de voz. Un buen conjunto de parámetros proporciona, idealmente, un ancho de banda bajo de sistema para la construcción de una señal de voz 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 de voz.
[0012] Se pueden implementar los codificadores de voz como codificadores de dominio de tiempo, que intentan capturar la forma de onda de voz de dominio de tiempo empleando un procesamiento de alta resolución temporal para codificar pequeños segmentos de voz (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 de voz como codificadores de dominio de frecuencia, que intentan capturar el espectro de voz a corto plazo de la trama de voz de entrada con un conjunto de parámetros (análisis) y emplear un procedimiento de síntesis correspondiente para recrear la forma de onda de voz 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 de Predicción Lineal con Excitación por Código (CELP). En un codificador CELP, se eliminan las correlaciones a corto plazo, o redundancias, en la señal de voz 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 voz entrante genera una señal residual señal residual LP, que se modela y se cuantifica además 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 de voz de dominio de tiempo en tareas separadas de codificación de los coeficientes de filtro a corto plazo LP y de codificación residual LP. Se puede realizar la codificación de dominio de tiempo a una velocidad fija (por ejemplo, usando el mismo número de bits, N.°, para cada trama) o a una velocidad variable (en la que se usen diferentes tasas 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, N.°, por trama para conservar la exactitud de la forma de onda de voz de dominio de tiempo. Dichos codificadores pueden suministrar una excelente calidad de voz siempre que el número de bits, N.°, por trama sea relativamente grande (por ejemplo, 8 kbps o mayores). A bajas tasas 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 tasas 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 tiempo, que se instalan en aplicaciones comerciales de velocidad más alta. Por lo tanto, a pesar de las mejoras en el transcurso del tiempo, muchos
5
10
15
20
25
30
35
40
45
50
55
60
65
sistemas de codificación CELP que funcionan a bajas tasas de bits son susceptibles de distorsión significativa de manera perceptual caracterizada como ruido.
[0015] Una alternativa para los codificadores CELP a bajas tasas de bits es el codificador de “Predicción Lineal con Excitación 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 la voz, en lugar de un libro de códigos. Puesto que NELP usa un modelo más simple para la voz codificada, la NELP logra una tasa de bits más baja que la CELP. Se puede usar la NELP para comprimir o representar voz sorda o silencio.
[0016] Los sistemas de codificación que funcionan a velocidades del 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 voz a intervalos regulares. El sistema vocoder LP es ilustrativo de estos codificadores denominados paramétricos.
[0017] Los vocoders LP modelan una señal de voz 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 vocoders 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 tanto de codificadores de forma de onda como de codificadores paramétricos. El sistema de codificación de voz 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 voz de período de tono prototipo (PPP). Un sistema de codificación PWI proporciona un procedimiento eficaz para codificar la voz con sonido. 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 voz interpolando entre las formas de onda prototipo. El procedimiento PWI puede funcionar en la señal residual LP o bien en la señal de voz.
[0019] Puede haber interés en la investigación y en el interés comercial en la mejora de la calidad de audio de una señal de voz (por ejemplo, una señal de voz codificada, una señal de voz reconstruida, o ambos). Por ejemplo, un dispositivo de comunicación puede recibir una señal de voz con una calidad de voz inferior que la óptima. Para ilustrar esto, el dispositivo de comunicación puede recibir la señal de voz 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 la tasa 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 intervalo 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 intervalo de frecuencias de 50 Hz a 7 kHz. Las técnicas de codificación de superbanda ancha (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 habitualmente 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 "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 eficacia 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. Dichos 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 decodificar una señal de banda alta usando el modelado de señal, se pueden introducir ruidos no deseados o artefactos audibles en la señal de banda alta bajo ciertas condiciones,
Los documentos GB 2 318 029 A (NOKIA MOBILE PHONES LTD [FI], 1998-04-08) y US 2013/103408 A1 (PHILIPPE PIERRICK [FR] ET AL, 2013-04-25) divulgan codificadores predictivos que favorecen la selección de órdenes de predicción bajos bajo ciertas condiciones.
SUMARIO
[0022] El alcance de protección se define por las reivindicaciones independientes. Las características opcionales se incluyen en las reivindicaciones dependientes.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0023] De acuerdo con un aspecto de la invención actualmente reivindicada, se proporciona un procedimiento de codificar una señal de audio, comprendiendo el procedimiento ajustar coeficientes de predicción lineal (LPC) de un codificador de señales de audio, en el que ajustar LPC del codificador incluye determinar, en el codificador, una ganancia de predicción lineal (LP) en base a una operación de ganancia LP que usa un primer valor para un orden LP. La ganancia LP está asociada con un nivel de energía de un filtro de síntesis LP. El procedimiento también incluye comparar la ganancia LP con un umbral y reducir el orden LP del primer valor a un segundo valor si la ganancia LP es mayor que el umbral.
[0024] De acuerdo con otro aspecto de la invención actualmente reivindicada, se proporciona un aparato para codificar una señal de audio. El aparato incluye un codificador de señales de audio y unas instrucciones de almacenamiento de memoria que son ejecutables por el codificador para realizar operaciones. Las operaciones incluyen ajustar los coeficientes de predicción lineal (LPC) del codificador. El ajuste de LPC del codificador comprende determinar una ganancia de predicción lineal (LP) en base a una operación de ganancia LP que usa un primer valor para un orden LP, estando asociada la ganancia LP con un nivel de energía de un filtro de síntesis LP; comparando la ganancia LP con un umbral; y reduciendo el orden LP del primer valor a un segundo valor si la ganancia LP es mayor que el umbral.
[0025] De acuerdo con otro aspecto de la invención actualmente reivindicada, se proporciona un medio no transitorio legible por ordenador que incluye instrucciones para codificar una señal de audio, en el que las instrucciones, cuando se ejecutan por un codificador de señales de audio, causan que el codificador realice operaciones que incluyan el ajuste de coeficientes de predicción lineal (LPC) del codificador, en el que el ajuste de LPC del codificador comprende determinar una ganancia de predicción lineal (LP) en base a una operación de ganancia LP que usa un primer valor para un orden LP, estando asociada la ganancia LP con un nivel de energía de un filtro de síntesis LP; comparando la ganancia LP con un umbral; y reduciendo el orden LP del primer valor a un segundo valor si la ganancia LP es mayor que el umbral.
Breve descripción de los dibujos
[0026]
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 en base a 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 en base a 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 decodificador operable para sintetizar una parte de banda alta de una señal de audio usando parámetros de ganancia temporal que se ajustan en base a 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 en base a 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
[0027] Se divulgan sistemas y procedimientos de ajuste de información de ganancia temporal en base a 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 genere 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, puede estar "limitada por banda" 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 sea compatible con el modelo SWB, en un dispositivo que no sea capaz de
5
10
15
20
25
30
35
40
45
50
55
60
65
capturar datos en una totalidad de la banda alta, etc. Para ilustrar, un teléfono inalámbrico particular puede no ser capaz o puede estar programado para no capturar datos a frecuencias superiores a 8 kHz, más altas 10 kHz, etc. Cuando se codifiquen dichas señales de banda limitada, un modelo de señal (por ejemplo, un modelo armónico SWB) puede introducir artefactos audibles debido a una gran variación en la ganancia temporal.
[0028] Para reducir dichos artefactos, un codificador (por ejemplo, un codificador de voz o "vocoder") pueden determinar una señal característica de una señal de audio que vaya 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 intervalo de frecuencias de 12 kHz - 16 kHz, y por tanto puede corresponder a un "piso 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 intervalo de frecuencias (en la parte superior de la parte de banda alta de la señal de audio) que sea menor que el ancho de banda de la señal de audio de banda ancha 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 intervalo 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 intervalo 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 intervalo 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 intervalo 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 en base a la señal de excitación de banda alta. En base a una comparación de las partes de banda alta "original" y sintetizada, el codificador puede determinar un 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 la 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 intervalo dinámico limitado) del parámetro de forma de ganancia. Limitar la variabilidad del parámetro de forma de ganancia puede reducir los artefactos generados durante la codificación/decodificación de la señal de audio de banda limitada.
[0029] 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 en base a una característica de señal de banda alta y en general designado con 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/decodificador (CÓDEC)).
[0030] Cabe destacar que, en la siguiente descripción, las diversas funciones realizadas por el sistema 100 de la FIG. 1 se describen como realizadas 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 usando hardware (por ejemplo, un dispositivo de matriz de puerta programable por campo (FPGA), un circuito integrado específico de la aplicación (ASIC), un procesador de señales digitales (DSP), un controlador, etc.), software (por ejemplo, instrucciones ejecutables por un procesador), o cualquier combinación de los mismos.
[0031] El sistema 100 incluye un módulo de procesamiento previo 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 superbanda ancha (SWB) que incluya datos en el intervalo de frecuencias de aproximadamente 50 hercios (Hz) a aproximadamente 16 kilohercios (kHz). El módulo de procesamiento previo 110 puede filtrar la señal de audio 102 en múltiples partes en base a la frecuencia. Por ejemplo, el módulo de procesamiento previo 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.
[0032] 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 no superpuestas. 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 superpuestas 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 superpuestas 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 que puede permitir un filtro de paso bajo y un filtro de paso alto del módulo de procesamiento previo 110 para tener un desplazamiento suave, lo que puede simplificar el diseño y reducir el coste del filtro de paso bajo y del 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 la mezcla suave de señales de banda baja y de banda alta en un receptor, lo cual puede dar como resultado menos distorsiones audibles.
[0033] En un aspecto particular, el módulo de procesamiento previo 110 incluye un banco de filtros de análisis. Por ejemplo, el módulo de procesamiento previo 110 puede incluir un banco de filtros de filtro de espejo en cuadratura
5
10
15
20
25
30
35
40
45
50
55
60
65
(QMF) que incluya una pluralidad de QMF. Cada QMF puede filtrar una parte de la señal de audio 102. Como otro ejemplo, el módulo de procesamiento previo 110 puede incluir un banco de filtros de retardo bajo complejo (CLDFB). El módulo de procesamiento previo 110 también puede incluir una aleta espectral configurada 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.
[0034] En un aspecto particular SWB, el banco de filtros incluye 40 filtros QMF, donde cada filtro QMF (por ejemplo, un filtro QMF 112 ilustrativo) funciona en una parte de 400 Hz de la señal de audio 102. Cada filtro QmF 112 puede generar salidas de filtro que incluyan una parte real y una parte imaginaria. El módulo de procesamiento previo 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 procesamiento previo 110 puede sumar salidas de los diez QMF correspondientes al intervalo 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 procesamiento previo 110 puede determinar una característica de señal de banda alta 126 en base a las salidas QMF sumadas. En un aspecto particular, el módulo de procesamiento previo 110 realiza una operación de promediado a largo plazo en la suma de las salidas QMF para determinar la característica de señal de banda alta 126. Para ilustrar, el módulo de procesamiento previo 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 de filtro de análisis de QMF (real)
// imagBufferFlipped: salida de filtro de análisis de QMF (imaginaria)
// qmfHBLT: promedio a largo plazo del piso de señal de banda alta // Estimar el piso de señal de banda alta flotante QmfHB = 0;
/* itera sobre diez bandas = 10*400 Hz = 4 kHz correspondientes a datos de 12-16 kHz. QMF 0-9 usados porque funcionan en el dominio de señal volteado, por lo que las frecuencias superiores de banda alta procesadas por el número más bajo QMF*/ 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 búfer 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 un promediado a largo plazo de la señal de piso 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));
[0035] Aunque el pseudocódigo anterior ilustra un promediado a largo plazo de más de diez bandas (por ejemplo, diez bandas de 400 Hz representan 12-16 datos kHz) que usa bancos de filtros de análisis de QMF, debería apreciarse que el módulo de procesamiento previo 110 puede funcionar de acuerdo con un pseudocódigo sustancialmente similar para diferentes bancos de filtros de análisis, un número diferente de bandas y/o un intervalo de frecuencias de datos diferente. Como ejemplo no limitativo, el módulo de procesamiento previo 110 puede utilizar bancos de filtros de análisis de retardo bajo para 20 bandas que representan datos de 13-16 kHz.
[0036] 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 las subtramas pueden corresponder a diferentes longitudes de tiempo y se puede incluir un número diferente de subtramas en cada trama.
[0037] Cabe 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 intervalo de frecuencias de aproximadamente 50 Hz a aproximadamente 8 kHz. En un aspecto de este tipo, la señal de banda baja 122 puede corresponder a un intervalo de frecuencias desde aproximadamente 50 Hz hasta aproximadamente 6,4 kHz, y la señal de banda alta 124 puede corresponder a un intervalo de frecuencias desde aproximadamente 6,4 kHz hasta aproximadamente 8 kHz.
[0038] 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
5
10
15
20
25
30
35
40
45
50
55
60
65
un codificador de predicción lineal con excitación por código (CELP). El módulo de análisis de banda baja 130 puede incluir un módulo de análisis y codificación de predicción lineal (LP) 132, un módulo de transformada de coeficiente de predicción lineal (LPC) 134 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 codificación y de análisis LP 132 puede codificar una envolvente espectral de la señal de banda baja 122 como un conjunto de lPc. Se pueden generar LPC para cada trama de audio (por ejemplo, 20 milisegundos (ms) de audio, correspondientes a 320 muestras a una velocidad 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 LPC generados para cada trama o subtrama mediante el "orden" del análisis LP realizado. En un aspecto particular, el módulo de codificación y análisis LP 132 puede generar un conjunto de once LPC correspondientes a un análisis LP de décimo orden.
[0039] El módulo de transformada de LPC a LSP 134 puede transformar el conjunto de LPC generados por el módulo de codificación y análisis LP 132 en un conjunto correspondiente de LSP (por ejemplo, usando una transformada de uno en uno). De forma alternativa, el conjunto de 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 transformada entre el conjunto de LPC y el conjunto de LSP puede ser reversible sin error.
[0040] El cuantificador 136 puede cuantificar el conjunto de LSP generados por el módulo de transformada 134. Por ejemplo, el cuantificador 136 puede incluir o puede estar acoplado a múltiples libros de códigos que incluyan múltiples entradas (por ejemplo, vectores). Para cuantificar el conjunto de LSP, el cuantificador 136 puede identificar entradas de libros de códigos que estén "más cercanas a" (por ejemplo, en base a 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 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.
[0041] 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 genere cuantificando una señal residual LP que se genere durante el proceso 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.
[0042] 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 señal de banda alta característica 126 desde el módulo de procesamiento previo 110 y para recibir la señal de excitación de banda baja 144 del módulo de análisis de banda baja 130. El módulo de análisis de banda alta 150 puede generar información lateral de banda alta (por ejemplo, parámetros) 172. Por ejemplo, la información de lado de banda alta 172 puede incluir LSP de banda alta, información de ganancia, etc.
[0043] 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 extendiendo un espectro de la señal de excitación de banda baja 144 al intervalo 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 transformada (por ejemplo, una transformada no lineal tal como una operación de valor absoluto o cuadrado) a la señal de excitación de banda baja transformada con una señal de ruido (por ejemplo, ruido blanco modulado de acuerdo a 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.
[0044] La señal de excitación de banda alta 161 puede usarse para determinar uno o más parámetros de ganancia de banda alta que se incluyan 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 codificación y análisis LP 152, un módulo de transformada de LPC a LSP 154 y un cuantificador 156. Cada uno entre el módulo de codificación y análisis LP 152, el módulo de transformada 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, usando menos bits para cada coeficiente, lSp, etc.). El módulo de codificación y análisis LP 152 puede generar un conjunto de LPC que se transformen en los LSP mediante el módulo de transformación 154 y se cuantifican mediante el cuantificador 156 en base a un libro de códigos 163. Por ejemplo, el módulo de análisis y codificación LP 152, el módulo de transformada 154 y el cuantificador 156 pueden usar 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 lateral de banda alta 172. En un aspecto particular, el módulo de análisis de banda alta 150 puede incluir un decodificador local que use coeficientes de filtro en base a los LPC generados por el módulo de transformada 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 decodificador 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, los valores de conformación de ganancia de envolvente temporal y/o de ganancia de trama) pueden determinarse, cuantificarse e incluirse en la información lateral de banda alta 172.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0045] En un aspecto particular, la información lateral de banda alta 172 puede incluir LSP de banda alta, así como parámetros de ganancia de banda alta. Por ejemplo, la información lateral de banda alta 172 puede incluir un parámetro de ganancia temporal (por ejemplo, un parámetro de forma de ganancia) que indique 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 con banda baja para la trama particular.
[0046] 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 en base a 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 determine un valor del parámetro de forma de ganancia en base a una comparación de la señal de banda alta "original" 124 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 incluya 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 decodificador, 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 "original" 124. En un aspecto particular, el ajustador de 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.
[0047] En un aspecto particular, el ajustador de ganancia 162 puede ajustar un valor del parámetro de forma de ganancia en base a si la característica de señal de banda alta 126 satisface un umbral 165. El umbral 165 puede estar fijo o puede ser 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 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 amplio módulo de análisis de banda alta 150 puede codificar grandes oscilaciones de ganancia, causando artefactos audibles en la decodificación de señales. Para reducir dichos artefactos, el ajustador de ganancia 162 puede ajustar el(los) valor(es) de parámetro de forma de ganancia cuando la característica de señal de banda alta satisfaga el umbral 165. El ajuste del/de los valor(es) del parámetro de forma de ganancia puede limitar la variabilidad (por ejemplo, el intervalo 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 intervalo dinámico de forma de ganancia si el piso 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) */
si (qmfHBLT <1.0)
para (i = 0; i <NUM_SHB_SUBGAINS; i++)
{/* el valor de forma de ganancia para cada subtrama secundario está limitado a una constante normalizada +/- 10 % del valor de forma de ganancia */
GainShape[i] = 0,315 + 0,1*GainShape[i];
}}
[0048] En un aspecto alternativo, el umbral 165 puede almacenarse en o estar disponible para el módulo de procesamiento previo 110, y el módulo de procesamiento previo 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 procesamiento previo 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 satisfaga el umbral 165 y puede tener un segundo valor (por ejemplo, 0) cuando la característica de señal de banda alta 126 no satisfaga el umbral 165. El ajustador de ganancia 162 puede ajustar el/los valor(es) del parámetro de forma de ganancia en base a si el indicador tiene el primer valor o el segundo valor.
[0049] El flujo de bits de banda baja 142 y la información lateral de banda alta 172 pueden multiplexarse 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 alámbrico, inalámbrico u óptico) y/o almacenarse. En un receptor, las operaciones inversas pueden realizarse por un demultiplexor (DEMUX), un decodificador de banda baja, un
5
10
15
20
25
30
35
40
45
50
55
60
65
decodificador 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 o a otro dispositivo de salida). El número de bits usados para representar el flujo de bits de banda baja 142 puede ser sustancialmente mayor que el número de bits usados para representar la información lateral de banda alta 172. Por tanto, la mayoría de los bits en el flujo de bits de salida 192 pueden representar datos de banda baja. La información lateral de banda alta 172 puede usarse 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 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 negociarse por un transmisor y un receptor (o definirse mediante una norma 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 lateral de banda alta 172 de manera que un correspondiente módulo de análisis de banda alta en un receptor puede usar el modelo de señal para reconstruir la señal de banda alta 124 a partir del flujo de bits de salida 192.
[0050] 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 satisfaga un umbral, el sistema 100 de la FIG. 1 puede reducir los artefactos audibles cuando una señal que se codifique tenga una banda limitada (por ejemplo, incluya poco o ningún contenido de banda alta). El sistema 100 de la FIG. 1 puede permitir por tanto la restricción de la ganancia temporal cuando una señal de entrada no se adhiera a un modelo de señal en uso.
[0051] 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.
[0052] Una señal de entrada 201 con un ancho de banda de "F" (por ejemplo, una señal que tiene un intervalo de frecuencias de 0 Hz - F Hz, tal como 0 Hz - 16 kHz cuando F = 16.000 = 16k) puede recibirse 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 señal 203 emitida desde el 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).
[0053] Un codificador de banda baja 204, tal como un codificador ACELP (por ejemplo, el análisis LP y un módulo de codificación 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.
[0054] La señal de banda baja de excitación 205 desde el codificador ACELP (que también puede reproducirse por un decodificador ACELP en un receptor, tal como se describe en la FIG. 4) se puede sobremuestrear en un muestreador 206 para que el ancho de banda efectivo de una la señal muestreada 207 esté en un intervalo de frecuencias de 0 Hz a F Hz. La señal de excitación de banda baja 205 puede recibirse 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.
[0055] Un primer generador de transformación no lineal 208 puede configurarse para generar una señal de ancho de banda extendida 209, ilustrada como una señal de excitación no lineal en base a la señal sobremuestreada 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 sobremuestreada 207 para generar la señal extendida de ancho de banda 209. La operación de transformación no lineal puede extender los armónicos de la señal original, de 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).
[0056] La señal extendida de ancho de banda 209 se puede proporcionar 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 extendida de ancho de banda 209 para generar una señal "volteada"
211. El volteo del espectro de la señal extendida de ancho de banda 209 puede cambiar (por ejemplo, "voltear") el contenido de la señal ampliada de ancho de banda 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 ampliada de ancho de banda 209 puede estar a 1,6 kHz de la señal volteada 211, el contenido a 0 Hz de la señal extendida de ancho de banda 209 puede estar a 16 kHz de la señal volteada 211, etc.
[0057] La señal volteada 211 puede proporcionarse a una entrada de un conmutador 212 que dirija selectivamente la señal volteada 211 en un primer modo de funcionamiento a una primera ruta que incluya un filtro 214 y un mezclador descendente 216, o en un segundo modo de funcionamiento a una segunda ruta que incluya un filtro 218.
5
10
15
20
25
30
35
40
45
50
55
60
65
Por ejemplo, el conmutador 212 puede incluir un multiplexor sensible a una señal en una entrada de control que indique el modo de funcionamiento del codificador 200.
[0058] En el primer modo de funcionamiento, la señal volteada 211 se filtra con paso de banda en el filtro 214 para generar una señal de paso de banda 215 con contenido de señal reducido o eliminado fuera del intervalo de frecuencias a partir de (F-F2) Hz a (F-F1 ) Hz, donde F2> F1. Por ejemplo, cuando F = 16k, F1 = 6,4k, y F2 = 14,4k, la señal volteada 211 puede filtrarse con paso de banda al intervalo de frecuencias de 1,6 kHz a 9,6 kHz. El filtro 214 puede incluir un filtro de polo cero configurado para funcionar como un filtro de paso bajo que tenga 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 tenga 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, componentes de salida 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).
[0059] La señal de paso de banda 215 puede proporcionarse al mezclador descendente 216, que puede generar una señal 217 que tenga un ancho de banda de señal efectiva que se extienda desde 0 Hz a (F2-F1) Hz, tal como de 0 Hz a 8 kHz. Por ejemplo, el mezclador descendente 216 puede configurarse para mezclar la señal de paso de banda 215 desde el intervalo de frecuencias entre 1,6 kHz y 9,6 kHz a la banda de base (por ejemplo, un intervalo 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 puede implementarse usando dos filtros de respuesta de impulso infinito (IIR) de quinto orden que tengan componentes imaginarios y reales.
[0060] 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)).
[0061] Un conmutador 220 emite una de las señales 217, 219 que se van a procesar en un módulo adaptativo de blanqueamiento escalado 222 de acuerdo con el modo de funcionamiento, y una salida del módulo adaptativo de blanqueamiento escalado 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 resulta 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.
[0062] La señal de entrada 201 que tiene un ancho de banda efectivo en el intervalo de frecuencias entre 0 Hz y F Hz también se pueden procesar en una ruta de generación de señal de banda 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 invertida 243 puede filtrarse con paso de banda en un filtro 244 para generar una señal de paso de banda 245 que tenga componentes de señal eliminados o reducidos fuera del intervalo de frecuencias de (F-F2) Hz a (F-F1) Hz (por ejemplo, de 1,6 kHz a 9,6 kHz).
[0063] En un aspecto particular, el filtro 244 determina una característica de señal de un intervalo de frecuencias superior de la parte de banda alta de la señal de entrada 201. Como ejemplo ilustrativo no limitativo, el filtro 244 puede determinar un promedio a largo plazo de un piso de señal de banda alta en base a salidas de filtro correspondientes al intervalo 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 (indicadas con 1-7). La estimación de los coeficientes de predicción lineal (LPC) de estas señales limitadas de banda presenta problemas de cuantificación y estabilidad que conducen a artefactos 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 representen en un formato Q de precisión de punto fijo deseado. En dichos escenarios, se puede usar un orden de predicción inferior para el análisis LP (por ejemplo, usar el orden LPC = 2 o 4 en lugar de 10). Esta reducción del orden de LPC para que el análisis LP limite los problemas de saturación y estabilidad se puede realizar en base a la ganancia LP o a la energía del filtro de síntesis LP. Si la ganancia 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 se da por |1/A(z)|A2, donde A(z) es el filtro de análisis LP. Un valor típico de ganancia LP de 64 correspondiente a 48 dB es un buen indicador para verificar las altas ganancias 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.
[0064] El paso de banda de señal 245 puede mezclarse de manera descendente en un mezclador descendente 246 para generar la banda alta "objetivo" de la señal 247 que tenga un ancho de banda de la señal eficaz en el intervalo
5
10
15
20
25
30
35
40
45
50
55
60
65
de frecuencias de 0 Hz a (F2- F1) Hz (por ejemplo, desde 0 Hz a 8 kHz). La señal objetivo de banda alta 247 es una señal de banda de base correspondiente al primer intervalo de frecuencias.
[0065] Los parámetros que representan las modificaciones a la señal de excitación de banda alta 241 para que represente la señal objetivo de banda alta 247 pueden extraerse y transmitirse al decodificador. Para ilustrar, la señal objetivo de banda alta 247 puede procesarse mediante un módulo de análisis LP 248 para generar LPC que se conviertan en LSP en un convertidor de LPC en LSP 250 y se cuantifican en un módulo de cuantificación 252. El módulo de cuantificación 252 puede generar índices de cuantificación LSP para enviarse al decodificador, tal como en la información lateral de banda alta 172 de la FIG. 1.
[0066] Los LPC se pueden usar para configurar un filtro de síntesis 260 que reciba 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 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 enviarse al decodificador, tal como en la información lateral de banda alta 172 de la FIG. 1.
[0067] Como se describió anteriormente, un orden de predicción inferior se puede usar para el análisis LP (por ejemplo, usar el orden LPC = 2 o 4 en lugar de 10) si la ganancia LP es mayor que un umbral particular para reducir la saturación. Para ilustrar, el módulo de análisis LP 248 puede funcionar de acuerdo con el siguiente pseudocódigo:
{energía flotante, lpc_shb1[M+1];
/*extiende los LPC de superbanda alta (lpc_shb) a un cálculo de ganancia de orden 16° */
/*inicializa un vector temporal de LPC de superbanda alta (lpc_shb1) con 0 valores */
set_f (lpc_shb1, 0, M + 1);
/*copiar LPC de superbanda alta que estén en lpc_shb a lpc_shb1 */ mvr2r (lpc_shb, lpc_shb1, LPC_SHB_ORDER + 1);
/* estimar la ganancia LP */
/* enr_1_Az emite energía de respuesta de impulso (enerG) correspondiente a la ganancia LP en base a LPC y al tamaño de subtrama */ enerG = enr_1_Az (lpc_shb1, 2 * L_SUBRF);
/* si la ganancia LP es mayor que un umbral, evitar la saturación. La función 'is_numeric_float' se usa para verificar la enerG infinita */ si(enerG > 64 II ! (is_numeric_float (enerG)))
{
/*reinicializa lpc_shb con 0 valores */ set_f (lpc_shb, 0, LPC_SHB_ORDER+1);
/*poblar lpc_shb con nuevos LPC para orden LP = 2 en base a un vector de autocorrelaciones (R) y una energía de error de predicción (ervec) usando una operación de recursión Levinson-Durbin */ lev_dur (lpc_shb, R, 2, ervec);
}}
[0068] En base al pseudocódigo, el módulo de análisis LP 248 puede determinar una ganancia LP en base a una operación de ganancia LP que use un primer valor de un orden LP. Por ejemplo, el módulo de análisis LP 248 puede estimar la ganancia LP (por ejemplo, "enerG") usando la función 'ener_1_Az'. La función puede usar un filtro de orden 16° (por ejemplo, un cálculo de ganancia de orden decimosexto) para estimar la ganancia LP. El módulo de análisis LP 248 también puede comparar la ganancia 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 limitante y que se pueden usar otros valores numéricos como el umbral. El módulo de análisis 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 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 LP 248 determina que el nivel de energía (por ejemplo, la ganancia LP) satisface el umbral (por ejemplo, es mayor que el límite) o excede el límite, o ambos, el módulo de análisis LP 248 puede reducir el orden LP del primer valor (por ejemplo, 16) a un segundo valor (por ejemplo, 2 o 4) para reducir la probabilidad de saturación LPC.
[0069] 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 la señal determinada por el filtro 244 satisfaga un umbral (por ejemplo, cuando la característica de la señal indica que la señal de entrada 201 tiene poco o no hay contenido en el intervalo de frecuencias superior de la parte de banda alta). Cuando se codifican dichas señales, se producen grandes oscilaciones en los valores del parámetro de forma de ganancia de trama a trama y/o de
5
10
15
20
25
30
35
40
45
50
55
60
65
subtrama a subtrama, lo que da como resultado artefactos audibles en una señal de audio reconstruida. Por ejemplo, como se muestra en un círculo en la FIG. 3, los artefactos 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 dichos artefactos ajustando selectivamente valores de parámetros de forma de ganancia cuando la señal de entrada 201 tenga poco o ningún contenido en la parte de banda alta, o al menos una región de frecuencia superior de la misma.
[0070] Como se ha descrito con respecto a la primera ruta, en el primer modo de funcionamiento, la ruta de generación de la señal de excitación de banda alta 241 incluye una operación de mezcla descendente para generar la señal 217. Esta operación de mezcla descendente puede ser compleja si se implementa a través de transformadores Hilbert. Una implementación alternativa puede basarse en filtros de espejo en cuadratura (QMF). En el segundo modo de operación, la operación de mezcla 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 objetivo de banda alta 247. Se apreciará que generar la señal de excitación de banda alta 241 según el segundo modo (por ejemplo, usar el filtro 218) puede desviar el filtro de polo cero 214 y el mezclador descendente 216 y reducir operaciones complejas y computacionalmente costosas asociadas con polo cero filtrado y el mezclador descendente. Aunque la FIG. 2 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 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 adaptativo de blanqueamiento y escalado 222).
[0071] La FIG. 4 representa un aspecto particular de un decodificador 400 que puede usarse para decodificar 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.
[0072] El decodificador 400 incluye un decodificador de banda baja 404, tal como un decodificador de 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 (por ejemplo, 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/intervalo 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).
[0073] El decodificador de banda baja 404 genera una señal decodificada 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 adaptativo de blanqueamiento y escalado 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.
[0074] El filtro de síntesis 260 de la FIG. 2 puede configurarse en el decodificador 400 de acuerdo con los índices de cuantificación LSP recibidos de un codificador, tal como la salida 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, según 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.
[0075] La síntesis de alta banda continúa con el procesamiento por un mezclador 464 configurado para mezclar de manera ascendente la señal ajustada del intervalo de frecuencias de 0 Hz a (F2-F1) Hz al intervalo de frecuencias de (F-F2) Hz a (F-F1 ) Hz (por ejemplo, de 1,6 kHz a 9,6 kHz). Una señal mezclada de manera ascendente emitida por el mezclador 464 se muestrea de manera ascendente en un muestreador 466, y se proporciona una salida muestreada hacia arriba del muestreador 466 a un módulo de volteo espectral 468 que puede funcionar como se describe con respecto al módulo de inversión espectral 210 para generar una señal decodificada de banda alta 469 que tiene una banda de frecuencia que se extiende de F1 Hz a F2 Hz.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0076] La señal decodificada de banda baja 471 emitida por el decodificador de banda baja 404 (de 0 Hz a F1 Hz) y la señal decodificada de banda alta 469 emitida desde el módulo de inversión 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, en base a una combinación de la señal decodificada de banda baja 471 y de la señal decodificada de banda alta 469, y que tiene un intervalo de frecuencias de 0 Hz a F2 Hz.
[0077] 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, usando el filtro 218) puede desviar el filtro de polo cero 214 y el mezclador descendente 216 y reducir compleja y computacionalmente operaciones caras asociadas con el filtrado de polo cero y el mezclador descendente. Aunque la FIG. 4 describa 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 decodificador 400, en otros aspectos, el decodificador 400 puede configurarse para funcionar en el segundo modo sin ser configurable para funcionar también en el primer modo (por ejemplo, el decodificador 400 puede omitir el conmutador 212, el filtro 214, el mezclador descendente 216 y el conmutador 220, que tiene la entrada del filtro 218 acoplada para recibir la señal volteada 211 y que tiene la señal 219 proporcionada a la entrada del módulo adaptativo de blanqueamiento y de escalado 222).
[0078] Con referencia a la FIG. 5A, se muestra un aspecto particular de un procedimiento 500 de ajuste de un parámetro de ganancia temporal en base a una característica de señal de banda alta. En un aspecto ilustrativo, el procedimiento 500 puede realizarse por el sistema 100 de la FIG. 1 o el codificador 200 de la FIG. 2.
[0079] El procedimiento 500 puede incluir la determinación de si una característica de señal de un intervalo 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.
[0080] 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 sintetizada de banda alta en base a 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 en base a la señal de excitación de banda alta 161.
[0081] Continuando con 508, el procedimiento 500 puede determinar un valor de un parámetro de ganancia temporal (por ejemplo, aumento de forma) en base a una comparación de la parte de banda alta sintetizada a 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 satisfaga 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 satisfaga 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 en base a 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
[0082] Cuando la característica de la señal no satisfaga 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 incluya contenido suficiente de 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/de los valor(es) de parámetro de forma de ganancia.
[0083] 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 programables por campo (FPGA), un circuito integrado específico de la aplicación (ASIC), etc.) de una unidad de procesamiento, como una unidad de procesamiento central (CPU), un procesador de señales digitales (DSP), o un controlador, a través de un dispositivo de firmware, o cualquier combinación de los mismos. Como ejemplo, el procedimiento 500 de la FIG. 5A puede realizarse por un procesador que ejecute instrucciones, como se describe con respecto a la FIG. 6.
[0084] 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 realizarse por el sistema 100 de la FIG. 1 o por el codificador 200 de la FiG. 2.
[0085] El procedimiento 520 incluye la generación de una versión volteada espectralmente de una señal de audio a través de la realización de una operación de volteo de espectro de la señal de audio para procesar una parte de banda alta de la señal de audio en la banda base, en 522. Por ejemplo, con referencia a la FIG. 2, el módulo de
5
10
15
20
25
30
35
40
45
50
55
60
65
inversión 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. Voltear espectralmente la señal de entrada 201 puede permitir el procesamiento del intervalo 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.
[0086] Una suma de valores de energía se puede calcular en base a la versión volteada espectralmente de la señal de audio, en 524. Por ejemplo, con referencia a la FIG. 1, el módulo de procesamiento previo 110 puede realizar una operación de promedio a largo plazo sobre la suma de los valores de energía. Los valores de energía pueden corresponder a salidas QMF correspondientes al intervalo 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.
[0087] El procedimiento 520 de la FIG. 5B puede reducir los artefactos generados durante la codificación/decodificació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 de señal de banda alta 126. 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 parámetro de forma de ganancia para limitar la variabilidad (por ejemplo, un intervalo dinámico limitado) del parámetro de forma de ganancia. Limitar la variabilidad del parámetro de forma de ganancia puede reducir los artefactos generados durante la codificación/decodificación de la señal de audio de banda limitada.
[0088] 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 programables por campo (FPGA), un circuito integrado específico de la aplicación (ASIC), etc.) de una unidad de procesamiento, tal como una unidad de procesamiento central (CPU), un procesador de señales digitales (DSP), o un controlador, a través de un dispositivo de firmware, o cualquier combinación de los mismos. Como ejemplo, el procedimiento 520 de la FIG. 5B puede realizarse por un procesador que ejecute instrucciones, como se describe con respecto a la FIG. 6.
[0089] Con referencia a la FIG. 5C, se muestra un aspecto particular de un procedimiento 540 de ajustar LPC de un codificador. En un aspecto ilustrativo, el procedimiento 540 puede realizarse por el sistema 100 de la FIG. 1 o por el módulo de análisis LP 248 de la FIG. 2. De acuerdo con una implementación, el módulo de análisis LP 248 puede funcionar de acuerdo con el pseudocódigo correspondiente descrito anteriormente para realizar el procedimiento 540.
[0090] El procedimiento 540 incluye determinar, en un codificador, una ganancia de predicción lineal (LP) en base a una operación de ganancia LP que usa un primer valor de un orden LP, en 542. La ganancia LP puede estar asociada con un nivel de energía de un filtro de síntesis LP. Por ejemplo, con referencia a la FIG. 2, el módulo de análisis LP 248 puede determinar una ganancia LP en base a un cálculo de ganancia LP que use un primer valor para un orden LP. De acuerdo con una implementación, el primer valor corresponde a un filtro de decimosexto orden. La ganancia 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 impulso que se base en un tamaño de trama de audio de una trama de audio y en base a 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 amplificada de ancho de banda 209).
[0091] La ganancia LP puede compararse con un umbral, en 544. Por ejemplo, con referencia a la FIG. 2, el módulo de análisis LP 248 puede comparar la ganancia LP con un umbral. El orden LP puede reducirse desde el primer valor a un segundo valor si la ganancia LP satisface el umbral, en 546. Por ejemplo, con referencia a la FIG. 2, el módulo de análisis LP 248 puede reducir el orden LP del primer valor a un segundo valor si la ganancia 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.
[0092] El procedimiento 540 puede incluir también la determinación de si el nivel de energía excede un límite. Por ejemplo, con referencia a la FIG. 2, el módulo de análisis 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 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.
[0093] 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 ejemplo, el procedimiento 540 de la FIG. 5C puede realizarse por un procesador que ejecute instrucciones, como se describe con respecto a la FIG. 6.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0094] 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 con 600. En diversos aspectos, el dispositivo 600 puede tener menos o más componentes que los ilustrados 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, del procedimiento 520 de la FIG. 5B y/o del procedimiento 540 de la FIG. 5C.
[0095] 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 610 adicionales (por ejemplo, uno o más procesadores de señales digitales (DSP)). El procesador 610 puede incluir un codificador- decodificador (CÓDEC) de voz y música 608 y un cancelador de eco 612. El CÓDEC de voz y música 608 puede incluir un codificador de vocoder 636, un decodificador de vocoder 638 o ambos.
[0096] En un aspecto particular, el codificador del vocoder 636 puede incluir el sistema 100 de la FIG. 1 o el codificador 200 de la FIG. 2. El codificador de vocoder 636 puede incluir un ajustador de forma de ganancia 662 configurado para ajustar selectivamente información de ganancia temporal (por ejemplo, valor(es)) de parámetro de forma de ganancia en base a 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 intervalo de frecuencias superior de una parte de banda alta).
[0097] El decodificador de vocoder 638 puede incluir el decodificador 400 de la FIG. 4. Por ejemplo, el decodificador de vocoder 638 puede configurarse para realizar la reconstrucción de señal 672 en base a valores de parámetros de forma de ganancia ajustados. Aunque se ilustra el CÓDEC de voz 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 vocoder y música 608 en el procesador 606, el CÓDEC 634, otro componente de procesamiento o una combinación de los mismos.
[0098] El dispositivo 600 puede incluir una memoria 632 y un controlador inalámbrico 640 acoplado a una antena 642 a través 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.
[0099] 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 voz y música 608, tal como en un formato de modulación por código de pulsos (PCM). El CÓDEC de voz y música 608 puede procesar las señales digitales. En un aspecto particular, el CÓDEC de voz y música 608 puede proporcionar señales digitales al CÓDEC 634. El CÓDEC 634 puede convertir las señales digitales en señales analógicas usando el convertidor de digital a analógico 602 y puede proporcionar las señales analógicas al altavoz 648.
[0100] 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 realizar procedimientos y procesos divulgados en el presente documento, tales como los procedimientos de las 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 puede(n) ser un dispositivo de memoria, tal como una memoria de acceso aleatorio (RAM), una memoria de acceso aleatorio magnetorresistivo (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 solo 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). El dispositivo de memoria puede incluir instrucciones (por ejemplo, las instrucciones 656) que, cuando se ejecutan por un ordenador (por ejemplo, un procesador en el CÓDEC 634, el procesador 606 y o los procesadores 610), pueden causar que el ordenador haga funcionar 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 incluya instrucciones (por ejemplo, las instrucciones 656) que, cuando se ejecutan por un ordenador (por ejemplo, un procesador en el CÓDEC 634, el procesador 606 y/o los procesadores 610) causan que el ordenador realice al menos una parte de los procedimientos de las FIGS. 5A-5B.
[0101] En un aspecto particular, el dispositivo 600 puede incluirse en un sistema en cápsula 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 cápsula 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
5
10
15
20
25
30
35
40
45
50
55
60
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, del dispositivo de entrada 630, del altavoz 648, del micrófono 646, de la antena 642 y de 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 ejemplo 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 tableta, 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 decodificador, un sistema codificador o cualquier combinación de los mismos.
[0102] En un aspecto ilustrativo, los procesadores 610 pueden ser operables para realizar operaciones de codificación y decodificación de señales 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 en una forma de onda digital que incluya muestras de audio digitales. Los procesadores 610 pueden 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 en el micrófono 646.
[0103] El codificador de vocodificador 636 puede comprimir muestras de audio digitales correspondientes a una señal de voz 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.
[0104] Como otro ejemplo, la antena 642 puede recibir paquetes entrantes que incluyan 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 decodificador de núcleo ACELP 404 de la FIG. 4. El decodificador de vocodificador 638 puede descomprimir y decodificar 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 decodificador de vocodificador 638 de una forma de onda digital en una forma de onda analógica y puede proporcionar la forma de onda convertida en el altavoz 648 para su salida.
[0105] Los expertos en la técnica apreciarán además que los diversos bloques lógicos, configuraciones, módulos, circuitos y etapas 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 etapas 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 expertos en la técnica pueden implementar la funcionalidad descrita de varias maneras para cada aplicación particular, pero no se debería interpretar que dichas decisiones de implementación suponen apartarse del alcance de la presente divulgación.
[0106] Las etapas 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 magnetorresistiva (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 manera que el procesador puede leer información de, y escribir información en, el dispositivo de memoria. Como 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. Como alternativa, el procesador y el medio de almacenamiento pueden residir como componentes discretos en un dispositivo informático o en un terminal de usuario.
[0107] 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. Diversas modificaciones a estos aspectos resultarán evidentes para los expertos en la técnica, y los principios definidos en el presente documento se pueden aplicar a otros aspectos sin apartarse del alcance definido por las siguientes reivindicaciones.

Claims (15)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    1. Un procedimiento (540) de codificación de una señal de audio, comprendiendo el procedimiento el ajuste de coeficientes de predicción lineales, LPC, de un codificador de señales de audio, en el que el ajuste de LPC del codificador comprende:
    determinar (542), en el codificador, una ganancia de predicción lineal, LP, en base a una operación de ganancia LP que usa un primer valor para un orden LP, la ganancia LP asociada con un nivel de energía de un filtro de síntesis LP;
    comparar (544) la ganancia LP con un umbral; y
    reducir (546) el orden LP del primer valor a un segundo valor si la ganancia LP es mayor que el umbral.
  2. 2. El procedimiento (540) según la reivindicación 1, en el que el filtro de síntesis LP es sensible a una señal de excitación de banda alta generada a partir de una extensión armónica de una señal de excitación de banda baja.
  3. 3. El procedimiento (540) según la reivindicación 1, en el que el nivel de energía corresponde a una energía de respuesta de impulso y se basa en un tamaño de trama de audio de una trama de audio y en un número de LPC generados para la trama de audio.
  4. 4. El procedimiento (540) según la reivindicación 1, en el que el primer valor corresponde a un filtro de décimo orden, y en el que el segundo valor corresponde a un filtro de segundo orden.
  5. 5. El procedimiento (540) según la reivindicación 1, en el que el primer valor corresponde a un filtro de décimo orden, y en el que el segundo valor corresponde a un filtro de cuarto orden.
  6. 6. Un aparato para codificar una señal de audio, que comprende:
    un codificador de señales de audio; y
    unas instrucciones de almacenamiento de memoria ejecutables por el codificador para realizar operaciones que comprendan ajustar los coeficientes de predicción lineales, LPC, del codificador, en el que el ajuste de LPC del codificador comprende:
    determinar una ganancia de predicción lineal, LP, en base a una operación de ganancia LP que usa un primer valor para un orden LP, la ganancia LP asociada con un nivel de energía de un filtro de síntesis LP;
    comparar la ganancia LP con un umbral; y
    reducir el orden LP desde el primer valor hasta un segundo valor si la ganancia LP es mayor que el umbral.
  7. 7. El aparato según la reivindicación 6, en el que el filtro de síntesis LP responde a una señal de excitación de banda alta generada a partir de una extensión armónica de una señal de excitación de banda baja.
  8. 8. El aparato según la reivindicación 6, en el que el nivel de energía corresponde a una energía de respuesta de impulso y se basa en un tamaño de trama de audio de una trama de audio y en un número de LPC generados para la trama de audio.
  9. 9. El aparato según la reivindicación 6, en el que el primer valor corresponde a un filtro de décimo orden, y en el que el segundo valor corresponde a un filtro de segundo orden.
  10. 10. El aparato según la reivindicación 6, en el que el primer valor corresponde a un filtro de décimo orden, y en el que el segundo valor corresponde a un filtro de cuarto orden.
  11. 11. Un medio no transitorio legible por ordenador que comprende instrucciones para codificar una señal de audio, en el que las instrucciones, cuando se ejecutan por un codificador de señales de audio, causan que el codificador realice operaciones que comprendan ajustar coeficientes de predicción lineal, LPC, del codificador, en el que ajustar LPC del codificador comprende:
    determinar una ganancia de predicción lineal, LP, en base a una operación de ganancia LP que usa un primer valor para un orden LP, la ganancia LP asociada con un nivel de energía de un filtro de síntesis LP;
    10
    15
    comparar la ganancia LP con un umbral; y
    reducir el orden LP desde el primer valor hasta un segundo valor si la ganancia LP es mayor que el umbral.
  12. 12. El medio no transitorio legible por ordenador según la reivindicación 11, en el que el filtro de síntesis LP responde a una señal de excitación de banda alta generada a partir de una extensión armónica de una señal de excitación de banda baja.
  13. 13. El medio no transitorio legible por ordenador según la reivindicación 11, en el que el nivel de energía corresponde a una energía de respuesta de impulso y se basa en un tamaño de trama de audio de una trama de audio y en un número de LPC generados para la trama de audio.
  14. 14. El medio no transitorio legible por ordenador según la reivindicación 11, en el que el primer valor corresponde a un filtro de décimo orden, y en el que el segundo valor corresponde a un filtro de segundo orden.
  15. 15. El medio no transitorio legible por ordenador según la reivindicación 11, en el que el primer valor corresponde a un filtro de décimo orden, y en el que el segundo valor corresponde a un filtro de cuarto orden.
ES15729725.0T 2014-06-26 2015-06-05 Ajuste del orden de predicción lineal de un codificador de audio Active ES2690251T3 (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,276 US9626983B2 (en) 2014-06-26 2015-06-04 Temporal gain adjustment based on high-band signal characteristic
US201514731276 2015-06-04
PCT/US2015/034540 WO2015199955A1 (en) 2014-06-26 2015-06-05 Temporal gain adjustment based on high-band signal characteristic

Publications (1)

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

Family

ID=54931208

Family Applications (2)

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
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

Family Applications After (1)

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

Country Status (12)

Country Link
US (2) US9583115B2 (es)
EP (2) EP3161825B1 (es)
JP (2) JP6196004B2 (es)
KR (2) KR101809866B1 (es)
CN (2) CN106463136B (es)
AR (2) AR100847A1 (es)
BR (1) BR112016030384B1 (es)
CA (2) CA2952006C (es)
ES (2) ES2690251T3 (es)
HU (2) HUE039281T2 (es)
TW (2) TW201606758A (es)
WO (2) WO2015199954A1 (es)

Families Citing this family (11)

* 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
EP2980795A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoding and decoding using a frequency domain processor, a time domain processor and a cross processor for initialization of the time domain processor
EP2980794A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and decoder using a frequency domain processor and a time domain processor
US10109284B2 (en) * 2016-02-12 2018-10-23 Qualcomm Incorporated Inter-channel encoding and decoding of multiple high-band audio signals
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
EP3729427A1 (en) * 2017-12-19 2020-10-28 Dolby International AB Methods and apparatus for unified speech and audio decoding qmf based harmonic transposer improvements
US11425258B2 (en) * 2020-01-06 2022-08-23 Waves Audio Ltd. Audio conferencing in a room
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 삼성전자주식회사 광대역 음성 부호화 및 복호화 시스템에서 고대역 음성부호화 및 복호화 장치와 그 방법
NZ562182A (en) * 2005-04-01 2010-03-26 Qualcomm Inc Method and apparatus for anti-sparseness filtering of a bandwidth extended speech prediction excitation signal
CN101138274B (zh) * 2005-04-15 2011-07-06 杜比国际公司 用于处理去相干信号或组合信号的设备和方法
DK1875463T3 (en) * 2005-04-22 2019-01-28 Qualcomm Inc SYSTEMS, PROCEDURES AND APPARATUS FOR AMPLIFIER FACTOR GLOSSARY
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
RU2439721C2 (ru) 2007-06-11 2012-01-10 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Аудиокодер для кодирования аудиосигнала, имеющего импульсоподобную и стационарную составляющие, способы кодирования, декодер, способ декодирования и кодированный аудиосигнал
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
JP5441577B2 (ja) * 2009-09-11 2014-03-12 三菱電機株式会社 冷蔵庫
FR2961937A1 (fr) 2010-06-29 2011-12-30 France Telecom Codage/decodage predictif lineaire adaptatif
JP2012144128A (ja) * 2011-01-11 2012-08-02 Toyota Motor Corp 燃料タンクの給油部構造
US8811601B2 (en) * 2011-04-04 2014-08-19 Qualcomm Incorporated Integrated echo cancellation and noise suppression
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
KR101809866B1 (ko) 2017-12-15
CA2952006A1 (en) 2015-12-30
EP3161825A1 (en) 2017-05-03
JP6312868B2 (ja) 2018-04-18
KR101849871B1 (ko) 2018-04-17
US9626983B2 (en) 2017-04-18
CA2952006C (en) 2019-05-21
HUE039281T2 (hu) 2018-12-28
US9583115B2 (en) 2017-02-28
AR100848A1 (es) 2016-11-02
EP3161823A1 (en) 2017-05-03
CN106663440A (zh) 2017-05-10
WO2015199955A1 (en) 2015-12-30
CA2952214A1 (en) 2015-12-30
TW201604865A (zh) 2016-02-01
AR100847A1 (es) 2016-11-02
CA2952214C (en) 2020-06-16
WO2015199954A1 (en) 2015-12-30
KR20170023007A (ko) 2017-03-02
EP3161823B1 (en) 2018-07-18
CN106463136B (zh) 2018-05-08
ES2690252T3 (es) 2018-11-20
US20150380007A1 (en) 2015-12-31
JP2017523460A (ja) 2017-08-17
JP2017524980A (ja) 2017-08-31
KR20170023851A (ko) 2017-03-06
BR112016030384B1 (pt) 2023-04-04
JP6196004B2 (ja) 2017-09-13
CN106663440B (zh) 2018-05-08
BR112016030384A2 (es) 2017-08-22
HUE039698T2 (hu) 2019-01-28
EP3161825B1 (en) 2018-07-18
TWI598873B (zh) 2017-09-11
US20150380006A1 (en) 2015-12-31
TW201606758A (zh) 2016-02-16
CN106463136A (zh) 2017-02-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
ES2955855T3 (es) Generación de señal de banda alta
TWI559298B (zh) 用於音訊信號之諧波頻寬延展之方法、裝置及電腦可讀儲存器件
ES2660605T3 (es) Estimación de factores de mezcla para generar una señal de excitación de banda alta
ES2755364T3 (es) Codificación de señal de banda alta que utiliza múltiples subbandas
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
BR112016030386B1 (pt) Codificação de sinal de banda alta com o uso de faixas de frequência incompatíveis