ES2907212T3 - Procedimiento y aparato de predicción lineal excitada por código - Google Patents

Procedimiento y aparato de predicción lineal excitada por código Download PDF

Info

Publication number
ES2907212T3
ES2907212T3 ES13824256T ES13824256T ES2907212T3 ES 2907212 T3 ES2907212 T3 ES 2907212T3 ES 13824256 T ES13824256 T ES 13824256T ES 13824256 T ES13824256 T ES 13824256T ES 2907212 T3 ES2907212 T3 ES 2907212T3
Authority
ES
Spain
Prior art keywords
tuning
formant
signal
filter
speech
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
ES13824256T
Other languages
English (en)
Inventor
Venkatraman S Atti
Vivek Rajendran
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 ES2907212T3 publication Critical patent/ES2907212T3/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/26Pre-filtering or post-filtering
    • G10L19/265Pre-filtering, e.g. high frequency emphasis prior to encoding
    • 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/26Pre-filtering or post-filtering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/09Long term prediction, i.e. removing periodical redundancies, e.g. by using adaptive codebook or pitch predictor
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • 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/0011Long term prediction filters, i.e. pitch estimation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • G10L2021/02168Noise filtering characterised by the method used for estimating noise the estimation exclusively taking place during speech pauses

Landscapes

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

Abstract

Un procedimiento de análisis por síntesis de predicción lineal excitada por código para procesar una señal de audio, el procedimiento se caracteriza porque comprende: determinar un parámetro correspondiente a la señal de audio, en el que el parámetro corresponde a una relación señal-ruido a largo plazo; en base al parámetro determinado, determinar un factor de afinación de formantes γ2; aplicar afinación de tono y afinación de formantes en la respuesta de impulso de un filtro de síntesis ponderado antes de una búsqueda de libro de códigos fijo para determinar un vector de libro de códigos estimado, en el que la afinación de formantes se aplica usando un filtro de afinación de formantes **(Ver fórmula)** donde 0 < γ1< γ2< 1; y filtrar un vector de libro de códigos fijo estimado usando el filtro de afinación de formantes para producir un vector de libro de códigos fijo modificado, c'(n).

Description

