ES2625042T3 - Sistemas y procedimientos para realizar la modulación de ruido y el ajuste de ganancia - Google Patents

Sistemas y procedimientos para realizar la modulación de ruido y el ajuste de ganancia Download PDF

Info

Publication number
ES2625042T3
ES2625042T3 ES13766166.6T ES13766166T ES2625042T3 ES 2625042 T3 ES2625042 T3 ES 2625042T3 ES 13766166 T ES13766166 T ES 13766166T ES 2625042 T3 ES2625042 T3 ES 2625042T3
Authority
ES
Spain
Prior art keywords
value
high band
audio signal
signal
excitation signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES13766166.6T
Other languages
English (en)
Inventor
Venkatraman Srinivasa ATTI
Venkatesh Krishnan
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 ES2625042T3 publication Critical patent/ES2625042T3/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/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • 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
    • G10L19/035Scalar quantisation
    • 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
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03GCONTROL OF AMPLIFICATION
    • H03G3/00Gain control in amplifiers or frequency changers
    • H03G3/20Automatic control
    • H03G3/30Automatic control in amplifiers having semiconductor devices
    • H03G3/3005Automatic control in amplifiers having semiconductor devices in amplifiers suitable for low-frequencies, e.g. audio amplifiers
    • H03G3/301Automatic control in amplifiers having semiconductor devices in amplifiers suitable for low-frequencies, e.g. audio amplifiers the gain being continuously variable
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03GCONTROL OF AMPLIFICATION
    • H03G3/00Gain control in amplifiers or frequency changers
    • H03G3/20Automatic control
    • H03G3/30Automatic control in amplifiers having semiconductor devices
    • H03G3/3089Control of digital or coded signals
    • 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
    • G10L2019/0001Codebooks
    • G10L2019/0003Backward prediction of gain

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Stereophonic System (AREA)
  • Circuits Of Receivers In General (AREA)
  • Noise Elimination (AREA)
  • Amplifiers (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Un procedimiento de codificación de audio, que comprende: recibir (502) un primer valor de un factor de mezcla, el primer valor en base a parámetros de voz de banda baja de una primera porción de una señal de audio; recibir (504) un segundo valor del factor de mezcla, el segundo valor en base a parámetros de voz de banda baja de una segunda porción de la señal de audio; generar (506) un tercer valor del factor de mezcla, al menos parcialmente en base al primer valor, al segundo valor y a la fluctuación de la energía de banda alta de la señal de audio; y generar una señal de excitación de banda alta correspondiente a una porción de banda alta de la señal de audio, en donde la señal de excitación de banda alta se genera en base a la mezcla (508) de una señal de excitación con ruido modulado en base al tercer factor de mezcla, en donde la señal de excitación corresponde a una versión transformada de una señal de excitación de banda baja, correspondiendo la señal de excitación de banda baja a una porción de banda baja de la señal de audio.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Sistemas y procedimientos para realizar la modulacion de ruido y el ajuste de ganancia CAMPO
La presente divulgacion se refiere generalmente al procesamiento de senales.
descripciOn de la tecnica relacionada
Los avances en la tecnologfa han dado como resultado dispositivos informaticos mas pequenos y mas potentes. Por ejemplo, existe actualmente una variedad de dispositivos informaticos personales portatiles, que incluyen dispositivos informaticos inalambricos, tales como telefonos inalambricos portatiles, asistentes digitales personales (PDA) y dispositivos de localizacion que son pequenos, ligeros y facilmente llevados por los usuarios. Mas especfficamente, los telefonos inalambricos portatiles, tales como los telefonos moviles y los telefonos de protocolo de Internet (IP), pueden comunicar paquetes de voz y datos a traves de redes inalambricas. Ademas, muchos de dichos telefonos inalambricos incluyen otros tipos de dispositivos que se incorporan en los mismos. Por ejemplo, un telefono inalambrico puede incluir tambien una camara fotografica digital, una camara de video digital, un grabador digital y un reproductor de archivos de audio.
En los sistemas telefonicos tradicionales (por ejemplo, las redes telefonicas publicas conmutadas (PSTN)), el ancho de banda de la senal se limita a la gama de frecuencias de 300 hercios (Hz) a 3,4 kilohercios (kHz). En las aplicaciones de banda ancha (WB), tales como la telefonia movil y el protocolo de voz por Internet (VoIP), el ancho de banda de la senal puede abarcar la gama de frecuencias de 50 Hz a 7 kHz. Las tecnicas de codificacion de superbanda ancha (SWB) soportan un ancho de banda que se extiende hasta alrededor de 16 kHz. La extension del ancho de banda de la senal desde la telefonia de banda estrecha a 3,4 kHz hasta la telefonia SWB de 16 kHz puede mejorar la calidad de la reconstruccion, de la inteligibilidad y de la naturalidad de las senales.
Las tecnicas de codificacion SWB implican tfpicamente la codificacion y la transmision de la porcion de frecuencia inferior de la senal (por ejemplo, 50 Hz a 7 kHz, llamada tambien "banda baja"). Por ejemplo, la banda baja puede representarse usando parametros de filtro y/o una senal de excitacion de banda baja. Sin embargo, con el fin de mejorar la eficiencia de codificacion, la porcion de frecuencia mas alta de la senal (por ejemplo, 7 kHz a 16 kHz, llamada tambien "banda alta") no puede codificarse ni transmitirse por completo. En su lugar, un receptor puede utilizar el modelado de senales para predecir la banda alta. En algunas implementaciones, datos asociados con la banda alta pueden proporcionarse al receptor para asistir en la prediccion. Dichos datos pueden denominarse "informacion suplementaria" y pueden incluir informacion de ganancia, frecuencias espectrales de lfnea (LSF, denominadas tambien pares espectrales de lfnea (LSP)), etc. La prediccion de banda alta que usa un modelo de senal puede ser precisa de forma aceptable cuando la senal de banda baja este suficientemente correlacionada con la senal de banda alta. Sin embargo, en presencia de ruido, la correlacion entre la banda baja y la banda alta puede ser debil y el modelo de senal puede no ser capaz ya de representar de forma precisa la banda alta. Esto puede dar como resultado artefactos (por ejemplo, voz distorsionada) en el receptor.
En el documento US 2008/0027718 A1 de Krishnan et al, se describen procedimientos en los cuales las subbandas de una senal de voz se codifican por separado, con la excitacion de una primera subbanda derivandose a partir de una segunda subbanda. Los factores de ganancia se calculan para indicar una relacion variable en el tiempo entre las envolventes de la primera subbanda original y de la primera subbanda sintetizada. Los factores de ganancia se cuantifican y los valores cuantificados que exceden los valores cuantificados previamente se recodifican.
En el documento US 2011/0295598 A1 de Yang et al, se describen procedimientos de codificacion de audio en los cuales se usa una senal de excitacion para una primera banda de frecuencia de la senal de audio para calcular una senal de excitacion para una segunda banda de frecuencia de la senal de audio que es distinta de la primera banda de frecuencia.
En el documento EP 1 808 684 A1 de Matsushita Elec. Ind. Co. Ltd. de Japon, se describe un aparato decodificador escalable capaz de proporcionar senales de audio decodificadas de alta calidad que tengan una degradacion menor de un espectro de alta frecuencia incluso cuando se decodifiquen senales de audio generando el espectro de alta frecuencia mediante el uso de un espectro de baja frecuencia. En el aparato, una parte de ajuste de amplitud usa coeficientes de ajuste diferentes de acuerdo con la caracterfstica de la informacion espectral de la primera capa para ajustar la amplitud de un espectro de senal decodificada de la primera capa y luego emite el espectro de senal decodificada de la primera capa ajustada a la amplitud a una parte de generacion de pseudoespectro. Usando un espectro de senal decodificada de la primera capa ajustado a la amplitud recibido desde la parte de ajuste de amplitud, la parte de generacion de pseudoespectro genera y emite un pseudoespectro de frecuencias altas a una parte de escala. La parte de escala escala el espectro recibido desde la parte de generacion de pseudoespectro y luego lo emite a un sumador.
En el documento WO 2006/107840 A1 de Qualcomm Inc, se describe un codificador de voz de banda ancha que
5
10
15
20
25
30
35
40
45
50
55
60
65
incluye un codificador de banda estrecha y un codificador de banda alta. El codificador de banda estrecha esta configurado para codificar una porcion de banda estrecha de una senal de voz de banda ancha en un conjunto de parametros de filtro y en una senal de excitacion codificada correspondiente. El codificador de banda alta esta configurado para codificar, de acuerdo con una senal de excitacion de banda alta, una porcion de banda alta de la senal de voz de banda ancha en un conjunto de parametros de filtro. El codificador de banda alta esta configurado para generar la senal de excitacion de banda alta aplicando una funcion no lineal a una senal en base a la senal de excitacion de banda estrecha codificada para generar una senal extendida de forma espectral.
RESUMEN
Los sistemas y los procedimientos para realizar la modulacion de ruido y el ajuste de ganancia se divulgan de acuerdo con las reivindicaciones 1 y 12. Por ejemplo, la codificacion de banda alta puede implicar generar una senal de excitacion de banda alta en base a una senal de excitacion de banda baja generada usando el analisis de banda baja (por ejemplo, el analisis de prediccion lineal (LP) de banda baja). La senal de excitacion de banda alta puede generarse mezclando una senal de excitacion de banda baja transformada con ruido modulado (por ejemplo, ruido blanco). La relacion en la cual la senal de excitacion de banda baja transformada y el ruido modulado se mezclan puede afectar a la calidad de la reconstruccion de la senal. En presencia de ruido que disminuya la correlacion entre la banda baja y la banda alta, la senal de excitacion de banda baja transformada puede ser inadecuada para la sfntesis de banda alta. Por ejemplo, la senal de excitacion de banda alta sintetizada puede introducir artefactos audibles. De acuerdo con las tecnicas descritas, la modulacion de ruido y/o el ajuste de ganancia pueden realizarse para reducir dichos artefactos. La realizacion de la modulacion de ruido puede incluir suavizar de forma adaptativa la relacion de excitacion de banda baja con el ruido modulado usado para la sfntesis de banda alta. La realizacion del ajuste de ganancia puede incluir determinar el(los) parametro(s) de ganancia para incluir en la informacion suplementaria de banda alta en base a la distorsion de cuantificacion.
Las ventajas particulares proporcionadas por al menos uno de los modos de realizacion divulgados incluyen una capacidad para realizar la modulacion de ruido y/o el ajuste de ganancia para compensar condiciones ruidosas. Por ejemplo, la modulacion de ruido puede contrarrestar grandes fluctuaciones en un parametro de mezcla usado durante la sfntesis de banda alta. A modo de otro ejemplo, el ajuste de ganancia puede compensar la distorsion espectral debido a un error de cuantificacion. Otros aspectos, ventajas y caracterfsticas de la presente divulgacion se volveran evidentes despues de la revision de toda la solicitud, incluyendo las secciones siguientes: Breve descripcion de los dibujos, descripcion detallada y reivindicaciones.
BREVE DESCRIPCION DE LOS DIBUJOS
La Fig. 1 es un diagrama para ilustrar un modo de realizacion particular de un sistema que puede hacerse funcionar para realizar la modulacion de ruido y el ajuste de ganancia;
la Fig. 2 es un diagrama para ilustrar un modo de realizacion particular de los componentes del sistema de la Fig. 1;
la Fig. 3 es un grafico para ilustrar un modo de realizacion particular de un mapeo entre el factor de ganancia y la distorsion espectral;
la Fig. 4 es un diagrama para ilustrar un modo de realizacion particular del generador de excitacion de banda alta de la Fig. 1;
la Fig. 5 es un diagrama de flujo para ilustrar un primer modo de realizacion de un procedimiento para realizar la modulacion de ruido;
la Fig. 6 es un diagrama de flujo para ilustrar un segundo modo de realizacion de un procedimiento para realizar el ajuste de ganancia; y
la Fig. 7 es un diagrama de bloques de un dispositivo inalambrico que puede hacerse funcionar para realizar operaciones de procesamiento de senales de acuerdo con los sistemas y los procedimientos de las Figs. 1-6.
DESCRIPCION DETALLADA
Con referencia a la Fig. 1, se muestra un modo de realizacion particular de un sistema que puede hacerse funcionar para realizar la modulacion de ruido y el ajuste de ganancia y se designa generalmente con 100. En un modo de realizacion particular, el sistema 100 puede estar integrado en un sistema o aparato de codificacion (por ejemplo, en un telefono inalambrico o codificador/decodificador (CODEC)).
Cabrfa destacar que en la descripcion siguiente, las diversas funciones realizadas por el sistema 100 de la Fig. 1 se describen realizandose por ciertos componentes o modulos. Sin embargo, esta division de los componentes y modulos es solamente para ilustracion. En un modo de realizacion alternativo, una funcion realizada por un
5
10
15
20
25
30
35
40
45
50
55
60
65
componente o modulo particular puede dividirse en su lugar entre multiples componentes o modulos. Ademas, en un modo de realizacion alternativo, dos o mas componentes o modulos de la Fig. 1 pueden estar integrados en un solo componente o modulo. Cada componente o modulo ilustrado en la Fig. 1 puede implementarse usando hardware (por ejemplo, un dispositivo de matriz de puertas programable in situ (FPGA), un circuito integrado de aplicaciones especfficas (ASIC), un procesador de senales digitales (DSP), un controlador, etc.), software (por ejemplo, instrucciones ejecutables por un procesador) o cualquier combinacion de los mismos.
El sistema 100 incluye un banco de filtros de analisis 110 que esta configurado para recibir una senal de audio de entrada 102. Por ejemplo, la senal de audio de entrada 102 puede proporcionarse por un microfono u otro dispositivo de entrada. En un modo de realizacion particular, la senal de audio de entrada 102 puede incluir voz. La senal de audio de entrada puede ser una senal de superbanda ancha (SWB) que incluya datos en la gama de frecuencias desde aproximadamente 50 hercios (Hz) hasta aproximadamente 16 kilohercios (kHz). El banco de filtros de analisis 110 puede filtrar la senal de audio de entrada 102 en multiples porciones en base a la frecuencia. Por ejemplo, el banco de filtros de analisis 110 puede generar una senal de banda baja 122 y una senal de banda alta 124. La senal de banda baja 122 y la senal de banda alta 124 pueden tener anchos de banda iguales o desiguales y pueden solapar o no solapar. En un modo de realizacion alternativo, el banco de filtros de analisis 110 puede generar mas de dos salidas.
En el ejemplo de la Fig. 1, la senal de banda baja 122 y la senal de banda alta 124 ocupan bandas de frecuencia sin solapamiento. Por ejemplo, la senal de banda baja 122 y la senal de banda alta 124 pueden ocupar bandas de frecuencia sin solapamiento de 50 Hz - 7 kHz y 7 kHz - 16 kHz. En un modo de realizacion alternativo, la senal de banda baja 122 y la senal de banda alta 124 pueden ocupar bandas de frecuencia sin solapamiento de 50 Hz - 8 kHz y 8 kHz - 16 kHz. En otro modo de realizacion alternativo, la senal de banda baja 122 y la senal de banda alta 124 se solapan (por ejemplo, 50 Hz - 8 kHz y 7 kHz -16 kHz), lo que puede permitir que un filtro de paso bajo y un filtro de paso alto del banco de filtros de analisis 110 tengan una atenuacion progresiva suave, lo que puede simplificar el diseno y reducir el coste del filtro de paso bajo y del filtro de paso alto. El solapamiento de la senal de banda baja 122 y de la senal de banda alta 124 puede permitir tambien la mezcla suave de las senales de banda baja y de banda alta en un receptor, lo que puede dar como resultado menos artefactos audibles.
Cabrfa destacar que aunque el ejemplo de la Fig. 1 ilustra el procesamiento de una senal SWB, esto es solamente para ilustracion. En un modo de realizacion alternativo, la senal de audio de entrada 102 puede ser una senal de banda ancha (WB) que tenga una gama de frecuencias de aproximadamente 50 Hz hasta aproximadamente 8 kHz. En dicho modo de realizacion, la senal de banda baja 122 puede corresponder a una gama de frecuencias de aproximadamente 50 Hz hasta aproximadamente 6,4 kHz y la senal de banda alta 124 puede corresponder a una gama de frecuencias de aproximadamente 6,4 kHz hasta aproximadamente 8 kHz. Cabrfa destacar tambien que los diversos sistemas y procedimientos en el presente documento se describen detectando ruido de banda alta y realizando diversas operaciones en respuesta al ruido de banda alta. Sin embargo, esto es solamente un ejemplo. Las tecnicas ilustradas con referencia a las Figs. 1-7 pueden realizarse tambien en el contexto del ruido de banda baja.
El sistema 100 puede incluir un modulo de analisis de banda baja 130 configurado para recibir la senal de banda baja 122. En un modo de realizacion particular, el modulo de analisis de banda baja 130 puede representar un modo de realizacion de un codificador de prediccion lineal con excitacion por codigo (CELP). El modulo de analisis de banda baja 130 puede incluir un modulo de analisis de prediccion lineal (LP) y de codificacion 132, un modulo de transformacion de coeficiente de prediccion lineal (LPC) a par espectral de lfnea (LSP) 134 y un cuantificador 136. Los LSP puede denominarse tambien frecuencias espectrales de lfnea (LSF) y los dos terminos pueden usarse indistintamente en el presente documento. El modulo de analisis LP y de codificacion 132 puede codificar una envolvente espectral de la senal de banda baja 122 como un conjunto de LPCs. Los LPCs pueden generarse para cada trama de audio (por ejemplo, 20 milisegundos (ms) de audio, correspondientes a 320 muestras a una frecuencia de muestreo de 16 kHz), para cada subtrama de audio (por ejemplo, 5 ms de audio) o para cualquier combinacion de las mismas. El numero de LPCs generados para cada trama o subtrama puede determinarse por el "orden" del analisis LP realizado. En un modo de realizacion particular, el modulo de analisis LP y de codificacion 132 puede generar un conjunto de once LPCs correspondientes a un analisis LP de decimo orden.
El modulo de transformacion de LPC en LSP 134 puede transformar el conjunto de LPC generados por el modulo de analisis LP y de codificacion 132 en un conjunto correspondiente de LSPs (por ejemplo, usando una transformacion de uno a uno). Como alternativa, el conjunto de LPCs puede transformarse uno a uno en un conjunto correspondiente de coeficientes PARCOR, valores LAR (log-area-ratio), pares espectrales de inmitancia (ISPs) o frecuencias espectrales de inmitancia (ISFs). La transformada entre el conjunto de LPCs y el conjunto de LSPs puede ser reversible sin error.
El cuantificador 136 puede cuantificar el conjunto de LSPs generados por el modulo de transformacion 134. Por ejemplo, el cuantificador 136 puede incluir o estar acoplado a multiples libros de codigos que incluyan multiples entradas (por ejemplo, vectores). Para cuantificar el conjunto de LSPs, el cuantificador 136 puede identificar entradas de libros de codigos que esten "lo mas cerca del" (por ejemplo, en base a una medicion de distorsion, tal como al menos mfnimos cuadrados o error cuadratico medio) conjunto de LSPs. El cuantificador 136 puede emitir un
5
10
15
20
25
30
35
40
45
50
55
60
65
valor de fndice o una serie de valores de indice correspondientes a la ubicacion de las entradas identificadas en el libro de codigos. La salida del cuantificador 136 puede representar por lo tanto parametros de filtros de banda baja que se incluyan en un flujo de bits de banda baja 142.
El modulo de analisis de banda baja 130 puede generar tambien una senal de excitacion de banda baja 144. Por ejemplo, la senal de excitacion de banda baja 144 puede ser una senal codificada que se genere cuantificando una senal residual LP que se genere durante el proceso LP realizado por el modulo de analisis de banda baja 130. La senal residual LP puede representar un error de prediccion.
El sistema 100 puede incluir ademas un modulo de analisis de banda alta 150 configurado para recibir la senal de banda alta 124 desde el banco de filtros de analisis 110 y la senal de excitacion de banda baja 144 del modulo de analisis de banda baja 130. El modulo de analisis de banda alta 150 puede generar informacion suplementaria de banda alta 172 en base a la senal de banda alta 124 y a la senal de excitacion de banda baja 144. Por ejemplo, la informacion suplementaria de banda alta 172 puede incluir informacion de LSPs de banda alta y/o de ganancia (por ejemplo, en base al menos a una relacion de la energfa de banda alta con la energfa de banda baja), como se describe adicionalmente en el presente documento.
El modulo de analisis de banda alta 150 puede incluir un generador de excitacion de banda alta 160. El generador de excitacion de banda alta 160 puede generar una senal de excitacion de banda alta 161 extendiendo un espectro de la senal de excitacion de banda baja 144 en la gama de frecuencias de banda alta (por ejemplo, 7 kHz - 16 kHz). Para ilustrar, el generador de excitacion de banda alta 160 puede aplicar una transformada a la senal de excitacion de banda baja (por ejemplo, una transformada no lineal tal como un valor absoluto o una operacion al cuadrado) y puede mezclar la senal de excitacion de banda baja transformada con una senal de ruido (por ejemplo, ruido blanco modulado de acuerdo con una envolvente correspondiente a la senal de excitacion de banda baja 144 que imite las caracterfsticas temporales de variacion lenta de la senal de banda baja 122) para generar la senal de excitacion de banda alta 161. Por ejemplo, la mezcla puede realizarse de acuerdo con la ecuacion siguiente:
Excitacion de banda alta = (a * excitacion de banda baja transformada) +
((1-a) * ruido modulado)
La relacion en la cual se mezclen la senal de excitacion de banda baja transformada y el ruido modulado puede afectar a la calidad de la reconstruccion de la banda alta en un receptor. Para las senales de voz sonoras, la mezcla puede inclinarse hacia la excitacion de banda baja transformada (por ejemplo, el factor de mezcla a pue de estar en el intervalo de 0,5 a 1,0). Para las senales sin voz, la mezcla puede inclinarse hacia el ruido modulado (por ejemplo, el factor de mezcla a puede estar en el intervalo de 0,0 a 0,5). Un modo de realizacion ilustrativo del generador de excitacion de banda alta 160 se describe con mas detalle con respecto a la Fig. 4.
La senal de excitacion de banda alta 161 puede usarse para determinar uno o mas parametros de ganancia de banda alta que se incluyan en la informacion suplementaria de banda alta 172. Como se ilustra, el modulo de analisis de banda alta 150 puede incluir tambien un modulo de analisis LP y de codificacion 152, un modulo de transformacion de LPC en LSP 154 y un cuantificador 156. Cada uno del modulo de analisis LP y de codificacion 152, del modulo de transformacion 154 y del cuantificador 156 puede funcionar como se ha descrito anteriormente con referencia a los componentes correspondientes del modulo de analisis de banda baja 130 correspondiente pero en una resolucion comparativamente reducida (por ejemplo, usando menos bits para cada coeficiente, LSP, etc.). El modulo de analisis LP y de codificacion 152 puede generar un conjunto de LPCs que se transformen en LSP mediante el modulo de transformacion 154 y se cuantifiquen por el cuantificador 156 en base a un libro de codigos 163. Por ejemplo, el modulo de analisis LP y de codificacion 152, el modulo de transformacion 154 y el cuantificador 156 pueden usar la senal de banda alta 124 para determinar informacion de filtro de banda alta (por ejemplo, LSPs de banda alta) que se incluyan en la informacion suplementaria de banda alta 172. En un modo de realizacion particular, la informacion suplementaria de banda alta 172 puede incluir LSPs de banda alta asf como parametros de ganancia de banda alta. En presencia de ciertos tipos de ruido, los parametros de ganancia de banda alta pueden generarse como resultado del ajuste de ganancia realizado por un modulo de ajuste de ganancia 162, como se describe adicionalmente en el presente documento.
El flujo de bits de banda baja 142 y la informacion suplementaria 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 senal de audio codificada correspondiente a la senal de audio de entrada 102. Por ejemplo, el flujo de bits de salida 192 puede transmitirse (por ejemplo, por un cable, de modo inalambrico o por un canal optico) y/o almacenarse. En un receptor, las operaciones inversas pueden realizarse por un demultiplexor (DEMUX), un decodificador de banda baja, un decodificador de banda alta y un banco de filtros para generar una senal de audio (por ejemplo, una version reconstruida de la senal de audio de entrada 102 que se proporcione a un altavoz o a otro dispositivo de salida). El numero de bits usados para representar el flujo de bits de banda baja 142 puede ser sustancialmente mayor que el numero de bits usados para representar la informacion suplementaria de banda alta 172. Por lo tanto, la mayor parte de los bits en el flujo de bits de salida 192 puede representar datos de banda baja. La informacion suplementaria de banda alta 172 puede usarse en un receptor para regenerar la senal de excitacion de banda alta a partir de los datos de banda baja de acuerdo con un modelo de senal. Por ejemplo, el modelo de
5
10
15
20
25
30
35
40
45
50
55
60
65
senal puede representar un conjunto esperado de relaciones o correlaciones entre los datos de banda baja (por ejemplo, la senal de banda baja 122) y datos de banda alta (por ejemplo, la senal de banda alta 124). Por consiguiente, pueden usarse modelos de senal diferentes para tipos diferentes de datos de audio (por ejemplo, voz, musica, etc.) y el modelo de senal particular que este en uso puede negociarse por un transmisor y un receptor (o definirse por un estandar industrial) antes de la comunicacion de datos de audio codificados. Usando el modelo de senal, el modulo de analisis de banda alta 150 en un transmisor puede ser capaz de generar la informacion suplementaria de banda alta 172 de tal manera que un modulo de analisis de banda alta correspondiente en un receptor es capaz de usar el modelo de senal para reconstruir la senal de banda alta 124 a partir del flujo de bits de salida 192.
La excitacion de banda baja transformada puede ser inadecuada para su uso en la sfntesis de banda alta debido a la correlacion insuficiente entre la senal de banda alta 124 ruidosa y la senal de banda baja 122 ruidosa. Por ejemplo, cuando la senal de audio de entrada 102 incluya voz, la senal de banda alta 124 puede procesarse en tramas de 20 milisegundos (ms) y los parametros LSF y de ganancia puede estimarse y cuantificarse por trama. Cuatro parametros temporales de pendiente de ganancia pueden estimarse por subtrama (por ejemplo, a cada 5 ms) y pueden transmitirse junto con el LSF y los parametros de ganancia total. Por lo tanto, la excitacion de banda alta puede estimarse (por ejemplo, generarse) para cada subtrama. Tfpicamente, el parametro de mezcla a puede determinarse en base a parametros de voz de banda baja. Sin embargo, en la presencia de ruido, la determinacion del parametro de mezcla a de dicha manera puede dar como resultado fluctuaciones por subtrama. Por ejemplo, debido al ruido, el parametro de mezcla a para cuatro subtramas consecutivas puede ser 0,9, 0,25, 0,8, y 0,15, dando como resultado artefactos de zumbidos o de modulacion. Ademas, puede estar presente una gran cantidad de distorsion de cuantificacion.
El modulo de analisis LP y de codificacion 152 puede generar un conjunto de LPCs que se transformen en LSPs mediante el modulo de transformacion 154 y se cuantifiquen por el cuantificador 156 en base al libro de codigos 163. En presencia de ruido, puede ser grande la distorsion de cuantificacion en los LSPs de banda alta.
Por ejemplo, el cuantificador 156 puede estar configurado para cuantificar un conjunto de valores de frecuencia espectral, tales como LSPs proporcionados por el modulo de transformacion 154. En otros modos de realizacion, el cuantificador 156 puede recibir y cuantificar conjuntos de uno o mas de otros tipos de valores de frecuencia espectral, ademas de, o en lugar de, LSFs o LSPs. Por ejemplo, el cuantificador 156 puede recibir y cuantificar un conjunto de coeficientes de prediccion lineal (LPCs) generados por el modulo de analisis LP y de codificacion 152. Otros ejemplos incluyen conjuntos de coeficientes PARCOR, valores LAR y frecuencias espectrales de inmitancia ( ISFs) que pueden recibirse y cuantificarse en el cuantificador 156. El cuantificador 156 puede incluir un cuantificador de vector que codifique un vector de entrada (por ejemplo, un conjunto de valores de frecuencia espectral en un formato de vector) como un fndice a una entrada correspondiente en una tabla o libro de codigos, tal como el libro de codigos 163. A modo de otro ejemplo, el cuantificador 156 puede estar configurado para determinar uno o mas parametros a partir de los cuales el vector de entrada pueda generarse de forma dinamica en un decodificador, tal como en un modo de realizacion de libro de codigos disperso, en lugar de recuperarse del almacenamiento. Para ilustrar, los ejemplos de libros de codigos dispersos pueden aplicarse en sistemas de codificacion tales como CELP y codecs tales como 3GPP2 (Asociacion de Tercera Generacion 2) EVRC (Codificacion de Velocidad Variable Reforzada). En otro modo de realizacion, el modulo de analisis de banda alta 150 puede incluir el cuantificador 156 y puede estar configurado para usar un numero de vectores de libros de codigos para generar senales sintetizadas (por ejemplo, de acuerdo con un conjunto de parametros de filtro) y para seleccionar uno de los vectores de libros de codigos asociados con la senal sintetizada que mejor coincida con la senal de banda alta 124, tal como en un dominio ponderado de forma perceptual.
Los valores atfpicos de cuantificacion de banda alta pueden afectar negativamente a la sfntesis de banda alta y a la estimacion de ganancia temporal. Por ejemplo, la sobreestimacion de parametros temporales y de ganancia puede dar como resultado artefactos. Para reducir dichos artefactos, el modulo de analisis de banda alta 150 puede incluir un ajustador de ganancia 162.
El ajustador de ganancia 162 puede estimar la distorsion espectral entre un primer conjunto de valores espectrales (por ejemplo, los LSFs no cuantificados producidos por el modulo de transformacion 154) y un segundo conjunto de valores espectrales (por ejemplo, los LSFs cuantificados producidos por el cuantificador 156). El ajustador de ganancia 162 puede estimar un factor de ganancia en base a un mapeo del factor de ganancia a una distorsion espectral. La Fig. 3 ilustra un ejemplo de un grafico 300 que mapea el factor de ganancia a la distorsion espectral. En la Fig. 3, "SD1" y "SD2" representan valores atfpicos del 8 % y del 2 %, respectivamente, que pueden calcularse a partir de una funcion de distribucion de probabilidad. Por ejemplo, durante el entrenamiento del libro de codigos 163, puede procesarse una gran cantidad de datos de voz (por ejemplo, 10 horas de datos de voz). Durante el procesamiento, puede generarse una distribucion de probabilidad de la distorsion espectral y pueden determinarse SD1 y SD2.
SD1 y SD2 pueden usarse para determinar los valores del factor de ganancia. En el ejemplo del mapeo 300 de la Fig. 3, cuando se determina que la distorsion espectral es menor que SD1 (por ejemplo, una distorsion menor que un valor atfpico del 8 %), no se realiza ningun ajuste de ganancia (por ejemplo, el factor de ganancia se establece en
5
10
15
20
25
30
35
40
45
50
55
60
65
1). Cuando se determine que la distorsion espectral es mayor que SD2 (por ejemplo, mas distorsion que un valor atfpico del 2 %), la atenuacion puede realizarse estableciendo el factor de ganancia en un valor G2 que sea menor que 1, tales como G2 = 0,5. Cuando la distorsion espectral este en el intervalo de SD1 a SD2, una relacion lineal puede usarse para determinar el factor de ganancia. Por ejemplo, una lfnea que tenga una pendiente de (G2-1) / (SD2-SD1) y una interseccion K pueden usarse para mapear un valor de distorsion espectral SD a un factor de ganancia de acuerdo con
Factor de ganancia = pendiente * SD + interseccion = SD * (G2-1) / (SD2-SD1) + K.
En un modo de realizacion ejemplar, el ajustador de ganancia 162 puede determinar un factor de ganancia (por ejemplo, para ajustar una trama de ganancia que vaya a incluirse en la informacion suplementaria de banda alta 172) de acuerdo con el pseudocodigo siguiente.
/* Iniciar la medicion de distorsion espectral entre el LSF no cuantificado original, es decir, lsp_shb_orig, y los LSFs cuantificados, es decir, lsp_shb */ sd_uq_q = 0;
LPC_ORDER = 10; /* Iniciar el orden LPC*/ para (i = 0; i < LPC_ORDER; i++)
{
/* Estimar la distorsion espectral entre los LSF no cuantificados y cuantificados */ sd_uq_q += (lsp_shb[i] - lsp_shb_orig[i]) * (lsp_shb[i] - lsp_shb_orig[i]);
}
/ * Calcular el factor de ganancia mediante el mapeo de la Fig. 3*/
GainFactor = sd_uq_q * (G2 - 1 )/(SD2-SD1) + K;
/* El factor de ganancia se limita entre G2 y 1,0. */
GainFactor = min(max(GainFactor, G2), 1.0);
/* Frame gain adjustment */
GainFrame = GainFrame * GainFactor;
Como se ilustra en el pseudocodigo anterior, usando el mapeo de la Fig. 3, el ajustador de ganancia 162 puede limitar los artefactos debido a la distorsion espectral (por ejemplo, los valores atfpicos de LSF) cuando se determine el factor de ganancia.
En el pseudocodigo anterior, la distorsion espectral se determina como una suma de cuadrados de los errores debidos a la cuantificacion. Los errores debidos a la cuantificacion se identifican como una diferencia, para cada valor de frecuencia espectral de un conjunto de valores de frecuencia espectral, entre una version cuantificada del valor de frecuencia espectral y una version no cuantificada del valor de frecuencia espectral. Cada error (por ejemplo, cada diferencia entre los valores cuantificados y no cuantificados) se eleva al cuadrado y la distorsion espectral se estima como la suma de los errores cuadraticos. En otros modos de realizacion, las estimaciones de distorsion espectrales pueden determinarse de acuerdo con una u otras tecnicas mas. Por ejemplo, la distorsion espectral puede determinarse de acuerdo con una tecnica de error cuadratico medio (MSE). A modo de otro ejemplo, la distorsion espectral puede determinarse usando valores absolutos (por ejemplo, magnitudes) de diferencias entre los valores de un primer conjunto de valores de frecuencia espectral no cuantificados y un segundo conjunto de valores de frecuencia espectral cuantificados.
Aunque el pseudocodigo anterior y el mapeo de la Fig. 3 determinen un valor de un factor de ganancia de acuerdo con una mapeo lineal parcial de las estimaciones de distorsion espectral a los valores de factores de ganancia, pueden usarse otros mapeos en otros modos de realizacion Por ejemplo, otros mapeos pueden mapear estimaciones de distorsion espectral relativamente inferiores a factores de ganancia mayores (por ejemplo, 1) para una atenuacion reducida y pueden mapear estimadores de distorsion espectral relativamente mas altos a factores de ganancia mas pequenos para una atenuacion aumentada de acuerdo con la cantidad de error de cuantificacion. Aunque, en algunos modos de realizacion, SD1 y SD2 puedan determinarse de acuerdo con valores atfpicos del 8 % y del 2 %, respectivamente, en otros modos de realizacion, SD1 y/o SD2 pueden determinarse en base a uno o mas de otros valores atfpicos o pueden determinarse de forma independiente de los valores atfpicos.
La Fig. 2 ilustra un modo de realizacion particular de los componentes del sistema 100 de la Fig. 1 configurado para ajustar la modulacion de ruido y tambien para ajustar la ganancia de trama en base a la distorsion espectral. El modulo de analisis LP y de codificacion 152 esta configurado para recibir la senal de banda alta 124 de la Fig. 1 y para generar valores de frecuencia espectral, tales como informacion de LSP. El cuantificador 156 esta configurado para recibir los valores de frecuencia espectral y para generar valores de frecuencia espectral cuantificados, tales como la informacion de LSP cuantificada (LSP_Q).
Una calculadora de distorsion espectral 201 esta configurada para recibir un conjunto de los valores de frecuencia espectral y un conjunto de los valores de frecuencia espectral cuantificados y para determinar una distorsion espectral 202. Por ejemplo, la calculadora de distorsion espectral 201 puede estar configurada para estimar la distorsion espectral 202 de una manera similar a la descrita con respecto al ajustador de ganancia 162 de la Fig. 1.
5
10
15
20
25
30
35
40
45
50
55
60
65
La distorsion espectral 202 determinada puede proporcionarse a un modulo de mapeo 206.
El modulo de mapeo 206 puede estar configurado para recibir la distorsion espectral 202 y para determinar un factor de ganancia (g) 204 en base a un mapeo de valores de distorsion espectral a valores de factor de ganancia. Por ejemplo, el modulo de correlacion 206 puede estar configurado para determinar el factor de ganancia 204 de una manera similar a la descrita con respecto al ajustador de ganancia 162 de la Fig. 1. Para ilustrar, el modulo de mapeo 206 puede aplicar el mapeo 300 de la Fig. 3 para determinar un valor del factor de ganancia 204 en base a un valor recibido de la distorsion espectral 202. El factor de ganancia 204 puede proporcionarse al ajustador de ganancia 162.
Un modulo de sfntesis de banda alta 207 puede estar configurado para recibir los valores de frecuencia espectral cuantificados y para recibir la senal de excitacion de banda alta 161 desde el generador de excitacion de banda alta 160 para generar una senal de banda alta sintetizada. Por ejemplo, el modulo de sfntesis de banda alta 207 puede estar configurado para aplicar una transformacion de valores LSP en valores LPC y usando los valores LPC para configurar el filtro de sfntesis de banda alta LP. El modulo de sfntesis de banda alta 207 puede aplicar la senal de excitacion de banda alta 161 al filtro de sfntesis para generar la senal de banda alta sintetizada.
En un modo de realizacion particular, el generador de excitacion de banda alta 160 incluye un modulo de mezcla 411 que esta configurado para recibir una excitacion de banda baja transformada 408, ruido modulado 420 y factores de mezcla de salida 410 y para generar la senal de excitacion de banda alta 161 aplicando los factores de mezcla de salida 410 para calcular una suma ponderada de la excitacion de banda baja transformada 408 y del ruido modulado 420. Como se describe con mas detalle con respecto a la Fig. 4, los factores de mezcla de salida 410 pueden exhibir la suavizacion de los factores de mezcla entre las subtramas sucesivas de la senal de audio 102 de la Fig. 1 en base a las sumas ponderadas de los factores de mezcla que se computan para las subtramas.
Una calculadora de ganancia de trama 208 puede estar configurada para determinar una ganancia de trama en base a la senal de banda alta 124 de la Fig. 1 y a la senal de banda alta sintetizada que se genera por el modulo de banda alta sintetizada 207. Por ejemplo, la calculadora de ganancia de trama 208 puede determinar un valor de ganancia de trama para una trama en particular de la senal de audio en base a una comparacion de la senal de banda alta 124 con la senal de banda alta sintetizada. El valor de ganancia de trama puede ajustarse por el ajustador de ganancia 162 en base al factor de ganancia 204 para generar una ganancia de trama ajustada.
Un ejemplo del generador de excitacion de banda alta 160 se describe ademas con referencia a la Fig. 4. El generador de excitacion de banda alta 160 incluye un combinador 406 que tiene entradas acopladas a una calculadora de envolvente 402 y a un generador de ruido blanco 404. Un modulo de mezcla 411 esta acoplado a una salida del combinador 406 y a una salida de un modulo de transformacion no lineal 407. Un ajustador de factor de mezcla 409 se acopla a un generador de factor de mezcla 412 y esta acoplado tambien al modulo de mezcla 411. El ajustador de factor de mezcla 409 esta configurado para generar los factores de mezcla de salida 410 en base a los factores de mezcla recibidos 413. Los factores de mezcla de salida 410 se aplican por el modulo de mezcla 411 para permitir la suavizacion de la mezcla.
La calculadora de envolvente 402 puede recibir la senal de excitacion de banda baja 144 y puede calcular una envolvente de dominio temporal de banda baja 403 correspondiente a la senal de excitacion de banda baja 144. Por ejemplo, la calculadora de envolvente 402 puede estar configurada para calcular el cuadrado de cada muestra de una trama de la senal de excitacion de banda baja 144 (o una version filtrada de la senal de excitacion de banda baja 144) para producir una secuencia de valores al cuadrado. La calculadora de envolvente 402 puede estar configurada para realizar una operacion de suavizacion en la secuencia de valores al cuadrado, tal como aplicando un filtro de paso bajo de primer orden IIR a la secuencia de valores al cuadrado. La calculadora de envolvente 402 puede estar configurada para aplicar una funcion de rafz cuadrada a cada muestra de la secuencia suavizada para producir la envolvente de dominio temporal de banda baja 403.
El combinador 406 puede estar configurado para combinar la envolvente de dominio temporal de banda baja 403 con ruido blanco 405 generado por un generador de ruido blanco 404 para producir una senal de ruido modulada 420. Por ejemplo, el combinador 406 puede estar configurado para modular la amplitud del ruido blanco 405 de acuerdo con la envolvente de dominio temporal de banda baja 403. Por ejemplo, el combinador 406 puede implementarse como un multiplicador que este configurado para escalar la salida del generador de ruido 404 de acuerdo con la envolvente de dominio temporal calculado por la calculadora de envolvente 402 para producir la senal de ruido modulada 420 que se proporcione al modulo de mezcla 411.
El modulo de mezcla 411 puede estar configurado para mezclar la senal de ruido modulado 420 a partir del combinador 406 con una senal de excitacion de banda baja transformada 408. Por ejemplo, la senal de excitacion de banda baja transformada 408 puede generarse por el modulo de transformacion no lineal 407 en base a la senal de excitacion de banda baja 144. En un modo de realizacion particular, la transformacion no lineal puede ser una transformacion de valor absoluto ("| x |") o una transformacion de x al cuadrado ("x2").
El modulo de mezcla 411 puede estar configurado para generar la senal de excitacion de banda alta 161 mezclando
5
10
15
20
25
30
35
40
45
50
55
60
65
la senal de ruido modulada 420 a partir del combinador 406 y la senal de excitacion de banda baja transformada 408 en base a un valor de un factor de mezcla a 410 recibido desde el ajustador de factor de mezcla 409. Por ejemplo, el modulo de mezcla 411 puede estar configurado para calcular la senal de excitacion de banda alta 161 como una suma ponderada aplicando un factor de mezcla a 410 a la senal de excitacion de banda baja transformada 408 y ampliando un factor de (1 - a) al ruido modulado 420 recibido desde el combinador 406 antes de sumar la s enal de excitacion de banda baja transformada 408 ponderada y el ruido modulado ponderado.
El generador de factor de mezcla 412 puede estar configurado para generar los factores de mezcla 413 como multiples factores de mezcla para cada trama de la senal de audio. Por ejemplo, cuatro factores de mezcla a1, a2, 03, a 4 pueden generarse para una trama de una senal de audio y cada factor de mezcla puede corresponder a una subtrama respectiva de la trama. Por ejemplo, el generador de factor de mezcla 412 puede estar configurado para calcular los factores de mezcla de acuerdo con uno o mas parametros relacionados con una periodicidad de la senal de banda baja 122 de la Fig. 1 o de la senal de excitacion de banda baja 144, tal como una ganancia de paso y/o un modo de voz (por ejemplo, con voz o sin voz). A modo de otro ejemplo, el generador de factor de mezcla 412 puede estar configurado para calcular los factores de mezcla de acuerdo con una medicion de periodicidad de la senal de banda alta 124 de la Fig. 1, tal como un valor determinado mas grande de un coeficiente de autocorrelacion de la senal de banda alta 124 para una trama o subtrama de la senal de audio.
El ajustador de factor de mezcla 409 puede generar los factores de mezcla de salida 410, tales como cuatro factores de mezcla de salida 01s, 02s, 03s, a4s. Cada factor de mezcla puede corresponder a una subtrama de una trama de una senal de audio. El ajustador de factor de mezcla 409 puede generar los factores de mezcla de salida 410 de diversas formas para suavizar de forma adaptativa los factores de mezcla dentro de una unica trama o a traves de multiples tramas para reducir una ocurrencia y/o el alcance de las fluctuaciones de los factores de mezcla de salida 410. Para ilustrar, el ajustador de factor de mezcla 409 puede incluir un filtro configurado para recibir un primer valor del factor de mezcla a (por ejemplo, a1) que corresponda a una primera subtrama de una trama particular y para recibir un segundo valor del factor de mezcla a (por ejemplo, a2) que corresponda a una segunda subtrama de la trama particular. El ajustador de factor de mezcla 409 puede estar configurado para generar un tercer valor de un factor de mezcla (por ejemplo, a2s) al menos parcialmente en base al primer valor del factor de mezcla a (por ejemplo, a1) y al segundo valor del factor de mezcla (por ejemplo, a2s).
Por ejemplo, un primer enfoque puede incluir generar un valor del factor de mezcla a en base a los valores de factor de mezcla correspondientes a porciones (por ejemplo, subtramas) de una unica trama. El pseudocodigo siguiente corresponde al primer enfoque.
/* Enfoque 1: Factor de mezcla en base a valores dentro de una trama */
mix_factor_new[0] = mix_factor[0]; /* Iniciar el primer factor de mezcla de subtrama */
NB_SUBFR = 4; /* cuatro subtramas por trama*/
K1 = 0.8;
para (i = 1; i < NB_SUBFR; i++)
{
mix_factor_new[i] = K1 * mix_factor[i] + (1-K1) * mix_factor[i-1];
}
En el pseudocodigo anterior para el primer enfoque, mix_factor [i] corresponde a un i° factor de mezcla 413 generado por el generador de factor de mezcla 412 para una trama particular (por ejemplo, mix_factor [0] puede corresponder a a1) y mix_factor_new [i] corresponde a un i° factor de mezcla emitido 410 (por ejemplo, mix_factor_new [0] puede corresponder a a1s). K1 determina una cantidad de suavizacion entre subtramas y se ilustra teniendo un valor de 0,8. Sin embargo, en otros modos de realizacion, K1 puede establecerse en otros valores de acuerdo con una cantidad de suavizacion que vaya a aplicarse. Por ejemplo, no se aplica ninguna suavizacion cuando K1 = 1 y la suavizacion aumenta con la disminucion del valor de K1.
Otros factores, tal como el tipo de codificacion (por ejemplo, si una trama corresponde o no a una trama con voz o a una trama sin voz), pueden usarse tambien para determinar si generar valores suavizados de factores de mezcla. Por ejemplo, el ajustador de factor de mezcla 409 puede ser sensible a una indicacion de un tipo de codificacion (coder_type) 422 para generar los factores de mezcla. Para ilustrar, puede activarse la suavizacion del factor de mezcla cuando la indicacion del tipo de codificacion corresponda a una trama con voz y puede desactivarse cuando la indicacion del tipo de codificacion corresponda a una trama sin voz. A modo de otro ejemplo, el ajustador de factor de mezcla 409 puede ser sensible a la informacion de la distorsion espectral (SD) 202 de la Fig. 2 para variar los factores de mezcla. A modo de ejemplo, cuando la distorsion espectral sea relativamente alta (por ejemplo, mayor que una cantidad umbral, por ejemplo, de acuerdo con un valor atfpico del 8 % o del 2 % como se describe con respecto a la distorsion espectral de la Fig. 3), un valor del factor de mezcla a puede limitarse a una intervalo de 0 a 0,5, con mas inclinacion hacia el ruido modulado. Por otro lado, cuando la distorsion espectral 202 sea relativamente baja (por ejemplo, menos de una cantidad umbral correspondiente al valor atfpico del 8 % como se ha descrito con respecto al SD1 de la Fig. 3), la mezcla puede inclinarse hacia la excitacion de banda baja transformada.
Un segundo enfoque puede incluir generar un valor del factor de mezcla a en base a los valores de factor de mezcla
5
10
15
20
25
30
35
40
45
50
55
60
65
correspondientes a porciones (por ejemplo, subtramas) de tramas diferentes. El pseudocodigo siguiente corresponde al segundo enfoque.
/* Enfoque 2: Factor de mezcla en base a valores a traves de tramas */
NB_SUBFR = 4;
K1 = 0.8;
mix_factor_new[0] = K1 * mix_factor[0] + (1-K1) * mix_factor_old; //primera subtrama para (i = 1; i < NB_SUBFR; i++)
{
mix_factor_new[i] = K1 * mix_factor[i] + (1-K1) * mix_factor[i-1];
}
mix_factor_old = mix_factor_new[i];
En el pseudocodigo anterior para el segundo enfoque, mix_factor [i] corresponde a un i° factor de mezcla 413 generado por el generador de factor de mezcla 412 para una trama particular (por ejemplo, mix_factor [0] puede corresponder a a1) y mix_factor_new [i ] corresponde a un i° factor de mezcla emitido 410 para la trama particular (por ejemplo, mix_factor_new [0] puede corresponder a a1s). La suavizacion se realiza a traves de tramas a traves de mix_factor_old, que activa la suavizacion de una primera subtrama de una trama actual en base a un factor de mezcla determinado para una ultima subtrama de una trama anterior.
Un tercer enfoque puede incluir generar el factor de mezcla a usando un valor de adaptacion. El pseudocodigo siguiente corresponde al tercer enfoque.
/* Enfoque 3: Generacion del factor de mezcla usando el K1 adaptativo */
NB_SUBFR = 4;
/* Estimar la energfa de banda alta actual; si varfa rapidamente usese un factor de suavizacion mas lento */ si ( hb_energy_prev > 2 * hb_energy_curr || hb_energy_curr > 2 * hb_energy_Prev)
K1 = 0.8;
Si no K1 = 0.3;
mix_factor_new[0] = K1 * mix_factor[0] + (1-K1) * mix_factor_old; //primera subtrama para (i = 1; i < NB_SUBFR; i++)
{
mix_factor_new[i] = K1 * mix_factor[i] + (1-K1) * mix_factor[i-1];
}
mix_factor_old = mix_factor_new[i];
En el pseudocodigo anterior para el tercer enfoque, la suavizacion se activa a traves de las tramas de una manera similar al segundo enfoque. Ademas, un valor de K1 se determina en base a la fluctuacion de la energfa de banda alta de la senal de audio. Por ejemplo, una primera ponderacion (por ejemplo, K1) aplicada al primer valor y una segunda ponderacion (por ejemplo, 1-K1) aplicada al segundo valor se determinan en base a la fluctuacion de la energfa de la senal de banda alta 124 de la Fig. 1. Un primer valor de energfa de banda alta hb_energy_prev corresponde a una energfa de la senal de banda alta durante una primera porcion de la senal de audio (por ejemplo, una trama anterior) y un segundo valor de energfa de banda alta hb_energy_curr corresponde a una energfa de la senal de banda alta durante una segunda porcion de la senal de audio (por ejemplo, una trama actual).
Cuando se determina que una fluctuacion en la energfa de banda alta entre las tramas es relativamente grande, se determina que la primera ponderacion (por ejemplo, K1) y la segunda ponderacion (por ejemplo, 1 -K1) tienen valores que permiten un fndice mayor de cambio y menos suavizacion entre los factores de mezcla de subtramas sucesivas. Por ejemplo, en el pseudocodigo para el tercer enfoque, la primera ponderacion (por ejemplo, K1 = 0,8) se selecciona para ser mayor que la segunda ponderacion (por ejemplo, (1-K1) = 0,2) en respuesta al primer valor de energfa de banda alta que excede un primer umbral (por ejemplo, cuando hb_energy_prev sea mayor que 2 * hb_energy_curr) o en respuesta al segundo valor de energfa de banda alta que excede un segundo umbral (por ejemplo, cuando hb_energy_curr sea mayor que 2 * hb_energy_prev). El primer umbral corresponde al segundo valor de energfa de banda alta (hb_energy_curr) escalado por un factor de escala (por ejemplo, 2 en el pseudocodigo anterior). El segundo umbral corresponde al primer valor de energfa de banda alta (hb_energy_prev) escalado por el factor de escala.
Cuando se determina que una fluctuacion en la energfa de banda alta entre las tramas es relativamente pequena, se determina que la primera ponderacion (por ejemplo, K1) y la segunda ponderacion (por ejemplo, 1-K1) tienen valores que permiten un fndice menor de cambio y una suavizacion mayor entre los factores de mezcla de subtramas sucesivas. Por ejemplo, en el pseudocodigo para el tercer enfoque, la primera ponderacion (por ejemplo, K1 = 0,3) se selecciona para ser menor que la segunda ponderacion (por ejemplo, (1-K1) = 0,7) en respuesta al primer valor de energfa de banda alta que no excede el primer umbral (por ejemplo, cuando hb_energy_prev sea menor que o igual a 2 * hb_energy_curr) y al segundo valor de energfa de banda alta que no excede el segundo umbral (por ejemplo, cuando hb_energy_curr sea menor que o igual a 2 * hb_energy_prev).
5
10
15
20
25
30
35
40
45
50
55
60
65
Aunque el pseudocodigo para el tercer enfoque proporcione un ejemplo ilustrativo de determinar las primera y segunda ponderaciones en base a la fluctuacion de la energfa de banda alta, en otros modos de realizacion pueden hacerse comparaciones alternativas y/o adicionales de los valores de energfa de banda alta entre multiples tramas para determinar los valores de las primera y segunda ponderaciones y para controlar la suavizacion del factor de mezcla.
Por lo tanto, como se muestra en la Fig. 4, el generador de excitacion de banda alta 160 puede generar factores de mezcla suavizados 410 y puede determinar de forma adaptativa uno o mas parametros de suavizacion (por ejemplo, K1) en base a una cantidad de fluctuacion de la energfa de banda alta de trama a trama.
Con referencia a la Fig. 5, se muestra un diagrama de flujo de un modo de realizacion particular de un procedimiento para realizar el control de ganancia y generalmente se designa con 500. En un modo de realizacion ilustrativo, el procedimiento 500 puede realizarse mediante el sistema 100 de la Fig. 1, tal como mediante el generador de excitacion de banda alta 160.
Se recibe un primer valor de un factor de mezcla, en 502. El primer valor corresponde a una primera porcion de una senal de audio recibida en un codificador de audio. Se recibe un segundo valor del factor de mezcla, en 504. El segundo valor corresponde a una segunda porcion de la senal de audio. El primer valor puede generarse en base a una porcion de banda baja de una primera subtrama de la senal de audio y el segundo valor puede generarse a partir de una porcion de banda baja de una segunda subtrama de la senal de audio. Por ejemplo, el ajustador de factor de mezcla 409 de la Fig. 4 recibe valores de los factores de mezcla 413 desde el generador de factor de mezcla 412. Para ilustrar, el primer valor puede corresponder a uno de a1, a2, a3 o a4 y el segundo valor puede corresponder a otro de a1, a2, a3 o cu.
Un tercer valor del factor de mezcla se genera al menos parcialmente en base al primer valor y al segundo valor, en 506. Por ejemplo, el ajustador de factor de mezcla 409 genera valores de los factores de mezcla de salida 410 en base a cantidades ponderadas de multiples valores recibidos de los factores de mezcla 413.
La generacion del tercer valor puede incluir determinar una suma ponderada del primer valor y del segundo valor. Por ejemplo, en el tercer enfoque descrito con respecto al ajustador de factor de mezcla 409 de la Fig. 4, una primera ponderacion aplicada al primer valor (por ejemplo, K1) y una segunda ponderacion aplicada al segundo valor (por ejemplo, 1-K1) pueden determinarse en base a la fluctuacion de la energfa de banda alta de la senal de audio. La primera ponderacion y la segunda ponderacion pueden determinarse en base a un primer valor de energfa de banda alta correspondiente a la primera porcion y ademas en base a un segundo valor de energfa de banda alta correspondiente a la segunda porcion (por ejemplo, como se describe en el pseudocodigo correspondiente al tercer enfoque como hb_energy_prev y hb_energy_curr, respectivamente). La primera ponderacion puede seleccionarse para ser mayor que la segunda ponderacion en respuesta a que el primer valor de energfa de banda alta exceda un primer umbral (por ejemplo, hb_energy_prev> primer umbral) o en respuesta a que el segundo valor de energfa de banda alta exceda un segundo umbral (por ejemplo, hb_energy_curr> segundo umbral). El primer umbral puede corresponder al segundo valor de energfa de banda alta escalado por un factor de escala (por ejemplo, primer umbral = 2 * hb_energy_curr) y el segundo umbral puede corresponder al primer valor de energfa de banda alta escalado por el factor de escala (por ejemplo, segundo umbral = 2 * hb_energy_prev).
La primera porcion puede incluir una primera subtrama de la senal de audio y la segunda porcion puede incluir una segunda subtrama de la senal de audio. Por ejemplo, la primera subtrama y la segunda subtrama pueden estar en una unica subtrama de la senal de audio. Para ilustrar, cada uno del primer enfoque, del segundo enfoque y del tercer enfoque descritos con respecto al ajustador de factor de mezcla 409 de la Fig. 4 puede generar un tercer valor del factor de mezcla en base a un primer valor del factor de mezcla correspondiente a una subtrama de una trama particular y en base a un segundo valor del factor de mezcla correspondiente a otra subtrama de la trama particular.
A modo de otro ejemplo, la primera subtrama y la segunda subtrama pueden estar en tramas diferentes de la senal de audio. Por ejemplo, el segundo enfoque y el tercer enfoque descritos con respecto al ajustador de factor de mezcla 409 de la Fig. 4 pueden generar un tercer valor del factor de mezcla (por ejemplo, para una primera subtrama de una trama particular) en base a un primer valor del factor de mezcla correspondiente a una ultima subtrama de una trama anterior y en base a un segundo valor del factor de mezcla correspondiente a la primera subtrama de la trama particular.
Una senal de excitacion se mezcla con el ruido modulado en base al tercer valor del factor de mezcla, en 508. Por ejemplo, puede generarse una senal de excitacion de banda alta correspondiente a una porcion de banda alta de la senal de audio. La senal de excitacion de banda alta puede generarse en base a la combinacion del ruido modulado y de la senal de excitacion, donde la senal de excitacion corresponde a una version transformada de una senal de excitacion de banda baja. Por ejemplo, el modulo de mezcla 411 de la Fig. 4 puede generar la senal de excitacion de banda alta 161 en base a la combinacion del ruido modulado 420 a partir del combinador 406 y la version transformada de la senal de excitacion de banda baja 144 (correspondiente a una porcion de banda baja de la senal de audio 102 de la Fig. 1). El factor de mezcla puede indicar una relacion del ruido modulado con la version
5
10
15
20
25
30
35
40
45
50
55
60
65
transformada de la senal de excitacion de banda baja. Por ejemplo, la senal de excitacion de banda alta puede generarse como una suma ponderada del ruido modulado y de la version transformada de la senal de excitacion de banda baja.
En modos de realizacion particulares, el procedimiento 500 de la Fig. 5 puede implementarse a traves de hardware (por ejemplo, un dispositivo de matriz de puertas programable in situ (FPGA), un circuito integrado para aplicaciones especfficas (ASIC) de una unidad de procesamiento tal como una unidad de procesamiento central (CPU), un procesador de senales digitales (DSP) o un controlador, a traves de otro dispositivo de firmware o de cualquier combinacion de los mismos. A modo de ejemplo, el procedimiento 500 de la Fig. 5 puede realizarse por un procesador que ejecute instrucciones, tal como se describe con respecto a la FIG. 7.
En referencia a la FIG. 6, se muestra un diagrama de flujo de un modo de realizacion particular de un procedimiento para realizar el control de ganancia y se designa generalmente con 600. En un modo de realizacion ilustrativo, el procedimiento 600 puede realizarse mediante el sistema 100 de la Fig. 1, tal como mediante el modulo de analisis de banda alta 160.
Se determina un primer conjunto de valores de frecuencia espectral correspondientes a una senal de audio, en 602. Por ejemplo, el primer conjunto de valores de frecuencia espectral puede generarse por el modulo de analisis LP y de codificacion 152 de la Fig. 1. Para ilustrar, el primer conjunto de valores de frecuencia espectral puede determinarse realizando el analisis LPC para producir un conjunto de coeficientes de filtro LP para cada trama de una porcion de banda alta de una senal de audio y puede incluir una transformacion de los coeficientes de filtro LP.
Se determina un segundo conjunto de valores de frecuencia espectral que se aproxima al primer conjunto de valores de frecuencia espectral, en 604. Por ejemplo, el segundo conjunto de valores espectrales puede generarse por el cuantificador 156 de la Fig. 1. El segundo conjunto de valores de frecuencia espectral puede determinarse buscando un libro de codigos, tales como el libro de codigos 163 de la Fig. 1, en base al primer conjunto de valores de frecuencia espectral. En un modo de realizacion particular, el primer conjunto de valores de frecuencia espectral incluye valores de frecuencia espectral de lfnea (LSF) y el segundo conjunto de valores de frecuencia espectral incluye los valores LSF cuantificados. En otros modos de realizacion, el primer conjunto de valores de frecuencia espectral puede ser valores distintos de los valores LSF. Por ejemplo, el primer conjunto de valores de frecuencia espectral puede incluir valores de coeficiente de prediccion lineal (LPC) y el segundo conjunto de valores de frecuencia espectral puede incluir valores LPC cuantificados.
Un valor de ganancia correspondiente a al menos una porcion de la senal de audio se ajusta en base a la diferencia entre el primer conjunto y el segundo conjunto, en 606. El valor de ganancia puede corresponder a una ganancia de trama de una trama de la senal de audio. Por ejemplo, el valor de ganancia de trama puede generarse en base a la porcion de banda alta de la senal de audio 102 de la Fig. 1 y de una senal de banda alta sintetizada generada aplicando la senal de excitacion de banda alta 161 a un filtro de sfntesis, tales como el filtro de sfntesis 207 de la Fig. 2. En un modo de realizacion particular, el filtro de sfntesis puede estar configurado de acuerdo con el primer conjunto de valores de frecuencia espectral o de acuerdo con el segundo conjunto de valores de frecuencia espectral (despues de transformar el segundo conjunto para generar valores no cuantificados).
El ajuste del valor de ganancia puede incluir determinar una distorsion espectral entre el primer conjunto de valores de frecuencia espectral y el segundo conjunto de valores de frecuencia espectral, en 608. Por ejemplo, la distorsion espectral puede ser la SD 202 generada por el modulo de distorsion espectral 201 de la Fig. 2. Una distorsion espectral correspondiente a la diferencia entre el primer conjunto y el segundo conjunto puede estimarse de acuerdo con diversas tecnicas. Por ejemplo, la distorsion espectral puede determinarse de acuerdo con un error cuadratico medio de valores en el segundo conjunto de valores de frecuencia espectral en comparacion con los valores en el primer conjunto de valores de frecuencia espectral. A modo de otro ejemplo, la distorsion espectral puede determinarse de acuerdo con una diferencia absoluta entre los valores en el segundo conjunto de valores de frecuencia espectral en comparacion con los valores en el primer conjunto de valores de frecuencia espectral.
El ajuste del valor de ganancia puede incluir tambien determinar un factor de ganancia en base a la distorsion espectral, en 610. El factor de ganancia puede determinarse de acuerdo con un mapeo de valores de distorsion espectral a los valores de factor de ganancia, tales como los descritos con respecto al factor de ganancia 204 generado por el modulo de correlacion 206 de la Fig. 2 de acuerdo con el mapeo 300 de la Fig. 3. Para ilustrar, una porcion del mapeo puede definir que un aumento de la distorsion espectral corresponde a una disminucion del valor de factor de ganancia, tal como se ilustra por la porcion inclinada del mapeo 300 entre SD1 y SD2. El mapeo puede ser al menos parcialmente en base a los valores de distorsion espectral correspondientes a los valores atfpicos de una funcion de distribucion de probabilidad, tal como se describe con respecto a SD1 y a SD2 de la Fig. 3.
El ajuste del valor de ganancia puede incluir tambien el ajuste de la ganancia de trama aplicando el factor de ganancia a la ganancia de trama, en 612. Para ilustrar, el valor de ganancia puede multiplicarse por el factor de ganancia para atenuar las porciones de la senal de banda alta en base a una cantidad de error de cuantificacion. Aunque el procedimiento 600 se describa con respecto a los componentes de banda alta de las Figs. 1 y 4, el procedimiento 600 puede aplicarse con respecto a la senal de banda baja 122 de la Fig. 1 o a cualquier otra porcion
5
10
15
20
25
30
35
40
45
50
55
60
65
de una senal de audio 102 recibida en un codificador.
En modos de realizacion particulares, el procedimiento 600 de la Fig. 6 puede implementarse a traves de hardware (por ejemplo, un dispositivo de matriz de puertas programable in situ (FPGA), un circuito integrado para aplicaciones especfficas (ASIC), etc.) de una unidad de procesamiento, tal como una unidad de procesamiento central (CPU), un procesador de senales digitales (DSP) o un controlador, a traves de un dispositivo de firmware o de cualquier combinacion de los mismos. A modo de ejemplo, el procedimiento 600 de la Fig. 6 puede realizarse por un procesador que ejecute instrucciones, tal como se describe adicionalmente con referencia a la Fig. 7.
Las Figs. 1-6 ilustran por consiguiente ejemplos que incluyen sistemas y procedimientos que realizan el ajuste de ganancia en base a la distorsion espectral estimada y/o realizan la suavizacion del factor de mezcla para reducir los artefactos debidos al ruido.
Con referencia a la Fig. 7, un diagrama de bloques de un modo de realizacion ilustrativo particular de un dispositivo de comunicacion inalambrica se representa y se designa generalmente con 700. El dispositivo 700 incluye un procesador 710 (por ejemplo, una unidad de procesamiento central (CPU), un procesador de senales digitales (DSP) etc.), acoplado a una memoria 732. La memoria 732 puede incluir instrucciones 760 ejecutables por el procesador 710 y/o un codificador/decodificador (CODEC) 734 para realizar los procedimientos y procesos divulgados en el presente documento, tales como los procedimientos de las Figs. 5-6.
El CODEC 734 puede incluir un sistema de modulacion de ruido 776. En un modo de realizacion particular, el sistema de modulacion de ruido 776 incluye uno o mas componentes del sistema 400 de la Fig. 4. El sistema de modulacion de ruido 776 puede implementarse a traves de hardware dedicado (por ejemplo, conjunto de circuitos), por un procesador que ejecute las instrucciones para realizar una o mas tareas o por una combinacion de los mismos. A modo de ejemplo, la memoria 732 o una memoria en el CODEC 734 puede ser un dispositivo de memoria, tal como una memoria de acceso aleatorio (RAM), una memoria de acceso aleatorio magnetorresistiva (MRAM), una transferencia de torsion de spin MRAM (STT-MRAM), una memoria flash, una memoria de solo lectura (ROM), una memoria de solo lectura programable (PROM), una memoria de solo lectura programable borrable (EPROM), una memoria de solo lectura programable borrable electricamente(EEPROM), registros, un disco duro, un disco extrafble o un disco compacto de memoria de solo lectura (CD-ROM). El dispositivo de memoria puede incluir instrucciones (por ejemplo, las instrucciones 760) que, cuando se ejecuten por un ordenador (por ejemplo, un procesador en el CODEC 734 y/o el procesador 710), puedan causar que el equipo reciba un primer valor de un factor de mezcla correspondiente a una primera porcion de una senal de audio, que reciba un segundo valor del factor de mezcla correspondiente a una segunda porcion de la senal de audio y que genere un tercer valor del factor de mezcla, al menos parcialmente en base al primer valor y al segundo valor. A modo de ejemplo, la memoria 732 o una memoria en el CODEC 734 puede ser un medio legible por ordenador no transitorio que incluya instrucciones (por ejemplo, las instrucciones 760) que, cuando se ejecuten por un ordenador (por ejemplo, un procesador en el CODEC 734 y/o el procesador 710), causen que el ordenador realice al menos una porcion del procedimiento 500 de la Fig. 5.
El CODEC 734 puede incluir un sistema de ajuste de ganancia 778. En un modo de realizacion particular, el sistema de ajuste de ganancia 778 incluye el ajustador de ganancia 162 de la Fig. 1. El sistema de ajuste de ganancia 778 puede implementarse a traves de hardware dedicado (por ejemplo, conjunto de circuitos), por un procesador que ejecute las instrucciones para realizar una o mas tareas o una combinacion de los mismos. A modo de ejemplo, la memoria 732 puede ser un dispositivo de memoria que incluya instrucciones (por ejemplo, las instrucciones 760) que, cuando se ejecuten por un ordenador (por ejemplo, un procesador en el CODEC 734 y/o el procesador 710), causen que el ordenador determine un primer conjunto de valores de frecuencia espectral correspondientes a una senal de audio, que determine un segundo conjunto de valores de frecuencia espectral que se aproxime al primer conjunto de valores de frecuencia espectral y que ajuste un valor de ganancia correspondiente a al menos una porcion de la senal de audio en base a una diferencia entre el primer conjunto y el segundo conjunto. A modo de ejemplo, la memoria 732 o una memoria en el CODEC 734 puede ser un medio legible por ordenador no transitorio que incluya instrucciones (por ejemplo, las instrucciones 760) que, cuando se ejecuten por un ordenador (por ejemplo, un procesador en el CODEC 734 y/o el procesador 710), causen que el ordenador realice al menos una porcion del procedimiento 600 de la Fig. 6.
La Fig. 7 muestra tambien un controlador de pantalla 726 que esta acoplado al procesador 710 y a una pantalla 728. El CODEC 734 puede estar acoplado al procesador 710, como se muestra. Un altavoz 736 y un microfono 738 pueden estar acoplados al CODEC 734. Por ejemplo, el microfono 738 puede generar la senal de audio de entrada 102 de la Fig. 1, y el CODEC 734 puede generar el flujo de bits de salida 192 para su transmision a un receptor en base a la senal de audio de entrada 102. A modo de otro ejemplo, el altavoz 736 puede usarse para emitir una senal reconstruida por el CODEC 734 desde el flujo de bits de salida 192 de la Fig. 1, donde se recibe el flujo de bits de salida 192 desde un transmisor. La Fig. 7 indica tambien que un controlador inalambrico 740 puede estar acoplado al procesador 710 y a una antena inalambrica 742.
En un modo de realizacion particular, el procesador 710, el controlador de pantalla 726, la memoria 732, el CODEC 734 y el controlador inalambrico 740 se incluyen en un dispositivo de sistema en paquete o de sistema en chip (por
5
10
15
20
25
30
35
40
45
50
55
60
65
ejemplo, un modem de estacion movil (MSM)) 722. En un modo de realizacion particular, un dispositivo de entrada 730, tal como una pantalla tactil y/o un teclado, y un suministro de energfa 744 estan acoplados al dispositivo de sistema en chip 722. Ademas, en un modo de realizacion particular, como se ilustra en la FIG. 7, la pantalla 728, el dispositivo de entrada 730, el altavoz 736, el microfono 738, la antena inalambrica 742 y el suministro de alimentacion 744 son externos al dispositivo de sistema en chip 722. Sin embargo, cada uno de la pantalla 728, del dispositivo de entrada 730, del altavoz 736, del microfono 738, de la antena inalambrica 742 y del suministro de alimentacion 744 pueden estar acoplados a un componente del dispositivo de sistema en chip 722, tal como una interfaz o un controlador.
En conjuncion con los modos de realizacion descritos, se divulga un aparato que incluye medios para generar un tercer valor de un factor de mezcla al menos parcialmente en base a un primer valor del factor de mezcla y a un segundo valor del factor de mezcla, donde el primer valor corresponde a una primera porcion de una senal de audio recibida en un codificador de audio y el segundo valor corresponde a una segunda porcion de la senal de audio. Por ejemplo, los medios para generar pueden incluir el generador de excitacion de banda alta 160 de la Fig. 1, el ajustador de factor de mezcla 409 de la Fig. 4, el sistema de modulacion de ruido 776 de la Fig. 7 o un componente del mismo, uno o mas dispositivos, tales como un filtro, configurados para generar un tercer valor en base al primer valor y al segundo valor (por ejemplo, un procesador que ejecute instrucciones en un medio de almacenamiento legible por ordenador no transitorio) o cualquier combinacion de los mismos.
El aparato puede incluir tambien medios para generar una senal de excitacion de banda alta correspondiente a una porcion de banda alta de la senal de audio combinando ruido modulado y una version transformada de una senal de excitacion de banda baja. La senal de excitacion de banda baja corresponde a una porcion de banda baja de la senal de audio. Los medios para generar pueden estar configurados para combinar el ruido modulado y la version transformada de la senal de excitacion de banda baja en base al tercer valor. Por ejemplo, los medios para generar la senal de excitacion de banda alta pueden incluir el generador de excitacion de banda alta 160 de la Fig. 1, el mezclador 411 de la Fig. 4, el sistema de modulacion de ruido 776 de la Fig. 7 o un componente del mismo, uno o mas dispositivos configurados para generar una senal de excitacion (por ejemplo, un procesador que ejecute instrucciones en un medio de almacenamiento legible por ordenador no transitorio) o cualquier combinacion de los mismos.
En conjuncion con los modos de realizacion descritos, se divulga un aparato que incluye medios para determinar un primer conjunto de valores de frecuencia espectral correspondientes a una senal de audio. Por ejemplo, los medios para determinar el primer conjunto pueden incluir el modulo de analisis LP y de modulacion 152 de la Fig. 1, el sistema de ajuste de ganancia 778 de la Fig. 7 o un componente del mismo, uno o mas dispositivos configurados para generar valores de frecuencia espectral correspondientes a una senal de audio (por ejemplo, un procesador que ejecute instrucciones en un medio de almacenamiento legible por ordenador no transitorio) o cualquier combinacion de los mismos.
El aparato puede incluir tambien medios para generar un segundo conjunto de valores de frecuencia espectral que se aproxime al primer conjunto de valores de frecuencia espectral. Por ejemplo, los medios para generar el segundo conjunto pueden incluir el cuantificador 156 de la Fig. 1, el sistema de ajuste de ganancia 778 de la Fig. 7 o un componente del mismo, uno o mas dispositivos configurados para generar un segundo conjunto de valores de frecuencia espectral que se aproxime a un primer conjunto de valores de frecuencia espectral (por ejemplo, un procesador que ejecute instrucciones en un medio de almacenamiento legible por ordenador no transitorio) o cualquier combinacion de los mismos.
El aparato puede incluir tambien medios para ajustar un valor de ganancia correspondiente a al menos una porcion de la senal de audio en base a la diferencia entre el primer conjunto y el segundo conjunto. Por ejemplo, los medios para ajustar pueden incluir el ajustador de ganancia 162 de la Fig. 1, el sistema de ajuste de ganancia 778 de la Fig. 7 o un componente del mismo, uno o mas dispositivos configurados para ajustar un valor de ganancia (por ejemplo, un procesador que ejecute instrucciones en un medio de almacenamiento legible por ordenador no transitorio) o cualquier combinacion de los mismos.
Los expertos en la tecnica apreciaran ademas que los diversos bloques, configuraciones, modulos, circuitos y etapas de algoritmos logicos ilustrativos descritos en conexion con los modos de realizacion divulgados en el presente documento pueden implementarse como hardware electronico, como software informatico ejecutado por un dispositivo de procesamiento o como combinaciones de ambos. Diversos componentes, bloques, configuraciones, modulos, circuitos y etapas ilustrativos se han descrito anteriormente generalmente en terminos de su funcionalidad. Que dicha funcionalidad se implemente como hardware o software ejecutable dependera de la aplicacion particular y de las limitaciones de diseno impuestas sobre todo el sistema. Los expertos en la tecnica pueden implementar la funcionalidad descrita de diversas formas para cada solicitud particular, pero dichas decisiones de implementacion no deberfan interpretarse como causantes de una salida del alcance de la presente divulgacion.
Las etapas de un procedimiento o algoritmo descrito en conexion con los modos de realizacion divulgados en el presente documento pueden realizarse directamente en hardware, en un modulo de software ejecutado por un procesador o en una combinacion de los dos. Un modulo 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 transferencia de torsion de spin MRAM (STT-MRAM), una memoria flash, una memoria de solo lectura (ROM), una memoria de solo lectura programable
5 (PROM), una memoria de solo lectura programable borrable (EPROM), una memoria de solo lectura programable borrable electricamente (EEPROM), registros, un disco duro, un disco extrafble o un disco compacto de memoria de solo lectura (CD-ROM). Un medio de almacenamiento ejemplar esta acoplado al procesador de tal manera que el procesador puede leer la informacion del y escribir la informacion al, dispositivo de memoria. En la alternativa, el dispositivo de memoria puede ser parte integrante del procesador. El procesador y el medio de almacenamiento 10 pueden residir en un circuito integrado para aplicaciones especfficas (ASIC). El ASIC puede residir en un dispositivo informatico o en un terminal de usuario. En la alternativa, el procesador y el medio de almacenamiento pueden residir como componentes discretos en un dispositivo informatico o en un terminal de usuario.
La descripcion anterior de los modos de realizacion divulgados se proporciona para permitir que cualquier experto en 15 la tecnica haga o use los modos de realizacion divulgados. Diversas modificaciones a estos modos de realizacion resultaran facilmente evidentes para los expertos en la tecnica y los principios genericos definidos en el presente documento pueden aplicarse a otros modos de realizacion sin salirse del alcance de la divulgacion. Por consiguiente, la presente divulgacion no pretende limitarse a los modos de realizacion mostrados en el presente documento sino que ha de estar de acuerdo con el alcance mas amplio posible coherente con los principios y las 20 caracterfsticas novedosos divulgados en el presente documento.

Claims (8)

1.
10
15
20 2.
3.
25
4.
30 5.
6.
35
40 7.
8.
45
9.
50 10.
11.
55
12.
60
REIVINDICACIONES
Un procedimiento de codificacion de audio, que comprende:
recibir (502) un primer valor de un factor de mezcla, el primer valor en base a parametros de voz de banda baja de una primera porcion de una senal de audio;
recibir (504) un segundo valor del factor de mezcla, el segundo valor en base a parametros de voz de banda baja de una segunda porcion de la senal de audio;
generar (506) un tercer valor del factor de mezcla, al menos parcialmente en base al primer valor, al segundo valor y a la fluctuacion de la energfa de banda alta de la senal de audio; y
generar una senal de excitacion de banda alta correspondiente a una porcion de banda alta de la senal de audio, en donde la senal de excitacion de banda alta se genera en base a la mezcla (508) de una senal de excitacion con ruido modulado en base al tercer factor de mezcla, en donde la senal de excitacion corresponde a una version transformada de una senal de excitacion de banda baja, correspondiendo la senal de excitacion de banda baja a una porcion de banda baja de la senal de audio.
El procedimiento de la reivindicacion 1, en donde la senal de excitacion de banda alta comprende una suma ponderada del ruido modulado y de la version transformada de la senal de excitacion de banda baja.
El procedimiento de la reivindicacion 1, en donde la generacion del tercer valor comprende determinar una suma ponderada del primer valor y del segundo valor.
El procedimiento de la reivindicacion 3, en donde una primera ponderacion aplicada al primer valor y una segunda ponderacion aplicada al segundo valor se determinan en base a la fluctuacion de la energfa de banda alta de la senal de audio.
El procedimiento de la reivindicacion 4, en donde la primera ponderacion y la segunda ponderacion se determinan en base a un primer valor de energfa de banda alta correspondiente a la primera porcion y ademas en base a un segundo valor de energfa de banda alta correspondiente a la segunda porcion.
El procedimiento de la reivindicacion 5, en donde la primera ponderacion se selecciona para ser mayor que la segunda ponderacion en respuesta al primer valor de energfa de banda alta que exceda un primer umbral o en respuesta al segundo valor de energfa de banda alta que exceda un segundo umbral, en donde el primer umbral corresponde al segundo valor de energfa de banda alta escalado por un factor de escala y en donde el segundo umbral corresponde al primer valor de energfa de banda alta escalado por el factor de escala.
El procedimiento de la reivindicacion 1, en donde la generacion del tercer valor es en base ademas a una distorsion espectral correspondiente a la senal de audio, siendo la distorsion espectral en base a un conjunto de valores de frecuencia espectral y a un conjunto de valores de frecuencia espectral cuantificados.
El procedimiento de la reivindicacion 1, en donde la generacion del tercer valor es en base ademas a una indicacion de un tipo de codificacion correspondiente a la senal de audio.
El procedimiento de la reivindicacion 1, en donde la primera porcion comprende una primera subtrama de la senal de audio y en donde la segunda porcion comprende una segunda subtrama de la senal de audio.
El procedimiento de la reivindicacion 9, en donde la primera subtrama y la segunda subtrama estan en una unica trama de la senal de audio.
El procedimiento de la reivindicacion 9, en donde la primera subtrama y la segunda subtrama estan en diferentes tramas de la senal de audio.
Un aparato para la codificacion de audio que comprende:
medios para generar un tercer valor de un factor de mezcla al menos parcialmente en base a un primer valor del factor de mezcla, a un segundo valor del factor de mezcla y a la fluctuacion de la energfa de banda alta de una senal de audio, en donde el primer valor es en base a parametros de voz de banda baja de una primera porcion de una senal de audio y en donde el segundo valor es en base a parametros de voz de banda baja de una segunda porcion de la senal de audio; y
medios para generar una senal de excitacion de banda alta correspondiente a una porcion de banda alta de la senal de audio combinando ruido modulado y una version transformada de una senal de excitacion de banda baja, correspondiendo la senal de excitacion de banda baja a una porcion de banda baja de la
5
10
15
20
25
30
senal de audio,
en donde los medios para generar estan configurados para combinar el ruido modulado y la version transformada de la senal de excitacion de banda baja en base al tercer valor.
El aparato de la reivindicacion 12 que comprende medios para llevar a cabo un procedimiento de acuerdo con cualquiera de las reivindicaciones 2 a 11.
Un medio legible por ordenador no transitorio que comprende instrucciones que, cuando se ejecutan por un ordenador, causan que el ordenador:
reciba un primer valor de un factor de mezcla, el primer valor en base a parametros de voz de banda baja de una primera porcion de una senal de audio;
reciba un segundo valor del factor de mezcla, el segundo valor en base a parametros de banda baja de una segunda porcion de la senal de audio;
genere un tercer valor del factor de mezcla al menos parcialmente en base al primer valor, al segundo valor y a la fluctuacion de la energfa de banda alta de la senal de audio; y
genere una senal de banda alta de excitacion correspondiente a una porcion de banda alta de la senal de audio, en donde la senal de excitacion de banda alta se genera en base a la mezcla (508) de una senal de excitacion con ruido modulado en base al tercer factor de mezcla, en donde la senal de excitacion corresponde a una version transformada de una senal de excitacion de banda baja, correspondiendo la senal de excitacion de banda baja a una porcion de banda baja de la senal de audio.
El medio legible por ordenador no transitorio de la reivindicacion 14 que comprende instrucciones que, cuando se ejecutan por un ordenador, causan que el ordenador lleve a cabo un procedimiento de acuerdo con cualquiera de las reivindicaciones 2 a 11.
ES13766166.6T 2013-02-08 2013-08-29 Sistemas y procedimientos para realizar la modulación de ruido y el ajuste de ganancia Active ES2625042T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361762810P 2013-02-08 2013-02-08
US201361762810P 2013-02-08
US201314012749 2013-08-28
US14/012,749 US9601125B2 (en) 2013-02-08 2013-08-28 Systems and methods of performing noise modulation and gain adjustment
PCT/US2013/057368 WO2014123585A1 (en) 2013-02-08 2013-08-29 Systems and methods of performing noise modulation and gain adjustment

Publications (1)

Publication Number Publication Date
ES2625042T3 true ES2625042T3 (es) 2017-07-18

Family

ID=51298067

Family Applications (2)

Application Number Title Priority Date Filing Date
ES17150969T Active ES2715476T3 (es) 2013-02-08 2013-08-29 Sistemas y procedimientos para realizar la modulación de ruido y el ajuste de ganancia
ES13766166.6T Active ES2625042T3 (es) 2013-02-08 2013-08-29 Sistemas y procedimientos para realizar la modulación de ruido y el ajuste de ganancia

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES17150969T Active ES2715476T3 (es) 2013-02-08 2013-08-29 Sistemas y procedimientos para realizar la modulación de ruido y el ajuste de ganancia

Country Status (23)

Country Link
US (2) US9601125B2 (es)
EP (2) EP2954525B1 (es)
JP (3) JP2016507783A (es)
KR (2) KR102447846B1 (es)
CN (2) CN104956438B (es)
AU (1) AU2013377891B2 (es)
BR (1) BR112015019042B1 (es)
CA (2) CA3058998C (es)
DK (2) DK3174051T3 (es)
ES (2) ES2715476T3 (es)
HK (1) HK1211374A1 (es)
HU (2) HUE041373T2 (es)
IL (1) IL239749A (es)
MX (1) MX2015010225A (es)
MY (1) MY170595A (es)
PH (1) PH12015501671B1 (es)
PL (1) PL3174051T3 (es)
PT (1) PT3174051T (es)
RU (1) RU2647666C2 (es)
SG (1) SG11201505147PA (es)
SI (1) SI3174051T1 (es)
UA (2) UA117745C2 (es)
WO (1) WO2014123585A1 (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9601125B2 (en) 2013-02-08 2017-03-21 Qualcomm Incorporated Systems and methods of performing noise modulation and gain adjustment
CN104517610B (zh) * 2013-09-26 2018-03-06 华为技术有限公司 频带扩展的方法及装置
US10083708B2 (en) * 2013-10-11 2018-09-25 Qualcomm Incorporated Estimation of mixing factors to generate high-band excitation signal
US10210871B2 (en) * 2016-03-18 2019-02-19 Qualcomm Incorporated Audio processing for temporally mismatched signals
EP3382702A1 (en) 2017-03-31 2018-10-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for determining a predetermined characteristic related to an artificial bandwidth limitation processing of an audio signal
US10586546B2 (en) 2018-04-26 2020-03-10 Qualcomm Incorporated Inversely enumerated pyramid vector quantizers for efficient rate adaptation in audio coding
US10573331B2 (en) * 2018-05-01 2020-02-25 Qualcomm Incorporated Cooperative pyramid vector quantizers for scalable audio coding
JP2024511636A (ja) * 2021-03-31 2024-03-14 ヒョンダイ モーター カンパニー インター予測にディープラーニングベースのインループフィルタを用いるビデオコーディング方法及び装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3457293B2 (ja) 2001-06-06 2003-10-14 三菱電機株式会社 雑音抑圧装置及び雑音抑圧方法
US7146313B2 (en) 2001-12-14 2006-12-05 Microsoft Corporation Techniques for measurement of perceptual audio quality
CA2388439A1 (en) * 2002-05-31 2003-11-30 Voiceage Corporation A method and device for efficient frame erasure concealment in linear predictive based speech codecs
ES2249985B1 (es) 2004-06-25 2007-06-16 Universidad De Sevilla Molienda mecanica de polvos activada por radiacion ultravioleta.
JP4977472B2 (ja) 2004-11-05 2012-07-18 パナソニック株式会社 スケーラブル復号化装置
JP2006197391A (ja) 2005-01-14 2006-07-27 Toshiba Corp 音声ミクシング処理装置及び音声ミクシング処理方法
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
CN101185124B (zh) * 2005-04-01 2012-01-11 高通股份有限公司 用于语音信号的分割频带编码的方法和设备
KR20070115637A (ko) * 2006-06-03 2007-12-06 삼성전자주식회사 대역폭 확장 부호화 및 복호화 방법 및 장치
US9454974B2 (en) * 2006-07-31 2016-09-27 Qualcomm Incorporated Systems, methods, and apparatus for gain factor limiting
US9009032B2 (en) 2006-11-09 2015-04-14 Broadcom Corporation Method and system for performing sample rate conversion
US8005671B2 (en) * 2006-12-04 2011-08-23 Qualcomm Incorporated Systems and methods for dynamic normalization to reduce loss in precision for low-level signals
US8688441B2 (en) * 2007-11-29 2014-04-01 Motorola Mobility Llc Method and apparatus to facilitate provision and use of an energy value to determine a spectral envelope shape for out-of-signal bandwidth content
EP2259253B1 (en) * 2008-03-03 2017-11-15 LG Electronics Inc. Method and apparatus for processing audio signal
US8463599B2 (en) 2009-02-04 2013-06-11 Motorola Mobility Llc Bandwidth extension method and apparatus for a modified discrete cosine transform audio coder
US8600737B2 (en) 2010-06-01 2013-12-03 Qualcomm Incorporated Systems, methods, apparatus, and computer program products for wideband speech coding
CN102802112B (zh) 2011-05-24 2014-08-13 鸿富锦精密工业(深圳)有限公司 具有音频文件格式转换功能的电子装置
US9129600B2 (en) * 2012-09-26 2015-09-08 Google Technology Holdings LLC Method and apparatus for encoding an audio signal
US9601125B2 (en) * 2013-02-08 2017-03-21 Qualcomm Incorporated Systems and methods of performing noise modulation and gain adjustment

Also Published As

Publication number Publication date
BR112015019042B1 (pt) 2022-03-15
PT3174051T (pt) 2019-03-25
PH12015501671A1 (en) 2015-10-19
US9899032B2 (en) 2018-02-20
CN110136742B (zh) 2023-05-26
RU2647666C2 (ru) 2018-03-16
CN110136742A (zh) 2019-08-16
IL239749A (en) 2017-04-30
CA3058998A1 (en) 2014-08-14
KR20210034103A (ko) 2021-03-29
WO2014123585A1 (en) 2014-08-14
DK2954525T3 (en) 2017-04-10
RU2015138115A (ru) 2017-03-15
KR102447846B1 (ko) 2022-09-26
CA2896965A1 (en) 2014-08-14
KR20150115843A (ko) 2015-10-14
CA3058998C (en) 2021-06-29
UA123364C2 (uk) 2021-03-24
US20140229172A1 (en) 2014-08-14
HUE031761T2 (en) 2017-07-28
EP2954525A1 (en) 2015-12-16
JP2016507783A (ja) 2016-03-10
BR112015019042A2 (pt) 2017-07-18
US20170148460A1 (en) 2017-05-25
AU2013377891A1 (en) 2015-07-23
MY170595A (en) 2019-08-19
MX2015010225A (es) 2015-11-25
IL239749A0 (en) 2015-08-31
JP2019191597A (ja) 2019-10-31
CN104956438B (zh) 2019-06-14
EP2954525B1 (en) 2017-02-08
US9601125B2 (en) 2017-03-21
EP3174051B1 (en) 2018-12-12
JP6538209B2 (ja) 2019-07-03
PL3174051T3 (pl) 2019-05-31
JP6752936B2 (ja) 2020-09-09
CA2896965C (en) 2020-11-10
ES2715476T3 (es) 2019-06-04
AU2013377891B2 (en) 2018-11-08
DK3174051T3 (en) 2019-03-18
PH12015501671B1 (en) 2015-10-19
KR102232095B1 (ko) 2021-03-24
UA117745C2 (uk) 2018-09-25
HUE041373T2 (hu) 2019-05-28
CN104956438A (zh) 2015-09-30
JP2018109770A (ja) 2018-07-12
SG11201505147PA (en) 2015-08-28
SI3174051T1 (sl) 2019-04-30
EP3174051A1 (en) 2017-05-31
HK1211374A1 (en) 2016-05-20

Similar Documents

Publication Publication Date Title
ES2625042T3 (es) Sistemas y procedimientos para realizar la modulación de ruido y el ajuste de ganancia
CA2929564C (en) High-band signal modeling
US10410652B2 (en) Estimation of mixing factors to generate high-band excitation signal
ES2774334T3 (es) Estimación de forma de ganancia para mejorar el rastreo de características temporales de banda alta
AU2014331903A1 (en) Gain shape estimation for improved tracking of high-band temporal characteristics