DESCRIPCIÓN
Procedimiento y aparato de predicción lineal excitada por código
Referencia cruzada a las solicitudes relacionadas
La presente solicitud reivindica el beneficio de la prioridad de la Solicitud de Patente Provisional de los Estados Unidos de propiedad común núm. 61/758 152, presentada el 29 de enero de 2013, y la Solicitud de Patente No Provisional de los Estados Unidos núm. 14/026765, presentada el 13 de septiembre de 2013.
Campo
Esta divulgación está relacionada con la codificación de señales de audio (por ejemplo, codificación de voz).
Descripción de la técnica relacionada
El marco de trabajo de análisis y síntesis de predicción lineal (LP) ha tenido éxito para la codificación de voz debido a que se adapta bien al paradigma del sistema fuente para la síntesis de voz. En particular, las características espectrales del tracto vocal superior, que varían lentamente en el tiempo se modelan mediante un filtro omnipolar, mientras que el residuo de predicción captura el comportamiento de excitación de las cuerdas vocales con voz, sin voz o mixto. El residuo de predicción del análisis de LP se modela y codifica usando un procedimiento de análisis por síntesis de lazo cerrado.
En los sistemas de predicción lineal excitada por código (CELP) de análisis por síntesis, se selecciona la secuencia de excitación que da como resultado el error cuadrático medio (MSE) "ponderado perceptualmente" más bajo observado entre la voz de entrada y la reconstruida. El filtro de ponderación perceptual da forma al error de predicción de manera que el ruido de cuantificación se enmascara por los formantes de alta energía. El papel de los filtros de ponderación perceptual es desenfatizar la energía de error en las regiones de formantes. Esta estrategia de desenfatización se basa en el hecho de que, en las regiones de formantes, el ruido de cuantificación está parcialmente enmascarado por el habla. En la codificación CELP, la señal de excitación se genera a partir de dos libros de códigos, específicamente, el libro de códigos adaptativo (ACB) y el libro de códigos fijo (FCB). El vector ACB representa un segmento retardado (es decir, por valor de tono de lazo cerrado) de la señal de excitación pasada y contribuye al componente periódico de la excitación total. Después de capturar la contribución periódica en la excitación total, se realiza una búsqueda en el libro de códigos fijo. El vector de excitación FCB representa parcialmente el componente aperiódico restante en la señal de excitación y se construye usando un libro de códigos algebraico de pulsos unitarios intercalados. En la codificación de la voz, las técnicas de afinación del tono y del formante proporcionan una mejora significativa en la calidad de la reconstrucción de la voz, por ejemplo, a velocidades de bits más bajas.
La afinación de los formantes puede contribuir a significativas ganancias de calidad de voz clara; sin embargo, en presencia de ruido y con bajas relaciones señal-ruido (SNR), las ganancias de calidad son menos pronunciadas. Esto puede deberse a una estimación inexacta del filtro de afinación de formantes y, en parte, a ciertas limitaciones del modelo de voz del sistema fuente que, además, debe tener en cuenta el ruido. En algunos casos, la degradación en la calidad de la voz es más notable en presencia de una extensión del ancho de banda donde se usa en la síntesis de banda alta una excitación de banda baja, transformada, afinada de formantes. En particular, ciertos componentes (por ejemplo, la contribución del libro de códigos fijo) de la excitación de banda baja pueden someterse a una afinación del tono y/o formante para mejorar la calidad perceptual de la síntesis de banda baja. El uso de la excitación afinada por el tono y/o el formante de la banda baja para la síntesis de la banda alta puede tener una mayor probabilidad de causar artefactos audibles que de mejorar la calidad total de la reconstrucción del habla. En la solicitud de patente US2002/0116182A1, se divulga aplicar la ponderación perceptual a la contribución de un libro de códigos adaptativo de un codificador CELP. Los coeficientes de filtro pueden determinarse de forma adaptativa en función del contenido espectral. En la solicitud de patente WO2005/041170A1, se divulga cómo controlar un posfiltro aplicado a una señal de voz decodificada en base a las estadísticas SNR e inclinación del ruido. En la patente US8845244 se usa un procedimiento de clasificación para establecer los parámetros del filtro de ponderación perceptual, la clasificación depende de los valores del coeficiente LSF y los coeficientes LAR.
Breve descripción de las figuras
La Figura 1 muestra un diagrama esquemático para una arquitectura de análisis por síntesis de predicción lineal excitada por código (CELP) para la codificación de voz de baja velocidad de transferencia.
La Figura 2 muestra un espectro de transformada rápida de Fourier (FFT) y un espectro LPC correspondiente para un ejemplo de una trama de una señal de voz.
La Figura 3A muestra un diagrama de flujo para un procedimiento M100 para procesar una señal de audio de acuerdo con una configuración general.
La Figura 3B muestra un diagrama de bloques para un aparato MF100 para procesar una señal de audio de acuerdo con una configuración general.
La Figura 3C muestra un diagrama de bloques para un aparato A100 para procesar una señal de audio de acuerdo con una configuración general.
La Figura 3D muestra un diagrama de flujo para una implementación M120 del procedimiento M100.
La Figura 3E muestra un diagrama de bloques para una implementación MF120 del aparato MF100.
La Figura 3F muestra un diagrama de bloques para una implementación A120 del aparato A100.
La Figura 4 muestra un ejemplo de un listado de pseudocódigo para calcular una SNR a largo plazo.
La Figura 5 muestra un ejemplo de un listado de pseudocódigo para estimar un factor de afinación de formantes de acuerdo con la SNR a largo plazo.
Las Figuras 6A-6C son gráficos de ejemplo del valor Y2 frente a una SNR a largo plazo.
La Figura 7 ilustra la generación de una señal objetivo x(n) para la búsqueda de libro de códigos adaptativo. La Figura 8 muestra un procedimiento para la estimación del FCB.
La Figura 9 muestra una modificación del procedimiento de la Figura 8 para incluir la afinación de formantes adaptativa como se describe en la presente memoria.
La Figura 10A muestra un diagrama de flujo para un procedimiento M200 para procesar una señal de audio codificada de acuerdo con una configuración general.
La Figura 10B muestra un diagrama de bloques para un aparato MF200 para procesar una señal de audio codificada de acuerdo con una configuración general.
La Figura 10C muestra un diagrama de bloques para un aparato A200 para procesar una señal de audio codificada de acuerdo con una configuración general.
La Figura 11A es un diagrama de bloques que ilustra un ejemplo de un terminal de transmisión 102 y un terminal de recepción 104 que se comunican a través de la red NW10.
La Figura 11B muestra un diagrama de bloques de una implementación AE20 del codificador de audio AE10. La Figura 12 muestra un diagrama de bloques de una implementación básica FE20 del codificador de tramas FE10.
La Figura 13A muestra un diagrama de bloques de un dispositivo de comunicaciones D10.
La Figura 13B muestra un diagrama de bloques de un dispositivo inalámbrico 1102.
La Figura 14 muestra vistas frontal, posterior y lateral de un teléfono H100.
Sumario de la invención
La invención proporciona un procedimiento de acuerdo con la reivindicación 1 y un aparato de acuerdo con la reivindicación 3. Un aspecto preferible se define en la reivindicación dependiente.
Descripción detallada
A menos que esté expresamente limitado por su contexto, el término "señal" se usa en la presente memoria para indicar cualquiera de sus significados ordinarios, que incluye el estado de una ubicación de memoria (o un conjunto de ubicaciones de memoria) tal como se expresa en un cable, bus u otro medio de transmisión. A menos que esté expresamente limitado por su contexto, el término "generar" se usa en la presente memoria para indicar cualquiera de sus significados ordinarios, como computar o producir de cualquier otra manera. A menos que esté expresamente limitado por su contexto, el término "calcular" se usa en la presente memoria para indicar cualquiera de sus significados ordinarios, como computar, evaluar, suavizar y/o seleccionar entre una pluralidad de valores. A menos que esté expresamente limitado por su contexto, el término "obtener" se usa para indicar cualquiera de sus significados ordinarios, como calcular, derivar, recibir (por ejemplo, desde un dispositivo externo) y/o recuperar (por ejemplo, desde una matriz de dispositivos de almacenamiento). A menos que esté expresamente limitado por su contexto, el término "seleccionar" se usa para indicar cualquiera de sus significados ordinarios, como identificar, indicar, aplicar y/o usar al menos uno, y menos que todos, de un conjunto de dos o más. A menos que esté expresamente limitado por su contexto, el término "determinar" se usa para indicar cualquiera de sus significados ordinarios, como decidir, establecer, concluir, calcular, seleccionar y/o evaluar. Cuando se usa el término "que comprende" en la presente descripción y reivindicaciones, no excluye otros elementos u operaciones. El término "en base a" (como en "A en base a B") se usa para indicar cualquiera de sus significados ordinarios, que incluye los casos (i) "derivado de" (por ejemplo, "B es un precursor de A"), (ii) "en base a al menos" (por ejemplo, "A en base a al menos B") y, si corresponde en el contexto particular, (iii) "igual a" (por ejemplo, "A es igual a B"). De manera similar, el término "en respuesta a" se usa para indicar cualquiera de sus significados ordinarios, que incluye "en respuesta a al menos".
A menos que se indique lo contrario, el término "serie" se usa para indicar una secuencia de dos o más elementos. El término "logaritmo" se usa para indicar el logaritmo en base diez, aunque las extensiones de tal operación a otras bases están dentro del ámbito de esta divulgación. El término "componente de frecuencia" se usa para indicar uno entre un conjunto de frecuencias o bandas de frecuencia de una señal, tal como una muestra de una representación en el dominio de la frecuencia de la señal (por ejemplo, producida por una transformada rápida de Fourier o MDCT) o una subbanda de la señal (por ejemplo, una subbanda de escala Bark o escala mel).
A menos que se indique lo contrario, cualquier divulgación de una operación de un aparato que tenga una característica particular también tiene la intención expresa de divulgar un procedimiento que tenga una característica análoga (y viceversa), y cualquier divulgación de una operación de un aparato de acuerdo con una configuración particular también está expresamente destinado a divulgar un procedimiento de acuerdo con una configuración análoga (y viceversa). El término "configuración" puede usarse en referencia a un procedimiento, aparato y/o sistema como lo indica su contexto particular. Los términos "método", "proceso", "procedimiento" y "técnica" se usan de manera genérica e intercambiable a menos que se indique lo contrario en el contexto particular. Una "tarea" que tiene varias subtareas también es un procedimiento. Los términos "aparato", y "dispositivo" se usan de manera genérica e intercambiable a menos que se indique lo contrario en el contexto particular. Los términos "elemento" y "módulo" se usan típicamente para indicar una parte de una configuración mayor. A menos que esté expresamente limitado por su contexto, el término "sistema" se usa en la presente memoria para indicar cualquiera de sus significados comunes, que incluyen "un grupo de elementos que interactúan para cumplir un propósito común". El término "pluralidad" significa "dos o más".
Los términos "codificador", "códec" y "sistema de codificación" se usan de manera intercambiable para indicar un sistema que incluye al menos un codificador configurado para recibir y codificar tramas de una señal de audio (posiblemente después de una o más operaciones de preprocesamiento, tal como una ponderación perceptual y/u otra operación de filtrado) y un decodificador correspondiente configurado para producir representaciones decodificadas de las tramas. Tal codificador y decodificador se despliegan típicamente en terminales opuestos de un enlace de comunicaciones. Para admitir una comunicación bidireccional simultánea, se despliegan típicamente las instancias tanto del codificador como del decodificador en cada extremo de dicho enlace.
A menos que se indique lo contrario, los términos "vocoder", "codificador de audio" y "codificador de voz" se refieren a la combinación de un codificador de audio y un decodificador de audio correspondiente. A menos que se indique lo contrario, el término "codificación" indica la transferencia de una señal de audio a través de un códec, que incluye la codificación y la posterior decodificación. A menos que se indique lo contrario, el término "transmitir" indica propagar (por ejemplo, una señal) en un canal de transmisión.
Se puede aplicar un esquema de codificación como se describe en la presente memoria para codificar cualquier señal de audio (por ejemplo, que incluye audio sin voz). Alternativamente, puede ser conveniente usar dicho esquema de codificación solo para voz. En tal caso, el esquema de codificación puede usarse con un esquema de clasificación para determinar el tipo de contenido de cada trama de la señal de audio y seleccionar un esquema de codificación adecuado.
Un esquema de codificación como se describe en la presente memoria se puede usar como un códec primario o como una capa o etapa en un códec multicapa o multietapa. En uno de esos ejemplos, tal esquema de codificación se usa para codificar una porción del contenido de frecuencia de una señal de audio (por ejemplo, una banda baja o una banda alta), y otro esquema de codificación se usa para codificar otra porción del contenido de frecuencia de la señal.
El marco de trabajo de análisis y síntesis de predicción lineal (LP) ha tenido éxito para la codificación de voz debido a que se adapta bien al paradigma del sistema fuente para la síntesis de voz. En particular, las características espectrales del tracto vocal superior, que varían lentamente en el tiempo se modelan mediante un filtro omnipolar, mientras que el residuo de predicción captura el comportamiento de excitación de las cuerdas vocales con voz, sin voz o mixto.
Puede que sea conveniente usar un procedimiento de análisis por síntesis de lazo cerrado para modelar y codificar el residuo de predicción del análisis Lp . En un sistema LP excitado por código (CELP) de análisis por síntesis (por ejemplo, como se muestra en la Figura 1), se selecciona la secuencia de excitación que minimiza un error entre la voz de entrada y la reconstruida (o "sintetizada"). El error que se minimiza en tal sistema puede ser, por ejemplo, un error cuadrático medio (MSE) ponderado perceptualmente.
La Figura 2 muestra un espectro de transformada rápida de Fourier (FFT) y un espectro LPC correspondiente para un ejemplo de una trama de una señal de voz. En este ejemplo, las concentraciones de energía en los formantes (etiquetados F1 a F4), que corresponden a resonancias en el tracto vocal, son claramente visibles en el espectro LPC más suave.
Se puede esperar que la energía de la voz en las regiones de formantes enmascare parcialmente el ruido que de cualquier otra manera podría producirse en esas regiones. En consecuencia, podría ser conveniente implementar un codificador LP para incluir un filtro de ponderación perceptual (PWF) para dar forma al error de predicción de modo que el ruido debido al error de cuantificación pueda enmascararse por los formantes de alta energía.
Un PWF W(z) que desenfatiza la energía del error de predicción en las regiones de formantes (por ejemplo, de modo que el error fuera de esas regiones pueda modelarse con mayor precisión) puede implementarse de acuerdo con una expresión tal como
A( z/Yi ) 1 Hi=iYiaiz~ W{z) = ( la )
K z ! Y t) 1 ~ Y ! í= iY 2 a íz ~
o
Figure imgf000005_0001
donde yi y Y2 son pesos cuyos valores satisfacen la relación 0 < Y2< yi< 1, ai son los coeficientes del filtro omnipolar, A(z), y L es el orden del filtro omnipolar. Típicamente, el valor del peso de proalimentación yi es igual o mayor que 0,9 (por ejemplo, en el rango de 0,94 a 0,98) y el valor del peso de retroalimentación Y2 varía entre 0,4 y 0,7. Como se muestra en la expresión (1a), los valores de yi y Y2 pueden diferir para diferentes coeficientes de filtro a/, o los mismos valores de yi y Y2 se puede usar para todos i, 1 < i < L. Los valores de yi y Y2 pueden seleccionarse, por ejemplo, de acuerdo con las características de inclinación (o planitud) asociadas con la envolvente espectral LPC. En un ejemplo, la inclinación espectral se indica mediante el primer coeficiente de reflexión. Un ejemplo particular en el que W(z) se implementa de acuerdo con la expresión (1b) con los valores {y i, Y2} = {0,92, 0,68} se describe en las secciones 4.3 y 5.3 de la Especificación Técnica (TS) 26.190 v11.0.0 (AMR-Wb speech codec, septiembre de 2012, Proyecto de Asociación de Tercera Generación (3GPP), Valbonne, FR).
En la codificación CELP, la señal de excitación e(n) se genera a partir de dos libros de códigos, específicamente, el libro de códigos adaptativo (ACB) y el libro de códigos fijo (FCB). La señal de excitación e(n) puede generarse de acuerdo con una expresión tal como
Figure imgf000005_0002
donde n es un índice de muestra, gP y gc son las ganancias ACB y FCB, y v(n) y c(n) son los vectores ACB y FCB, respectivamente. El vector ACB v(n) representa un segmento retrasado de la señal de excitación anterior (es decir, retrasado por un valor de tono, tal como un valor de tono de lazo cerrado) y contribuye al componente periódico de la excitación total.
El vector de excitación FCB c(n) representa en parte un componente aperiódico restante en la señal de excitación. En un ejemplo, el vector c(n) se construye usando un libro de códigos algebraico de pulsos unitarios intercalados. El vector FCB c(n) puede obtenerse realizando una búsqueda en el libro de códigos fijo después de capturar la contribución periódica en la excitación total en gPu(n).
Los procedimientos, sistemas y aparatos descritos en la presente memoria pueden configurarse para procesar la señal de audio como una serie de segmentos. Las longitudes típicas de los segmentos varían de aproximadamente cinco o diez milisegundos a aproximadamente cuarenta o cincuenta milisegundos, y los segmentos pueden superponerse (por ejemplo, con segmentos adyacentes que se superponen en un 25 % o 50 %) o no superponerse. En un ejemplo particular, la señal de audio se divide en una serie de segmentos o "tramas" que no se superponen, cada una de los cuales tiene una duración de diez milisegundos. En otro ejemplo particular, cada trama tiene una duración de veinte milisegundos. Los ejemplos de velocidades de muestreo para la señal de audio incluyen (sin limitación) ocho; doce; dieciséis; 32; 44,1; 48 y 192 kilohercios. Puede que sea conveniente para tal procedimiento, sistema o aparato que actualizar el análisis de LP sobre una base de subtrama (por ejemplo, cada trama se divide en dos, tres o cuatro subtramas de tamaño aproximadamente igual). Adicional o alternativamente, puede que sea conveniente que tal procedimiento, sistema o aparato produzca la señal de excitación sobre la base de una subtrama.
La Figura 1 muestra un diagrama esquemático para una arquitectura de análisis por síntesis de predicción lineal excitada por código (CELP) para la codificación de voz de baja velocidad de transferencia. En esta figura, s es la voz de entrada, s(n) es la voz preprocesada, s(n) es la voz reconstruida y A(z) es el filtro de análisis LP.
Puede que sea conveniente emplear técnicas de afinación de tono y/o afinación de formantes, que pueden proporcionar una mejora significativa en la calidad de reconstrucción de la voz, particularmente a bajas velocidades de transferencia. Dichas técnicas pueden implementarse aplicando primero la afinación del tono y la afinación del formante en la respuesta de impulso del filtro de síntesis ponderado (por ejemplo, la respuesta de impulso deW(z)* 1/Á(z), donde 1/Á(z) denota el filtro de síntesis cuantificado), antes de la búsqueda FCB, y luego aplicando posteriormente la afinación en el vector FCB estimado c(n) como se describe a continuación.
1) Se puede esperar que el vector ACB v(n) no capture toda la energía de tono en la señal s(n), y que la búsqueda de FCB se realice de acuerdo con un resto que incluye parte de la energía de tono. En consecuencia, puede que sea conveniente usar la estimación de tono actual (por ejemplo, el valor de tono de lazo cerrado) para afinar un componente correspondiente en el vector FCB. La afinación del tono se puede realizar mediante una función de transferencia tal como la siguiente:
Figure imgf000006_0001
donde t se basa en una estimación de tono actual (por ejemplo, t es el valor de tono de lazo cerrado redondeado al valor entero más cercano). El vector FCB estimado c(n) se filtra usando un prefiltro de tono de tipo Hi(z). El filtro Hi(z) también se aplica a la respuesta de impulso del filtro de síntesis ponderado (por ejemplo, a la respuesta de impulso deW(z)/Á(z)) antes de la estimación FCB. En otro ejemplo, el filtro Hi(z) se basa en la ganancia del libro de códigos adaptativo gp, como en las siguientes:
Figure imgf000006_0002
(por ejemplo, como se describe en la sección 4.12.4.14 del documento C.S0014-E v1.0 del Proyecto de asociación de tercera generación 2 (3GPP2), diciembre de 2011, Arlington, VA), donde el valor degp (0 <gp< 1) puede delimitarse por los valores [0,2, 0,9].
2) También se puede esperar que la búsqueda de FCB se realice de acuerdo con un resto que incluya más energía en las regiones de formantes, en lugar de ser completamente similar al ruido. La afinación de formantes (FS) se puede realizar usando un filtro de ponderación perceptual que es similar al filtro W(z) como se describió anteriormente. En este caso, sin embargo, los valores de los pesos satisfacen la relación 0 < /1< Y2< 1. En uno de esos ejemplos, los valores / 1= 0,75 para el peso de proalimentación y / 2= 0,9 para el peso de retroalimentación se usan:
A {z ! 0.75)
H2(z )
Figure imgf000006_0003
A (z /0,9) ‘
A diferencia del PWF W(z) en la Ec. (1) que realiza la desenfatización para ocultar el ruido de cuantificación en los formantes, un filtro FSH2(z) como se muestra en la Ec. (4) enfatiza las regiones de formantes asociadas con la excitación FCB. El vector FCB estimado c(n) se filtra usando un filtro FS H2(z). El filtro H2(z) también se aplica a la respuesta de impulso del filtro de síntesis ponderado (por ejemplo, a la respuesta de impulso deW(z)/Á(z)) antes de la estimación FCB.
Las mejoras en la calidad de la reconstrucción de voz que pueden obtenerse mediante el uso de la afinación del tono y del formante pueden depender directamente del modelo de señal de voz subyacente y de la precisión en la estimación del tono de lazo cerrado t y el filtro de análisis LP A(z). En base a varias pruebas de escucha a gran escala, se ha verificado experimentalmente que la afinación de formantes puede contribuir a grandes ganancias de calidad en una voz clara. En presencia de ruido, sin embargo, se ha observado consistentemente cierta degradación. La degradación por causa de la afinación del formante puede deberse a una estimación inexacta del filtro FS y/o a limitaciones del modelado de voz del sistema fuente que, además, debe tener en cuenta el ruido. Se puede usar una técnica de extensión de ancho de banda para aumentar el ancho de banda de una señal de voz de banda estrecha decodificada (que tenga un ancho de banda de, por ejemplo, 0, 50, 100, 200, 300 o 350 Hertz a 3; 3,2; 3,4; 3,5; 4, 6,4 u 8 kHz) en una banda alta (por ejemplo, hasta 7, 8, 12, 14, 16 o 20 kHz) extendiendo espectralmente los coeficientes de filtro LPC de banda estrecha para obtener coeficientes de filtro LPC de banda alta (alternativamente, incluyendo coeficientes de filtro LPC de banda alta en la señal codificada) y extendiendo espectralmente la señal de excitación de banda estrecha (por ejemplo, usando una función no lineal, tal como valor absoluto o cuadrado) para obtener una señal de excitación de banda alta. Desafortunadamente, la degradación causada por la afinación de formantes puede ser más severa en presencia de una extensión de ancho de banda donde tal excitación de banda baja transformada se usa en la síntesis de banda alta.
Puede ser conveniente preservar las mejoras de calidad debidas a FS tanto en voz clara como en voz ruidosa. En la presente memoria se describe un enfoque para variar adaptativamente el factor de afinación de formantes (FS). En particular, se observaron mejoras en la calidad al usar un factor de énfasis menos agresivo Y2 para la afinación de formantes en presencia de ruido.
La Figura 3A muestra un diagrama de flujo para un procedimiento M100 para procesar una señal de audio de acuerdo con una configuración general que incluye las tareas T100, T200, y T300 La tarea T100 determina (por ejemplo, calcula) una relación señal-ruido promedio para la señal de audio a lo largo del tiempo. En base a la SNR promedio, la tarea T200 determina (por ejemplo, calcula, estima, recupera de una tabla de consulta, etc.) un factor de afinación de formantes. Un "factor de afinación de formantes" (o "factor FS") corresponde a un parámetro que se puede aplicar en un sistema de codificación (o decodificación) de voz de manera que el sistema produce diferentes resultados de énfasis de formantes en respuesta a diferentes valores del parámetro. Para ilustrar, un factor de afinación de formantes puede ser un parámetro de filtro de un filtro de afinación de formantes. Por ejemplo, yi y/o y2 de la Ecuación 1(a), la Ecuación 1(b) y la Ecuación 4 son factores de afinación de formantes. El factor de afinación de formantesY2 puede determinarse en base a una relación señal-ruido a largo plazo, tal como se describe con respecto a las Figuras 5 y 6A-6C. El factor de afinación de formantes Y2 también se puede determinar en base a otros factores, tal como la sonorización, el modo de codificación y/o el retraso de tono. La tarea T300 aplica un filtro que se basa en el factor FS a un vector FCB que se basa en la información de la señal de audio.
En un ejemplo no cubierto por las reivindicaciones, la Tarea T100 en la Figura 3A también puede incluir la determinación de otros factores intermedios tal como el factor de sonorización (por ejemplo, el valor de sonorización en el rango de 0,8 a 1,0 corresponde a un segmento de voz fuerte; el valor de sonorización en el rango de 0 a 0,2 corresponde a un segmento de voz débil), modo de codificación (por ejemplo, voz, música, silencio, trama transitoria o trama sin voz) y retraso de tono. Estos parámetros auxiliares se pueden usar junto con o en lugar de la SNR promedio para determinar el factor de afinación de formantes.
La tarea T100 puede implementarse para realizar una estimación de ruido y calcular una SNR a largo plazo. Por ejemplo, la tarea T100 puede implementarse para rastrear estimaciones de ruido a largo plazo durante segmentos inactivos de la señal de audio y para calcular energías de señal a largo plazo durante segmentos activos de la señal de audio. Otro módulo de un codificador, tal como un detector de actividad de voz, puede indicar si un segmento (por ejemplo, una trama) de la señal de audio está activo o inactivo. La tarea T100 puede entonces usar las estimaciones de energía de señal y ruido suavizadas temporalmente para calcular la SNR a largo plazo.
La Figura 4 muestra un ejemplo de un listado de pseudocódigo para calcular una SNR a largo plazo FS_ltSNR que puede realizar la tarea T100, donde FS_ltNsEner y FS_ltSpEner indican la estimación de energía de ruido a largo plazo y la estimación de energía de voz a largo plazo, respectivamente. En este ejemplo, se usa un factor de suavizado temporal que tiene un valor de 0,99 para las estimaciones de energía de señal y de ruido, aunque en general cada factor puede tener cualquier valor deseado entre cero (sin suavizado) y uno (sin actualización).
La tarea T200 puede implementarse para variar adaptativamente el factor de afinación de formantes a lo largo del tiempo. Por ejemplo, la tarea T200 puede implementarse para usar la SNR a largo plazo estimada de la trama actual para variar adaptativamente el factor de afinación de formantes para la trama siguiente. La Figura 5 muestra un ejemplo de un listado de pseudocódigo para estimar el factor FS de acuerdo con la SNR a largo plazo que puede realizar la tarea T200. La Figura 6A es un gráfico de ejemplo del valor Y2 frente a SNR a largo plazo que ilustra algunos de los parámetros usados en el listado de la Figura 5. La tarea T200 también puede incluir una subtarea que recorta el factor FS calculado para imponer un límite inferior (por ejemplo, GAMMA2MIN) y un límite superior (por ejemplo, GAMMA2MAX).
La tarea T200 también se puede implementar para usar un mapeo diferente del valor Y2 frente a SNR a largo plazo. Tal mapeo puede ser lineal por tramos con uno, dos o más puntos de inflexión adicionales y diferentes pendientes entre puntos de inflexión adyacentes. La pendiente de dicho mapeo puede ser más pronunciada para SNR más bajos y más superficial para SNR más altos, como se muestra en el ejemplo de la Figura 6B. Alternativamente, tal mapeo puede ser una función no lineal, como gamma2 = k*FS_ltSNRA2 o como en el ejemplo de la Figura 6C.
La tarea T300 aplica un filtro de afinación de formantes en la excitación FCB, usando el factor FS producido por la tarea T200. El filtro de afinación de formantes H2(z) puede implementarse, por ejemplo, de acuerdo con una expresión tal como la siguiente:
A(z/0,7)
H2(z )
A(z/ y2) '
Tenga en cuenta que para una voz clara y en presencia de SNR altas, el valor de Y2 está cerca de 0,9 en el ejemplo de la Figura 5, lo que da como resultado una afinación de formante agresiva. En SNR bajas de alrededor de 10-15 dB, el valor de Y2 es de alrededor de 0,75-0,78, lo que da como resultado una no afinación de formantes o una afinación de formantes menos agresiva.
Otro aspecto no cubierto por las reivindicaciones es:
En la extensión del ancho de banda, el uso de una excitación de banda baja afinada de formantes para la síntesis de banda alta puede generar artefactos. Puede usarse una implementación del procedimiento M100 como se describe en la presente memoria para variar el factor FS de manera que el impacto en la banda alta se mantenga insignificante. Alternativamente, se puede deshabilitar una contribución de afinación de formantes a la excitación de banda alta (por ejemplo, usando la versión de preafinación del vector FCB en la generación de excitación de banda alta, o deshabilitando la afinación de formantes para la generación de excitación tanto en la banda estrecha como en la banda alta). Dicho procedimiento puede realizarse dentro, por ejemplo, de un dispositivo de comunicaciones portátil, tal como un teléfono celular.
La Figura 3D muestra un diagrama de flujo de una implementación M120 del procedimiento M100 que incluye las tareas T220 y T240. La tarea T220 aplica un filtro en base al factor FS determinado (por ejemplo, un filtro de afinación de formantes como se describe en la presente memoria) a la respuesta de impulso de un filtro de síntesis (por ejemplo, un filtro de síntesis ponderado como se describe en la presente memoria). La tarea T240 selecciona el vector FCB sobre el que se realiza la tarea T300. Por ejemplo, la tarea T240 puede configurarse para realizar una búsqueda en un libro de códigos (por ejemplo, como se describe en la Figura 8 en la presente memoria y/o en la sección 5.8 de 3GPP TS 26.190 v11.0.0).
La Figura 3B muestra un diagrama de bloques para un aparato MF100 para procesar una señal de audio de acuerdo con una configuración general que incluye las tareas T100, T200 y T300. El aparato MF100 incluye medios F100 para calcular una relación señal-ruido promedio para la señal de audio a lo largo del tiempo (por ejemplo, como se describe en la presente memoria con referencia a la tarea T100). En una realización de ejemplo, el aparato MF100 puede incluir medios F100 para calcular otros factores intermedios tal como el factor de sonorización (por ejemplo, el valor de sonorización en el rango de 0,8 a 1,0 corresponde a un segmento de voz fuerte; el valor de sonorización en el rango de 0 a 0,2 corresponde a un segmento de voz débil), modo de codificación (por ejemplo, voz, música, silencio, trama transitoria o trama sin voz) y retraso de tono. Estos parámetros auxiliares pueden usarse, en aspectos no cubiertos por las reivindicaciones, junto con o en lugar de la SNR promedio para calcular el factor de afinación de formantes.
El aparato MF100 también incluye medios F200 para calcular un factor de afinación de formantes en base a la SNR promedio calculada (por ejemplo, como se describe en la presente memoria con referencia a la tarea T200). El aparato MF100 también incluye medios F300 para aplicar un filtro que en base al factor FS calculado a un vector FCB que en base a la información de la señal de audio (por ejemplo, como se describe en la presente memoria con referencia a la tarea T300). Dicho aparato puede implementarse dentro de, por ejemplo, un codificador de un dispositivo de comunicaciones portátil, como un teléfono celular.
La Figura 3E muestra un diagrama de bloques de una implementación MF120 del aparato MF100 que incluye medios F220 para aplicar un filtro en base al factor FS calculado a la respuesta de impulso de un filtro de síntesis (por ejemplo, como se describe en la presente memoria con referencia a la tarea T220). El aparato MF120 también incluye medios F240 para seleccionar un vector FCB (por ejemplo, como se describe en la presente memoria con referencia a la tarea T240).
La Figura 3C muestra un diagrama de bloques para un aparato A100 para procesar una señal de audio de acuerdo con una configuración general que incluye una primera calculadora 100, una segunda calculadora 200, y un filtro 300. La calculadora 100 está configurada para determinar (por ejemplo, calcular) una relación señal-ruido promedio para la señal de audio a lo largo del tiempo (por ejemplo, como se describe en la presente memoria con referencia a la tarea T100). La calculadora 200 está configurada para determinar (por ejemplo, calcular) un factor de afinación de formantes en base a la SNR promedio calculada (por ejemplo, como se describe en la presente memoria con referencia a la tarea T200). El filtro 300 se basa en el factor FS calculado y está dispuesto para filtrar un vector FCB en base a la información de la señal de audio (por ejemplo, como se describe en la presente memoria con referencia a la tarea T300). Dicho aparato puede implementarse dentro de, por ejemplo, un codificador de un dispositivo de comunicaciones portátil, tal como un teléfono celular.
La Figura 3F muestra un diagrama de bloques de una implementación A120 del aparato A100 en el que el filtro 300 está dispuesto para filtrar la respuesta de impulso de un filtro de síntesis (por ejemplo, como se describe en la presente memoria con referencia a la tarea t220). El aparato A120 también incluye un módulo de búsqueda en el libro de código 240 configurado para seleccionar un vector FCB (por ejemplo, como se describe en la presente memoria con referencia a la tarea T240).
Las Figuras 7 y 8 muestran detalles adicionales de un procedimiento para la estimación de FCB que puede modificarse para incluir la afinación de formantes adaptativa como se describe en la presente memoria. La Figura 7 ilustra la generación de una señal objetivo x(n) para la búsqueda adaptativa de libro de códigos aplicando el filtro de síntesis ponderado a un error de predicción en base a la señal de voz preprocesada s(n) y la señal de excitación obtenida al final de la subtrama anterior.
En la Figura 8, la respuesta de impulso h(n) del filtro de síntesis ponderado se convoluciona con el vector ACB v(n) para producir el componente ACB y(n). El componente ACB y(n) está ponderado por gp para producir una contribución ACB que se substrae de la señal objetivo x(n) para producir una señal objetivo modificada x'(n) para la búsqueda de FCB, que se puede realizar, por ejemplo, para encontrar la ubicación de índice, k, del pulso de FCB que maximiza el término de búsqueda que se muestra en la Figura 8 (por ejemplo, como se describe en la sección 5.8.3 de TS 26.190 v11.0.0).
La Figura 9 muestra una modificación del procedimiento de estimación de FCB mostrado en la Figura 8 para incluir la afinación de formantes adaptativa como se describe en la presente memoria. En este caso, los filtros hh(z) y H2(z) se aplican a la respuesta de impulso h(n) del filtro de síntesis ponderado para producir la respuesta de impulso modificada h'(n). Estos filtros también se aplican a los vectores fCb (o "libro de códigos algebraicos") después de la búsqueda.
La siguiente descripción divulga aspectos ejemplares y útiles no cubiertos por las reivindicaciones: El decodificador puede implementarse para aplicar los filtros H-i(z) y H2(z) también al vector FCB. En uno de tales ejemplos, el codificador se implementa para transmitir el factor FS calculado al decodificador como un parámetro de la trama codificada. Esta implementación puede usarse para controlar la extensión de la afinación de formantes en la señal decodificada. En otro ejemplo, el decodificador se implementa para generar los filtros H-i(z) y H2(z) en base a una estimación SNR a largo plazo que puede generarse localmente (por ejemplo, como se describe en la presente memoria con referencia a los listados de pseudocódigo en las Figuras 4 y 5), de manera que no se requiere información adicional transmitida. Sin embargo, en este caso es posible que las estimaciones SNR en el codificador y el decodificador se desincronicen debido, por ejemplo, a una gran ráfaga de borrados de tramas en el decodificador. Puede que sea conveniente abordar de manera proactiva tal desviación potencial de la SNR realizando un reinicio periódico y síncrono de la estimación SNR a largo plazo (por ejemplo, a la SNR instantánea actual) en el codificador y el decodificador. En un ejemplo, dicho reinicio se realiza a intervalos regulares (por ejemplo, cada cinco segundos o cada 250 tramas). En otro ejemplo, dicho reinicio se realiza al comienzo de un segmento de voz que se produce después de un largo período de inactividad (por ejemplo, un período de tiempo de al menos dos segundos o una secuencia de al menos 100 tramas inactivas consecutivas).
La Figura 10A muestra un diagrama de flujo para un procedimiento M200 para procesar una señal de audio de acuerdo con una configuración general que incluye las tareas T500, T600, y T700 La tarea T500 determina (por ejemplo, calcula) una relación señal-ruido promedio a lo largo del tiempo (por ejemplo, como se describe en la presente memoria con referencia a la tarea T100), en base a la información de una primera trama de la señal de audio codificada. La tarea T600 determina (por ejemplo, calcula) un factor de afinación de formantes, en base a la relación señal-ruido promedio (por ejemplo, como se describe en la presente memoria con referencia a la tarea T200). La tarea T700 aplica un filtro que se basa en el factor de afinación de formantes (por ejemplo, H2(z) o H-i(z)H2(z) como se describe en la presente memoria) a un vector de libro de códigos en base a la información de una segunda trama de la señal de audio codificada (por ejemplo, un vector FCB). Dicho procedimiento puede realizarse dentro, por ejemplo, de un dispositivo de comunicaciones portátil, tal como un teléfono celular.
La Figura 10B muestra un diagrama de bloques de un aparato MF200 para procesar una señal de audio codificada de acuerdo con una configuración general. El aparato MF200 incluye medios F500 para calcular una relación señalruido promedio a lo largo del tiempo (por ejemplo, como se describe en la presente memoria con referencia a la tarea T100), en base a la información de una primera trama de la señal de audio codificada. El aparato MF200 también incluye medios F600 para calcular un factor de afinación de formantes en base a la relación señal-ruido promedio calculada (por ejemplo, como se describe en la presente memoria con referencia a la tarea T200). El aparato MF200 incluye los medios F700 para aplicar un filtro que se basa en el factor de afinación de formantes (por ejemplo, H2(z) o H-i(z)H2(z) como se describe en la presente memoria) a un vector de libro de códigos que se basa en la información de una segunda trama de la señal de audio codificada (por ejemplo, un vector FCB). Dicho aparato puede implementarse dentro de, por ejemplo, un dispositivo de comunicaciones portátil, tal como un teléfono celular.
La Figura 10C muestra un diagrama de bloques para un aparato A200 para procesar una señal de audio codificada de acuerdo con una configuración general. El aparato A200 incluye una primera calculadora 500 configurada para determinar la relación señal-ruido promedio a lo largo del tiempo (por ejemplo, como se describe en la presente memoria con referencia a la tarea T100), en base a la información de una primera trama de la señal de audio codificada. El aparato A200 también incluye una segunda calculadora 600 configurada para determinar un factor de afinación de formantes en base a la relación señal-ruido promedio (por ejemplo, como se describe en la presente memoria con referencia a la tarea T200). El aparato A200 también incluye un filtro 700 que se basa en el factor de afinación de formantes (por ejemplo, H(z) o H-i(z)H2(z) como se describe en la presente memoria) y está dispuesto para filtrar un vector de libro de códigos que se basa en la información de una segunda trama de la señal de audio codificada (por ejemplo, un vector FCB). Dicho aparato puede implementarse dentro de, por ejemplo, un dispositivo de comunicaciones portátil, tal como un teléfono celular.
La Figura 11A es un diagrama de bloques que ilustra un ejemplo de un terminal de transmisión 102 y un terminal de recepción 104 que se comunican a través de la red NW10 a través del canal de transmisión TC10. Cada uno de los terminales 102 y 104 puede implementarse para realizar un procedimiento como se describe en la presente memoria y/o para incluir un aparato como se describe en la presente memoria. Los terminales de transmisión y recepción 102, 104 pueden ser cualquier dispositivo que sea capaz de admitir comunicaciones de voz, que incluyen teléfonos (por ejemplo, teléfonos inteligentes), ordenadores, equipos de difusión y recepción de audio, equipos de videoconferencia o similares. Los terminales de transmisión y recepción 102, 104 pueden implementarse, por ejemplo, con tecnología inalámbrica de acceso múltiple, tal como la capacidad de Acceso Múltiple por División de Código (CDMA). El CDMA es un esquema de modulación y acceso múltiple en base a comunicaciones de espectro ensanchado.
El terminal de transmisión 102 incluye un codificador de audio AE10 y el terminal de recepción 104 incluye un decodificador de audio AD10. El codificador de audio AE10, que puede usarse para comprimir información de audio (por ejemplo, voz) desde una primera interfaz de usuario UI10 (por ejemplo, un micrófono y una interfaz de audio) extrayendo valores de parámetros de acuerdo con un modelo de generación de voz humana, puede implementarse para realizar un procedimiento como se describe en la presente memoria. Un codificador de canal CE10 ensambla los valores de los parámetros en paquetes, y un transmisor TX10 transmite los paquetes que incluyen estos valores de parámetros a través de la red NW10, que puede incluir una red basada en paquetes, tal como Internet o una intranet corporativa, a través del canal de transmisión TC10. El canal de transmisión TC10 puede ser un canal de transmisión alámbrico y/o inalámbrico y se puede considerar que se extiende a un punto de entrada de la red NW10 (por ejemplo, un controlador de estación base), a otra entidad dentro de la red NW10 (por ejemplo, un analizador de calidad de canal), y/o a un receptor RX10 del terminal receptor 104, dependiendo de cómo y dónde se determine la calidad del canal.
Se usa un receptor RX10 del terminal de recepción 104 para recibir los paquetes de la red NW10 a través de un canal de transmisión. Un decodificador de canal CD10 decodifica los paquetes para obtener los valores de los parámetros, y un decodificador de audio AD10 sintetiza la información de audio usando los valores de los parámetros de los paquetes (por ejemplo, de acuerdo con un procedimiento como se describe en la presente memoria). El audio sintetizado (por ejemplo, voz) se proporciona a una segunda interfaz de usuario UI20 (por ejemplo, una etapa de salida de audio y un altavoz) en el terminal receptor 104. Aunque no se muestra, se pueden realizar varias funciones de procesamiento de señales en el codificador de canal CE10 y el decodificador de canal CD10 (por ejemplo, codificación convolucional que incluye funciones de verificación de redundancia cíclica (CRC), entrelazado) y en el transmisor TX10 y el receptor RX10 (por ejemplo, modulación digital y su correspondiente demodulación, tratamiento del espectro ensanchado, conversión analógica-digital y digital-analógica).
Cada parte de una comunicación puede transmitir, así como recibir, y cada terminal puede incluir instancias de codificador de audio AE10 y decodificador AD10. El codificador y decodificador de audio pueden ser dispositivos separados o integrados en un solo dispositivo conocido como "codificador de voz" o "vocoder". Como se muestra en la Figura 11A, los terminales 102, 104 se describen con un codificador de audio AE10 en un terminal de la red NW10 y un decodificador de audio AD10 en el otro.
En al menos una configuración del terminal de transmisión 102, una señal de audio (por ejemplo, voz) puede introducirse desde la primera interfaz de usuario UI10 al codificador de audio AE10 en tramas, cada trama se particiona en subtramas. Dichos límites de trama arbitrarios pueden usarse cuando se realiza algún procesamiento de bloques. Sin embargo, dicha partición de las muestras de audio en tramas (y subtramas) puede omitirse si se implementa un procesamiento continuo en lugar de un procesamiento por bloques. En los ejemplos descritos, cada paquete transmitido a través de la red NW10 puede incluir una o más tramas en función de la aplicación específica y las restricciones generales del diseño.
El codificador de audio AE10 puede ser un codificador de tasa variable o de tasa fija única. Un codificador de velocidad variable puede cambiar dinámicamente entre múltiples modos de codificador (por ejemplo, diferentes tasas fijas) de trama a trama, en función del contenido de audio (por ejemplo, en función de si hay voz presente y/o qué tipo de voz está presente). El decodificador de audio AD10 también puede cambiar dinámicamente entre modos de decodificador correspondientes de trama a trama de la manera correspondiente. Se puede elegir un modo particular para cada trama para lograr la velocidad de transferencia más baja disponible mientras se mantiene una calidad de reproducción de señal aceptable en el terminal receptor 104.
El codificador de audio AE10 típicamente procesa la señal de entrada como una serie de segmentos no superpuestos en el tiempo o "tramas", y se calcula una nueva trama codificada para cada trama. El período de la trama es generalmente un período durante el cual se puede esperar que la señal sea localmente estacionaria; los ejemplos comunes incluyen veinte milisegundos (equivalentes a 320 muestras a una velocidad de muestreo de 16 kHz, 256 muestras a una velocidad de muestreo de 12,8 kHz o 160 muestras a una velocidad de muestreo de ocho kHz) y diez milisegundos. También es posible implementar el codificador de audio AE10 para procesar la señal de entrada como una serie de tramas superpuestas.
La Figura 11B muestra un diagrama de bloques de una implementación AE20 del codificador de audio AE10 que incluye un codificador de trama FE10. El codificador de trama FE10 está configurado para codificar cada una de una secuencia de tramas CF de la señal de entrada ("tramas de audio principales") para producir una correspondiente de una secuencia de tramas de audio codificadas EF. El codificador de audio AE10 también puede implementarse para realizar tareas adicionales, tales como dividir la señal de entrada en tramas y seleccionar un modo de codificación para el codificador de tramas FE10 (por ejemplo, seleccionar una reasignación de una asignación de bits inicial, como se describe en la presente memoria con referencia a la tarea T400). Seleccionar un modo de codificación (por ejemplo, control de velocidad) puede incluir realizar detección de actividad de voz (VAD) y/o clasificar de cualquier otra manera el contenido de audio de la trama. En este ejemplo, el codificador de audio AE20 también incluye un detector de actividad de voz VAD10 que está configurado para procesar las tramas de audio principales CF para producir una señal de detección de actividad de voz VS (por ejemplo, como se describe en 3GPP TS 26.194 v11.0.0, septiembre de 2012, disponible en la ETSI).
El codificador de tramas FE10 se implementa para realizar un esquema basado en un libro de códigos (por ejemplo, predicción lineal de excitación del libro de códigos o CELP) de acuerdo con un modelo de fuente-filtro que codifica cada trama de la señal de audio de entrada como (A) un conjunto de parámetros que describen un filtro y (B) una señal de excitación que se usará en el decodificador para activar el filtro descrito para producir una reproducción sintetizada de la trama de audio. La envolvente espectral de una señal de voz se caracteriza típicamente por picos que representan resonancias del tracto vocal (por ejemplo, la garganta y la boca) y se denominan formantes. La mayoría de los codificadores de voz codifican al menos esta estructura espectral gruesa como un conjunto de parámetros, tales como coeficientes de filtro. La señal residual restante se puede modelar como una fuente (por ejemplo, producida por las cuerdas vocales) que activa el filtro para producir la señal de voz y típicamente se caracteriza por su intensidad y tono.
Los ejemplos particulares de esquemas de codificación que puede usar el codificador de tramas FE10 para producir las tramas EF codificadas incluyen, entre otros, G.726, G.728, G.729A, AMR, AMR-WB, AMR-WB+ (por ejemplo, como se describe en 3GPP TS 26.290 v11.0.0, septiembre de 2012 (disponible en ETSI)), VMR-WB (por ejemplo, como se describe en el documento C.S0052-A v1.0 del Proyecto de asociación de tercera generación 2 (3GPP2), abril de 2005 (disponible en línea en www-dot-3gpp2-dot-org)), el códec de tasa variable mejorada (EVRC, como se describe en el documento 3GPP2 C.S0014-E v1.0, diciembre de 2011) (disponible en línea en www-dot-3gpp2 -dotorg)), el códec de voz Vocoder de Modo Seleccionable (como se describe en el documento 3GPP2 C.S0030-0,v3.0, enero de 2004 (disponible en línea en www-dot-3gpp2-dot-org)), y el códec de Servicio de Voz Mejorado (EVS, por ejemplo, como se describe en 3GPP TR 22.813 v10.0.0 (marzo de 2010), disponible en ETSI).
La Figura 12 muestra un diagrama de bloques de una implementación básica FE20 del codificador de tramas FE10 que incluye un módulo de preprocesamiento PP10, un módulo de análisis de codificación de predicción lineal (LPC) LA10, un módulo de búsqueda de tono de lazo abierto OL10, un módulo de búsqueda de libro de códigos adaptativo (ACB) AS10, un módulo de búsqueda de libro de códigos fijo (FCB) FS10 y un módulo de cuantificación de vector de ganancia (VQ) GV10. El módulo de preprocesamiento PP10 puede implementarse, por ejemplo, como se describe en la sección 5.1 de 3GPP TS 26.190 v11.0.0. En uno de esos ejemplos, el módulo de preprocesamiento PP10 se implementa para realizar un submuestreo de la trama de audio principal (por ejemplo, de 16 kHz a 12,8 kHz), un filtrado de paso alto de la trama submuestreada (por ejemplo, con una frecuencia de corte de 50 Hz) y un preénfasis de la trama filtrada (por ejemplo, usando un filtro de paso alto de primer orden).
El módulo de análisis de codificación de predicción lineal (LPC) LA10 codifica la envolvente espectral de cada trama de audio principal como un conjunto de coeficientes de predicción lineal (LP) (por ejemplo, coeficientes del filtro omnipolar 1/A(z) como se describió anteriormente). En un ejemplo, el módulo de análisis lPc LA10 está configurado para calcular un conjunto de dieciséis coeficientes de filtro LP para caracterizar la estructura de formantes de cada trama de 20 milisegundos. El módulo de análisis LA10 puede implementarse, por ejemplo, como se describe en la sección 5.2 de 3GPP TS 26.190 v11.0.0.
El módulo de análisis LA10 puede configurarse para analizar las muestras de cada trama directamente, o las muestras pueden ponderarse primero de acuerdo con una función de ventana (por ejemplo, una ventana de Hamming). El análisis también se puede realizar en una ventana que es más grande que la trama, tal como una ventana de 30 ms. Esta ventana puede ser simétrica (por ejemplo, 5-20-5, de modo que incluya los 5 milisegundos inmediatamente anteriores y después de la trama de 20 milisegundos) o asimétrica (por ejemplo, 10-20, de modo que incluya los últimos 10 milisegundos de la trama anterior). Un módulo de análisis de LPC generalmente se configura para calcular los coeficientes de filtro de LP usando una recursión de Levinson-Durbin o el algoritmo de Leroux-Gueguen. Aunque la codificación LPC se adapta bien a la voz, también se puede usar para codificar señales de audio genéricas (por ejemplo, que incluyen las que no son de voz, tal como la música). En otra implementación, el módulo de análisis puede configurarse para calcular un conjunto de coeficientes cepstrales para cada trama en lugar de un conjunto de coeficientes de filtro LP.
Los coeficientes de filtro de predicción lineal típicamente son difíciles de cuantificar de manera eficiente y generalmente se mapean en otra representación, tales como pares espectrales de línea (LSP) o frecuencias espectrales de línea (LSF), o pares espectrales de inmitancia (ISP) o frecuencias espectrales de inmitancia (ISF), para cuantificación y/o codificación de entropía. En un ejemplo, el módulo de análisis LA10 transforma el conjunto de coeficientes de filtro LP en un conjunto correspondiente de ISF. Otras representaciones uno a uno de los coeficientes de filtro LP incluyen coeficientes de parcor y valores de relación de área logarítmica. Normalmente, una transformada entre un conjunto de coeficientes de filtro Lp y un conjunto correspondiente de LSF, LSP, ISF o ISP es reversible, pero las realizaciones también incluyen implementaciones del módulo de análisis LA10 en las que la transformada no es reversible sin error.
El módulo de análisis LA10 está configurado para cuantificar el conjunto de ISF (o LSF u otra representación de coeficiente), y el codificador de trama FE20 está configurado para generar el resultado de esta cuantificación como índice XL de LPC. Dicho cuantificador típicamente incluye un cuantificador de vector que codifica el vector de entrada como un índice para una entrada de vector correspondiente en una tabla o libro de códigos. El módulo LA10 también está configurado para proporcionar los coeficientes cuantificados ái para el cálculo del filtro de síntesis ponderado como se describe en la presente memoria (por ejemplo, mediante el módulo de búsqueda ACB AS10). El codificador de trama FE20 también incluye un módulo de búsqueda de tono de lazo abierto opcional OL10 que se puede usar para simplificar el análisis de tono y reducir el alcance de la búsqueda de tono de lazo cerrado en el módulo de búsqueda de libro de códigos adaptativo AS10. El módulo OL10 se puede implementar para filtrar la señal de entrada a través de un filtro de ponderación que se basa en los coeficientes de filtro LP no cuantificados, para diezmar la señal ponderada por dos y producir una estimación de tono una o dos veces por trama (en función de la tasa actual). El módulo OL10 puede implementarse, por ejemplo, como se describe en la sección 5.4 de 3GPP TS 26.190 v11.0.0.
El módulo de búsqueda de libro de códigos adaptativo (ACB) AS10 está configurado para buscar en el libro de códigos adaptativo (en base a la excitación pasada y también llamado "libro de códigos de tono") para producir el retraso y la ganancia del filtro de tono. El módulo AS10 puede implementarse para realizar una búsqueda de tono de lazo cerrado alrededor de las estimaciones de tono de lazo abierto sobre una base de subtrama en una señal objetivo (como se obtiene, por ejemplo, filtrando el residuo de LP a través de un filtro de síntesis ponderado en base a los coeficientes de filtro LP cuantificado y no cuantificado) y luego calcular el vector de código adaptativo interpolando la excitación pasada en el retardo de tono fraccional indicado y calcular la ganancia ACB. El módulo AS10 también se puede implementar para usar el residual LP para extender el búfer de excitación pasado para simplificar la búsqueda de tono de lazo cerrado (especialmente para retrasos menores que el tamaño de subtrama de, por ejemplo, 40 o 64 muestras). El módulo AS10 puede implementarse para producir una ganancia ACB gp (por ejemplo, para cada subtrama) y un índice cuantificado que indica el retraso de tono de la primera subtrama (o los retrasos de tono de la primera y tercera subtrama, en función de la velocidad actual) y los retrasos de tono relativos de las otras subtramas. El módulo AS10 puede implementarse, por ejemplo, como se describe en la sección 5.7 de 3GPP TS 26.190 v11.0.0. En el ejemplo de la Figura 12, el módulo AS10 proporciona la señal objetivo modificada x'(n) y la respuesta de impulso modificada h'(n) al módulo de búsqueda FCB FS10.
El módulo de búsqueda de libro de códigos fijo (FCB) FS10 está configurado para producir un índice que indica un vector del libro de códigos fijo (también llamado "libro de códigos de innovación", "libro de códigos innovador", "libro de códigos estocástico" o "libro de códigos algebraico"), que representa el parte de la excitación que no está modelada por el vector de código adaptativo. El módulo FS10 puede implementarse para generar el índice del libro de códigos como una palabra de código que contiene toda la información necesaria para reproducir el vector FCB c(n) (por ejemplo, representa las posiciones y los signos del pulso), de manera que no se necesita un libro de códigos. El módulo FS10 puede implementarse, por ejemplo, como se describe en la Figura 8 del en la presente memoria y/o en la sección 5.8 de 3GPP TS 26.190 v11.0.0. En el ejemplo de la Figura 12, el módulo FS10 también está configurado para aplicar los filtros Hi(z)H2(z) a c(n) (por ejemplo, antes del cálculo de la señal de excitación e(n) para la subtrama, donde e(n) =gpv(n) gcc'(n)).
El módulo de cuantificación del vector de ganancia GV10 está configurado para cuantificar las ganancias FCB y ACB, que pueden incluir ganancias para cada subtrama. El módulo GV10 puede implementarse, por ejemplo, como se describe en la sección 5.9 de 3g Pp TS 26.190 v11.0.0.
La Figura 13A muestra un diagrama de bloques de un dispositivo de comunicaciones D10 que incluye un chip o conjunto de chips CS10 (por ejemplo, un conjunto de chips de módem de estación móvil (MSM)) que incorpora los elementos del aparato A100 (o MF100). El chip/conjunto de chips CS10 puede incluir uno o más procesadores, que pueden configurarse para ejecutar una parte de software y/o microprograma del aparato A100 o MF100 (por ejemplo, como instrucciones). El terminal de transmisión 102 se puede realizar como una implementación del dispositivo D10.
El chip/conjunto de chips CS10 incluye un receptor (por ejemplo, RX10), que está configurado para recibir una señal de comunicaciones de radiofrecuencia (RF) y para decodificar y reproducir una señal de audio codificada dentro de la señal de RF, y un transmisor (por ejemplo, TX10), que está configurado para transmitir una señal de comunicaciones de RF que describe una señal de audio codificada (por ejemplo, como se produce usando el procedimiento M100). Dicho dispositivo puede configurarse para transmitir y recibir datos de comunicaciones de voz de forma inalámbrica a través de uno o más de los códecs a los que se hace referencia en la presente memoria. El dispositivo D10 está configurado para recibir y transmitir las señales de comunicaciones de RF a través de una antena C30. El dispositivo D10 también puede incluir un diplexor y uno o más amplificadores de potencia en la trayectoria a la antena C30. El chip/conjunto de chips CS10 también está configurado para recibir la entrada del usuario a través del teclado C10 y para mostrar información a través de la pantalla C20. En este ejemplo, el dispositivo D10 también incluye una o más antenas C40 para admitir servicios de ubicación del Sistema de Posicionamiento Global (GPS) y/o comunicaciones de corto alcance con un dispositivo externo como un auricular inalámbrico (por ejemplo, Bluetooth™). En otro ejemplo, dicho dispositivo de comunicaciones es en sí mismo un auricular Bluetooth™ y carece de teclado C10, pantalla C20 y antena C30.
El dispositivo de comunicaciones D10 puede incorporarse en una variedad de dispositivos de comunicaciones, que incluyen teléfonos inteligentes y ordenadores portátiles y tabletas. La Figura 14 muestra vistas frontal, posterior y lateral de uno de estos ejemplos: un teléfono H100 (por ejemplo, un teléfono inteligente) que tiene dos micrófonos de voz MV10-1 y MV10-3 dispuestos en la cara frontal, un micrófono de voz MV10-2 dispuesto en la parte posterior cara, otro micrófono ME10 (por ejemplo, para una selectividad direccional mejorada y/o para capturar el error acústico en el oído del usuario para la entrada a una operación de cancelación activa de ruido) ubicado en la esquina superior de la cara frontal, y otro micrófono MR10 (por ejemplo, para selectividad direccional mejorada y/o para capturar una referencia de ruido de fondo) ubicado en la cara posterior. Un altavoz LS10 está dispuesto en la parte superior central de la cara frontal cerca del micrófono de error ME10, y también se proporcionan otros dos altavoces LS20L, LS20R (por ejemplo, para aplicaciones de altavoz). La distancia máxima entre los micrófonos de un teléfono de este tipo suele ser de unos diez o doce centímetros.
La Figura 13B muestra un diagrama de bloques de un dispositivo inalámbrico 1102 que puede implementarse para realizar un procedimiento como se describe en la presente memoria. El terminal de transmisión 102 se puede realizar como una implementación del dispositivo inalámbrico 1102. El dispositivo inalámbrico 1102 puede ser una estación remota, un terminal de acceso, un teléfono, un asistente digital personal (PDA), un teléfono celular, etc. El dispositivo inalámbrico 1102 incluye un procesador 1104 que controla el funcionamiento del dispositivo. El procesador 1104 también puede denominarse unidad central de procesamiento (CPU). Una memoria 1106, que puede incluir tanto memoria de sólo lectura (ROM) como memoria de acceso aleatorio (RAM) provee instrucciones y datos al procesador 1104. Una porción de memoria 1106 también puede incluir una memoria de acceso aleatorio no volátil (NVRAM). El procesador 1104 realiza operaciones lógicas y aritméticas en base a instrucciones de programa almacenadas dentro de la memoria 1106. Las instrucciones en la memoria 1106 pueden ser ejecutables para implementar el procedimiento o procedimientos como se describe en la presente memoria.
El dispositivo inalámbrico 1102 incluye un alojamiento 1108 que puede incluir un transmisor 1110 y un receptor 1112 para permitir la transmisión y recepción de datos entre el dispositivo inalámbrico 1102 y una ubicación remota. El transmisor 1110 y el receptor 1112 se pueden combinar en un transceptor 1114. Se puede unir una antena 1116 al alojamiento 1108 y acoplarla eléctricamente al transceptor 1114. El dispositivo inalámbrico 1102 también puede incluir (no se muestra) múltiples transmisores, múltiples receptores, múltiples transceptores y/o múltiples antenas. En este ejemplo, el dispositivo inalámbrico 1102 también incluye un detector de señal 1118 que puede usarse para detectar y cuantificar el nivel de señales recibidas por el transceptor 1114. El detector de señales 1118 puede detectar señales tales como energía total, chips de energía piloto por pseudorruido (PN), densidad espectral de potencia y otras señales. El dispositivo inalámbrico 1102 también incluye un procesador de señal digital (DSP) 1120 para su uso en el procesamiento de señales.
Los diversos componentes del dispositivo inalámbrico 1102 están acoplados entre sí mediante un sistema de bus 1122 que puede incluir un bus de potencia, un bus de señal de control y un bus de señal de estado además de un bus de datos. En aras de la claridad, los diversos buses se ilustran en la Figura 13B como el sistema de bus 1122. Los procedimientos y aparatos divulgados en la presente memoria se pueden aplicar en general en cualquier aplicación transceptora y/o detección de audio, especialmente en móviles o instancias portátiles de dichas aplicaciones. Por ejemplo, la gama de configuraciones divulgadas en la presente memoria incluye dispositivos de comunicación que residen en un sistema de comunicación de telefonía inalámbrica configurado para emplear una interfaz inalámbrica de acceso múltiple por división de código (CDMA). No obstante, los expertos en la técnica entenderán que un procedimiento y aparato que tenga características como las descritas en la presente memoria pueden residir en cualquiera de los diversos sistemas de comunicación que emplean una amplia gama de tecnologías conocidas por los expertos en la técnica, tales como sistemas que emplean Voz sobre iP (VoIP) sobre canales de transmisión alámbricos y/o inalámbricos (por ejemplo, CDMA, TDMA, FDMA y/o TD-SCDMA).
Se contempla expresamente y por la presente se divulga que los dispositivos de comunicaciones divulgados en la presente memoria pueden adaptarse para su uso en redes que son conmutadas por paquetes (por ejemplo, redes alámbricas y/o inalámbricas dispuestas para portar transmisiones de audio de acuerdo con protocolos como VoIP) y/o de conmutación de circuitos. También se contempla expresamente y por la presente se divulga que los dispositivos de comunicaciones divulgados en la presente memoria pueden adaptarse para su uso en sistemas de codificación de banda estrecha (por ejemplo, sistemas que codifican un rango de frecuencia de audio de aproximadamente cuatro o cinco kilohercios) y/o para su uso en sistemas de codificación de banda ancha (por ejemplo, sistemas que codifican frecuencias de audio superiores a cinco kilohercios), que incluyen los sistemas de codificación de banda ancha de banda completa y los sistemas de codificación de banda ancha de banda dividida.
La presentación de las configuraciones descritas se proporciona para permitir que cualquier experto en la técnica haga o use los procedimientos y otras estructuras divulgadas en la presente memoria. Los diagramas de flujo, diagramas de bloque y otras estructuras mostradas y descritas en la presente memoria son solo ejemplos, y otras variantes de estas estructuras también están dentro del ámbito de la divulgación. Son posibles varias modificaciones a estas configuraciones, y los principios genéricos presentados en la presente memoria también pueden aplicarse a otras configuraciones. Por lo tanto, la presente divulgación no pretende limitarse a las configuraciones mostradas anteriormente, sino al ámbito de las reivindicaciones adjuntas.
Los expertos en la técnica entenderán que la información y las señales se pueden representar mediante el uso de cualquiera de una variedad de tecnologías y técnicas diferentes. Por ejemplo, los datos, las instrucciones, los comandos, la información, las señales, los bits y los símbolos que se pueden referenciar a lo largo de la descripción anterior se pueden representar por tensiones, corrientes, ondas electromagnéticas, campos o partículas magnéticas, campos o partículas ópticas o cualquier combinación de los mismos.
Los requisitos de diseño importantes para la implementación de una configuración divulgados en la presente memoria pueden incluir la minimización de la demora en el procesamiento y/o la complejidad computacional (típicamente medida en millones de instrucciones por segundo o MIPS), especialmente para aplicaciones de computación intensiva, tal como la reproducción de audio comprimido o información audiovisual (por ejemplo, un archivo o flujo codificado de acuerdo con un formato de compresión, tal como uno de los ejemplos identificados en la presente memoria) o aplicaciones para comunicaciones de banda ancha (por ejemplo, comunicaciones de voz a velocidades de muestreo superiores a ocho kilohercios, como 12; 16; 32; 44,1; 48 o 192 kHz).
Un aparato como el divulgado en la presente memoria (por ejemplo, el aparato A100, A200, MF100, MF200) puede implementarse en cualquier combinación de hardware con software y/o con microprograma que se considere adecuada para la aplicación prevista. Por ejemplo, los elementos de dicho aparato pueden fabricarse como dispositivos electrónicos y/u ópticos que residen, por ejemplo, en el mismo chip o entre dos o más chips en un conjunto de chips. Un ejemplo de dicho dispositivo es una matriz fija o programable de elementos lógicos, tales como transistores o compuertas lógicas, y cualquiera de estos elementos puede implementarse como una o más de tales matrices. Dos o más, o incluso todos, de estos elementos pueden implementarse dentro de la misma matriz o matrices. Tal matriz o matrices pueden implementarse dentro de uno o más chips (por ejemplo, dentro de un conjunto de chips que incluye dos o más chips).
Uno o más elementos de las diversas implementaciones del aparato divulgado en la presente memoria (por ejemplo, el aparato A100, A200, MF100, MF200) pueden implementarse en su totalidad o en parte como uno o más conjuntos de instrucciones dispuestas para ejecutarse en uno o más de una matriz fija o programable de elementos lógicos, como microprocesadores, procesadores integrados, núcleos IP, procesadores de señales digitales, FPGA (matrices de compuertas programables en campo), ASSP (productos estándares de aplicación específica) y ASIC (circuitos integrados de aplicación específica). Cualquiera de los diversos elementos de una implementación de un aparato divulgado en la presente memoria también puede incorporarse como uno o más ordenadores (por ejemplo, máquinas que incluyen una o más matrices programadas para ejecutar uno o más conjuntos o secuencias de instrucciones, también llamados "procesadores"), y dos o más, o incluso todos estos elementos pueden implementarse dentro del mismo ordenador u ordenadores.
Un procesador u otro medio de procesamiento divulgado en la presente memoria puede fabricarse como uno o más dispositivos electrónicos y/u ópticos que residen, por ejemplo, en el mismo chip o entre dos o más chips en un conjunto de chips. Un ejemplo de dicho dispositivo es una matriz fija o programable de elementos lógicos, como transistores o compuertas lógicas, y cualquiera de estos elementos puede implementarse como una o más de tales matrices. Tal matriz o matrices pueden implementarse dentro de uno o más chips (por ejemplo, dentro de un conjunto de chips que incluye dos o más chips). Los ejemplos de tales matrices incluyen matrices fijas o programables de elementos lógicos, como microprocesadores, procesadores integrados, núcleos IP, DSP, FPGA, ASSP y ASIC. Un procesador u otro medio de procesamiento divulgado en la presente memoria también pueden incorporarse como uno o más ordenadores (por ejemplo, máquinas que incluyen una o más matrices programadas para ejecutar uno o más conjuntos o secuencias de instrucciones) u otros procesadores. Es posible que un procesador como se describe en la presente memoria se use para realizar tareas o ejecutar otros conjuntos de instrucciones que no están directamente relacionados con una rutina de una implementación del procedimiento M100, tal como una tarea relacionada con otra operación de un dispositivo o sistema en que está integrado el procesador (por ejemplo, un dispositivo de detección de audio). También es posible que parte de un procedimiento divulgado en la presente memoria se realice por un procesador del dispositivo de detección de audio y que otra parte del procedimiento se realice bajo el control de uno o más procesadores.
Los expertos apreciarán que los diversos módulos ilustrativos, bloques lógicos, circuitos y pruebas y otras operaciones descritas en relación con las configuraciones divulgadas en la presente memoria pueden implementarse como hardware electrónico, software informático o combinaciones de ambos. Dichos módulos, bloques lógicos, circuitos y operaciones pueden implementarse o realizarse con un procesador de propósito general, un procesador de señal digital (DSP), un ASIC o ASSP, un FPGA u otro dispositivo lógico programable, lógica de transistor o compuerta discreta, componentes de hardware discretos, o cualquier combinación de los mismos diseñados para producir la configuración divulgada en la presente memoria. Por ejemplo, dicha configuración puede implementarse, al menos en parte, como un circuito cableado, como una configuración de circuito fabricada en un circuito integrado de aplicación específica, o como un programa de microprograma cargado en un almacenamiento no volátil o un programa de software cargado desde o en un medio de almacenamiento de datos como código legible por máquina, tal código es ejecutables por instrucciones por una matriz de elementos lógicos tal como un procesador de propósito general u otra unidad de procesamiento de señales digitales. Un procesador de propósito general puede ser un microprocesador, pero en la alternativa, el procesador puede ser cualquier procesador, controlador, microcontrolador, o máquina de estados convencionales. Un procesador puede implementarse además como una combinación de dispositivos informáticos, por ejemplo, una combinación de un DSP y un microprocesador, una pluralidad de microprocesadores, uno o más microprocesadores junto con un núcleo de DSP, o cualquier otra configuración. Un módulo de software puede residir en un medio de almacenamiento no transitorio como RAM (memoria de acceso aleatorio), ROM (memoria de solo lectura), RAM no volátil (NVRAM) como flash RAM, ROM programable y borrable (EPROM), ROM eléctricamente programable y borrable (EEPROM), registros, disco duro, disco extraíble o CD-ROM; o en cualquier otra forma de medio de almacenamiento conocido en la técnica. Un medio de almacenamiento ilustrativo se acopla al procesador de manera que el procesador pueda leer la información desde, y escribir la información en, el medio de almacenamiento. Como alternativa, el medio de almacenamiento puede integrarse al procesador. El procesador y el medio de almacenamiento pueden encontrarse en un ASIC. El ASIC puede encontrarse en un terminal de usuario. Como alternativa, el procesador y el medio de almacenamiento pueden encontrarse como componentes discretos en un terminal de usuario.
Se observa que los diversos métodos divulgados en la presente memoria (por ejemplo, las implementaciones del procedimiento M100 o M200) pueden realizarse mediante una matriz de elementos lógicos, tal como un procesador, y que los diversos elementos de un aparato descrito en la presente memoria pueden implementarse como módulos diseñados para ejecutarse en tal matriz. Tal como se usa en la presente memoria, el término "módulo" o "submódulo" puede hacer referencia a cualquier procedimiento, aparato, dispositivo, unidad o medio de almacenamiento de datos legibles por ordenador que incluya instrucciones de ordenador (por ejemplo, expresiones lógicas) en forma de software, hardware o microprograma. Debe entenderse que múltiples módulos o sistemas pueden combinarse en un módulo o sistema y un módulo o sistema puede separarse en múltiples módulos o sistemas para realizar las mismas funciones. Cuando se implementan en software u otras instrucciones ejecutables por ordenador, los elementos de un procedimiento son esencialmente los segmentos de código para realizar las tareas relacionadas, tales como rutinas, programas, objetos, componentes, estructuras de datos y similares. Debe entenderse que el término "software" incluye código fuente, código de lenguaje ensamblador, código de máquina, código binario, microprograma, macrocódigo, microcódigo, uno o más conjuntos o secuencias de instrucciones ejecutables por una matriz de elementos lógicos y cualquier combinación de tales ejemplos. Los segmentos de programa o código pueden almacenarse en un medio legible por procesador o transmitirse mediante una señal de datos de ordenador incorporada en una onda portadora sobre un medio de transmisión o enlace de comunicación.
Las implementaciones de procedimientos, esquemas y técnicas divulgadas en la presente memoria también pueden incorporarse tangiblemente (por ejemplo, en características legibles por ordenador tangibles de uno o más medios de almacenamiento legibles por ordenador como se enumeran en la presente memoria) como uno o más conjuntos de instrucciones ejecutables por una máquina que incluye una matriz de elementos lógicos (por ejemplo, un procesador, microprocesador, microcontrolador u otra máquina de estados finitos). El término "medio legible por ordenador" puede incluir cualquier medio que pueda almacenar o transferir información, que incluye medios de almacenamiento volátiles, no volátiles, extraíbles y no extraíbles. Los ejemplos de un medio legible por ordenador incluyen un circuito electrónico, un dispositivo de memoria semiconductor, una ROM, una memoria flash, una ROM borrable (EROM), un disquete u otro almacenamiento magnético, un CD-ROM/DVD u otro almacenamiento óptico, un disco duro o cualquier otro medio que pueda usarse para almacenar la información deseada, un medio de fibra óptica, un enlace de radiofrecuencia (Rf ) o cualquier otro medio que pueda usarse para transportar la información deseada y al que se pueda acceder. La señal de datos del ordenador puede incluir cualquier señal que pueda propagarse a través de un medio de transmisión, tales como canales de redes electrónicas, fibras ópticas, aire, electromagnética, enlaces de RF, etc. Los segmentos de código pueden descargarse a través de redes informáticas tales como Internet o una intranet. En cualquier caso, la invención solo está limitada por el ámbito de las reivindicaciones adjuntas.
Cada una de las tareas de los procedimientos descritos en la presente memoria pueden incorporarse directamente en el hardware, en un módulo de software ejecutado por un procesador, o en una combinación de los dos. En una aplicación típica de una implementación de un procedimiento divulgado en la presente memoria, se configura una matriz de elementos lógicos (por ejemplo, compuertas lógicas) para realizar una, más de una o incluso todas las diversas tareas del procedimiento. Una o más (posiblemente todas) de las tareas también pueden implementarse como código (por ejemplo, uno o más conjuntos de instrucciones), incorporadas en un producto de programa informático (por ejemplo, uno o más medios de almacenamiento de datos, como discos, flash u otras tarjetas de memoria no volátiles, chips de memoria semiconductores, etc.), que es legible y/o ejecutable por una máquina (por ejemplo, un ordenador) que incluye una matriz de elementos lógicos (por ejemplo, un procesador, microprocesador, microcontrolador u otra máquina de estados finitos). Las tareas de una implementación de un procedimiento divulgadas en la presente memoria también pueden realizarse por más de una matriz o máquina. En estas u otras implementaciones, las tareas pueden realizarse dentro de un dispositivo para comunicaciones inalámbricas tal como un teléfono celular u otro dispositivo que tenga dicha capacidad de comunicaciones. Tal dispositivo puede configurarse para comunicarse con redes conmutadas por circuitos y/o conmutadas por paquetes (por ejemplo, usando uno o más protocolos tales como VoIP). Por ejemplo, dicho dispositivo puede incluir circuitos de RF configurados para recibir y/o transmitir tramas codificadas.
Se divulga expresamente que los diversos procedimientos divulgados en la presente memoria pueden realizarse por un dispositivo de comunicaciones portátil, como un teléfono, un auricular o un asistente digital portátil (PDA), y que los diversos aparatos descritos en la presente memoria pueden incluirse dentro de tal dispositivo. Una aplicación típica en tiempo real (por ejemplo, en línea) es una conversación telefónica realizada usando un dispositivo móvil de este tipo.
En uno o más diseños ilustrativos, las funciones descritas en la presente memoria pueden implementarse en hardware, software, microprograma o cualquiera de sus combinaciones. Si se implementan en software, tales operaciones pueden almacenarse o transmitirse a través de un medio legible por ordenador como una o más instrucciones o código. El término "medios legibles por ordenador" incluye tanto medios de almacenamiento legibles por ordenador como medios de comunicación (por ejemplo, transmisión). A modo de ejemplo, y no limitativo, los medios de almacenamiento legibles por ordenador pueden comprender una matriz de elementos de almacenamiento, como memoria de semiconductores (que puede incluir, sin limitación, RAM, ROM, EEPROM y/o flash RAM dinámicos o estáticos), o memoria ferroeléctrica, magnetorresistiva, ovónica, polimérica o de cambio de fase; CD-ROM u otro almacenamiento de disco óptico; y/o almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético. Dichos medios de almacenamiento pueden almacenar información en forma de instrucciones o estructuras de datos a las que puede acceder un ordenador. Los medios de comunicación pueden comprender cualquier medio que pueda usarse para transportar el código de programa deseado en forma de instrucciones o estructuras de datos y al que pueda acceder un ordenador, que incluye cualquier medio que facilite la transferencia de un programa informático de un lugar a otro. Además, cualquier conexión se califica apropiadamente como un medio legible por ordenador. Por ejemplo, si el software se transmite desde un sitio web, servidor u otra fuente remota mediante el uso de un cable coaxial, un cable de fibra óptica, un par trenzado, una línea de suscriptor digital (DSL) o las tecnologías inalámbricas tales como infrarrojos, radio y/o microondas, entonces el cable coaxial, el cable de fibra óptica, el par trenzado, la DSL o las tecnologías inalámbricas tales como infrarrojos, radio y/o microondas se incluyen en la definición de medio. Disco, como se usa en la presente memoria, incluye el disco compacto (CD), el disco de láser, el disco óptico, el disco digital versátil (DVD), el disquete, y el disco Blu-Ray™ (Asociación del disco Blu-Ray, Universal City, CA) donde existen discos que usualmente reproducen los datos de manera magnética, mientras que otros discos reproducen los datos de manera óptica con láseres. Las combinaciones de los medios anteriores pueden incluirse además dentro del ámbito de los medios legibles por ordenador.
Un aparato de procesamiento de señales acústicas como se describe en la presente memoria puede incorporarse a un dispositivo electrónico que acepta entrada de voz para controlar ciertas operaciones, o que de cualquier otra manera puede beneficiarse de la separación de los ruidos deseados de los ruidos de fondo, tales como los dispositivos de comunicación. Muchas aplicaciones pueden beneficiarse al mejorar o separar el sonido claro deseado de los sonidos de fondo que se originan en múltiples direcciones. Tales aplicaciones pueden incluir interfaces hombre-máquina en dispositivos electrónicos o informáticos que incorporan capacidades tales como reconocimiento y detección de voz, mejora y separación de la voz, control activado por voz y similares. Puede ser conveniente implementar tal aparato de procesamiento de señales acústicas para que sea adecuado en dispositivos que solo proporcionen capacidades de procesamiento limitadas.
Los elementos de las diversas implementaciones de los módulos, elementos y dispositivos descritos en la presente memoria pueden fabricarse como dispositivos electrónicos y/u ópticos que residen, por ejemplo, en el mismo chip o entre dos o más chips en un conjunto de chips. Un ejemplo de tal dispositivo es una matriz fija o programable de elementos lógicos, tal como transistores o compuertas. Uno o más elementos de las diversas implementaciones del aparato descrito en la presente memoria también pueden implementarse en su totalidad o en parte como uno o más conjuntos de instrucciones dispuestas para ejecutarse en una o más matrices fijas o programables de elementos lógicos como microprocesadores, procesadores integrados, núcleos IP, procesadores de señales digitales, FPGA, ASSP y ASIC.
Es posible que para uno o más elementos de una implementación de un aparato como se describe en la presente memoria se use para realizar tareas o ejecutar otros conjuntos de instrucciones que no están directamente relacionados con una operación del aparato, tal como una tarea relacionada con otra operación de un dispositivo o sistema en el que está integrado el aparato. También es posible que uno o más elementos de una implementación de tal aparato tengan una estructura en común (por ejemplo, un procesador usado para ejecutar porciones de código correspondientes a diferentes elementos en diferentes momentos, un conjunto de instrucciones ejecutadas para realizar tareas correspondientes a diferentes elementos en diferentes momentos, o una disposición de dispositivos electrónicos y/u ópticos que realizan operaciones para diferentes elementos en diferentes momentos).

Claims (3)

REIVINDICACIONES
1. Un procedimiento de análisis por síntesis de predicción lineal excitada por código para procesar una señal de audio, el procedimiento se caracteriza porque comprende:
determinar un parámetro correspondiente a la señal de audio, en el que el parámetro corresponde a una relación señal-ruido a largo plazo;
en base al parámetro determinado, determinar un factor de afinación de formantes Y2 ; aplicar afinación de tono y afinación de formantes en la respuesta de impulso de un filtro de síntesis ponderado antes de una búsqueda de libro de códigos fijo para determinar un vector de libro de códigos estimado, en el que la afinación de formantes se aplica usando un filtro de afinación de formantes
Figure imgf000017_0001
donde 0 < yi< Y2< 1; y
filtrar un vector de libro de códigos fijo estimado usando el filtro de afinación de formantes para producir un vector de libro de códigos fijo modificado, c'(n).
2. El procedimiento de la reivindicación 1, en el que yi=0,75 y Y2 es 0,75 para una relación señal-ruido a largo plazo inferior a 10 dB, Y2 es 0,9 cuando la relación señal-ruido a largo plazo es superior a 30 dB y Y2 varía linealmente entre 0,75 con una relación señal-ruido a largo plazo de 10 dB y 0,9 con una relación señal-ruido de 30 dB.
3. Un aparato caracterizado porque comprende:
una primera calculadora configurada para determinar un parámetro correspondiente a la señal de audio, en el que el parámetro corresponde a una relación señal-ruido a largo plazo;
una segunda calculadora configurada para determinar un factor de afinación de formantes Y2 en base al parámetro determinado; y
aplicar afinación de tono y afinación de formantes en la respuesta de impulso de un filtro de síntesis ponderado antes de una búsqueda de libro de códigos fijo para determinar un vector de libro de códigos estimado, en el que la afinación de formantes se aplica usando un filtro de afinación de formantes:
Figure imgf000017_0002
donde 0 <Y1<Y2< 1; y
medios para filtrar un vector de libro de códigos fijo estimado usando el filtro de afinación de formantes.
ES13824256T 2013-01-29 2013-12-23 Procedimiento y aparato de predicción lineal excitada por código Active ES2907212T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361758152P 2013-01-29 2013-01-29
US14/026,765 US9728200B2 (en) 2013-01-29 2013-09-13 Systems, methods, apparatus, and computer-readable media for adaptive formant sharpening in linear prediction coding
PCT/US2013/077421 WO2014120365A2 (en) 2013-01-29 2013-12-23 Systems, methods, apparatus, and computer-readable media for adaptive formant sharpening in linear prediction coding

Publications (1)

Publication Number Publication Date
ES2907212T3 true ES2907212T3 (es) 2022-04-22

Family

ID=51223881

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13824256T Active ES2907212T3 (es) 2013-01-29 2013-12-23 Procedimiento y aparato de predicción lineal excitada por código

Country Status (10)

Country Link
US (2) US9728200B2 (es)
EP (1) EP2951823B1 (es)
JP (1) JP6373873B2 (es)
KR (1) KR101891388B1 (es)
CN (2) CN104937662B (es)
BR (1) BR112015018057B1 (es)
DK (1) DK2951823T3 (es)
ES (1) ES2907212T3 (es)
HU (1) HUE057931T2 (es)
WO (1) WO2014120365A2 (es)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105976830B (zh) * 2013-01-11 2019-09-20 华为技术有限公司 音频信号编码和解码方法、音频信号编码和解码装置
US9728200B2 (en) 2013-01-29 2017-08-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for adaptive formant sharpening in linear prediction coding
JP6305694B2 (ja) * 2013-05-31 2018-04-04 クラリオン株式会社 信号処理装置及び信号処理方法
US9666202B2 (en) * 2013-09-10 2017-05-30 Huawei Technologies Co., Ltd. Adaptive bandwidth extension and apparatus for the same
EP2963646A1 (en) 2014-07-01 2016-01-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Decoder and method for decoding an audio signal, encoder and method for encoding an audio signal
EP3079151A1 (en) * 2015-04-09 2016-10-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and method for encoding an audio signal
US10847170B2 (en) * 2015-06-18 2020-11-24 Qualcomm Incorporated Device and method for generating a high-band signal from non-linearly processed sub-ranges
WO2020086623A1 (en) * 2018-10-22 2020-04-30 Zeev Neumeier Hearing aid
CN110164461B (zh) * 2019-07-08 2023-12-15 腾讯科技(深圳)有限公司 语音信号处理方法、装置、电子设备及存储介质
CN110444192A (zh) * 2019-08-15 2019-11-12 广州科粤信息科技有限公司 一种基于语音技术的智能语音机器人

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754976A (en) * 1990-02-23 1998-05-19 Universite De Sherbrooke Algebraic codebook with signal-selected pulse amplitude/position combinations for fast coding of speech
FR2734389B1 (fr) 1995-05-17 1997-07-18 Proust Stephane Procede d'adaptation du niveau de masquage du bruit dans un codeur de parole a analyse par synthese utilisant un filtre de ponderation perceptuelle a court terme
US5732389A (en) 1995-06-07 1998-03-24 Lucent Technologies Inc. Voiced/unvoiced classification of speech for excitation codebook selection in celp speech decoding during frame erasures
JP3390897B2 (ja) * 1995-06-22 2003-03-31 富士通株式会社 音声処理装置及びその方法
JPH09160595A (ja) * 1995-12-04 1997-06-20 Toshiba Corp 音声合成方法
FI980132A (fi) * 1998-01-21 1999-07-22 Nokia Mobile Phones Ltd Adaptoituva jälkisuodatin
US6141638A (en) 1998-05-28 2000-10-31 Motorola, Inc. Method and apparatus for coding an information signal
US6098036A (en) * 1998-07-13 2000-08-01 Lockheed Martin Corp. Speech coding system and method including spectral formant enhancer
JP4308345B2 (ja) * 1998-08-21 2009-08-05 パナソニック株式会社 マルチモード音声符号化装置及び復号化装置
US6556966B1 (en) * 1998-08-24 2003-04-29 Conexant Systems, Inc. Codebook structure for changeable pulse multimode speech coding
US7117146B2 (en) 1998-08-24 2006-10-03 Mindspeed Technologies, Inc. System for improved use of pitch enhancement with subcodebooks
US7272556B1 (en) * 1998-09-23 2007-09-18 Lucent Technologies Inc. Scalable and embedded codec for speech and audio signals
GB2342829B (en) 1998-10-13 2003-03-26 Nokia Mobile Phones Ltd Postfilter
CA2252170A1 (en) 1998-10-27 2000-04-27 Bruno Bessette A method and device for high quality coding of wideband speech and audio signals
US6449313B1 (en) 1999-04-28 2002-09-10 Lucent Technologies Inc. Shaped fixed codebook search for celp speech coding
US6704701B1 (en) 1999-07-02 2004-03-09 Mindspeed Technologies, Inc. Bi-directional pitch enhancement in speech coding systems
CA2290037A1 (en) * 1999-11-18 2001-05-18 Voiceage Corporation Gain-smoothing amplifier device and method in codecs for wideband speech and audio signals
US7010480B2 (en) 2000-09-15 2006-03-07 Mindspeed Technologies, Inc. Controlling a weighting filter based on the spectral content of a speech signal
AU2001287970A1 (en) 2000-09-15 2002-03-26 Conexant Systems, Inc. Short-term enhancement in celp speech coding
US6760698B2 (en) 2000-09-15 2004-07-06 Mindspeed Technologies Inc. System for coding speech information using an adaptive codebook with enhanced variable resolution scheme
US7606703B2 (en) * 2000-11-15 2009-10-20 Texas Instruments Incorporated Layered celp system and method with varying perceptual filter or short-term postfilter strengths
CA2327041A1 (en) * 2000-11-22 2002-05-22 Voiceage Corporation A method for indexing pulse positions and signs in algebraic codebooks for efficient coding of wideband signals
US6766289B2 (en) 2001-06-04 2004-07-20 Qualcomm Incorporated Fast code-vector searching
KR100412619B1 (ko) * 2001-12-27 2003-12-31 엘지.필립스 엘시디 주식회사 액정표시장치용 어레이 기판의 제조 방법
US7047188B2 (en) 2002-11-08 2006-05-16 Motorola, Inc. Method and apparatus for improvement coding of the subframe gain in a speech coding system
US7424423B2 (en) * 2003-04-01 2008-09-09 Microsoft Corporation Method and apparatus for formant tracking using a residual model
WO2005041170A1 (en) 2003-10-24 2005-05-06 Nokia Corpration Noise-dependent postfiltering
US7788091B2 (en) 2004-09-22 2010-08-31 Texas Instruments Incorporated Methods, devices and systems for improved pitch enhancement and autocorrelation in voice codecs
US7676362B2 (en) * 2004-12-31 2010-03-09 Motorola, Inc. Method and apparatus for enhancing loudness of a speech signal
UA92341C2 (ru) * 2005-04-01 2010-10-25 Квелкомм Инкорпорейтед Системы, способы и устройство широкополосного речевого кодирования
NZ562183A (en) 2005-04-01 2010-09-30 Qualcomm Inc Systems, methods, and apparatus for highband excitation generation
US8280730B2 (en) 2005-05-25 2012-10-02 Motorola Mobility Llc Method and apparatus of increasing speech intelligibility in noisy environments
US7877253B2 (en) * 2006-10-06 2011-01-25 Qualcomm Incorporated Systems, methods, and apparatus for frame erasure recovery
US20100332223A1 (en) 2006-12-13 2010-12-30 Panasonic Corporation Audio decoding device and power adjusting method
KR101196506B1 (ko) * 2007-06-11 2012-11-01 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 임펄스형 부분 및 정적 부분을 갖는 오디오 신호를 인코딩하는 오디오 인코더 및 인코딩 방법, 디코더, 디코딩 방법 및 인코딩된 오디오 신호
CN102656629B (zh) * 2009-12-10 2014-11-26 Lg电子株式会社 编码语音信号的方法和设备
US8868432B2 (en) 2010-10-15 2014-10-21 Motorola Mobility Llc Audio signal bandwidth extension in CELP-based speech coder
US9728200B2 (en) 2013-01-29 2017-08-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for adaptive formant sharpening in linear prediction coding

Also Published As

Publication number Publication date
JP2016504637A (ja) 2016-02-12
HUE057931T2 (hu) 2022-06-28
KR20150110721A (ko) 2015-10-02
JP6373873B2 (ja) 2018-08-15
CN104937662A (zh) 2015-09-23
CN109243478A (zh) 2019-01-18
BR112015018057A2 (pt) 2017-07-18
KR101891388B1 (ko) 2018-08-24
EP2951823B1 (en) 2022-01-26
DK2951823T3 (da) 2022-02-28
US10141001B2 (en) 2018-11-27
US20140214413A1 (en) 2014-07-31
CN104937662B (zh) 2018-11-06
BR112015018057B1 (pt) 2021-12-07
US9728200B2 (en) 2017-08-08
CN109243478B (zh) 2023-09-08
WO2014120365A2 (en) 2014-08-07
WO2014120365A3 (en) 2014-11-20
US20170301364A1 (en) 2017-10-19
EP2951823A2 (en) 2015-12-09

Similar Documents

Publication Publication Date Title
ES2907212T3 (es) Procedimiento y aparato de predicción lineal excitada por código
US9454974B2 (en) Systems, methods, and apparatus for gain factor limiting
EP2577659B1 (en) Systems, methods, apparatus, and computer program products for wideband speech coding
JP5596189B2 (ja) 非アクティブフレームの広帯域符号化および復号化を行うためのシステム、方法、および装置
JP5129117B2 (ja) 音声信号の高帯域部分を符号化及び復号する方法及び装置
US9842598B2 (en) Systems and methods for mitigating potential frame instability
KR101783114B1 (ko) 이득 제어를 수행하는 시스템들 및 방법들
JP6526096B2 (ja) 平均符号化レートを制御するためのシステムおよび方法
US9208775B2 (en) Systems and methods for determining pitch pulse period signal boundaries
KR101750645B1 (ko) 내삽 인자 세트를 결정하기 위한 시스템들 및 방법들