ES2350494T3 - PROCEDURE AND APPLIANCES FOR CODING AND DECODING A HIGH BAND PART OF A SPEAKING SIGNAL. - Google Patents

PROCEDURE AND APPLIANCES FOR CODING AND DECODING A HIGH BAND PART OF A SPEAKING SIGNAL. Download PDF

Info

Publication number
ES2350494T3
ES2350494T3 ES06740355T ES06740355T ES2350494T3 ES 2350494 T3 ES2350494 T3 ES 2350494T3 ES 06740355 T ES06740355 T ES 06740355T ES 06740355 T ES06740355 T ES 06740355T ES 2350494 T3 ES2350494 T3 ES 2350494T3
Authority
ES
Spain
Prior art keywords
signal
high band
gain
envelope
band
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
ES06740355T
Other languages
Spanish (es)
Inventor
Ananthapadmanabhan A. Kandhadai
Koen Bernard Vos
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 ES2350494T3 publication Critical patent/ES2350494T3/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
  • Analogue/Digital Conversion (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Transmitters (AREA)

Abstract

Un procedimiento de codificación de una parte (S30) de banda alta de una señal (S10) de habla que tiene una parte (S20) de banda baja y la parte (S30) de banda alta, comprendiendo dicho procedimiento: calcular una pluralidad de parámetros (S60a) de filtro que caracterizan una envolvente espectral de la parte de banda alta; calcular una señal (S160) extendida espectralmente extendiendo el espectro de una señal (S50, S80) de excitación derivada de la parte de banda baja; sumar la señal (S160) extendida espectralmente con ruido (S170) modulado según una envolvente derivada de la parte (S50, S80) de banda baja, para proporcionar una señal (S120) de excitación de banda alta; y calcular una envolvente (S60b) de ganancia basándose en una relación entre la parte (S30) de banda alta y una señal (S50, S80, S120, S130) basada en la parte de banda baja.A method of encoding a high band part (S30) of a speech signal (S10) having a low band part (S20) and high band part (S30), said method comprising: calculating a plurality of parameters (S60a) filter characterizing a spectral envelope of the high band part; calculate a spectrally extended signal (S160) extending the spectrum of an excitation signal (S50, S80) derived from the low band part; adding the spectrally extended signal (S160) with noise (S170) modulated according to an envelope derived from the low band part (S50, S80), to provide a high band excitation signal (S120); and calculate a gain envelope (S60b) based on a relationship between the high band part (S30) and a signal (S50, S80, S120, S130) based on the low band part.

Description

CAMPO DE LA INVENCIÓN FIELD OF THE INVENTION

La presente invención se refiere a procesamiento de señales. The present invention relates to signal processing.

ANTECEDENTES BACKGROUND

Las comunicaciones de voz a través de la red telefónica conmutada pública (PSTN) se han limitado tradicionalmente en ancho de banda al intervalo de frecuencia de 300-3400 kHz. Las nuevas redes para comunicaciones de voz, tales como telefonía celular y voz sobre IP (protocolo de Internet, VoIP), pueden no tener los mismos límites de ancho de banda, y puede ser deseable transmitir y recibir comunicaciones de voz que incluyan un intervalo de frecuencia de banda ancha a través de tales redes. Por ejemplo, puede ser deseable soportar un intervalo de frecuencia de audio que se extiende desde 50 Hz y/o hasta 7 kHz u 8 kHz. También puede ser deseable soportar otras aplicaciones, tales como conferencia de audio o audio/vídeo de alta calidad, que pueden tener contenido de habla de audio en intervalos fuera de los límites de PSTN tradicionales. Voice communications over the public switched telephone network (PSTN) have traditionally been limited in bandwidth to the frequency range of 300-3400 kHz. New networks for voice communications, such as cellular telephony and voice over IP (Internet protocol, VoIP), may not have the same bandwidth limits, and it may be desirable to transmit and receive voice communications that include a range of Broadband frequency through such networks. For example, it may be desirable to support an audio frequency range ranging from 50 Hz and / or up to 7 kHz or 8 kHz. It may also be desirable to support other applications, such as high quality audio or audio / video conferencing, which may have audio speech content at intervals outside the limits of traditional PSTN.

La extensión del intervalo soportado por un codificador de habla a frecuencias superiores puede mejorar la inteligibilidad. Por ejemplo, la información que diferencia fricativas tales como ‘s’ y ‘f’ está en gran parte en las frecuencias altas. La extensión de banda alta también puede mejorar otras cualidades del habla, tal como la presencia. Por ejemplo, incluso una vocal vocalizada puede tener energía espectral muy por encima del límite de PSTN. Extending the interval supported by a speech encoder at higher frequencies can improve intelligibility. For example, the information that differentiates fricatives such as ‘s’ and ‘f’ is largely at high frequencies. The high band extension can also improve other speech qualities, such as presence. For example, even a vocalized vowel can have spectral energy well above the PSTN limit.

Un enfoque con respecto a la codificación de habla de banda ancha implica ajustar a escala una técnica de codificación de habla de banda estrecha (por ejemplo, una configurada para codificar el intervalo de 0-4 kHz) para cubrir el espectro de banda ancha. Por ejemplo, una señal de habla puede muestrearse a una tasa superior para incluir componentes a frecuencias altas, y una técnica de codificación de banda estrecha puede volver a configurarse para usar más coeficientes de filtro para representar esta señal de banda ancha. Las técnicas de codificación de banda estrecha tales como CELP (predicción lineal excitada por libro de códigos) son intensivas desde un punto de vista computacional, sin embargo, y un codificador CELP de banda ancha puede consumir demasiados ciclos de procesamiento para ser práctico para muchas aplicaciones móviles y otras aplicaciones integradas. La codificación de todo el espectro de una señal de banda ancha a una calidad deseada usando una técnica de este tipo también puede conducir a un aumento inaceptablemente grande en el ancho de banda. Además, se requeriría la transcodificación de una señal codificada de este tipo antes incluso de que su parte de banda estrecha pueda transmitirse hacia y/o decodificarse por un sistema que sólo soporta codificación de banda estrecha. One approach with respect to broadband speech coding involves scaling a narrowband speech coding technique (for example, one configured to encode the 0-4 kHz range) to cover the broadband spectrum. For example, a speech signal can be sampled at a higher rate to include components at high frequencies, and a narrowband coding technique can be reconfigured to use more filter coefficients to represent this broadband signal. Narrowband coding techniques such as CELP (linear prediction excited by codebook) are computationally intensive, however, and a broadband CELP encoder can consume too many processing cycles to be practical for many applications. mobile and other integrated applications. Encoding the entire spectrum of a broadband signal to a desired quality using such a technique can also lead to an unacceptably large increase in bandwidth. In addition, transcoding of such an encoded signal would be required even before its narrowband part can be transmitted to and / or decoded by a system that only supports narrowband coding.

Otro enfoque con respecto a la codificación de habla de banda ancha implica extrapolar la envolvente espectral de banda alta a partir de la envolvente espectral de banda estrecha codificada. Aunque puede implementarse un enfoque de este tipo sin ningún aumento en el ancho de banda y sin necesidad de transcodificación, la envolvente espectral aproximada o estructura formante de la parte de banda alta de una señal de habla generalmente no puede predecirse con precisión a partir de la envolvente espectral de la parte de banda estrecha. Another approach with respect to broadband speech coding involves extrapolating the high band spectral envelope from the encoded narrow band spectral envelope. Although such an approach can be implemented without any increase in bandwidth and without the need for transcoding, the approximate spectral envelope or high bandwidth forming structure of a speech signal generally cannot be accurately predicted from the Spectral envelope of the narrow band part.

Según el documento EP1498873 A1 se conoce que se genera una señal de excitación extendida espectralmente al volver a muestrear la señal de excitación proporcionada por un codificador de banda baja. Se usa un selector según una indicación de vocalización para proporcionar la excitación extendida espectralmente o bien una excitación aleatoria (ruido) a un filtro de síntesis con el fin de generar una señal de audio de banda alta sintetizada. Además, se determina una señal de ganancia para alinear la energía de la señal de banda alta sintetizada con la de la señal de audio de banda alta original. According to EP1498873 A1 it is known that a spectrally extended excitation signal is generated by resampling the excitation signal provided by a low band encoder. A selector is used according to a vocalization indication to provide spectrally extended excitation or random excitation (noise) to a synthesis filter in order to generate a synthesized high band audio signal. In addition, a gain signal is determined to align the energy of the synthesized high band signal with that of the original high band audio signal.

Según el documento WO03044777 A1, se conoce un procedimiento para extender el ancho de banda de una señal de audio recibida añadiendo un ruido modulado con la envolvente de la señal de audio recibida plegada espectralmente a la señal plegada espectralmente. According to WO03044777 A1, a method for extending the bandwidth of a received audio signal by adding a modulated noise with the envelope of the received audio signal spectrally folded to the spectrally folded signal is known.

Puede ser deseable implementar la codificación de habla de banda ancha de tal manera que al menos la parte de banda estrecha de la señal codificada puede enviarse a través de un canal de banda estrecha (tal como un canal de PSTN) sin transcodificación u otra modificación significativa. También puede ser deseable la eficacia de la extensión de codificación de banda ancha, por ejemplo, para evitar una reducción significativa en el número de usuarios a los que puede darse servicio en aplicaciones tales como telefonía celular inalámbrica y difusión a través de canales inalámbricos y por cable. It may be desirable to implement broadband speech coding such that at least the narrowband portion of the encoded signal can be sent through a narrowband channel (such as a PSTN channel) without transcoding or other significant modification. . The effectiveness of the broadband coding extension may also be desirable, for example, to avoid a significant reduction in the number of users that can be serviced in applications such as wireless cell phone and broadcast over wireless channels and by cable.

SUMARIO SUMMARY

La presente invención se define por un procedimiento de codificación según la reivindicación 1, un procedimiento de decodificación según la reivindicación 10, un aparato según la reivindicación 13 y un decodificador según la reivindicación 23. The present invention is defined by a coding method according to claim 1, a decoding method according to claim 10, an apparatus according to claim 13 and a decoder according to claim 23.

BREVE DESCRIPCIÓN DE LOS DIBUJOS BRIEF DESCRIPTION OF THE DRAWINGS

La figura 1a muestra un diagrama de bloques de un codificador A100 de habla de banda ancha según una realización. Figure 1a shows a block diagram of a broadband speech A100 encoder according to one embodiment.

La figura 1b muestra un diagrama de bloques de una implementación A102 de codificador A100 de habla de banda ancha. Figure 1b shows a block diagram of an implementation A102 of broadband speech A100 encoder.

La figura 2a muestra un diagrama de bloques de un decodificador B100 de habla de banda ancha según una realización. Figure 2a shows a block diagram of a broadband speech decoder B100 according to one embodiment.

La figura 2b muestra un diagrama de bloques de una implementación B102 de decodificador B100 de habla de banda ancha. Figure 2b shows a block diagram of an implementation B102 of broadband speech decoder B100.

La figura 3a muestra un diagrama de bloques de una implementación A112 de banco A110 de filtros. Figure 3a shows a block diagram of an A112 implementation of filter bank A110.

La figura 3b muestra un diagrama de bloques de una implementación B122 de banco B120 de filtros. Figure 3b shows a block diagram of a B122 implementation of filter bank B120.

La figura 4a muestra cobertura de ancho de banda de las bandas alta y baja para un ejemplo de banco A110 de filtros. Figure 4a shows bandwidth coverage of the high and low bands for an example of A110 filter bank.

La figura 4b muestra cobertura de ancho de banda de las bandas alta y baja para otro ejemplo de banco A110 de filtros. Figure 4b shows bandwidth coverage of the high and low bands for another example of filter bank A110.

La figura 4c muestra un diagrama de bloques de una implementación A114 de banco A112 de filtros. Figure 4c shows a block diagram of an A114 implementation of filter bank A112.

La figura 4d muestra un diagrama de bloques de una implementación B124 de banco B122 de filtros. Figure 4d shows a block diagram of a B124 implementation of filter bank B122.

La figura 5a muestra un ejemplo de una representación gráfica de logaritmo de amplitud frente a frecuencia para una señal de habla. Figure 5a shows an example of a graphical representation of logarithm of amplitude versus frequency for a speech signal.

La figura 5b muestra un diagrama de bloques de un sistema de codificación de predicción lineal básica. Figure 5b shows a block diagram of a basic linear prediction coding system.

La figura 6 muestra un diagrama de bloques de una implementación A122 de codificador A120 de banda estrecha. Figure 6 shows a block diagram of an A122 implementation of narrowband A120 encoder.

La figura 7 muestra un diagrama de bloques de una implementación B112 de codificador B110 de banda estrecha. Figure 7 shows a block diagram of a B112 implementation of narrowband B110 encoder.

La figura 8a muestra un ejemplo de una representación gráfica de logaritmo de amplitud frente a frecuencia para una señal residual para habla vocalizada. Figure 8a shows an example of a graphical representation of logarithm of amplitude versus frequency for a residual signal for vocalized speech.

La figura 8b muestra un ejemplo de una representación gráfica de logaritmo de amplitud frente a tiempo para una señal residual para habla vocalizada. Figure 8b shows an example of a graphical representation of logarithm of amplitude versus time for a residual signal for vocalized speech.

La figura 9 muestra un diagrama de bloques de un sistema de codificación de predicción lineal básica que también lleva a cabo predicción a largo plazo. Figure 9 shows a block diagram of a basic linear prediction coding system that also performs long-term prediction.

La figura 10 muestra un diagrama de bloques de una implementación A202 de codificador A200 de banda alta. Figure 10 shows a block diagram of an A202 implementation of high band A200 encoder.

La figura 11 muestra un diagrama de bloques de una implementación A302 de generador A300 de excitación de banda alta. Figure 11 shows a block diagram of an implementation A302 of high-band excitation A300 generator.

La figura 12 muestra un diagrama de bloques de una implementación A402 de extensor A400 de espectro. Figure 12 shows a block diagram of an A402 implementation of spectrum extender A400.

La figura 12a muestra representaciones gráficas de espectros de señal en diversos puntos en un ejemplo de una operación de extensión espectral. Figure 12a shows graphical representations of signal spectra at various points in an example of a spectral extension operation.

La figura 12b muestra representaciones gráficas de espectros de señal en diversos puntos de otro ejemplo de una operación de extensión espectral. Figure 12b shows graphical representations of signal spectra at various points in another example of a spectral extension operation.

La figura 13 muestra un diagrama de bloques de una implementación A304 de generador A302 de excitación de banda alta. Figure 13 shows a block diagram of an implementation A304 of high-band excitation generator A302.

La figura 14 muestra un diagrama de bloques de una implementación A306 de generador A302 de excitación de banda alta. Figure 14 shows a block diagram of an implementation A306 of high band excitation generator A302.

La figura 15 muestra un diagrama de flujo para una tarea T100 de cálculo de envolvente. Figure 15 shows a flow chart for a T100 envelope calculation task.

La figura 16 muestra un diagrama de bloques de una implementación 492 de combinador 490. Figure 16 shows a block diagram of a 492 implementation of combiner 490.

La figura 17 ilustra un enfoque para calcular una medida de periodicidad de señal S30 de banda alta. Figure 17 illustrates an approach to calculate a periodicity measurement of high band signal S30.

La figura 18 muestra un diagrama de bloques de una implementación A312 de generador A302 de excitación de banda alta. Figure 18 shows a block diagram of an A312 implementation of high-band excitation generator A302.

La figura 19 muestra un diagrama de bloques de una implementación A314 de generador A302 de excitación de banda alta. Figure 19 shows a block diagram of an A314 implementation of high-band excitation generator A302.

La figura 20 muestra un diagrama de bloques de una implementación A316 de generador A302 de excitación de banda alta. Figure 20 shows a block diagram of an A316 implementation of high-band excitation generator A302.

La figura 21 muestra un diagrama de flujo para una tarea T200 de cálculo de ganancia. Figure 21 shows a flow chart for a T200 gain calculation task.

La figura 22 muestra un diagrama de flujo para una implementación T210 de tarea T200 de cálculo de ganancia. Figure 22 shows a flow chart for a T210 implementation of T200 gain calculation task.

La figura 23a muestra un diagrama de una función ventana. Figure 23a shows a diagram of a window function.

La figura 23b muestra una aplicación de una función ventana tal como se muestra en la figura 23a a subtramas de una señal de habla. Figure 23b shows an application of a window function as shown in Figure 23a to subframes of a speech signal.

La figura 24 muestra un diagrama de bloques para una implementación B202 de decodificador B200 de banda alta. Figure 24 shows a block diagram for a B202 implementation of high band B200 decoder.

La figura 25 muestra un diagrama de bloques de una implementación AD10 de codificador A100 de habla de banda ancha. Figure 25 shows a block diagram of an AD10 implementation of broadband speech A100 encoder.

La figura 26a muestra un diagrama esquemático de una implementación D122 de línea D120 de retardo. Figure 26a shows a schematic diagram of an implementation D122 of delay line D120.

La figura 26b muestra un diagrama esquemático de una implementación D124 de línea D120 de retardo. Figure 26b shows a schematic diagram of an implementation D124 of delay line D120.

La figura 27 muestra un diagrama esquemático de una implementación D130 de línea D120 de retardo. Figure 27 shows a schematic diagram of an implementation D130 of delay line D120.

La figura 28 muestra un diagrama de bloques de una implementación AD12 de codificador AD10 de habla de banda ancha. Figure 28 shows a block diagram of an AD12 implementation of broadband speech AD10 encoder.

La figura 29 muestra un diagrama de flujo de un procedimiento de procesamiento MD100 de señal según una realización. Figure 29 shows a flow chart of a signal processing process MD100 according to one embodiment.

La figura 30 muestra un diagrama de flujo para un procedimiento M100 según una realización. Figure 30 shows a flow chart for an M100 procedure according to one embodiment.

La figura 31a muestra un diagrama de flujo para un procedimiento M200 según una realización. Figure 31a shows a flow chart for an M200 procedure according to one embodiment.

La figura 31b muestra un diagrama de flujo para una implementación M210 de procedimiento M200. Figure 31b shows a flow chart for an M210 implementation of M200 procedure.

La figura 32 muestra un diagrama de flujo para un procedimiento M300 según una realización. Figure 32 shows a flow chart for an M300 procedure according to one embodiment.

En las figuras y la descripción adjunta, las mismas etiquetas de referencia se refieren a los mismos elementos o señales o análogos. In the figures and the attached description, the same reference labels refer to the same elements or signals or the like.

DESCRIPCIÓN DETALLADA DETAILED DESCRIPTION

Las realizaciones tal como se describen en el presente documento incluyen sistemas, procedimientos y aparatos que pueden configurarse para proporcionar una extensión a un codificador de habla de banda estrecha para soportar transmisión y/o almacenamiento de señales de habla de banda ancha en un aumento de ancho de banda de sólo aproximadamente 800 a 1000 bps (bits por segundo). Las ventajas potenciales de tales implementaciones incluyen codificación integrada para soportar compatibilidad con sistemas de banda estrecha, asignación y reasignación relativamente fácil de bits entre los canales de codificación banda estrecha y de banda alta, evitando una operación de síntesis de banda ancha intensiva desde un punto de vista computacional, y manteniendo una tasa de muestreo baja para señales que van a procesarse mediante rutinas de codificación de forma de onda intensivas desde un punto de vista computacional. Embodiments as described herein include systems, procedures and apparatus that can be configured to provide an extension to a narrowband speech encoder to support transmission and / or storage of broadband speech signals in an increase in width. bandwidth of only about 800 to 1000 bps (bits per second). The potential advantages of such implementations include integrated coding to support compatibility with narrowband systems, relatively easy bit allocation and reallocation between narrowband and highband coding channels, avoiding an intensive broadband synthesis operation from a point of computational view, and maintaining a low sampling rate for signals to be processed by intensive waveform coding routines from a computational point of view.

A menos que se limite expresamente por su contexto, el término “calcular” se usa en el presente documento para indicar cualquiera de sus significados ordinarios, tales como computar, generar y seleccionar de una lista de valores. Cuando la expresión “que comprende” se usa en la presente descripción y las reivindicaciones, no excluye otros elementos u operaciones. La expresión “A se basa en B” se usa para indicar cualquiera de sus significados habituales, incluyendo los casos (i) “A es igual a B” y (ii) “A se basa en al menos B.” La expresión “protocolo de Internet” incluye la versión 4, tal como se describe en RFC (Petición de comentarios) 791de IETF (Grupo de Trabajo en Ingeniería de Internet), y versiones posteriores tal como la versión 6. Unless expressly limited by context, the term "calculate" is used herein to indicate any of its ordinary meanings, such as computing, generating and selecting from a list of values. When the term "comprising" is used in the present description and the claims, it does not exclude other elements or operations. The expression "A is based on B" is used to indicate any of its usual meanings, including cases (i) "A is equal to B" and (ii) "A is based on at least B." The expression "protocol Internet ”includes version 4, as described in RFC (Request for Comments) 791 of IETF (Internet Engineering Working Group), and later versions such as version 6.

La figura 1a muestra un diagrama de bloques de un codificador A100 de habla de banda ancha según una realización. El banco A110 de filtros está configurado para filtrar una señal S10 de habla de banda ancha para producir una señal S20 de banda estrecha y una señal S30 de banda alta. El codificador A120 de banda estrecha está configurado para codificar la señal S20 de banda estrecha para producir parámetros S40 de filtro de banda estrecha (NB) y una señal S50 residual de banda estrecha. Tal como se describe con mayor detalle en el presente documento, el codificador A120 de banda estrecha está configurado normalmente para producir parámetros S40 de filtro de banda estrecha y la señal S50 de excitación de banda estrecha codificada como índices de libro de códigos o en otra forma cuantificada. El codificador A200 de banda alta está configurado para codificar la señal S30 de banda alta según información en la señal S50 de excitación de banda estrecha codificada para producir parámetros S60 de codificación de banda alta. Tal como se describe con mayor detalle en el presente documento, el codificador A200 de banda alta está configurado normalmente para producir parámetros S60 de codificación de banda alta como índices de libro de códigos o en otra forma cuantificada. Un ejemplo particular del codificador A100 de habla de banda ancha está configurado para codificar la señal S10 de habla de banda ancha a una tasa de aproximadamente 8,55 kbps (kilobits por segundo), usándose aproximadamente 7,55 kbps para parámetros S40 de filtro de banda estrecha y la señal S50 de excitación de banda estrecha codificada, y usándose aproximadamente 1 kbps para parámetros S60 de codificación de banda alta. Figure 1a shows a block diagram of a broadband speech A100 encoder according to one embodiment. The filter bank A110 is configured to filter a broadband speech signal S10 to produce a narrow band signal S20 and a high band signal S30. The narrowband A120 encoder is configured to encode the narrowband S20 signal to produce S40 narrowband filter (NB) parameters and a residual narrowband S50 signal. As described in greater detail herein, the narrowband A120 encoder is normally configured to produce narrowband filter parameters S40 and the narrowband excitation signal S50 encoded as codebook indices or otherwise quantified The high-band encoder A200 is configured to encode the high-band signal S30 according to information in the encoded narrow-band excitation signal S50 to produce high-band coding parameters S60. As described in greater detail herein, the high-band encoder A200 is normally configured to produce high-band encoding parameters S60 as codebook indices or in another quantified form. A particular example of the broadband speech A100 encoder is configured to encode the broadband speech signal S10 at a rate of approximately 8.55 kbps (kilobits per second), approximately 7.55 kbps being used for S40 filter parameters. narrowband and the encoded narrowband excitation signal S50, and approximately 1 kbps being used for high band coding parameters S60.

Puede desearse combinar las señales de banda alta y banda estrecha codificadas en una corriente de bits única. Por ejemplo, puede desearse multiplexar las señales codificadas entre sí para transmisión (por ejemplo, a través de un canal de transmisión por cable, óptico o inalámbrico), o para almacenamiento, como una señal de habla de banda ancha codificada. La figura 1b muestra un diagrama de bloques de una implementación A102 de codificador A100 de habla de banda ancha que incluye un multiplexor A130 configurado para combinar parámetros S40 de filtro de banda estrecha, señal S50 de excitación de banda estrecha codificada y parámetros S60 de filtro de banda alta en una señal S70 multiplexada. It may be desired to combine the high band and narrow band signals encoded in a single bit stream. For example, it may be desired to multiplex the coded signals to each other for transmission (for example, through a cable, optical or wireless transmission channel), or for storage, such as a coded broadband speech signal. Figure 1b shows a block diagram of an implementation A102 of broadband speech A100 encoder that includes an A130 multiplexer configured to combine narrowband filter S40 parameters, encoded narrowband excitation signal S50 and S60 filter parameters. High band in a multiplexed S70 signal.

Un aparato que incluye el codificador A102 también puede incluir un conjunto de circuitos configurado para transmitir la señal S70 multiplexada en un canal de transmisión tal como un canal por cable, óptico o inalámbrico. Un aparato de este tipo también puede estar configurado para llevar a cabo una o más operaciones de codificación de canal en la señal, tal como codificación de corrección de errores (por ejemplo, codificación convolucional de tasa compatible) y/o codificación de detección de errores (por ejemplo, codificación de redundancia cíclica), y/o una o más capas de codificación de protocolo de red (por ejemplo, Ethernet, TCP/IP, cdma 2000). An apparatus that includes the A102 encoder may also include a circuit set configured to transmit the multiplexed S70 signal on a transmission channel such as a wired, optical or wireless channel. Such an apparatus may also be configured to carry out one or more channel coding operations on the signal, such as error correction coding (eg convolutional compatible rate coding) and / or error detection coding. (for example, cyclic redundancy coding), and / or one or more layers of network protocol coding (eg, Ethernet, TCP / IP, cdma 2000).

Puede ser deseable que el multiplexor A130 esté configurado para integrar la señal de banda estrecha codificada (incluyendo parámetros S40 de filtro de banda estrecha y señal S50 de excitación de banda estrecha codificada) como una subcorriente separable de la señal S70 multiplexada, de tal manera que pueda recuperarse la señal de banda estrecha codificada y decodificarse independientemente de otra parte de la señal S70 multiplexada tal como una señal de banda alta y/o de banda baja. Por ejemplo, puede disponerse la señal S70 multiplexada de tal manera que pueda recuperarse la señal de banda estrecha codificada eliminando los parámetros S60 de filtro de banda alta. Una ventaja potencial de una característica de este tipo es evitar la necesidad de transcodificar la señal de banda ancha codificada antes de pasarla a un sistema que soporta decodificación de la señal de banda estrecha pero no soporta decodificación de la parte de banda alta. It may be desirable that the A130 multiplexer is configured to integrate the encoded narrowband signal (including narrowband filter parameters S40 and encoded narrowband excitation signal S50) as a separable subcurrent of the multiplexed S70 signal, such that The encoded narrowband signal can be recovered and decoded independently of another part of the multiplexed S70 signal such as a high band and / or low band signal. For example, the multiplexed S70 signal can be arranged so that the encoded narrowband signal can be recovered by eliminating the high band filter parameters S60. A potential advantage of such a feature is to avoid the need to transcode the encoded broadband signal before passing it to a system that supports decoding of the narrowband signal but does not support decoding of the high band part.

La figura 2a es un diagrama de bloques de un decodificador B100 de habla de banda ancha según una realización. El decodificador B110 de banda estrecha está configurado para decodificar parámetros S40 de filtro de banda estrecha y la señal S50 de excitación de banda estrecha codificada para producir una señal S90 de banda estrecha. El decodificador B200 de banda alta está configurado para decodificar parámetros S60 de codificación de banda alta según una señal S80 de excitación de banda estrecha, basándose en la señal S50 de excitación de banda estrecha codificada, para producir una señal S100 de banda alta. En este ejemplo, el decodificador B110 de banda estrecha está configurado para proporcionar la señal S80 de excitación de banda estrecha al decodificador B200 de banda alta. El banco B120 de filtros está configurado para combinar la señal S90 de banda estrecha y la señal S100 de banda alta para producir una señal S110 de habla de banda ancha. Fig. 2a is a block diagram of a broadband speech decoder B100 according to one embodiment. The narrowband decoder B110 is configured to decode S40 narrowband filter parameters and the narrowband excitation signal S50 encoded to produce a narrowband S90 signal. The high-band decoder B200 is configured to decode high-band coding parameters S60 according to a narrow-band excitation signal S80, based on the encoded narrow-band excitation signal S50, to produce a high-band S100 signal. In this example, the narrowband decoder B110 is configured to provide the narrowband excitation signal S80 to the highband decoder B200. The filter bank B120 is configured to combine the narrowband signal S90 and the highband signal S100 to produce a broadband speech signal S110.

La figura 2b es un diagrama de bloques de una implementación B102 de decodificador B100 de habla de banda ancha que incluye un demultiplexor B130 configurado para producir señales S40, S50 y S60 codificadas a partir de la señal S70 multiplexada. Un aparato que incluye un decodificador B102 puede incluir un conjunto de circuitos configurado para recibir la señal S70 multiplexada de un canal de transmisión tal como un canal por cable, óptico o inalámbrico. Un aparato de este tipo también puede estar configurado para llevar a cabo una o más operaciones de decodificación de canal en la señal, tal como decodificación de corrección de errores (por ejemplo, decodificación convolucional de tasa compatible) y/o decodificación de detección de errores (por ejemplo, decodificación de redundancia cíclica), y/o una o más capas de decodificación de protocolo de red (por ejemplo, Ethernet, TCP/IP, cdma 2000). Figure 2b is a block diagram of an implementation B102 of broadband speech decoder B100 that includes a demultiplexer B130 configured to produce S40, S50 and S60 signals encoded from the multiplexed S70 signal. An apparatus that includes a B102 decoder may include a circuit set configured to receive the multiplexed S70 signal from a transmission channel such as a wired, optical or wireless channel. Such an apparatus may also be configured to carry out one or more channel decoding operations in the signal, such as error correction decoding (eg convolutional compatible rate decoding) and / or error detection decoding. (for example, cyclic redundancy decoding), and / or one or more layers of network protocol decoding (eg, Ethernet, TCP / IP, cdma 2000).

El banco A110 de filtros está configurado para filtrar una señal de entrada según un esquema de banda dividida para producir una subbanda de baja frecuencia y una subbanda de alta frecuencia. Dependiendo de los criterios de diseño para la aplicación particular, las subbandas de salida pueden tener anchos de banda iguales o desiguales y pueden superponerse o no superponerse. También es posible una configuración de banco A110 de filtros que produce más de dos subbandas. Por ejemplo, un banco de filtros de este tipo puede estar configurado para producir una o más señales de banda baja que incluyen componentes en un intervalo de frecuencia por debajo del de la señal S20 de banda estrecha (tal como el intervalo de 50-300 Hz). También es posible que un banco de filtros de este tipo esté configurado para producir una o más señales de banda alta adicionales que incluyen componentes en un intervalo de frecuencia por encima del de la señal S30 de banda alta (tal como un intervalo de 14-20 kHz, 16-20 kHz o 16-32 kHz). En tal caso, puede implementarse el codificador A100 de habla de banda ancha para codificar esta señal o señales por separado, y el multiplexor A130 puede estar configurado para incluir la señal o señales codificadas adicionales en la señal S70 multiplexada (por ejemplo, como una parte separable). The filter bank A110 is configured to filter an input signal according to a split band scheme to produce a low frequency subband and a high frequency subband. Depending on the design criteria for the particular application, the output subbands may have equal or uneven bandwidths and may overlap or not overlap. An A110 bank bank configuration that produces more than two subbands is also possible. For example, such a bank of filters may be configured to produce one or more low band signals that include components in a frequency range below that of the narrow band S20 signal (such as the 50-300 Hz range). ). It is also possible that such a bank of filters is configured to produce one or more additional high band signals that include components in a frequency range above that of the high band S30 signal (such as a range of 14-20 kHz, 16-20 kHz or 16-32 kHz). In such a case, the broadband speech A100 encoder can be implemented to encode this signal or signals separately, and the A130 multiplexer may be configured to include the additional encoded signal or signals in the multiplexed S70 signal (for example, as a part separable).

La figura 3a muestra un diagrama de bloques de una implementación A112 de banco A110 de filtros que está configurado para producir dos señales de subbanda que tienen tasas de muestreo reducidas. El banco A110 de filtros está dispuesto para recibir una señal S10 de habla de banda ancha que tiene una parte de alta frecuencia (o banda alta) y una parte de baja frecuencia (o banda baja). El banco A112 de filtros incluye un trayecto de procesamiento de banda baja configurado para recibir la señal S10 de habla de banda ancha y para producir la señal S20 de habla de banda estrecha, y un trayecto de procesamiento de banda alta configurado para recibir la señal S10 de habla de banda ancha y para producir la señal S30 de habla de banda alta. El filtro 110 de paso bajo filtra la señal S10 de habla de banda ancha para pasar una subbanda de baja frecuencia seleccionada, y el filtro 130 de paso alto filtra la señal S10 de habla de banda ancha para pasar una subbanda de alta frecuencia seleccionada. Debido a que ambas señales de subbanda tienen más anchos de banda estrechos que la señal S10 de habla de banda ancha, pueden reducirse sus tasas de muestreo hasta cierto punto sin pérdida de información. El submuestreador 120 reduce la tasa de muestreo de la señal de paso bajo según un factor de decimación deseado (por ejemplo, eliminando muestras de la señal y/o sustituyendo muestras con valores promedio), y asimismo el submuestreador 140 reduce la tasa de muestreo de la señal de paso alto según otro factor de decimación deseado. Figure 3a shows a block diagram of an A112 implementation of a bank A110 of filters that is configured to produce two subband signals that have reduced sampling rates. The filter bank A110 is arranged to receive a broadband speech signal S10 having a high frequency part (or high band) and a low frequency part (or low band). The filter bank A112 includes a low band processing path configured to receive the broadband speech signal S10 and to produce the narrowband speech signal S20, and a high band processing path configured to receive the S10 signal broadband speech and to produce the high band speech signal S30. The low pass filter 110 filters the broadband speech signal S10 to pass a selected low frequency subband, and the high pass filter 130 filters the broadband speech signal S10 to pass a selected high frequency subband. Because both subband signals have narrower bandwidths than the broadband speech signal S10, their sampling rates can be reduced to some extent without loss of information. Subsampler 120 reduces the sampling rate of the low pass signal according to a desired decimation factor (for example, removing samples from the signal and / or replacing samples with average values), and also subsampler 140 reduces the sampling rate of the high pass signal according to another desired decimation factor.

La figura 3b muestra un diagrama de bloques de una implementación B122 correspondiente de banco B120 de filtros. El sobremuestreador 150 aumenta la tasa de muestreo de la señal S90 de banda estrecha (por ejemplo, rellenando con ceros y/o duplicando muestras), y el filtro 160 de paso bajo filtra la señal sobremuestreada para pasar sólo una parte de banda baja (por ejemplo, para prevenir solapamiento). Asimismo, el sobremuestreador 170 aumenta la tasa de muestreo de la señal S100 de banda alta y el filtro 180 de paso alto filtra la señal sobremuestrada para pasar sólo una parte de banda alta. Entonces las dos señales de banda de paso se suman para formar la señal S110 de habla de banda ancha. En algunas implementaciones de decodificador B100, el banco B120 de filtros está configurado para producir una suma ponderada de las dos señales de banda de paso según uno o más pesos recibidos y/o calculados por el decodificador B200 de banda alta. También se contempla una configuración de banco B120 de filtros que combina más de dos señales de banda de paso. Figure 3b shows a block diagram of a corresponding implementation B122 of filter bank B120. The oversampler 150 increases the sampling rate of the narrowband signal S90 (for example, filling with zeros and / or duplicating samples), and the low pass filter 160 filters the oversampled signal to pass only a portion of the low band (by example, to prevent overlap). Also, the oversampler 170 increases the sampling rate of the high band signal S100 and the high pass filter 180 filters the oversampled signal to pass only a high band part. Then the two passband signals are added together to form the broadband speech signal S110. In some implementations of B100 decoder, the filter bank B120 is configured to produce a weighted sum of the two passband signals according to one or more weights received and / or calculated by the high band B200 decoder. A B120 bank bank configuration is also contemplated that combines more than two passband signals.

Puede implementarse cada uno de los filtros 110, 130, 160, 180 como un filtro de respuesta al impulso finita (FIR) o como un filtro de respuesta al impulso infinita (IIR). Las respuestas de frecuencia de los filtros 110 y 130 de codificador pueden tener regiones de transición conformadas de manera simétrica o no similar entre la banda de parada y la banda de paso. Asimismo, las respuestas de frecuencia de los filtros 160 y 180 de decodificador pueden tener regiones de transición conformadas de manera simétrica o no similar entre la banda de parada y la banda de paso. Puede ser deseable aunque no estrictamente necesario que el filtro 110 de paso bajo tenga la misma respuesta que el filtro 160 de paso bajo, y que el filtro 130 de paso alto tenga la misma respuesta que el filtro 180 de paso alto. En un ejemplo, los dos pares 110, 130 y 160, 180 de filtros son bancos de filtros de espejo en cuadratura (QMF), teniendo el par 110, 130 de filtros los mismos coeficientes que el par 160, 180 de filtros. Each of the filters 110, 130, 160, 180 can be implemented as a finite impulse response (FIR) filter or as an infinite impulse response (IIR) filter. The frequency responses of the encoder filters 110 and 130 may have transition regions shaped symmetrically or not similarly between the stop band and the pass band. Also, the frequency responses of decoder filters 160 and 180 may have transition regions shaped symmetrically or not similarly between the stop band and the pass band. It may be desirable although not strictly necessary that the low pass filter 110 have the same response as the low pass filter 160, and that the high pass filter 130 have the same response as the high pass filter 180. In one example, the two pairs 110, 130 and 160, 180 of filters are quadrature mirror filter banks (QMF), the pair 110, 130 of filters having the same coefficients as the pair 160, 180 of filters.

En un ejemplo típico, el filtro 110 de paso bajo tiene una banda de paso que incluye el intervalo de PSTN limitado de 300-3400 Hz (por ejemplo, la banda desde 0 kHz hasta 4 kHz). Las figuras 4a y 4b muestran anchos de banda relativos de la señal S10 de habla de banda ancha, la señal S20 de banda estrecha y la señal S30 de banda alta en dos ejemplos de implementación diferentes. En ambos de estos ejemplos particulares, la señal S10 de habla de banda ancha tiene una tasa de muestreo de 16 kHz (que representa componentes de frecuencia dentro del intervalo de 0 kHz a 8 kHz), y la señal S20 de banda estrecha tiene una tasa de muestreo de 8 kHz (que representa componentes de frecuencia dentro del intervalo de 0 kHz a 4 kHz). In a typical example, the low pass filter 110 has a pass band that includes the limited PSTN range of 300-3400 Hz (for example, the band from 0 kHz to 4 kHz). Figures 4a and 4b show relative bandwidths of the broadband speech signal S10, the narrowband signal S20 and the highband signal S30 in two different implementation examples. In both of these particular examples, the broadband speech signal S10 has a sampling rate of 16 kHz (representing frequency components within the range of 0 kHz to 8 kHz), and the narrowband signal S20 has a rate 8 kHz sampling (representing frequency components within the range of 0 kHz to 4 kHz).

En el ejemplo de la figura 4a, no hay superposición significativa entre las dos subbandas. Puede obtenerse una señal S30 de banda alta tal como se muestra en este ejemplo usando un filtro 130 de paso alto con una banda de paso de 4-8 kHz. En tal caso, puede ser deseable reducir la tasa de muestreo a 8 kHz submuestreando la señal filtrada en un factor de dos. Una operación de este tipo, que puede esperarse que reduzca significativamente la complejidad computacional de operaciones de procesamiento adicionales en la señal, moverá la energía de banda de paso hasta el intervalo de 0 kHz a 4 kHz sin pérdida de información. In the example in Figure 4a, there is no significant overlap between the two subbands. A high band signal S30 can be obtained as shown in this example using a high pass filter 130 with a pass band of 4-8 kHz. In such a case, it may be desirable to reduce the sampling rate to 8 kHz by subsampling the filtered signal by a factor of two. Such an operation, which can be expected to significantly reduce the computational complexity of additional processing operations in the signal, will move the pass-band energy up to the range of 0 kHz to 4 kHz without loss of information.

En el ejemplo alternativo de la figura 4b, las subbandas superior e inferior tienen una superposición apreciable, de tal manera que la región de 3,5 kHz a 4 kHz se describe mediante ambas señales de subbanda. Puede obtenerse una señal S30 de banda alta como en este ejemplo usando un filtro 130 de paso alto con una banda de paso de 3,5-7 kHz. En tal caso, puede ser deseable reducir la tasa de muestreo a 7 kHz submuestreando la señal filtrada en un factor de 16/7. Una operación de este tipo, que puede esperarse que reduzca significativamente la complejidad computacional de operaciones de procesamiento adicionales en la señal, moverá la energía de banda de paso hasta el intervalo de 0 kHz a 3,5 kHz sin pérdida de información. In the alternative example of Figure 4b, the upper and lower subbands have an appreciable overlap, such that the region of 3.5 kHz to 4 kHz is described by both subband signals. A high band signal S30 can be obtained as in this example using a high pass filter 130 with a 3.5-7 kHz pass band. In such a case, it may be desirable to reduce the sampling rate to 7 kHz by subsampling the filtered signal by a factor of 16/7. Such an operation, which can be expected to significantly reduce the computational complexity of additional processing operations in the signal, will move the pass-band energy up to the range of 0 kHz to 3.5 kHz without loss of information.

En un microteléfono típico para comunicación telefónica, uno o más de los transductores (es decir, el microteléfono y el auricular o altavoz) carece de una respuesta apreciable sobre el intervalo de frecuencia de 7-8 kHz. En el ejemplo de la figura 4b, la parte de la señal S10 de habla de banda ancha entre 7 kHz y 8 kHz no se incluye en la señal codificada. Otros ejemplos particulares del filtro 130 de paso alto tienen bandas de paso de 3,5-7,5 kHz y 3,5-8 kHz. In a typical handset for telephone communication, one or more of the transducers (ie, the handset and the handset or speaker) lacks an appreciable response over the frequency range of 7-8 kHz. In the example of Figure 4b, the part of the broadband speech signal S10 between 7 kHz and 8 kHz is not included in the encoded signal. Other particular examples of the high pass filter 130 have pass bands of 3.5-7.5 kHz and 3.5-8 kHz.

En algunas implementaciones, proporcionar una superposición entre subbandas como en el ejemplo de la figura 4b permite el uso de un filtro de paso bajo y/o de paso alto que tiene unas atenuaciones progresivas suaves sobre la región superpuesta. Normalmente, tales filtros son más fáciles de diseñar, menos complejos computacionalmente y/o introducen menos retardo que los filtros con respuestas más agudas o de “pared”. Los filtros que tienen regiones de transición agudas tienden a tener lóbulos laterales más altos (que pueden provocar solapamiento) que los filtros de orden similar que tienen atenuaciones progresivas suaves. Los filtros que tienen regiones de transición agudas también pueden tener respuestas de impulso largas que pueden provocar artefactos de llamada. Para las implementaciones de banco de filtros que tienen uno o más filtros de IIR, permitir una atenuación progresiva suave sobre la región superpuesta puede permitir el uso de un filtro o filtros cuyos polos están más alejados del círculo unitario, que pueden ser importantes para garantizar una implementación de punto fijado estable. In some implementations, providing an overlay between subbands as in the example of Figure 4b allows the use of a low pass and / or high pass filter that has smooth progressive attenuations over the superimposed region. Typically, such filters are easier to design, less complex computationally and / or introduce less delay than filters with more acute or "wall" responses. Filters that have acute transition regions tend to have higher lateral lobes (which can cause overlap) than filters of similar order that have smooth progressive attenuations. Filters that have acute transition regions can also have long impulse responses that can cause call artifacts. For filter bank implementations that have one or more IIR filters, allowing smooth progressive attenuation over the overlapping region may allow the use of a filter or filters whose poles are farther from the unit circle, which may be important to ensure stable fixed point implementation.

La superposición de subbandas permite un mezclado suave de banda baja y banda alta que puede conducir a menos artefactos audibles, solapamiento reducido y/o una transición menos perceptible desde una banda a la otra. Además, la eficacia de codificación del codificador A120 de banda estrecha (por ejemplo, un codificador de forma de onda) puede caer con una frecuencia creciente. Por ejemplo, puede reducirse la calidad de codificación del codificador de banda estrecha a bajas tasas de transmisión de bits, especialmente en presencia de ruido de fondo. En tales casos, proporcionar una superposición de las subbandas puede aumentar la calidad de los componentes de frecuencia reproducidos en la región superpuesta. Subband overlay allows smooth mixing of low band and high band that can lead to less audible artifacts, reduced overlap and / or a less noticeable transition from one band to the other. In addition, the encoding efficiency of the narrowband A120 encoder (for example, a waveform encoder) may fall with increasing frequency. For example, the encoding quality of the narrowband encoder can be reduced at low bit rates, especially in the presence of background noise. In such cases, providing an overlay of the subbands can increase the quality of the frequency components reproduced in the overlapping region.

Además, la superposición de subbandas permite un mezclado suave de banda baja y banda alta que puede conducir a menos artefactos audibles, solapamiento reducido y/o una transición menos perceptible de una banda a la otra. Tal característica puede ser especialmente deseable para una implementación en la que el codificador A120 de banda estrecha y el codificador A200 de banda alta operan según metodologías de codificación diferentes. Por ejemplo, técnicas de codificación diferentes pueden producir señales que suenan bastante diferentes. Un codificador que codifica una envolvente espectral en forma de índices de libro de códigos puede producir una señal que tiene un sonido diferente que un codificador que codifica, en cambio, el espectro de amplitud. Un codificador en el dominio del tiempo (por ejemplo, una modulación por impulsos codificados o codificador de MIC) puede producir una señal que tiene un sonido diferente que un codificador en el dominio de la frecuencia. Un codificador que codifica una señal con una representación de la envolvente espectral y la señal residual correspondiente puede producir una señal que tiene un sonido diferente que un codificador que codifica una señal con sólo una representación de la envolvente espectral. Un codificador que codifica una señal como una representación de su forma de onda puede producir una salida que tiene un sonido diferente que el de un codificador sinusoidal. En tales casos, el uso de filtros que tienen regiones de transición agudas para definir subbandas no superpuestas puede conducir a una transición abrupta y perceptible entre las subbandas en la señal de banda ancha sintetizada. In addition, the subband overlay allows smooth mixing of low band and high band that can lead to less audible artifacts, reduced overlap and / or a less noticeable transition from one band to the other. Such a feature may be especially desirable for an implementation in which the narrowband A120 encoder and the high band A200 encoder operate according to different coding methodologies. For example, different coding techniques can produce signals that sound quite different. An encoder that encodes a spectral envelope in the form of codebook indices can produce a signal that has a different sound than an encoder that encodes, instead, the amplitude spectrum. An encoder in the time domain (for example, an encoded pulse modulation or MIC encoder) can produce a signal that has a different sound than an encoder in the frequency domain. An encoder that encodes a signal with a representation of the spectral envelope and the corresponding residual signal can produce a signal that has a different sound than an encoder that encodes a signal with only a representation of the spectral envelope. An encoder that encodes a signal as a representation of its waveform can produce an output that has a different sound than that of a sinusoidal encoder. In such cases, the use of filters having acute transition regions to define non-overlapping subbands can lead to an abrupt and noticeable transition between the subbands in the synthesized broadband signal.

Aunque, a menudo se usan bancos de filtros QMF que tienen respuestas de frecuencia de superposición complementarias en técnicas de subbanda, tales filtros son inadecuados para al menos algunas de las implementaciones de codificación de banda ancha descritas en el presente documento. Un banco de filtros QMF en el codificador está configurado para crear un grado significativo de solapamiento que se cancela en el banco de filtros QMF correspondiente en el decodificador. Una disposición de este tipo puede no ser apropiada para una aplicación en la que la señal experimenta una cantidad significativa de distorsión entre los bancos de filtros, ya que la distorsión puede reducir la efectividad de la propiedad de cancelación de solapamiento. Por ejemplo, las aplicaciones descritas en el presente documento incluyen implementaciones de codificación configuradas para operar a tasas de transmisión de bits muy bajas. Como consecuencia de la tasa de transmisión de bits muy baja, es probable que la señal decodificada aparezca significativamente distorsionada en comparación con la señal original, de tal manera que el uso de bancos de filtros QMF puede conducir a un solapamiento no cancelado. Las aplicaciones que usan bancos de filtros QMF tienen normalmente tasas de transmisión de bits superiores (por ejemplo, por encima de 12 kbps para AMR, y 64 kbps para G.722). Although, banks of QMF filters that have complementary overlap frequency responses in subband techniques are often used, such filters are unsuitable for at least some of the broadband coding implementations described herein. A QMF filter bank in the encoder is configured to create a significant degree of overlap that is canceled in the corresponding QMF filter bank in the decoder. Such an arrangement may not be appropriate for an application in which the signal experiences a significant amount of distortion between the filter banks, since the distortion can reduce the effectiveness of the overlap cancellation property. For example, the applications described herein include coding implementations configured to operate at very low bit rates. As a consequence of the very low bit rate, the decoded signal is likely to appear significantly distorted compared to the original signal, such that the use of QMF filter banks can lead to an uncapped overlap. Applications that use QMF filter banks typically have higher bit rates (for example, above 12 kbps for AMR, and 64 kbps for G.722).

Adicionalmente, un codificador puede estar configurado para producir una señal sintetizada que es perceptiblemente similar a la señal original pero que en realidad difiere significativamente de la señal original. Por ejemplo, un codificador que deriva la excitación de banda alta a partir del resto de banda estrecha tal como se describe en el presente documento puede producir una señal de este tipo, ya que el resto de banda alta real puede estar completamente ausente de la señal decodificada. El uso de bancos de filtros QMF en tales aplicaciones puede conducir a un grado significativo de distorsión provocado por solapamiento no cancelado. Additionally, an encoder may be configured to produce a synthesized signal that is significantly similar to the original signal but actually differs significantly from the original signal. For example, an encoder that derives high band excitation from the narrow band rest as described herein may produce such a signal, since the actual high band rest may be completely absent from the signal. decoded. The use of QMF filter banks in such applications can lead to a significant degree of distortion caused by non-canceled overlap.

Puede reducirse la cantidad de distorsión provocada por solapamiento de QMF si la subbanda afectada es estrecha, ya que el efecto del solapamiento se limita a un ancho de banda igual al ancho de la subbanda. Para ejemplos tal como se describen en el presente documento en los que cada subbanda incluye aproximadamente la mitad del ancho de banda de banda ancha, sin embargo, la distorsión provocada por solapamiento no cancelado podría afectar a una parte significativa de la señal. También puede verse afectada la calidad de la señal por la ubicación de la banda de frecuencia sobre la que se produce el solapamiento no cancelado. Por ejemplo, la distorsión creada cerca del centro de una señal de habla de banda ancha (por ejemplo, entre 3 kHz y 4 kHz) puede ser mucho más inaceptable que la distorsión que se produce cerca de un borde de la señal (por ejemplo, por encima de 6 kHz). The amount of distortion caused by QMF overlap can be reduced if the affected subband is narrow, since the effect of the overlap is limited to a bandwidth equal to the width of the subband. For examples as described herein in which each subband includes approximately half of the broadband bandwidth, however, distortion caused by non-canceled overlap could affect a significant part of the signal. The quality of the signal may also be affected by the location of the frequency band on which the overlapped non-overlap occurs. For example, the distortion created near the center of a broadband speech signal (for example, between 3 kHz and 4 kHz) may be much more unacceptable than the distortion that occurs near an edge of the signal (for example, above 6 kHz).

Aunque las respuestas de los filtros de un banco de filtros QMF están relacionadas estrictamente entre sí, pueden configurarse los trayectos de banda baja y banda alta de los bancos A110 y B120 de filtros para tener espectros que no tienen relación ninguna aparte de la superposición de las dos subbandas. Se define la superposición de las dos subbandas como la distancia desde el punto en el que la respuesta de frecuencia del filtro de banda alta cae a -20 dB hasta el punto en el que la respuesta de frecuencia del filtro de banda baja cae a -20 dB. En diversos ejemplos del banco A110 y/o B120 de filtros, esta superposición oscila desde aproximadamente 200 Hz hasta aproximadamente 1 kHz. El intervalo de aproximadamente 400 Hz a aproximadamente 600 Hz puede representar un equilibrio deseado entre la eficacia de codificación y la suavidad de percepción. En un ejemplo particular tal como se mencionó anteriormente, la superposición es aproximadamente 500 Hz. Although the responses of the filters of a bank of QMF filters are strictly related to each other, the low band and high band paths of the banks A110 and B120 of filters can be configured to have spectra that have no relation to any other than the superposition of the Two subbands The superposition of the two subbands is defined as the distance from the point at which the frequency response of the high band filter falls to -20 dB to the point where the frequency response of the low band filter falls to -20 dB In various examples of the A110 and / or B120 filter bank, this overlap ranges from about 200 Hz to about 1 kHz. The range of about 400 Hz to about 600 Hz may represent a desired balance between coding efficiency and smoothness of perception. In a particular example as mentioned above, the overlap is approximately 500 Hz.

Puede ser deseable implementar el banco A112 y/o B122 de filtros para llevar a cabo operaciones tal como se ilustra en las figuras 4a y 4b en varias etapas. Por ejemplo, la figura 4c muestra un diagrama de bloques de una implementación A114 de banco A112 de filtros que lleva a cabo un equivalente funcional de operaciones de submuestreo y filtrado de paso alto usando una serie de operaciones de interpolación, realización de nuevo muestreo, decimación y otras. Puede ser más fácil de diseñar una implementación de este tipo y/o puede permitir la reutilización de bloques funcionales de lógica y/o código. Por ejemplo, puede usarse el mismo bloque funcional para llevar a cabo las operaciones de decimación a 14 kHz y decimación a 7 kHz tal como se muestra en la figura 4c. Puede implementarse la operación de inversión espectral multiplicando la señal por la función einπ o la secuencia (-1)n, cuyos valores alternan entre +1 y -1. Puede implementarse la operación de conformación espectral como un filtro de paso bajo configurado para conformar la señal para obtener una respuesta de filtro global deseada. It may be desirable to implement the A112 and / or B122 filter bank to carry out operations as illustrated in Figures 4a and 4b in several stages. For example, Figure 4c shows a block diagram of an A112 implementation of filter bank A112 that performs a functional equivalent of high-pass subsampling and filtering operations using a series of interpolation operations, re-sampling, decimation. and others. It may be easier to design such an implementation and / or it may allow the reuse of functional blocks of logic and / or code. For example, the same functional block can be used to perform the decimation operations at 14 kHz and decimation at 7 kHz as shown in Figure 4c. The spectral inversion operation can be implemented by multiplying the signal by the function einπ or the sequence (-1) n, whose values alternate between +1 and -1. The spectral shaping operation can be implemented as a low pass filter configured to shape the signal to obtain a desired global filter response.

Se observa que como una consecuencia de la operación de inversión espectral, se invierte el espectro de la señal S30 de banda alta. Pueden configurarse operaciones posteriores en el codificador y el decodificador correspondiente, en consecuencia. Por ejemplo, el generador A300 de excitación de banda alta tal como se describe en el presente documento puede estar configurado para producir una señal S120 de excitación de banda alta que también tiene una forma invertida espectralmente. It is noted that as a consequence of the spectral inversion operation, the spectrum of the high band signal S30 is inverted. Subsequent operations can be configured in the encoder and the corresponding decoder, accordingly. For example, the high band excitation generator A300 as described herein may be configured to produce a high band excitation signal S120 that also has a spectrally inverted shape.

La figura 4d muestra un diagrama de bloques de una implementación B124 de banco B122 de filtros que lleva a cabo un equivalente funcional de operaciones de filtrado de paso alto y sobremuestreo usando una serie de operaciones de interpolación, realización de nuevo muestreo y otras. El banco B124 de filtros incluye una operación de inversión espectral en la banda alta que invierte una operación similar tal como se lleva a cabo, por ejemplo, en un banco de filtros del codificador tal como banco A114 de filtros. En este ejemplo particular, el banco B124 de filtros también incluye filtros de ranura en la banda baja y la banda alta que atenúan un componente de la señal a 7100 Hz, aunque tales filtros son opcionales y no necesitan incluirse. La solicitud de patente “SYSTEMS, METHODS, AND APPARATUS FOR SPEECH SIGNAL FILTERING” presentada con el presente documento, ahora publicación de patente estadounidense n. o 2007/0088558, incluye una descripción y figuras adicionales relativos a respuestas de elementos de implementaciones particulares de los bancos A110 y B120 de filtros, y este material se incorpora al presente documento por referencia. Figure 4d shows a block diagram of a B124 implementation of filter bank B122 that performs a functional equivalent of high-pass filtering and oversampling operations using a series of interpolation, re-sampling and other operations. The filter bank B124 includes a spectral inversion operation in the high band that reverses a similar operation such as, for example, in a filter bank of the encoder such as filter bank A114. In this particular example, the filter bank B124 also includes low band and high band slot filters that attenuate a component of the signal at 7100 Hz, although such filters are optional and need not be included. The patent application "SYSTEMS, METHODS, AND APPARATUS FOR SPEECH SIGNAL FILTERING" filed with this document, now US Patent Publication n. or 2007/0088558, includes a description and additional figures relating to responses of elements of particular implementations of the A110 and B120 filter banks, and this material is incorporated herein by reference.

Se implementa el codificador A120 de banda estrecha según un modelo de filtro de fuente que codifica la señal de habla de entrada como (A) un conjunto de parámetros que describen un filtro y (B) una señal de excitación que hace que el filtro descrito produzca una reproducción sintetizada de la señal de habla de entrada. La figura 5a muestra un ejemplo de una envolvente espectral de una señal de habla. Los picos que caracterizan esta envolvente espectral representan resonancias del tracto vocal y se denominan formantes. La mayoría de codificadores de habla codifican al menos esta estructura espectral aproximada como un conjunto de parámetros tales como coeficientes de filtro. The narrowband A120 encoder is implemented according to a source filter model that encodes the input speech signal as (A) a set of parameters describing a filter and (B) an excitation signal that causes the described filter to produce a synthesized reproduction of the input speech signal. Figure 5a shows an example of a spectral envelope of a speech signal. The peaks that characterize this spectral envelope represent resonances of the vocal tract and are called formants. Most speech coders encode at least this approximate spectral structure as a set of parameters such as filter coefficients.

La figura 5b muestra un ejemplo de una disposición de filtro de fuente básica tal como se aplica para la codificación de la envolvente espectral de la señal S20 de banda estrecha. Un módulo de análisis calcula un conjunto de parámetros que caracterizan un filtro que corresponde a un sonido de habla durante un periodo de tiempo (normalmente 20 ms). Un filtro blanqueador (también denominado un filtro de análisis o de error de predicción) configurado según esos parámetros de filtro elimina la envolvente espectral para aplanar espectralmente la señal. La señal blanqueada resultante (también denominada un resto) tiene menos energía y por tanto menos varianza y es más fácil de codificar que la señal de habla original. También pueden propagarse los errores resultantes de la codificación de la señal residual más uniformemente a través del espectro. Los parámetros de filtro y el resto se cuantifican normalmente para su transmisión eficaz a través del canal. En el decodificador, un filtro de síntesis configurado según los parámetros de filtro se excita por una señal basada en el resto para producir una versión sintetizada del sonido de habla original. Normalmente, el filtro de síntesis está configurado para tener una función de transferencia que es la inversa de la función de transferencia del filtro blanqueador. Figure 5b shows an example of a basic source filter arrangement as applied for the coding of the spectral envelope of the narrowband signal S20. An analysis module calculates a set of parameters that characterize a filter that corresponds to a speech sound for a period of time (usually 20 ms). A bleach filter (also called an analysis or prediction error filter) configured according to those filter parameters eliminates the spectral envelope to spectrally flatten the signal. The resulting bleached signal (also called a remainder) has less energy and therefore less variance and is easier to code than the original speech signal. Errors resulting from the coding of the residual signal can be propagated more evenly across the spectrum. The filter parameters and the rest are normally quantified for efficient transmission through the channel. In the decoder, a synthesis filter configured according to the filter parameters is excited by a signal based on the rest to produce a synthesized version of the original speech sound. Normally, the synthesis filter is configured to have a transfer function that is the inverse of the transfer function of the bleach filter.

La figura 6 muestra un diagrama de bloques de una implementación A122 básica del codificador A120 de banda estrecha. En este ejemplo, un módulo 210 de análisis de codificación de predicción lineal (LPC) codifica la envolvente espectral de la señal S20 de banda estrecha como un conjunto de coeficientes de predicción lineal (LP) (por ejemplo, coeficientes de un filtro de todos los polos 1/A(z)). Normalmente, el módulo de análisis procesa la señal de entrada como una serie de tramas no superpuestas, calculándose un nuevo conjunto de coeficientes para cada trama. Generalmente, el periodo de trama es un periodo durante el que puede esperarse que la señal sea estacionaria localmente; un ejemplo común es 20 milisegundos (equivalente a 160 muestras a una tasa de muestreo de 8 kHz). En un ejemplo, el módulo 210 de análisis de LPC está configurado para calcular un conjunto de diez coeficientes de filtro de LP para caracterizar la estructura formante de cada trama de 20 milisegundos. También es posible implementar el módulo de análisis para procesar la señal de entrada como una serie de tramas superpuestas. Figure 6 shows a block diagram of a basic implementation A122 of the narrow band A120 encoder. In this example, a linear prediction coding analysis (LPC) analysis module 210 encodes the spectral envelope of the narrowband signal S20 as a set of linear prediction coefficients (LP) (e.g., filter coefficients of all filters). poles 1 / A (z)). Normally, the analysis module processes the input signal as a series of non-overlapping frames, calculating a new set of coefficients for each frame. Generally, the frame period is a period during which the signal can be expected to be stationary locally; A common example is 20 milliseconds (equivalent to 160 samples at a sampling rate of 8 kHz). In one example, the LPC analysis module 210 is configured to calculate a set of ten LP filter coefficients to characterize the formative structure of each 20 millisecond frame. It is also possible to implement the analysis module to process the input signal as a series of overlapping frames.

El módulo de análisis puede estar configurado para analizar las muestras de cada trama directamente, o pueden ponderarse las muestras primero según una función ventana (por ejemplo, una ventana de Hamming). También puede llevarse a cabo el análisis a través de 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 tal manera que incluye los 5 milisegundos inmediatamente anteriores y posteriores a la trama de 20 milisegundos) o asimétrica (por ejemplo 10-20, de tal manera que incluye los últimos 10 milisegundos de la trama anterior). Normalmente, un módulo de análisis de LPC está configurado para calcular los coeficientes de filtro de LP usando una recursión de Levinson-Durbin o el algoritmo de Leroux-Gueguen. En otra implementación, el módulo de análisis puede estar configurado para calcular un conjunto de coeficientes cepstrales para cada trama en lugar de un conjunto de coeficientes de filtro de LP. The analysis module can be configured to analyze the samples of each frame directly, or the samples can be weighted first according to a window function (for example, a Hamming window). The analysis can also be carried out through a window that is larger than the frame, such as a 30 ms window. This window can be symmetric (for example 5-20-5, such that it includes the 5 milliseconds immediately before and after the 20 millisecond frame) or asymmetric (for example 10-20, in such a way that it includes the last 10 milliseconds of the previous plot). Normally, an LPC analysis module is configured to calculate LP filter coefficients using a Levinson-Durbin recursion or the Leroux-Gueguen algorithm. In another implementation, the analysis module may be configured to calculate a set of cepstral coefficients for each frame instead of a set of LP filter coefficients.

La velocidad de salida del codificador A120 puede reducirse significativamente, con relativamente poco efecto sobre la calidad de reproducción, cuantificando los parámetros de filtro. Los coeficientes de filtro de predicción lineal son difíciles de cuantificar eficazmente y habitualmente se correlacionan con otra representación, tal como pares espectrales de línea (LSP) o frecuencias espectrales de línea (LSF), para cuantificación y/o codificación de entropía. En el ejemplo de la figura 6, la transformada 220 de coeficiente de filtro de LP a LSF transforma el conjunto de coeficientes de filtro de LP en un conjunto correspondiente de las LSF. Otras representaciones uno a uno de coeficientes de filtro de LP incluyen coeficientes parcor; valores de logaritmo de relación de área; pares espectrales de inmitancia (ISP); y frecuencias espectrales de inmitancia (ISF), que se usan en el códec de AMR-WB (ancho de banda de tasa múltiple adaptativa) de GSM (Sistema general para las comunicaciones móviles). Normalmente una transformada entre un conjunto de coeficientes de filtro de LP y un conjunto correspondiente de las LSF es reversible, pero las realizaciones también incluyen implementaciones de codificador A120 en las que la transformada no es reversible sin error. The output speed of the A120 encoder can be significantly reduced, with relatively little effect on playback quality, by quantifying the filter parameters. Linear prediction filter coefficients are difficult to quantify effectively and usually correlate with another representation, such as line spectral pairs (LSP) or line spectral frequencies (LSF), for quantification and / or entropy coding. In the example of Figure 6, the transform 220 of the LP to LSF filter coefficient transforms the set of LP filter coefficients into a corresponding set of the LSFs. Other one-to-one representations of LP filter coefficients include parcor coefficients; logarithm values of area relationship; immitance spectral pairs (ISP); and immittance spectral frequencies (ISF), which are used in the AMR-WB (Adaptive Multiple Rate Bandwidth) codec of GSM (General System for Mobile Communications). Normally a transform between a set of LP filter coefficients and a corresponding set of LSFs is reversible, but the embodiments also include A120 encoder implementations in which the transform is not reversible without error.

El cuantificador 230 está configurado para cuantificar el conjunto de las LSF de banda estrecha (u otra representación de coeficiente), y el codificador A122 de banda estrecha está configurado para emitir el resultado de esta cuantificación como los parámetros S40 de filtro de banda estrecha. Normalmente, un cuantificador de este tipo incluye un cuantificador de vector que codifica el vector de entrada como un índice con respecto a una entrada de vector correspondiente en una tabla o libro de códigos. Quantifier 230 is configured to quantify the set of narrowband LSFs (or other coefficient representation), and narrowband encoder A122 is configured to output the result of this quantification as the S40 narrowband filter parameters. Typically, such a quantifier includes a vector quantifier that encodes the input vector as an index with respect to a corresponding vector entry in a table or codebook.

Tal como se observa en la figura 6, el codificador A122 de banda estrecha también genera una señal residual pasando la señal S20 de banda estrecha a través de un filtro 260 blanqueador (también denominado un filtro de análisis o de error de predicción) que está configurado según el conjunto de coeficientes de filtro. En este ejemplo particular, se implementa el filtro 260 blanqueador como un filtro de FIR, aunque también pueden usarse implementaciones de IIR. Normalmente, esta señal residual contendrá información importante en cuanto a la percepción de la trama de habla, tal como la estructura a largo plazo relativa a la altura tonal, que no se representa en los parámetros S40 de filtro de banda estrecha. El cuantificador 270 está configurado para calcular una representación cuantificada de esta señal residual para su emisión como la señal S50 de excitación de banda estrecha codificada. Normalmente, un cuantificador de este tipo incluye un cuantificador de vector que codifica el vector de entrada como un índice con respecto a una entrada de vector correspondiente en una tabla o libro de códigos. Como alternativa, un cuantificador de este tipo puede estar configurado para enviar uno o más parámetros a partir de los cuales puede generarse el vector dinámicamente en el decodificador, en lugar de recuperarse del almacenamiento, como en un procedimiento de libro de códigos disperso. Se usa un procedimiento de este tipo en esquemas de codificación tales como CELP algebraica (predicción lineal de excitación por libro de códigos) y códecs tales como 3GPP2 (Asociación de tercera generación 2) EVRC (Códec de tasa variable mejorada). As seen in Figure 6, the narrowband encoder A122 also generates a residual signal by passing the narrowband signal S20 through a bleach filter 260 (also called an analysis or prediction error filter) that is configured according to the set of filter coefficients. In this particular example, bleach filter 260 is implemented as an FIR filter, although IIR implementations can also be used. Normally, this residual signal will contain important information regarding the perception of the speech frame, such as the long-term structure relative to the pitch, which is not represented in the S40 narrow-band filter parameters. The quantifier 270 is configured to calculate a quantified representation of this residual signal for emission as the encoded narrowband excitation signal S50. Typically, such a quantifier includes a vector quantifier that encodes the input vector as an index with respect to a corresponding vector entry in a table or codebook. Alternatively, such a quantifier may be configured to send one or more parameters from which the vector can be generated dynamically in the decoder, instead of being recovered from storage, as in a dispersed codebook procedure. Such a procedure is used in coding schemes such as algebraic CELP (linear excitation prediction by codebook) and codecs such as 3GPP2 (Third Generation Association 2) EVRC (Enhanced Variable Rate Codec).

Es deseable que el codificador A120 de banda estrecha genere la señal de excitación de banda estrecha codificada según los mismos valores de parámetros de filtro que estarán disponibles para el decodificador de banda estrecha correspondiente. De esta manera, la señal de excitación de banda estrecha codificada resultante ya puede representar en cierta medida las no idealidades en los valores de parámetros, tales como el error de cuantificación. Por consiguiente, es deseable configurar el filtro blanqueador usando los mismos valores de coeficiente que estarán disponibles en el decodificador. En el ejemplo básico del codificador A122 tal como se muestra en la figura 6, el cuantificador 240 inverso descuantifica los parámetros S40 de codificación de banda estrecha, la transformada 250 de coeficiente de filtro de LSF a LP correlaciona los valores resultantes de nuevo con un conjunto correspondiente de coeficientes de filtro de LP, y este conjunto de coeficientes se usa para configurar el filtro 260 blanqueador para generar la señal residual que se cuantifica por el cuantificador 270. It is desirable that the narrowband A120 encoder generates the encoded narrowband excitation signal according to the same filter parameter values that will be available for the corresponding narrowband decoder. In this way, the resulting coded narrowband excitation signal can already represent to some extent the non-idealities in the parameter values, such as the quantization error. Therefore, it is desirable to configure the bleach filter using the same coefficient values that will be available in the decoder. In the basic example of encoder A122 as shown in Figure 6, the inverse quantizer 240 decrypts the narrowband coding parameters S40, the filter coefficient transform 250 from LSF to LP correlates the resulting values again with a set corresponding filter coefficients of LP, and this set of coefficients is used to configure bleach filter 260 to generate the residual signal that is quantified by quantifier 270.

Algunas implementaciones del codificador A120 de banda estrecha están configuradas para calcular la señal S50 de excitación de banda estrecha codificada identificando uno entre un conjunto de vectores de libro de códigos que mejor se ajusta a la señal residual. Sin embargo, se observa, que también puede implementarse el codificador A120 de banda estrecha para calcular una representación cuantificada de la señal residual sin generar en realidad la señal residual. Por ejemplo, el codificador A120 de banda estrecha puede estar configurado para usar un número de vectores de libro de códigos para generar señales sintetizadas correspondientes (por ejemplo, según un conjunto real de parámetros de filtro), y para seleccionar el vector de libro de códigos asociado con la señal generada que mejor se ajusta a la señal S20 de banda estrecha original en un dominio ponderado en cuanto a la percepción. Some implementations of the narrowband A120 encoder are configured to calculate the encoded narrowband excitation signal S50 by identifying one among a set of codebook vectors that best fits the residual signal. However, it is noted that the narrowband A120 encoder can also be implemented to calculate a quantified representation of the residual signal without actually generating the residual signal. For example, the narrowband A120 encoder may be configured to use a number of codebook vectors to generate corresponding synthesized signals (eg, according to a real set of filter parameters), and to select the codebook vector associated with the generated signal that best fits the original narrowband signal S20 in a weighted domain in terms of perception.

La figura 7 muestra un diagrama de bloques de una implementación B112 de decodificador B110 de banda estrecha. El cuantificador 310 inverso descuantifica los parámetros S40 de filtro de banda estrecha (en este caso, a un conjunto de LSF), y la transformada 320 de coeficiente de filtro de LP a LSF transforma las LSF en un conjunto de coeficientes de filtro (por ejemplo, tal como se describió anteriormente con referencia al cuantificador 240 inverso y la transformada 250 del codificador A122 de banda estrecha). El cuantificador 340 inverso descuantifica la señal S50 de excitación de banda estrecha codificada para producir una señal S80 de excitación de banda estrecha. Basándose en los coeficientes de filtro y la señal S80 de excitación de banda estrecha, el filtro 330 de síntesis de banda estrecha sintetiza la señal S90 de banda estrecha. En otras palabras, el filtro 330 de síntesis de banda estrecha está configurado para conformar espectralmente la señal S80 de excitación de banda estrecha según los coeficientes de filtro descuantificados para producir la señal S90 de banda estrecha. El decodificador B112 de banda estrecha también proporciona la señal S80 de excitación de banda estrecha al codificador A200 de banda alta, que la usa para derivar la señal S120 de excitación de banda alta tal como se describe en el presente documento. En algunas implementaciones tal como se describe a continuación, puede estar configurado el decodificador B110 de banda estrecha para proporcionar información adicional al decodificador B200 de banda alta que se relaciona con la señal de banda estrecha, tal como inclinación espectral, ganancia y retraso de altura tonal, y modo de habla. Figure 7 shows a block diagram of a B112 implementation of narrowband decoder B110. The inverse quantizer 310 decrypts the narrowband filter parameters S40 (in this case, a set of LSF), and the transform 320 of the filter coefficient from LP to LSF transforms the LSFs into a set of filter coefficients (for example , as described above with reference to reverse quantifier 240 and transform 250 of narrowband encoder A122). Inverse quantizer 340 decodes the encoded narrowband excitation signal S50 to produce a narrowband excitation signal S80. Based on the filter coefficients and the narrowband excitation signal S80, the narrowband synthesis filter 330 synthesizes the narrowband signal S90. In other words, the narrowband synthesis filter 330 is configured to spectrally shape the narrowband excitation signal S80 according to the unquantified filter coefficients to produce the narrowband signal S90. The narrowband decoder B112 also provides the narrowband excitation signal S80 to the highband encoder A200, which uses it to derive the high band excitation signal S120 as described herein. In some implementations as described below, the narrowband decoder B110 may be configured to provide additional information to the highband decoder B200 that relates to the narrowband signal, such as spectral inclination, gain and pitch delay. , and speech mode.

El sistema de codificador A122 de banda estrecha y decodificador B112 de banda estrecha es un ejemplo básico de un códec de habla de análisis por síntesis. La codificación de predicción lineal de excitación de libro de códigos (CELP) es una familia popular de la codificación de análisis por síntesis, y las implementaciones de tales codificadores pueden llevar a cabo la codificación de forma de onda del resto, incluyendo tales operaciones como selección de entradas a partir de libros de códigos adaptativos y fijos, operaciones de minimización de error y/u operaciones de ponderación perceptual. Otras implementaciones de codificación de análisis por síntesis incluyen codificación de predicción lineal de excitación mezclada (MELP), CELP algebraica (ACELP), CELP de relajación (RCELP), excitación de impulso regular (RPE), CELP de impulsos múltiples (MPE), y predicción lineal excitada por suma de vectores (VSELP). Los procedimientos de codificación relacionados incluyen codificación de excitación de bandas múltiples (MBE) e interpolación de forma de onda de prototipo (PWI). Los ejemplos de códecs de habla de análisis por síntesis estandarizados incluyen el códec de tasa completa de GSM (GSM 06.10) del ETSI (Instituto Europeo de Normas de Telecomunicaciones), que usa predicción lineal excitada residual (RELP); el códec de tasa completa mejorada de GSM (ETSI-GSM 06.60); el codificador del anexo E G.729 de 11,8 kb/s de la norma de ITU (Unión Internacional de Telecomunicaciones); los códecs de IS (Norma provisional)-641 para IS-136 (un esquema de acceso múltiple por división de tiempo); los códecs de velocidades múltiples adaptativas de GSM (GSM-AMR); y el códec de 4GV™ (Vocodificador de cuarta generación) (QUALCOMM Incorporated, San Diego, CA). Pueden implementarse el codificador A120 de banda estrecha y el decodificador B110 correspondiente según cualquiera de estas tecnologías, o cualquier otra tecnología de codificación de habla (o bien conocida o bien que vaya a desarrollarse) que representa una señal de habla como (A) un conjunto de parámetros que describe un filtro y (B) una señal de excitación usada para hacer que el filtro descrito reproduzca la señal de habla. The A122 narrowband encoder and B112 narrowband decoder system is a basic example of a speech codec of synthesis analysis. Linear code prediction (CELP) prediction coding is a popular family of synthesis analysis coding, and implementations of such encoders can carry out waveform encoding of the rest, including such operations as selection of entries from adaptive and fixed code books, error minimization operations and / or perceptual weighting operations. Other implementations of synthesis analysis coding include linear mixed excitation prediction (MELP) coding, algebraic CELP (ACELP), relaxation CELP (RCELP), regular pulse excitation (RPE), multiple pulse CELP (MPE), and Linear prediction excited by sum of vectors (VSELP). Related coding procedures include multi-band excitation coding (MBE) and prototype waveform interpolation (PWI). Examples of standardized synthesis analysis speech codecs include the GSM full rate codec (GSM 06.10) of the ETSI (European Telecommunications Standards Institute), which uses residual excited linear prediction (RELP); the enhanced GSM full rate codec (ETSI-GSM 06.60); the encoder of Annex E G.729 of 11.8 kb / s of the ITU (International Telecommunications Union) standard; IS codecs (Provisional Standard) -641 for IS-136 (a time division multiple access scheme); GSM adaptive multi-speed codecs (GSM-AMR); and the 4GV ™ codec (Fourth Generation Vocoder) (QUALCOMM Incorporated, San Diego, CA). The narrowband A120 encoder and the corresponding B110 decoder can be implemented according to any of these technologies, or any other speech coding technology (either known or to be developed) representing a speech signal as (A) a set of parameters describing a filter and (B) an excitation signal used to cause the described filter to reproduce the speech signal.

Incluso después de que el filtro blanqueador ha eliminado la envolvente espectral aproximada de la señal S20 de banda estrecha, puede permanecer una cantidad considerable de estructura armónica fina, especialmente para habla vocalizada. La figura 8a muestra una representación gráfica espectral de un ejemplo de una señal residual, tal como puede producirse mediante un filtro blanqueador, para una señal vocal tal como una vocal. La estructura periódica visible en este ejemplo se refiere a la altura tonal, y diferentes sonidos vocalizados hablados por el mismo orador pueden tener diferentes estructuras formantes pero estructuras de altura tonal similar. La figura 8b muestra una representación gráfica en el dominio del tiempo de un ejemplo de una señal residual de este tipo que muestra una secuencia de impulsos de altura tonal en el tiempo. Even after the bleach filter has removed the approximate spectral envelope of the narrow band signal S20, a considerable amount of fine harmonic structure can remain, especially for vocalized speech. Figure 8a shows a spectral graphic representation of an example of a residual signal, such as can be produced by a bleaching filter, for a vocal signal such as a vowel. The periodic structure visible in this example refers to tonal height, and different vocalized sounds spoken by the same speaker may have different formative structures but similar tonal height structures. Figure 8b shows a graphical representation in the time domain of an example of such a residual signal showing a sequence of tonal height pulses in time.

Puede aumentarse la eficacia de codificación y/o calidad de habla usando uno o más valores de parámetro para codificar características de la estructura de altura tonal. Una característica importante de la estructura de altura tonal es la frecuencia del primer armónico (también denominada la frecuencia fundamental), que normalmente está en el intervalo de 60 Hz a 400 Hz. Normalmente, esta característica se codifica como la inversa de la frecuencia fundamental, también denominada el retraso de altura tonal. El retraso de altura tonal indica el número de muestras en un periodo de altura tonal y puede codificarse como uno o más índices de libro de códigos. Las señales de habla de oradores tienden a tener retrasos de altura tonal más grandes que las señales de habla de oradoras. Encoding efficiency and / or speech quality can be increased by using one or more parameter values to encode characteristics of the pitch structure. An important characteristic of the tonal height structure is the frequency of the first harmonic (also called the fundamental frequency), which is normally in the range of 60 Hz to 400 Hz. Normally, this characteristic is encoded as the inverse of the fundamental frequency, also called the tonal height delay. The tonal height delay indicates the number of samples in a tonal height period and can be encoded as one or more codebook indices. Speaker speech signals tend to have tonal height delays larger than speaker speech signals.

Otra característica de la señal en relación con la estructura de altura tonal es la periodicidad, que indica la fuerza de la estructura armónica o, en otras palabras, el grado en el que la señal es armónica o no armónica. Dos indicadores típicos de periodicidad son cruces por cero y funciones de autocorrelación normalizadas (NACF). También puede indicarse la periodicidad mediante la ganancia de altura tonal, que se codifica comúnmente como una ganancia de libro de códigos (por ejemplo, una ganancia de libro de códigos adaptativa cuantificada). Another characteristic of the signal in relation to the tonal height structure is the periodicity, which indicates the strength of the harmonic structure or, in other words, the degree to which the signal is harmonic or non-harmonic. Two typical periodicity indicators are zero crossings and standard autocorrelation functions (NACF). The periodicity can also be indicated by the pitch gain, which is commonly coded as a codebook gain (for example, a quantized adaptive codebook gain).

El codificador A120 de banda estrecha puede incluir uno o más módulos configurados para codificar la estructura armónica a largo plazo de la señal S20 de banda estrecha. Tal como se muestra en la figura 9, un paradigma de CELP típico que puede usarse incluye un módulo de análisis de LPC de bucle abierto, que codifica las características a corto plazo o la envolvente espectral aproximada, seguido por una etapa de análisis de predicción a largo plazo de bucle cerrado, que codifica la altura tonal fina o estructura armónica. Las características a corto plazo se codifican como coeficientes de filtro, y las características a largo plazo se codifican como valores para parámetros tales como retraso de altura tonal y ganancia de altura tonal. Por ejemplo, el codificador A120 de banda estrecha puede estar configurado para emitir la señal S50 de excitación de banda estrecha codificada en una forma que incluye uno o más índices de libro de códigos (por ejemplo, un índice de libro de código fijo y un índice de libro de código adaptativo) y valores de ganancia correspondientes. El cálculo de esta representación cuantificada de la señal residual de banda estrecha (por ejemplo, por el cuantificador 270) puede incluir seleccionar tales índices y calcular tales valores. La codificación de la estructura de altura tonal también puede incluir la interpolación de una forma de onda de prototipo de altura tonal, cuya operación puede incluir calcular una diferencia entre impulsos de altura tonal sucesivos. El modelado de la estructura a largo plazo puede desactivarse para tramas correspondientes a habla no vocalizada, que normalmente es de tipo ruido y no estructurada. The narrowband A120 encoder may include one or more modules configured to encode the long-term harmonic structure of the narrowband signal S20. As shown in Figure 9, a typical CELP paradigm that can be used includes an open-loop LPC analysis module, which encodes the short-term characteristics or the approximate spectral envelope, followed by a prediction analysis stage. Long term closed loop, which encodes the fine tonal height or harmonic structure. The short-term characteristics are coded as filter coefficients, and the long-term characteristics are coded as values for parameters such as tonal height delay and tonal height gain. For example, the narrowband A120 encoder may be configured to output the encoded narrowband excitation signal S50 in a manner that includes one or more codebook indices (eg, a fixed codebook index and an index of adaptive code book) and corresponding gain values. The calculation of this quantified representation of the narrow-band residual signal (for example, by quantifier 270) may include selecting such indices and calculating such values. The coding of the tonal height structure may also include the interpolation of a prototype tonal height waveform, the operation of which may include calculating a difference between successive tonal height pulses. The long-term structure modeling can be deactivated for frames corresponding to non-vocalized speech, which is normally of the noise and unstructured type.

Una implementación del decodificador B 110 de banda estrecha según un paradigma tal como se muestra en la figura 9 puede estar configurada para emitir la señal S80 de excitación de banda estrecha al decodificador B200 de banda alta tras haberse restaurado la estructura a largo plazo (estructura armónica o de altura tonal). Por ejemplo, un decodificador de este tipo puede estar configurado para emitir la señal S80 de excitación de banda estrecha como una versión descuantificada de la señal S50 de excitación de banda estrecha codificada. Naturalmente, también es posible implementar el decodificador B 110 de banda estrecha de tal manera que el decodificador B200 de banda alta lleva a cabo la descuantificación de la señal S50 de excitación de banda estrecha codificada para obtener la señal S80 de excitación de banda estrecha. An implementation of the narrowband decoder B 110 according to a paradigm as shown in Figure 9 may be configured to output the narrowband excitation signal S80 to the highband decoder B200 after the long-term structure has been restored (harmonic structure or tonal height). For example, such a decoder may be configured to output the narrowband excitation signal S80 as an unquantified version of the encoded narrowband excitation signal S50. Naturally, it is also possible to implement the narrowband decoder B 110 such that the highband decoder B200 performs the quantification of the encoded narrowband excitation signal S50 to obtain the narrowband excitation signal S80.

En una implementación del codificador A100 de habla de banda ancha según un paradigma tal como se muestra en la figura 9, el codificador A200 de banda alta puede estar configurado para recibir la señal de excitación de banda estrecha tal como se produjo mediante el análisis a largo plazo o filtro blanqueador. En otras palabras, el codificador A120 de banda estrecha puede estar configurado para emitir la señal de excitación de banda estrecha al codificador A200 de banda alta antes de la codificación de la estructura a largo plazo. Sin embargo, es deseable, que el codificador A200 de banda alta reciba del canal de banda estrecha la misma información de codificación que recibirá el decodificador B200 de banda alta, de tal manera que los parámetros de codificación producidos por el codificador A200 de banda alta ya pueden representar en cierta medida las no idealidades en esa información. Por tanto, puede ser preferible que el codificador A200 de banda alta reconstruya la señal S80 de excitación de banda estrecha a partir de la misma señal S50 de excitación de banda estrecha codificada cuantificada y/o parametrizada que el codificador A100 de habla de banda ancha va emitirse. Una ventaja potencial de este enfoque es el cálculo más preciso de los factores S60b de ganancia de banda alta que se describen a continuación. In an implementation of the broadband speech A100 encoder according to a paradigm as shown in Figure 9, the high band A200 encoder may be configured to receive the narrowband excitation signal as produced by long analysis. term or bleach filter. In other words, the narrowband A120 encoder may be configured to output the narrowband excitation signal to the highband A200 encoder before encoding the long term structure. However, it is desirable that the high band A200 encoder receives from the narrow band channel the same encoding information that the high band B200 decoder will receive, such that the encoding parameters produced by the high band A200 encoder already they may represent to some extent non-idealities in that information. Therefore, it may be preferable that the high-band encoder A200 reconstructs the narrowband excitation signal S80 from the same encoded narrowband excitation signal S50 quantified and / or parameterized as the broadband speech encoder A100 is be issued A potential advantage of this approach is the more accurate calculation of the high-band gain factors S60b described below.

Además de los parámetros que caracterizan la estructura a corto plazo y/o largo plazo de la señal S20 de banda estrecha, el codificador A120 de banda estrecha puede producir valores de parámetros que se relacionan con otras características de la señal S20 de banda estrecha. Estos valores, que pueden cuantificarse adecuadamente para emitirse mediante el codificador A100 de habla de banda ancha, pueden incluirse entre los parámetros S40 de filtro de banda estrecha o emitirse por separado. El codificador A200 de banda alta también puede estar configurado para calcular parámetros S60 de codificación de banda alta según uno o más de estos parámetros adicionales (por ejemplo, tras la descuantificación). En el decodificador B100 de habla de banda ancha, un decodificador B200 de banda alta puede estar configurado para recibir los valores de parámetro por medio del decodificador B110 de banda estrecha (por ejemplo, tras la descuantificación). Como alternativa, el decodificador B200 de banda alta puede estar configurado para recibir (y posiblemente para descuantificar) los valores de parámetro directamente. In addition to the parameters that characterize the short-term and / or long-term structure of the narrowband S20 signal, the narrowband A120 encoder can produce parameter values that relate to other characteristics of the narrowband S20 signal. These values, which can be suitably quantified to be output by means of the broadband speech A100 encoder, can be included among the narrowband filter parameters S40 or issued separately. The high-band encoder A200 can also be configured to calculate S60 high-band coding parameters according to one or more of these additional parameters (for example, after the quantification). In the B100 broadband speech decoder, a high band B200 decoder can be configured to receive the parameter values by means of the narrowband B110 decoder (for example, after the quantification). Alternatively, the high band B200 decoder can be configured to receive (and possibly to quantify) the parameter values directly.

En un ejemplo de parámetros de codificación de banda estrecha adicionales, el codificador A120 de banda estrecha produce valores para inclinación espectral y parámetros de modo de habla para cada trama. La inclinación espectral se refiere a la forma de la envolvente espectral sobre la banda de paso y se representa normalmente por el primer coeficiente de reflexión cuantificado. Para la mayoría de los sonidos vocalizados, la energía espectral disminuye con la frecuencia de aumento, de tal manera que el primer coeficiente de reflexión es negativo y puede aproximarse a -1. La mayoría de los sonidos no vocalizados tienen un espectro que es plano, de tal manera que el primer coeficiente de reflexión se aproxima a cero, In an example of additional narrowband coding parameters, the narrowband A120 encoder produces values for spectral inclination and speech mode parameters for each frame. Spectral inclination refers to the shape of the spectral envelope on the pass band and is usually represented by the first quantified reflection coefficient. For most vocalized sounds, the spectral energy decreases with increasing frequency, such that the first reflection coefficient is negative and can approach -1. Most non-vocalized sounds have a spectrum that is flat, so that the first reflection coefficient approaches zero,

o bien tiene más energía en frecuencias altas, de tal manera que el primer coeficiente de reflexión es positivo y puede aproximarse a +1. or it has more energy at high frequencies, so that the first reflection coefficient is positive and can approach +1.

El modo de habla (también denominado modo de vocalización) indica si la trama real representa habla vocalizada o no vocalizada. Este parámetro puede tener un valor binario basándose en una o más medidas de periodicidad (por ejemplo, cruces por cero, NACF, ganancia de altura tonal) y/o actividad de voz para la trama, tal como una relación entre una medida de este tipo y un valor umbral. En otras implementaciones, el parámetro de modo de habla tiene uno o más estados adicionales para indicar modos tales como silencio o ruido de fondo, o una transición entre silencio y habla vocalizada. The speech mode (also called vocalization mode) indicates whether the actual plot represents vocalized or non-vocalized speech. This parameter may have a binary value based on one or more periodicity measurements (for example, zero crossings, NACF, pitch gain) and / or voice activity for the frame, such as a relationship between such a measure. and a threshold value. In other implementations, the speech mode parameter has one or more additional states to indicate modes such as silence or background noise, or a transition between silence and vocalized speech.

El codificador A200 de banda alta está configurado para codificar la señal de S30 banda alta según un modelo de filtro de fuente, con la excitación para este filtro que se basa en la señal de excitación de banda estrecha codificada. La figura 10 muestra un diagrama de bloques de una implementación A202 del codificador A200 de banda alta que está configurado para producir una corriente de parámetros S60 de codificación de banda alta incluyendo parámetros S60a de filtro de banda alta y factores S60b de ganancia de banda alta. El generador A300 de excitación de banda alta deriva una señal S120 de excitación de banda alta de la señal S50 de excitación de banda estrecha codificada. El módulo A210 de análisis produce un conjunto de valores de parámetro que caracterizan la envolvente espectral de la señal S30 de banda alta. En este ejemplo particular, el módulo A210 de análisis está configurado para llevar a cabo el análisis de LPC para producir un conjunto de coeficientes de filtro de LP para cada trama de señal S30 de banda alta. La transformada 410 de coeficiente de filtro de predicción lineal a LSF transforma el conjunto de coeficientes de filtro de LP en un conjunto correspondiente de las LSF. Tal como se observó anteriormente con referencia al módulo 210 de análisis y la transformada 220, el módulo A210 de análisis y/o la transformada 410 pueden estar configurados para usar otros conjuntos de coeficientes (por ejemplo, coeficientes cepstrales) y/o representaciones de coeficientes (por ejemplo, ISP). The high band A200 encoder is configured to encode the high band S30 signal according to a source filter model, with the excitation for this filter based on the encoded narrow band excitation signal. Figure 10 shows a block diagram of an implementation A202 of the high band A200 encoder that is configured to produce a stream of high band coding parameters S60 including high band filter parameters S60a and high band gain factors S60b. The high-band excitation generator A300 derives a high-band excitation signal S120 from the encoded narrow-band excitation signal S50. The analysis module A210 produces a set of parameter values that characterize the spectral envelope of the high band signal S30. In this particular example, the analysis module A210 is configured to perform the LPC analysis to produce a set of LP filter coefficients for each high-band signal frame S30. Transform 410 of linear prediction filter coefficient to LSF transforms the set of LP filter coefficients into a corresponding set of LSFs. As noted above with reference to the analysis module 210 and the transform 220, the analysis module A210 and / or the transform 410 may be configured to use other sets of coefficients (eg, cepstral coefficients) and / or coefficient representations (for example, ISP).

El cuantificador 420 está configurado para cuantificar el conjunto de las LSF de banda alta (u otra representación de coeficiente, tal como las ISP), y el codificador A202 de banda alta está configurado para emitir el resultado de esta cuantificación como los parámetros S60a de filtro de banda alta. Normalmente, un cuantificador de este tipo incluye un cuantificador de vector que codifica el vector de entrada como un índice con respecto a una entrada de vector correspondiente en una tabla o libro de códigos. Quantifier 420 is configured to quantify the set of high band LSFs (or other coefficient representation, such as ISPs), and high band A202 encoder is configured to output the result of this quantification as filter parameters S60a high band Typically, such a quantifier includes a vector quantifier that encodes the input vector as an index with respect to a corresponding vector entry in a table or codebook.

El codificador A202 de banda alta también incluye un filtro A220 de síntesis configurado para producir una señal S130 de banda alta sintetizada según la señal S120 de excitación de banda alta y la envolvente espectral codificada (por ejemplo, el conjunto de coeficientes de filtro de LP) producidas por el módulo A210 de análisis. Normalmente, el filtro A220 de síntesis se implementa como un filtro de IIR, aunque también pueden usarse implementaciones de FIR. En un ejemplo particular, se implementa el filtro A220 de síntesis como un filtro autorregresivo lineal de sexto orden. The high band encoder A202 also includes a synthesis filter A220 configured to produce a synthesized high band signal S130 according to the high band excitation signal S120 and the encoded spectral envelope (e.g., the set of LP filter coefficients) produced by the A210 analysis module. Typically, the A220 synthesis filter is implemented as an IIR filter, although FIR implementations can also be used. In a particular example, the synthesis A220 filter is implemented as a sixth order linear autoregressive filter.

El calculador A230 del factor de ganancia de banda alta calcula una o más diferencias entre los niveles de la señal S30 de banda alta original y la señal S130 de banda alta sintetizada para especificar una envolvente de ganancia para la trama. El cuantificador 430, que puede implementarse como un cuantificador de vector que codifica el vector de entrada como un índice con respecto a una entrada de vector correspondiente en una tabla o libro de códigos, cuantifica el valor o los valores que especifican la envolvente de ganancia, y el codificador A202 de banda alta está configurado para emitir el resultado de esta cuantificación como factores S60b de ganancia de banda alta. The A230 high band gain factor calculator calculates one or more differences between the levels of the original high band S30 signal and the synthesized high band S130 signal to specify a gain envelope for the frame. Quantifier 430, which can be implemented as a vector quantifier that encodes the input vector as an index with respect to a corresponding vector entry in a table or codebook, quantifies the value or values that specify the gain envelope, and the high band A202 encoder is configured to output the result of this quantification as high band gain factors S60b.

En una implementación tal como se muestra en la figura 10, se dispone el filtro A220 de síntesis para recibir los coeficientes de filtro a partir del módulo A210 de análisis. Una implementación alternativa del codificador A202 de banda alta incluye un cuantificador inverso y una transformada inversa configurados para decodificar los coeficientes de filtro de parámetros S60a de filtro de banda alta, y en este caso se dispone el filtro A220 de síntesis para recibir, en cambio, los coeficientes de filtro decodificados. Una disposición alternativa de este tipo puede soportar un cálculo más preciso de la envolvente de ganancia por el calculador A230 de ganancia de banda alta. In an implementation as shown in Figure 10, the synthesis filter A220 is arranged to receive the filter coefficients from the analysis module A210. An alternative implementation of the high band A202 encoder includes a reverse quantizer and a reverse transform configured to decode the high band filter parameter S60a filter coefficients, and in this case the synthesis A220 filter is arranged to receive, instead, decoded filter coefficients. An alternative arrangement of this type can support a more accurate calculation of the gain envelope by the A230 high band gain calculator.

En un ejemplo particular, el módulo A210 de análisis y el calculador A230 de ganancia de banda alta emiten un conjunto de seis LSF y un conjunto de cinco valores de ganancia por trama, respectivamente, de tal manera que puede lograrse una extensión de banda ancha de la señal S20 de banda estrecha con sólo once valores adicionales por trama. El oído tiende a ser menos sensible a errores de frecuencia en frecuencias altas, de tal manera que la codificación de banda alta en un orden de LPC bajo puede producir una señal que tiene una calidad de percepción comparable con respecto a codificación de banda estrecha en un orden de LPC más alto. Una implementación típica de codificador A200 de banda alta puede estar configurada para emitir de 8 bits a 12 bits por trama para la reconstrucción de alta calidad de la envolvente espectral y otros 8 a 12 bits por trama para la reconstrucción de alta calidad de la envolvente temporal. En otro ejemplo particular, el módulo A210 de análisis emite un conjunto de ocho LSF por trama. In a particular example, the analysis module A210 and the high-band gain A230 calculator emit a set of six LSFs and a set of five gain values per frame, respectively, such that a broadband extension of the narrow band signal S20 with only eleven additional values per frame. The ear tends to be less sensitive to frequency errors at high frequencies, such that high band coding in a low LPC order can produce a signal that has comparable perception quality with respect to narrow band coding in a LPC order higher. A typical high-band A200 encoder implementation may be configured to output from 8 bits to 12 bits per frame for high quality reconstruction of the spectral envelope and another 8 to 12 bits per frame for high quality reconstruction of the time envelope . In another particular example, the analysis module A210 emits a set of eight LSFs per frame.

Algunas implementaciones del codificador A200 de banda alta están configuradas para producir la señal S120 de excitación de banda alta generando una señal de ruido aleatoria que tiene componentes de frecuencia de banda alta y modulando en amplitud la señal de ruido según la envolvente de dominio del tiempo de la señal S20 de banda estrecha, la señal S80 de excitación de banda estrecha o la señal S30 de banda alta. Aunque un procedimiento a base de ruido de este tipo puede producir resultados adecuados para sonidos no vocalizados, sin embargo, puede ser no deseable para sonidos vocalizados, cuyos restos son habitualmente armónicos y por consiguiente tienen alguna estructura periódica. Some implementations of the high band A200 encoder are configured to produce the high band excitation signal S120 by generating a random noise signal having high band frequency components and amplitude modulating the noise signal according to the time domain envelope of the narrow band signal S20, the narrow band excitation signal S80 or the high band signal S30. Although such a noise-based procedure may produce adequate results for non-vocalized sounds, however, it may be undesirable for vocalized sounds, whose remains are usually harmonic and therefore have some periodic structure.

El generador A300 de excitación de banda alta está configurado para generar la señal S120 de excitación de banda alta extendiendo el espectro de la señal S80 de excitación de banda alta en el intervalo de frecuencia de banda alta. La figura 11 muestra un diagrama de bloques de una implementación A302 del generador A300 de excitación de banda alta. El cuantificador 450 inverso está configurado para descuantificar la señal S50 de excitación de banda estrecha codificada para producir la señal S80 de excitación de banda estrecha. El extensor A400 de espectro está configurado para producir una señal S160 extendida armónicamente basándose en la señal S80 de excitación de banda estrecha. El combinador 470 está configurado para combinar una señal de ruido aleatoria generada por el generador 480 de ruido y una envolvente de dominio del tiempo calculada por el calculador 460 de la envolvente para producir una señal S170 de ruido modulado. El combinador 490 está configurado para mezclar la señal S160 extendida armónicamente y la señal S170 de ruido modulado para producir la señal S120 de excitación de banda alta. The high band excitation A300 generator is configured to generate the high band excitation signal S120 by extending the spectrum of the high band excitation signal S80 in the high band frequency range. Figure 11 shows a block diagram of an A302 implementation of the A300 high band excitation generator. The reverse quantizer 450 is configured to decrypt the encoded narrowband excitation signal S50 to produce the narrowband excitation signal S80. The spectrum extender A400 is configured to produce a harmonically extended S160 signal based on the narrowband excitation signal S80. The combiner 470 is configured to combine a random noise signal generated by the noise generator 480 and a time domain envelope calculated by the envelope calculator 460 to produce a modulated noise signal S170. The combiner 490 is configured to mix the harmonically extended signal S160 and the modulated noise signal S170 to produce the high band excitation signal S120.

En un ejemplo, el extensor A400 de espectro está configurado para llevar a cabo una operación de plegado espectral (también denominada reflejo) en la señal S80 de excitación de banda estrecha para producir la señal S160 extendida armónicamente. Puede llevarse a cabo el plegado espectral rellenando con ceros la señal S80 de excitación y después aplicando un filtro de paso alto para conservar el solapamiento. En otro ejemplo, el extensor A400 de espectro está configurado para producir la señal S160 extendida armónicamente trasladando espectralmente la señal S80 de excitación de banda estrecha hacia la banda alta (por ejemplo, por medio de sobremuestreo seguido por multiplicación por una señal de coseno de frecuencia constante). In one example, the spectrum extender A400 is configured to perform a spectral folding operation (also called reflection) on the narrowband excitation signal S80 to produce the harmonically extended signal S160. Spectral folding can be carried out by filling the excitation signal S80 with zeros and then applying a high-pass filter to preserve the overlap. In another example, the spectrum extender A400 is configured to produce the harmonically extended signal S160 by spectrally moving the narrowband excitation signal S80 towards the high band (for example, by oversampling followed by multiplication by a frequency cosine signal constant).

Los procedimientos de traslación y plegado espectral pueden producir señales extendidas espectralmente cuya estructura armónica es discontinua con la estructura armónica original de la señal S80 de excitación de banda estrecha en fase y/o frecuencia. Por ejemplo, tales procedimientos pueden producir señales que tienen picos que no están ubicados generalmente en múltiplos de la frecuencia fundamental, lo que puede provocar artefactos con sonido metálico en la señal de habla reconstruida. Estos procedimientos también tienden a producir armónicos de alta frecuencia que tienen características tonales fuertes de manera no natural. Además, debido a que una señal de PSTN puede muestrearse a 8 kHz pero limitarse en banda a no más de 3400 Hz, el espectro superior de la señal S80 de excitación de banda estrecha puede contener poco o nada de energía, de tal manera que una señal extendida generada según una operación de plegado espectral o traslación espectral puede tener un agujero espectral por encima de 3400 Hz. Spectral folding and translation procedures can produce spectrally extended signals whose harmonic structure is discontinuous with the original harmonic structure of the narrow band excitation signal S80 in phase and / or frequency. For example, such procedures can produce signals that have peaks that are not generally located in multiples of the fundamental frequency, which can cause artifacts with metallic sound in the reconstructed speech signal. These procedures also tend to produce high frequency harmonics that have strong tonal characteristics unnaturally. In addition, because a PSTN signal can be sampled at 8 kHz but limited in band to no more than 3400 Hz, the upper spectrum of the narrowband excitation signal S80 may contain little or no energy, such that a Extended signal generated according to a spectral folding or spectral translation operation may have a spectral hole above 3400 Hz.

Otros procedimientos de generación de la señal S160 extendida armónicamente incluyen identificar una o más frecuencias fundamentales de la señal S80 de excitación de banda estrecha y generar tonos armónicos según esa información. Por ejemplo, la estructura armónica de una señal de excitación puede caracterizarse por la frecuencia fundamental junto con información de amplitud y de fase. Otra implementación del generador A300 de excitación de banda alta genera una señal S160 extendida armónicamente basándose en la frecuencia y la amplitud fundamental (tal como se indica, por ejemplo, por el retraso de altura tonal y la ganancia de altura tonal). Sin embargo, a menos que la señal extendida armónicamente sea coherente en fase con la señal S80 de excitación de banda estrecha, la calidad del habla decodificada resultante puede no ser aceptable. Other procedures for generating the harmonically extended S160 signal include identifying one or more fundamental frequencies of the narrowband excitation signal S80 and generating harmonic tones according to that information. For example, the harmonic structure of an excitation signal can be characterized by the fundamental frequency together with amplitude and phase information. Another implementation of the high-band excitation A300 generator generates a harmonically extended S160 signal based on the fundamental frequency and amplitude (as indicated, for example, by the pitch pitch delay and the pitch gain). However, unless the harmonically extended signal is phase consistent with the narrowband excitation signal S80, the resulting decoded speech quality may not be acceptable.

Puede usarse una función no lineal para crear una señal de excitación de banda alta que es coherente en fase con la excitación de banda estrecha y preserva la estructura armónica sin discontinuidad de fase. Una función no lineal también puede proporcionar un nivel de ruido aumentado entre armónicos de alta frecuencia, que tiende a sonar más natural que los armónicos de alta frecuencia tonal producidos mediante procedimientos tales como plegado espectral y traslación espectral. Las funciones no lineales sin memoria típicas que pueden aplicarse por diversas implementaciones del extensor A400 de espectro incluyen la función de valor absoluto (también denominada rectificación de onda completa), rectificación de onda media, elevación al cuadrado, elevación al cubo y recorte. Otras implementaciones del extensor A400 de espectro pueden estar configuradas para aplicar una función no lineal que tiene memoria. A nonlinear function can be used to create a high band excitation signal that is phase consistent with narrow band excitation and preserves the harmonic structure without phase discontinuity. A nonlinear function can also provide an increased noise level between high frequency harmonics, which tends to sound more natural than high frequency tonal harmonics produced by procedures such as spectral folding and spectral translation. Typical nonlinear functions without memory that can be applied by various implementations of the A400 spectrum extender include the absolute value function (also called full wave rectification), medium wave rectification, square elevation, cube elevation and clipping. Other implementations of the A400 spectrum extender may be configured to apply a nonlinear function that has memory.

La figura 12 es un diagrama de bloques de una implementación A402 del extensor A400 de espectro que está configurado para aplicar una función no lineal para extender el espectro de la señal S80 de excitación de banda estrecha. El sobremuestreador 510 está configurado para sobremuestrear la señal S80 de excitación de banda estrecha. Puede ser deseable sobremuestrear la señal lo suficiente para minimizar el solapamiento tras la aplicación de la función no lineal. En un ejemplo particular, el sobremuestreador 510 sobremuestrea la señal en un factor de ocho. El sobremuestreador 510 puede estar configurado para llevar a cabo la operación de sobremuestreo rellenando con ceros la señal de entrada y filtrando paso bajo el resultado. El calculador 520 de función no lineal está configurado para aplicar una función no lineal a la señal sobremuestreada. Una ventaja potencial de la función de valor absoluto con respecto a otras funciones no lineales para extensión espectral, tal como elevación al cuadrado, es que no se necesita la normalización de energía. En algunas implementaciones, puede aplicarse eficazmente la función de valor absoluto eliminando o quitando el bit de signo de cada muestra. El calculador 520 de función no lineal también puede estar configurado para llevar a cabo un alineamiento de amplitud de la señal extendida espectralmente o sobremuestreada. Figure 12 is a block diagram of an implementation A402 of the spectrum extender A400 that is configured to apply a non-linear function to extend the spectrum of the narrowband excitation signal S80. The oversampler 510 is configured to oversample the narrowband excitation signal S80. It may be desirable to oversample the signal sufficiently to minimize overlap after application of the nonlinear function. In a particular example, oversampler 510 oversamples the signal by a factor of eight. The oversampler 510 may be configured to carry out the oversampling operation by zeroing the input signal and filtering step under the result. The nonlinear function calculator 520 is configured to apply a nonlinear function to the oversampled signal. A potential advantage of the absolute value function over other nonlinear functions for spectral extension, such as squared elevation, is that energy normalization is not required. In some implementations, the absolute value function can be effectively applied by removing or removing the sign bit of each sample. The nonlinear function calculator 520 may also be configured to perform an amplitude alignment of the spectrally extended or oversampled signal.

El submuestreador 530 está configurado para submuestrear el resultado extendido espectralmente de la aplicación de la función no lineal. Puede ser deseable que el submuestreador 530 lleve a cabo una operación de filtrado de paso de banda para seleccionar una banda de frecuencia deseada de la señal extendida espectralmente antes de reducir la tasa de muestreo (por ejemplo, para reducir o evitar el solapamiento o la corrupción por una imagen no deseada). También puede ser deseable que el submuestreador 530 reduzca la tasa de muestreo en más de una etapa. Subsampler 530 is configured to subsample the spectrally extended result of the application of the nonlinear function. It may be desirable for subsampler 530 to perform a bandpass filtering operation to select a desired frequency band of the spectrally extended signal before reducing the sampling rate (for example, to reduce or avoid overlapping or corruption for an unwanted image). It may also be desirable for subsampler 530 to reduce the sampling rate in more than one stage.

La figura 12a es un diagrama que muestra los espectros de señal en diversos puntos en un ejemplo de una operación de extensión espectral, donde la escala de frecuencia es la misma en las diversas representaciones gráficas. La representación gráfica (a) muestra el espectro de un ejemplo de la señal S80 de excitación de banda estrecha. La representación gráfica (b) muestra el espectro tras haberse sobremuestreado la señal S80 en un factor de ocho. La representación gráfica (c) muestra un ejemplo del espectro extendido tras la aplicación de una función no lineal. La representación gráfica (d) muestra el espectro tras el filtrado paso bajo. En este ejemplo, la banda de paso se extiende hasta el límite de frecuencia superior de la señal S30 de banda alta (por ejemplo, 7 kHz u 8 kHz). Figure 12a is a diagram showing the signal spectra at various points in an example of a spectral extension operation, where the frequency scale is the same in the various graphical representations. The graphic representation (a) shows the spectrum of an example of the narrowband excitation signal S80. The graphic representation (b) shows the spectrum after the S80 signal has been oversampled by a factor of eight. The graphic representation (c) shows an example of the extended spectrum after the application of a nonlinear function. The graphic representation (d) shows the spectrum after low pass filtering. In this example, the pass band extends to the upper frequency limit of the high band signal S30 (for example, 7 kHz or 8 kHz).

La representación gráfica (e) muestra el espectro tras una primera etapa de submuestreo, en el que la tasa de muestreo se reduce en un factor de cuatro para obtener una señal de banda ancha. La representación gráfica (f) muestra el espectro tras una operación de filtrado paso alto para seleccionar la parte de banda alta de la señal extendida, y la representación gráfica (g) muestra el espectro tras una segunda etapa de submuestreo, en la que la tasa de muestreo se reduce en un factor de dos. En un ejemplo particular, el submuestreador 530 lleva a cabo el filtrado de paso alto y la segunda etapa de submuestreo haciendo pasar la señal de banda ancha a través del filtro 130 de paso alto y el submuestreador 140 del banco A112 de filtros (u otras estructuras o rutinas que tienen la misma respuesta) para producir una señal extendida espectralmente que tiene el intervalo de frecuencia y la tasa de muestreo de la señal S30 de banda alta. The graphical representation (e) shows the spectrum after a first subsampling stage, in which the sampling rate is reduced by a factor of four to obtain a broadband signal. The graphic representation (f) shows the spectrum after a high-pass filtering operation to select the high band part of the extended signal, and the graphic representation (g) shows the spectrum after a second subsampling stage, in which the rate Sampling is reduced by a factor of two. In a particular example, subsampler 530 performs high pass filtering and second subsampling stage by passing the broadband signal through high pass filter 130 and subsampler 140 of filter bank A112 (or other structures). or routines that have the same response) to produce a spectrally extended signal that has the frequency range and sampling rate of the high band signal S30.

Tal como puede observarse en la representación gráfica (g), el submuestreo de la señal As can be seen in the graphic representation (g), the subsampling of the signal

de paso alto mostrada en la representación gráfica (f) provoca una inversión de su espectro. En este ejemplo, también está configurado el submuestreador 530 para llevar a cabo una operación de cambio espectral en la señal. La representación gráfica (h) muestra un resultado de la aplicación de la operación de cambio espectral, que puede llevarse a cabo multiplicando la señal por la función ejnπ o la secuencia (-1)n, cuyos valores alternan entre +1 y -1. Una operación de este tipo es equivalente a desplazar el espectro digital de la señal en el dominio de la frecuencia en una distancia de π. Se observa que el mismo resultado también puede obtenerse aplicando las operaciones de submuestreo y cambio espectral en un orden diferente. También pueden configurarse las operaciones de sobremuestreo y/o submuestreo para incluir un nuevo muestreo para obtener una señal extendida espectralmente que tiene la tasa de muestreo de la señal S30 de banda alta (por ejemplo, 7 kHz). The high-pass shown in the graphic representation (f) causes an inversion of its spectrum. In this example, subsampler 530 is also configured to perform a spectral change operation on the signal. The graphical representation (h) shows a result of the application of the spectral change operation, which can be carried out by multiplying the signal by the ejnπ function or the sequence (-1) n, whose values alternate between +1 and -1. Such an operation is equivalent to displacing the digital spectrum of the signal in the frequency domain by a distance of π. It is noted that the same result can also be obtained by applying the subsampling and spectral change operations in a different order. The oversampling and / or subsampling operations can also be configured to include a new sampling to obtain a spectrally extended signal having the sampling rate of the high band S30 signal (eg, 7 kHz).

Tal como se observó anteriormente, pueden implementarse bancos A110 y B120 de filtros de tal manera que una o ambas de las señales S20, S30 de banda estrecha y banda alta tengan una forma invertida espectralmente a la salida del banco A110 de filtros, se codifiquen y decodifiquen en la forma invertida espectralmente, y se inviertan espectralmente de nuevo en el banco B120 de filtros antes de que se emitan en la señal S110 de habla de banda ancha. Por supuesto, en tal caso, una operación de cambio espectral tal como se muestra en la figura 12a no será necesaria, puesto que también será deseable que la señal S120 de excitación de banda alta tenga una forma invertida espectralmente. As noted above, filter banks A110 and B120 can be implemented in such a way that one or both of the narrow band and high band signals S20, S30 have a spectrally inverted shape at the output of the filter bank A110, are encoded and decode in the spectrally inverted form, and are spectrally reversed again in the filter bank B120 before they are emitted in the broadband speech signal S110. Of course, in such a case, a spectral change operation as shown in Figure 12a will not be necessary, since it will also be desirable that the high band excitation signal S120 has a spectrally inverted shape.

Pueden configurarse y disponerse las diversas tareas de sobremuestreo y submuestreo de una operación de extensión espectral tal como lleva a cabo el extensor A402 de espectro de muchas maneras diferentes. Por ejemplo, la figura 12b es un diagrama que muestra los espectros de señal en diversos puntos en otro ejemplo de una operación de extensión espectral, donde la escala de frecuencia es la misma en las diversas representaciones gráficas. La representación gráfica (a) muestra el espectro de un ejemplo de la señal S80 de excitación de banda estrecha. La representación gráfica (b) muestra el espectro tras haberse sobremuestreado la señal S80 en un factor de dos. La representación gráfica (c) muestra un ejemplo del espectro extendido tras la aplicación de una función no lineal. En este caso, se acepta el solapamiento que puede producirse en las frecuencias superiores. The various oversampling and subsampling tasks of a spectral extension operation such as the spectrum extender A402 can be configured and arranged in many different ways. For example, Figure 12b is a diagram showing the signal spectra at various points in another example of a spectral extension operation, where the frequency scale is the same in the various graphical representations. The graphic representation (a) shows the spectrum of an example of the narrowband excitation signal S80. The graphical representation (b) shows the spectrum after the S80 signal has been oversampled by a factor of two. The graphic representation (c) shows an example of the extended spectrum after the application of a nonlinear function. In this case, the overlap that may occur at higher frequencies is accepted.

La representación gráfica (d) muestra el espectro tras una operación de inversión espectral. La representación gráfica (e) muestra el espectro tras una única etapa de submuestreo, en la que la tasa de muestreo se reduce en un factor de dos para obtener la señal extendida espectralmente deseada. En este ejemplo, la señal está en forma invertida espectralmente y puede usarse en una implementación del codificador A200 de banda alta que procesa la señal S30 de banda alta en una forma de este tipo. The graphic representation (d) shows the spectrum after a spectral inversion operation. The graphical representation (e) shows the spectrum after a single subsampling stage, in which the sampling rate is reduced by a factor of two to obtain the spectrally desired extended signal. In this example, the signal is spectrally inverted and can be used in an implementation of the high-band encoder A200 that processes the high-band signal S30 in such a form.

La señal extendida espectralmente producida por el calculador 520 de función no lineal es probable que tenga una caída pronunciada en amplitud a medida que aumenta la frecuencia. El extensor A402 espectral incluye un aplanador 540 espectral configurado para llevar a cabo una operación de blanqueo en la señal submuestreada. El aplanador 540 espectral puede estar configurado para llevar a cabo una operación de blanqueo fijo o para llevar a cabo una operación de blanqueo adaptativo. En un ejemplo particular de blanqueo adaptativo, el aplanador 540 espectral incluye un módulo de análisis de LPC configurado para calcular un conjunto de cuatro coeficientes de filtro de la señal submuestreada y un filtro de análisis de cuarto orden configurado para blanquear la señal según esos coeficientes. Otras implementaciones del extensor A400 de espectro incluyen configuraciones en las que el aplanador 540 espectral opera en la señal extendida espectralmente antes del submuestreador The spectrally extended signal produced by the nonlinear function calculator 520 is likely to have a pronounced drop in amplitude as the frequency increases. Spectral extender A402 includes a spectral flattener 540 configured to perform a bleaching operation on the subsampled signal. The spectral flattener 540 may be configured to perform a fixed bleaching operation or to perform an adaptive bleaching operation. In a particular example of adaptive bleaching, the spectral flattener 540 includes an LPC analysis module configured to calculate a set of four filter coefficients of the subsampled signal and a fourth order analysis filter configured to bleach the signal according to those coefficients. Other implementations of the spectrum extender A400 include configurations in which the spectral flattener 540 operates on the spectrally extended signal before the subsampler

530. 530

Puede implementarse el generador A300 de excitación de banda alta para emitir la señal S160 extendida armónicamente como señal S120 de excitación de banda alta. Sin embargo, en algunos casos, el uso de sólo una señal extendida armónicamente como la excitación de banda alta puede dar como resultado artefactos audibles. La estructura armónica del habla generalmente es menos pronunciada en la banda alta que en la banda baja, y el uso de demasiada estructura armónica en la señal de excitación de banda alta puede dar como resultado un sonido de zumbido. Este artefacto puede ser especialmente perceptible en señales de habla de oradoras. The high band excitation A300 generator can be implemented to output the harmonically extended S160 signal as a high band excitation signal S120. However, in some cases, the use of only a harmonically extended signal such as high band excitation can result in audible artifacts. The harmonic structure of speech is generally less pronounced in the high band than in the low band, and the use of too much harmonic structure in the high band excitation signal can result in a buzzing sound. This artifact can be especially noticeable in speaker speech signals.

Las realizaciones incluyen implementaciones del generador A300 de excitación de banda alta que están configuradas para mezclar la señal S160 extendida armónicamente con una señal de ruido. Tal como se muestra en la figura 11, el generador A302 de excitación de banda alta incluye un generador 480 de ruido que está configurado para producir una señal de ruido aleatoria. En un ejemplo, el generador 480 de ruido está configurado para producir una señal de ruido pseudoaleatoria blanca de varianza unitaria, aunque en otras implementaciones la señal de ruido no necesita ser blanca y puede tener una densidad de potencia que varía con la frecuencia. Puede ser deseable que el generador 480 de ruido esté configurado para emitir la señal de ruido como una función determinística de tal manera que pueda duplicarse su estado en el decodificador. Por ejemplo, el generador 480 de ruido puede estar configurado para emitir la señal de ruido como una función determinística de información codificada previamente dentro de la misma trama, tal como los parámetros S40 de filtro de banda estrecha y/o la señal S50 de excitación de banda estrecha codificada. Embodiments include implementations of the high-band excitation A300 generator that are configured to mix the harmonically extended S160 signal with a noise signal. As shown in Figure 11, the high band excitation generator A302 includes a noise generator 480 that is configured to produce a random noise signal. In one example, the noise generator 480 is configured to produce a white pseudo-random noise signal of unit variance, although in other implementations the noise signal does not need to be white and may have a power density that varies with frequency. It may be desirable that the noise generator 480 is configured to emit the noise signal as a deterministic function such that its state in the decoder can be doubled. For example, the noise generator 480 may be configured to emit the noise signal as a deterministic function of previously encoded information within the same frame, such as the narrowband filter parameters S40 and / or the excitation signal S50 of narrow band coded.

Antes de mezclarse con la señal S160 extendida armónicamente, la señal de ruido aleatoria producida por el generador 480 de ruido puede modularse en amplitud para que tenga una envolvente en el dominio del tiempo que se aproxime a la distribución de la energía en el tiempo de la señal S20 de banda estrecha, señal S30 de banda alta, señal S80 de excitación de banda estrecha o señal S160 extendida armónicamente. Tal como se muestra en la figura 11, el generador A302 de excitación de banda alta incluye un combinador 470 configurado para modular en amplitud la señal de ruido producida por el generador 480 de ruido según una envolvente en el dominio del tiempo calculada por el calculador 460 de envolvente. Por ejemplo, puede implementarse el combinador 470 como un multiplicador dispuesto para ampliar a escala la salida del generador 480 de ruido según la envolvente en el dominio del tiempo calculada por el calculador 460 de envolvente para producir la señal S170 de ruido modulado. Before mixing with the harmonically extended signal S160, the random noise signal produced by the noise generator 480 may be amplitude modulated so that it has an envelope in the time domain that approximates the distribution of energy over time. S20 narrow band signal, S30 high band signal, S80 narrow band excitation signal or S160 signal harmonically extended. As shown in Figure 11, the high-band excitation generator A302 includes a combiner 470 configured to amplitude modulate the noise signal produced by the noise generator 480 according to an envelope in the time domain calculated by the calculator 460 of envelope. For example, the combiner 470 can be implemented as a multiplier arranged to scale the output of the noise generator 480 according to the envelope in the time domain calculated by the envelope calculator 460 to produce the modulated noise signal S170.

En una implementación A304 de generador A302 de excitación de banda alta, tal como se muestra en el diagrama de bloques de la figura 13, se dispone el calculador 460 de envolvente para calcular la envolvente de la señal S160 extendida armónicamente. En una implementación A306 del generador A302 de excitación de banda alta, tal como se muestra en el diagrama de bloques de la figura 14, se dispone el calculador 460 de envolvente para calcular la envolvente de la señal S80 de excitación de banda estrecha. Pueden configurarse de otro modo otras implementaciones del generador A302 de excitación de banda alta para añadir ruido a la señal S160 extendida armónicamente según las ubicaciones de los impulsos de altura tonal de banda estrecha en el tiempo. In an implementation A304 of high-band excitation generator A302, as shown in the block diagram of Figure 13, envelope calculator 460 is arranged to calculate the envelope of the harmonically extended signal S160. In an implementation A306 of the high-band excitation generator A302, as shown in the block diagram of Figure 14, the envelope calculator 460 is arranged to calculate the envelope of the narrow-band excitation signal S80. Other implementations of the high-band excitation generator A302 can be configured in another way to add noise to the S160 signal harmonically extended according to the locations of the narrow-pitch tonal height pulses over time.

El calculador 460 de envolvente puede estar configurado para llevar a cabo un cálculo de envolvente como una tarea que incluye una serie de subtareas. La figura 15 muestra un diagrama de flujo de un ejemplo T100 de una tarea de este tipo. La subtarea T110 calcula el cuadrado de cada muestra de la trama de la señal cuya envolvente debe modelarse (por ejemplo, la señal S80 de excitación de banda estrecha o la señal S160 extendida armónicamente) para producir una secuencia de valores al cuadrado. La subtarea T120 lleva a cabo una operación de suavizado en la secuencia de valores al cuadrado. En un ejemplo, la subtarea T120 aplica un filtro de paso bajo IIR de primer orden a la secuencia según la expresión The envelope calculator 460 can be configured to perform an envelope calculation as a task that includes a series of subtasks. Figure 15 shows a flow chart of an example T100 of such a task. Subtask T110 calculates the square of each sample of the signal frame whose envelope must be modeled (for example, the narrowband excitation signal S80 or the harmonically extended signal S160) to produce a sequence of squared values. Subtask T120 performs a smoothing operation in the sequence of squared values. In one example, subtask T120 applies a first-order low-pass IIR filter to the sequence according to the expression

imagen1image 1

en la que x es la entrada de filtro, y es la salida de filtro, n es un índice en el dominio del tiempo, y a es un coeficiente de suavizado que tiene un valor entre 0,5 y 1. El valor del coeficiente de suavizado a puede ser fijo o, en una implementación alternativa, puede ser adaptativo según una indicación de ruido en la señal de entrada, de tal manera que a se aproxima más a 1 en ausencia de ruido y más a 0,5 en presencia de ruido. La subtarea T130 aplica una función de raíz cuadrada a cada muestra de la secuencia suavizada para producir la envolvente en el dominio del tiempo. where x is the filter input, and is the filter output, n is an index in the time domain, it is already a smoothing coefficient that has a value between 0.5 and 1. The smoothing coefficient value a may be fixed or, in an alternative implementation, may be adaptive according to an indication of noise in the input signal, such that a is closer to 1 in the absence of noise and more than 0.5 in the presence of noise. Subtask T130 applies a square root function to each sample of the smoothed sequence to produce the envelope in the time domain.

Una implementación de este tipo del calculador 460 de envolvente puede configurarse para llevar a cabo las diversas subtareas de la tarea T100 en serie y/o paralelo. En implementaciones adicionales de la tarea T100, la subtarea T110 puede estar precedida por una operación de paso de banda configurada para seleccionar una parte de frecuencia deseada de la señal cuya envolvente debe modelarse, tal como el intervalo de 3-4 kHz. Such an implementation of the envelope calculator 460 can be configured to carry out the various subtasks of the T100 task in series and / or parallel. In further implementations of task T100, subtask T110 may be preceded by a bandpass operation configured to select a desired frequency part of the signal whose envelope must be modeled, such as the 3-4 kHz range.

El combinador 490 está configurado para mezclar la señal S160 extendida armónicamente y la señal S170 de ruido modulado para producir la señal S120 de excitación de banda alta. Pueden configurarse implementaciones de combinador 490, por ejemplo, para calcular la señal S120 de excitación de banda alta como una suma de la señal S160 extendida armónicamente y la señal S170 de ruido modulado. Una implementación de este tipo de combinador 490 puede configurarse para calcular la señal S120 de excitación de banda alta como una suma ponderada aplicando un factor de ponderación a la señal S160 extendida armónicamente y/o a la señal S170 de ruido modulado antes de la suma. Cada factor de ponderación de este tipo puede calcularse según uno o más criterios y puede ser un valor fijo o, como alternativa, un valor adaptativo que se calcula trama por trama o subtrama por subtrama. The combiner 490 is configured to mix the harmonically extended signal S160 and the modulated noise signal S170 to produce the high band excitation signal S120. Combiner implementations 490 may be configured, for example, to calculate the high band excitation signal S120 as a sum of the harmonically extended signal S160 and the modulated noise signal S170. An implementation of this type of combiner 490 can be configured to calculate the high band excitation signal S120 as a weighted sum by applying a weighting factor to the harmonically extended signal S160 and / or to the modulated noise signal S170 before the sum. Each weighting factor of this type can be calculated according to one or more criteria and can be a fixed value or, alternatively, an adaptive value that is calculated frame by frame or subframe by subframe.

La figura 16 muestra un diagrama de bloques de una implementación 492 de combinador 490 que está configurado para calcular la señal S120 de excitación de banda alta como una suma ponderada de la señal S160 extendida armónicamente y la señal S170 de ruido modulado. El combinador 492 está configurado para ponderar la señal S160 extendida armónicamente según el factor S180 de ponderación de armónicos, para ponderar la señal S170 de ruido modulado según el factor S190 de ponderación de ruidos, y para emitir la señal S120 de excitación de banda alta como una suma de las señales ponderadas. En este ejemplo, el combinador 492 incluye un calculador 550 de factor de ponderación que está configurado para calcular el factor S180 de ponderación de armónicos y el factor S190 de ponderación de ruidos. Figure 16 shows a block diagram of a combiner implementation 492 490 that is configured to calculate the high band excitation signal S120 as a weighted sum of the harmonically extended signal S160 and the modulated noise signal S170. The combiner 492 is configured to weigh the harmonically extended signal S160 according to the harmonic weighting factor S180, to weight the modulated noise signal S170 according to the noise weighting factor S190, and to emit the high band excitation signal S120 as A sum of the weighted signals. In this example, the combiner 492 includes a weighting factor calculator 550 that is configured to calculate the harmonic weighting factor S180 and the noise weighting factor S190.

El calculador 550 de factor de ponderación puede estar configurado para calcular los factores S180 y S190 de ponderación según una relación deseada de contenido de armónicos a contenido de ruido en la señal S120 de excitación de banda alta. Por ejemplo, puede ser deseable que el combinador 492 produzca la señal S120 de excitación de banda alta para tener una relación de energía de armónicos a energía de ruido similar a la de la señal S30 de banda alta. En algunas implementaciones del calculador 550 de factor de ponderación, se calculan los factores S180, S190 de ponderación según uno o más parámetros relativos a una periodicidad de la señal S20 de banda estrecha o de la señal residual de banda estrecha, tal como ganancia de altura tonal y/o modo de habla. Una implementación de este tipo del calculador 550 de factor de ponderación puede configurarse para asignar un valor al factor S180 de ponderación de armónicos que es proporcional a la ganancia de altura tonal, por ejemplo, y/o para asignar un valor superior al factor S190 de ponderación de ruidos para señales de habla no vocales que para señales de habla vocales. The weighting factor calculator 550 may be configured to calculate the weighting factors S180 and S190 according to a desired ratio of harmonic content to noise content in the high band excitation signal S120. For example, it may be desirable for the combiner 492 to produce the high band excitation signal S120 to have a harmonic energy to noise energy ratio similar to that of the high band S30 signal. In some implementations of the weighting factor calculator 550, the weighting factors S180, S190 are calculated according to one or more parameters relative to a periodicity of the narrowband signal S20 or the narrowband residual signal, such as height gain Tonal and / or speech mode. Such an implementation of the weighting factor calculator 550 can be configured to assign a value to the harmonic weighting factor S180 that is proportional to the pitch gain, for example, and / or to assign a value greater than the S190 factor of noise weighting for non-speech speech signals than for speech speech signals.

En otras implementaciones, el calculador 550 de factor de ponderación está configurado para calcular valores para el factor S180 de ponderación de armónicos y/o el factor S190 de ponderación de ruidos según una medida de periodicidad de la señal S30 de banda alta. En un ejemplo de este tipo, el calculador 550 de factor de ponderación calcula el factor S180 de ponderación de armónicos como el valor máximo del coeficiente de autocorrelación de la señal S30 de banda alta para la trama o subtrama actual, donde se lleva a cabo la autocorrelación por un intervalo de búsqueda que incluye un retardo de un retraso de altura tonal y no incluye un retardo de muestras cero. La figura 17 muestra un ejemplo de un intervalo de búsqueda de este tipo de muestras de longitud n que se centra sobre un retardo de un retraso de altura tonal y tiene un ancho no mayor que un retraso de altura tonal. In other implementations, the weighting factor calculator 550 is configured to calculate values for the harmonic weighting factor S180 and / or the noise weighting factor S190 according to a periodicity measurement of the high band signal S30. In such an example, the weighting factor calculator 550 calculates the harmonic weighting factor S180 as the maximum value of the autocorrelation coefficient of the high band signal S30 for the current frame or subframe, where the current autocorrelation by a search interval that includes a delay of a tonal height delay and does not include a zero sample delay. Figure 17 shows an example of a search interval of this type of samples of length n which is centered on a delay of a tonal height delay and has a width not greater than a tonal height delay.

La figura 17 también muestra un ejemplo de otro enfoque en el que el calculador 550 de factor de ponderación calcula una medida de periodicidad de la señal S30 de banda alta en varias etapas. En una primera etapa, se divide la trama actual en una serie de subtramas, y se identifica por separado para cada subtrama el retardo para el que el coeficiente de autocorrelación es máximo. Tal como se mencionó anteriormente, la autocorrelación se lleva a cabo por un intervalo de búsqueda que incluye un retardo de un retraso de altura tonal y no incluye un retardo de muestras cero. Figure 17 also shows an example of another approach in which the weighting factor calculator 550 calculates a periodicity measurement of the high band signal S30 in several stages. In a first stage, the current frame is divided into a series of subframes, and the delay for which the autocorrelation coefficient is maximum is identified separately for each subframe. As mentioned earlier, autocorrelation is carried out by a search interval that includes a delay of a tonal height delay and does not include a zero sample delay.

En una segunda etapa, se construye una trama retardada aplicando el retardo identificado correspondiente a cada subtrama, concatenando las subtramas resultantes para construir una trama retardada óptimamente, y calculando el factor S180 de ponderación de armónicos como el coeficiente de correlación entre la trama original y la trama retardada óptimamente. En otra alternativa, el calculador 550 de factor de ponderación calcula el factor S180 de ponderación de armónicos como un promedio de los coeficientes de autocorrelación máximos obtenidos en la primera etapa para cada subtrama. También pueden configurarse implementaciones del calculador 550 de factor de ponderación para ajustar a escala el coeficiente de correlación, y/o combinarlo con otro valor, para calcular el valor para el factor S180 de ponderación de armónicos. In a second stage, a delayed frame is constructed by applying the identified delay corresponding to each subframe, concatenating the resulting subframes to construct an optimally delayed frame, and calculating the harmonic weighting factor S180 as the correlation coefficient between the original frame and the optimally delayed frame. In another alternative, the weighting factor calculator 550 calculates the harmonic weighting factor S180 as an average of the maximum autocorrelation coefficients obtained in the first stage for each subframe. Implementations of the weighting factor calculator 550 can also be configured to scale the correlation coefficient, and / or combine it with another value, to calculate the value for the harmonic weighting factor S180.

Puede ser deseable que el calculador 550 de factor de ponderación calcule una medida de periodicidad de la señal S30 de banda alta sólo en los casos en los que se indique de otro modo una presencia de periodicidad en la trama. Por ejemplo, el calculador 550 de factor de ponderación puede estar configurado para calcular una medida de periodicidad de la señal S30 de banda alta según una relación entre otro indicador de periodicidad de la trama actual, tal como ganancia de altura tonal, y un valor umbral. En un ejemplo, el calculador 550 de factor de ponderación está configurado para llevar a cabo una operación de autocorrelación en la señal S30 de banda alta sólo si la ganancia de altura tonal de la trama (por ejemplo, la ganancia del libro de códigos adaptativo del resto de banda estrecha) tiene un valor de más de 0,5 (como alternativa, al menos 0,5). En otro ejemplo, el calculador 550 de factor de ponderación está configurado para llevar a cabo una operación de autocorrelación en la señal S30 de banda alta sólo para las tramas que tengan estados particulares de modo de habla (por ejemplo, sólo para señales vocales). En tales casos, el calculador 550 de factor de ponderación puede estar configurado para asignar un factor de ponderación por defecto para tramas que tengan otros estados de modo de habla y/o valores inferiores de ganancia de altura tonal. It may be desirable for the weighting factor calculator 550 to calculate a periodicity measurement of the high band signal S30 only in cases where a presence of frame periodicity is otherwise indicated. For example, the weighting factor calculator 550 may be configured to calculate a periodicity measurement of the high band signal S30 according to a relationship between another periodicity indicator of the current frame, such as pitch gain, and a threshold value . In one example, the weighting factor calculator 550 is configured to perform an autocorrelation operation on the high band signal S30 only if the gain of pitch of the frame (for example, the gain of the adaptive codebook of the narrow band rest) has a value of more than 0.5 (alternatively, at least 0.5). In another example, the weighting factor calculator 550 is configured to perform an autocorrelation operation on the high band signal S30 only for frames having particular speech mode states (for example, only for vocal signals). In such cases, the weighting factor calculator 550 may be configured to assign a default weighting factor for frames having other speech mode states and / or lower values of pitch gain.

Las realizaciones incluyen otras implementaciones del calculador 550 de factor de ponderación que están configuradas para calcular factores de ponderación según características diferentes de o además de la periodicidad. Por ejemplo, una implementación de este tipo puede estar configurada para asignar un valor superior al factor S190 de ganancia de ruido para señales de habla que tengan un retraso de altura tonal grande que para señales de habla que tengan un retraso de altura tonal pequeño. Otra implementación de este tipo del calculador 550 de factor de ponderación está configurada para determinar una medida de armonicidad de la señal S10 de habla de banda ancha, o de la señal S30 de banda alta, según una medida de la energía de la señal en componentes múltiples de la frecuencia fundamental en relación con la energía de la señal en otras componentes de frecuencia. The embodiments include other implementations of the weighting factor calculator 550 that are configured to calculate weighting factors according to characteristics other than or in addition to the periodicity. For example, such an implementation may be configured to assign a higher value to the noise gain factor S190 for speech signals that have a large pitch delay than for speech signals that have a small pitch delay. Another such implementation of the weighting factor calculator 550 is configured to determine a measure of harmonicity of the broadband speech signal S10, or of the high band signal S30, according to a measure of the signal energy in components multiple of the fundamental frequency in relation to the signal energy in other frequency components.

Algunas implementaciones del codificador A100 de habla de banda ancha están configuradas para emitir una indicación de periodicidad o armonicidad (por ejemplo una bandera de un bit que indica si la trama es armónica o no armónica) basándose en la ganancia de altura tonal y/u otra medida de periodicidad o armonicidad tal como se describe en el presente documento. En un ejemplo, un decodificador B100 de habla de banda ancha correspondiente usa esta indicación para configurar una operación tal como el cálculo del factor de ponderación. En otro ejemplo, se usa una indicación de este tipo en el codificador y/o decodificador en el cálculo de un valor para un parámetro de modo de habla. Some implementations of the A100 broadband speech encoder are configured to issue an indication of periodicity or harmonicity (for example a one-bit flag that indicates whether the frame is harmonic or non-harmonic) based on the gain of pitch and / or other periodicity or harmonicity measure as described in this document. In one example, a corresponding broadband speech decoder B100 uses this indication to configure an operation such as calculating the weighting factor. In another example, such an indication is used in the encoder and / or decoder in the calculation of a value for a speech mode parameter.

Puede ser deseable que el generador A302 de excitación de banda alta genere la señal S120 de excitación de banda alta de tal manera que la energía de la señal de excitación no se vea afectada sustancialmente por los valores particulares de los factores S180 y S190 de ponderación. En tal caso, el calculador 550 de factor de ponderación puede configurarse para calcular un valor para el factor S180 de ponderación de armónicos o para el factor S190 de ponderación de ruidos (o para recibir un valor de este tipo del almacenamiento u otro elemento del codificador A200 de banda alta) y para derivar un valor para el otro factor de ponderación según una expresión tal como It may be desirable for the high band excitation generator A302 to generate the high band excitation signal S120 such that the energy of the excitation signal is not substantially affected by the particular values of the weighting factors S180 and S190. In such a case, the weighting factor calculator 550 can be configured to calculate a value for the harmonic weighting factor S180 or for the noise weighting factor S190 (or to receive such a value from the storage or other encoder element A200 high band) and to derive a value for the other weighting factor according to an expression such as

imagen1image 1

en la que Warmónicos indica el factor S180 de ponderación de armónicos y Wruidos el indica el factor S190 de ponderación de ruidos. Como alternativa, el calculador 550 de factor de ponderación puede configurarse para seleccionar, según un valor de una medida de periodicidad para la trama o subtrama actual, uno correspondiente entre una pluralidad de pares de factores S180, S190 de ponderación, donde los pares se calculan previamente para satisfacer una relación de energía constante tal como la expresión (2). Para una implementación del calculador 550 de factor de ponderación en la que se observa la expresión (2), los valores típicos para el factor S180 de ponderación de armónicos oscilan entre aproximadamente 0,7 y aproximadamente 1,0, y los valores típicos para el factor S190 de ponderación de ruidos oscilan entre aproximadamente 0,1 y aproximadamente 0,7. Otras implementaciones del calculador 550 de factor de ponderación pueden configurarse para operar según una versión de la expresión (2) que se modifica según una ponderación de referencia deseada entre la señal S160 extendida armónicamente y la señal S170 de ruido modulado. in which Warmonics indicates the harmonic weighting factor S180 and Wruid indicates the noise weighting factor S190. Alternatively, the weighting factor calculator 550 can be configured to select, according to a value of a periodicity measurement for the current frame or subframe, a corresponding one among a plurality of pairs of S180, S190 weighting factors, where the pairs are calculated previously to satisfy a constant energy relationship such as expression (2). For an implementation of the weighting factor calculator 550 in which the expression (2) is observed, the typical values for the harmonic weighting factor S180 range from about 0.7 to about 1.0, and the typical values for the S190 noise weighting factor ranges from about 0.1 to about 0.7. Other implementations of the weighting factor calculator 550 may be configured to operate according to a version of the expression (2) that is modified according to a desired reference weighting between the harmonically extended signal S160 and the modulated noise signal S170.

Pueden producirse artefactos en una señal de habla sintetizada cuando se ha usado un libro de códigos disperso (uno cuyas entradas son en su mayoría valores cero) para calcular la representación cuantificada del resto. La dispersión del libro de códigos se produce especialmente cuando se codifica la señal de banda estrecha a una tasa de transmisión de bits baja. Los artefactos provocados por la dispersión del libro de códigos son normalmente casi periódicos en el tiempo y se producen en su mayoría por encima de 3 kHz. Debido a que el oído humano tiene una mejor resolución temporal a frecuencias superiores, estos artefactos pueden ser más perceptibles en la banda alta. Artifacts can be produced in a synthesized speech signal when a scattered codebook (one whose entries are mostly zero values) has been used to calculate the quantized representation of the rest. Codebook dispersion occurs especially when the narrowband signal is encoded at a low bit rate. The artifacts caused by the dispersion of the codebook are usually almost periodic over time and are mostly produced above 3 kHz. Because the human ear has a better temporal resolution at higher frequencies, these artifacts may be more noticeable in the high band.

Las realizaciones incluyen implementaciones del generador A300 de excitación de banda alta que están configuradas para llevar a cabo un filtrado de antidispersión. La figura 18 muestra un diagrama de bloques de una implementación A312 de un generador A302 de excitación de banda alta que incluye un filtro 600 de antidispersión dispuesto para filtrar la señal de excitación de banda estrecha descuantificada producida por el cuantificador 450 inverso. La figura 19 muestra un diagrama de bloques de una implementación A314 del generador A302 de excitación de banda alta que incluye un filtro 600 de antidispersión dispuesto para filtrar la señal extendida espectralmente producida por el extensor A400 de espectro. La figura 20 muestra un diagrama de bloques de una implementación A316 del generador A302 de excitación de banda alta que incluye un filtro 600 de antidispersión dispuesto para filtrar la salida del combinador 490 para producir la señal S120 de excitación de banda alta. Por supuesto, se contemplan implementaciones del generador A300 de excitación de banda alta que combinan las características de cualquiera de las implementaciones A304 y A306 con las características de cualquiera de las implementaciones A312, A314 y A316 y se dan a conocer expresamente por el presente documento. El filtro 600 de antidispersión también puede disponerse dentro del extensor A400 de espectro: por ejemplo, tras cualquiera de los elementos 510, 520, 530 y 540 en el extensor A402 de espectro. Se indica expresamente que el filtro 600 de antidispersión también puede usarse con implementaciones del extensor A400 de espectro que lleven a cabo plegado espectral, traslación espectral o extensión armónica. Embodiments include implementations of the high-band excitation A300 generator that are configured to perform anti-dispersion filtration. Figure 18 shows a block diagram of an A312 implementation of a high-band excitation generator A302 that includes an anti-dispersion filter 600 arranged to filter the quantized narrowband excitation signal produced by the inverse quantizer 450. Figure 19 shows a block diagram of an A314 implementation of the high-band excitation generator A302 that includes an anti-dispersion filter 600 arranged to filter the spectrally extended signal produced by the spectrum extender A400. Figure 20 shows a block diagram of an A316 implementation of the high-band excitation generator A302 that includes an anti-dispersion filter 600 arranged to filter the combiner output 490 to produce the high-band excitation signal S120. Of course, implementations of the high-band excitation A300 generator that combine the characteristics of any of the A304 and A306 implementations with the characteristics of any of the A312, A314 and A316 implementations are contemplated and are expressly disclosed herein. The anti-dispersion filter 600 can also be arranged within the spectrum extender A400: for example, after any of the elements 510, 520, 530 and 540 in the spectrum extender A402. It is expressly indicated that the anti-dispersion filter 600 can also be used with implementations of the spectrum extender A400 that perform spectral folding, spectral translation or harmonic extension.

El filtro 600 de antidispersión puede configurarse para alterar la fase de su señal de entrada. Por ejemplo, puede ser deseable que el filtro 600 de antidispersión esté configurado y dispuesto de tal manera que la fase de la señal S120 de excitación de banda alta sea aleatoria, The anti-dispersion filter 600 can be configured to alter the phase of its input signal. For example, it may be desirable that the anti-dispersion filter 600 is configured and arranged such that the phase of the high band excitation signal S120 is random,

o de otro modo se distribuya más uniformemente, a través del tiempo. También puede ser deseable que la respuesta del filtro 600 de antidispersión sea espectralmente plana de tal manera que no se cambie de manera apreciable el espectro de magnitud de la señal filtrada. En un ejemplo, el filtro 600 de antidispersión se implementa como un filtro de todo paso que tiene una función de transferencia según la siguiente expresión: or otherwise distributed more evenly, over time. It may also be desirable that the response of the anti-dispersion filter 600 is spectrally flat so that the magnitude spectrum of the filtered signal is not appreciably changed. In one example, the anti-dispersion filter 600 is implemented as an all-pass filter that has a transfer function according to the following expression:

imagen1image 1

Un efecto de un filtro de este tipo puede ser expandir la energía de la señal de entrada de tal manera que ya no se concentre en sólo unas pocas muestras. An effect of such a filter can be to expand the energy of the input signal so that it no longer concentrates on only a few samples.

Los artefactos provocados por la dispersión del libro de códigos son habitualmente más perceptibles para señales de tipo ruido, en las que el resto incluye menos información de altura tonal, y también para el habla en ruido de fondo. La dispersión provoca normalmente menos artefactos en casos en los que la excitación tiene una estructura a largo plazo, y de hecho la modificación de fase puede provocar ruido en señales vocales. Por tanto, puede ser deseable configurar el filtro 600 de antidispersión para filtrar señales no vocales y para dejar pasar al menos algunas señales vocales sin alteración. Las señales no vocales se caracterizan por una baja ganancia de altura tonal (por ejemplo ganancia de libro de códigos adaptativo de banda estrecha cuantificada) y una inclinación espectral (por ejemplo primer coeficiente de reflexión cuantificado) cercana a cero o positiva, lo que indica una envolvente espectral plana o inclinada hacia arriba con una frecuencia creciente. Las implementaciones típicas del filtro 600 de antidispersión están configuradas para filtrar sonidos no vocalizados (por ejemplo, tal como se indica por el valor de la inclinación espectral), para filtrar sonidos vocalizados cuando la ganancia de altura tonal está por debajo de un valor umbral (como alternativa, no mayor que el valor umbral), y de otro modo para dejar pasar la señal sin alteración. Artifacts caused by the dispersion of the codebook are usually more noticeable for noise-like signals, in which the rest includes less information of tonal height, and also for speech in background noise. Dispersion normally causes less artifacts in cases where the excitation has a long-term structure, and in fact the phase modification can cause noise in vocal signals. Therefore, it may be desirable to configure the anti-dispersion filter 600 to filter non-vocal signals and to allow at least some vocal signals to pass without alteration. Non-vocal signals are characterized by a low gain in tonal height (for example, quantitative narrow band adaptive codebook gain) and a spectral inclination (for example, first quantified reflection coefficient) close to zero or positive, indicating a flat or upward spectral envelope with increasing frequency. Typical implementations of the anti-dispersion filter 600 are configured to filter out non-vocalized sounds (for example, as indicated by the spectral inclination value), to filter out vocalized sounds when the pitch gain is below a threshold value ( alternatively, not greater than the threshold value), and otherwise to let the signal pass without alteration.

Otras implementaciones del filtro 600 de antidispersión incluyen dos o más filtros que se configuran para tener diferentes ángulos de modificación de fase máximos (por ejemplo, hasta 180 grados). En tal caso, el filtro 600 de antidispersión puede configurarse para seleccionar entre estos filtros de componentes según un valor de la ganancia de altura tonal (por ejemplo, la ganancia de LTP o libro de códigos adaptativo cuantificada), de tal manera que se use un ángulo de modificación de fase máximo mayor para tramas que tengan valores de ganancia de altura tonal inferiores. Una implementación del filtro 600 de antidispersión también puede incluir diferentes filtros de componentes que estén configurados para modificar la fase por una mayor Other implementations of the anti-dispersion filter 600 include two or more filters that are configured to have different maximum phase modification angles (for example, up to 180 degrees). In such a case, the anti-dispersion filter 600 can be configured to select among these component filters according to a value of the pitch gain (for example, the LTP gain or quantified adaptive codebook), such that a higher maximum phase modification angle for frames having lower tonal height gain values. An implementation of the anti-dispersion filter 600 may also include different component filters that are configured to modify the phase by a larger

o menor medida del espectro de frecuencia, de tal manera que se use un filtro configurado para modificar la fase por un intervalo de frecuencia más amplio de la señal de entrada para tramas que tengan valores de ganancia de altura tonal inferiores. or lesser measure of the frequency spectrum, such that a filter configured to modify the phase by a wider frequency range of the input signal for frames having lower tonal gain values is used.

Para una reproducción precisa de la señal de habla codificada, puede ser deseable que la relación entre los niveles de las partes de banda alta y banda estrecha de la señal S100 de habla de banda ancha sintetizada sea similar a la de la señal S10 de habla de banda ancha original. Además de una envolvente espectral tal como se representa por los parámetros S60a de codificación de banda alta, el codificador A200 de banda alta puede configurarse para caracterizar la señal S30 de banda alta especificando una envolvente de ganancia o temporal. Tal como se muestra en la figura 10, el codificador A202 de banda alta incluye un calculador A230 de factor de ganancia de banda alta que está configurado y dispuesto para calcular uno o más factores de ganancia según una relación entre la señal S30 de banda alta y la señal S130 de banda alta sintetizada, tal como una diferencia o relación entre las energías de las dos señales por una trama o alguna parte de la misma. En otras implementaciones del codificador A202 de banda alta, el calculador A230 de ganancia de banda alta puede estar configurado de la misma manera pero estar dispuesto en cambio para calcular la envolvente de ganancia según una relación que varía en el tiempo de este tipo entre la señal S30 de banda alta y la señal S80 de excitación de banda estrecha o la señal S120 de excitación de banda alta. For accurate reproduction of the encoded speech signal, it may be desirable that the ratio between the levels of the high band and narrow band portions of the synthesized broadband speech signal S100 is similar to that of the speech speech signal S10 original broadband In addition to a spectral envelope as represented by the high-band coding parameters S60a, the high-band encoder A200 can be configured to characterize the high-band signal S30 by specifying a gain or temporary envelope. As shown in Figure 10, the high band encoder A202 includes a high band gain factor A230 calculator that is configured and arranged to calculate one or more gain factors according to a relationship between the high band signal S30 and the synthesized high band signal S130, such as a difference or relationship between the energies of the two signals by a frame or some part thereof. In other implementations of the high band A202 encoder, the A230 high band gain calculator may be configured in the same manner but instead be arranged to calculate the gain envelope according to a relationship that varies in time of this type between the signal. S30 high band and S80 narrow band excitation signal or S120 high band excitation signal.

Es probable que las envolventes temporales de la señal S80 de excitación de banda estrecha y la señal S30 de banda alta sean similares. Por tanto, la codificación de una envolvente de ganancia que se base en una relación entre la señal S30 de banda alta y la señal S80 de excitación de banda estrecha (o una señal derivada de la misma, tal como la señal S120 de excitación de banda alta o la señal S130 de banda alta sintetizada) será en general más eficaz que la codificación de una envolvente de ganancia basada sólo en la señal S30 de banda alta. En una implementación típica, el codificador A202 de banda alta está configurado para emitir un índice cuantificado de ocho a doce bits que especifica cinco factores de ganancia para cada trama. The temporal envelopes of the narrowband excitation signal S80 and the high band signal S30 are likely to be similar. Therefore, the encoding of a gain envelope that is based on a relationship between the high band signal S30 and the narrow band excitation signal S80 (or a signal derived therefrom, such as the band excitation signal S120 high or the synthesized high band signal S130) will generally be more efficient than encoding a gain envelope based only on the high band signal S30. In a typical implementation, the high band A202 encoder is configured to output a quantized index of eight to twelve bits that specifies five gain factors for each frame.

El calculador A230 de factor de ganancia de banda alta puede configurarse para llevar a cabo el cálculo del factor de ganancia como una tarea que incluye una o más series de subtareas. La figura 21 muestra un diagrama de flujo de un ejemplo T200 de una tarea de este tipo que calcula un valor de ganancia para una subtrama correspondiente según las energías relativas de la señal S30 de banda alta y la señal S130 de banda alta sintetizada. Las tareas 220a y 220b calculan las energías de las subtramas correspondientes de las señales respectivas. Por ejemplo, las tareas 220a y 220b pueden configurarse para calcular la energía como una suma de los cuadrados de las muestras de la subtrama respectiva. La tarea T230 calcula un factor de ganancia para la subtrama como la raíz cuadrada de la relación de esas energías. En este ejemplo, la tarea T230 calcula el factor de ganancia como la raíz cuadrada de la relación de la energía de la señal S30 de banda alta a la energía de la señal S130 de banda alta sintetizada a través de la subtrama. The A230 high band gain factor calculator can be configured to perform the gain factor calculation as a task that includes one or more series of subtasks. Figure 21 shows a flow chart of an example T200 of such a task that calculates a gain value for a corresponding subframe according to the relative energies of the high band signal S30 and the synthesized high band signal S130. Tasks 220a and 220b calculate the energies of the corresponding subframes of the respective signals. For example, tasks 220a and 220b can be configured to calculate the energy as a sum of the squares of the samples of the respective subframe. Task T230 calculates a gain factor for the subframe as the square root of the relationship of those energies. In this example, task T230 calculates the gain factor as the square root of the ratio of the energy of the high band signal S30 to the energy of the high band signal S130 synthesized through the subframe.

Puede ser deseable que el calculador A230 de factor de ganancia de banda alta se configure para calcular las energías de subtrama según una función ventana. La figura 22 muestra un diagrama de flujo de una implementación T210 de este tipo de una tarea T200 de cálculo de factor de ganancia. La tarea T215a aplica una función ventana a la señal S30 de banda alta, y la tarea T215b aplica la misma función ventana a la señal S130 de banda alta sintetizada. Las implementaciones 222a y 222b de las tareas 220a y 220b calculan las energías de las ventanas respectivas, y la tarea T230 calcula un factor de ganancia para la subtrama como la raíz cuadrada de la relación de las energías. It may be desirable that the high band gain factor A230 calculator be configured to calculate subframe energies according to a window function. Figure 22 shows a flow chart of such a T210 implementation of a T200 gain factor calculation task. Task T215a applies a window function to the high band signal S30, and task T215b applies the same window function to the synthesized high band signal S130. The implementations 222a and 222b of tasks 220a and 220b calculate the energies of the respective windows, and task T230 calculates a gain factor for the subframe as the square root of the energy ratio.

Puede ser deseable aplicar una función ventana que superponga subtramas adyacentes. Por ejemplo, una función ventana que produzca factores de ganancia que pueda aplicarse en un modo de adición de superposición puede ayudar a reducir o evitar una discontinuidad entre subtramas. En un ejemplo, el calculador A230 de factor de ganancia de banda alta está configurado para aplicar una función ventana trapezoidal tal como se muestra en la figura 23a, en la que la ventana superpone cada una de las dos subtramas adyacentes en un milisegundo. La figura 23b muestra una aplicación de esta función ventana a cada una de las cinco subtramas de una trama de 20 milisegundos. Otras implementaciones del calculador A230 de factor de ganancia de banda alta pueden configurarse para aplicar funciones ventana que tengan diferentes periodos de superposición y/o diferentes formas de ventana (por ejemplo, rectangular, Hamming) que pueden ser simétricas o asimétricas. También es posible que una implementación del calculador A230 de factor de ganancia de banda alta se configure para aplicar diferentes funciones ventana a diferentes subtramas dentro de una trama y/o que una trama incluya subtramas de diferentes longitudes. It may be desirable to apply a window function that overlaps adjacent subframes. For example, a window function that produces gain factors that can be applied in an overlay addition mode can help reduce or avoid a discontinuity between subframes. In one example, the A230 high band gain factor calculator is configured to apply a trapezoidal window function as shown in Figure 23a, in which the window overlaps each of the two adjacent subframes in a millisecond. Figure 23b shows an application of this window function to each of the five subframes of a 20 millisecond frame. Other implementations of the high-band gain factor A230 calculator can be configured to apply window functions that have different overlay periods and / or different window shapes (eg, rectangular, Hamming) that can be symmetric or asymmetric. It is also possible that an implementation of the high band gain factor A230 calculator is configured to apply different window functions to different subframes within a frame and / or that a frame includes subframes of different lengths.

Sin limitación, se presentan los siguientes valores como ejemplos para implementaciones particulares. Se supone una trama de 20 ms para estos casos, aunque puede usarse cualquiera otra duración. Para una señal de banda alta muestreada a 7 kHz, cada trama tiene 140 muestras. Si se divide una trama de este tipo en cinco subtramas de igual longitud, cada subtrama tendrá 28 muestras, y la ventana tal como se muestra en la figura 23a tendrá un ancho de 42 muestras. Para una señal de banda alta muestreada a 8 kHz, cada trama tiene 160 muestras. Si se divide una trama de este tipo en cinco subtramas de igual longitud, cada subtrama tendrá 32 muestras, y la ventana tal como se muestra en la figura 23a tendrá un ancho de 48 muestras. En otras implementaciones, pueden usarse subtramas de cualquier ancho, e incluso es posible que una implementación del calculador A230 de ganancia de banda alta se configure para producir un factor de ganancia diferente para cada muestra de una trama. Without limitation, the following values are presented as examples for particular implementations. A 20 ms frame is assumed for these cases, although any other duration can be used. For a high band signal sampled at 7 kHz, each frame has 140 samples. If such a frame is divided into five subframes of equal length, each subframe will have 28 samples, and the window as shown in Figure 23a will have a width of 42 samples. For a high band signal sampled at 8 kHz, each frame has 160 samples. If such a frame is divided into five subframes of equal length, each subframe will have 32 samples, and the window as shown in Figure 23a will be 48 samples wide. In other implementations, subframes of any width can be used, and it is even possible that an implementation of the high band gain A230 calculator is configured to produce a different gain factor for each sample of a frame.

La figura 24 muestra un diagrama de bloques de una implementación B202 del decodificador B200 de banda alta. El decodificador B202 de banda alta incluye un generador B300 de excitación de banda alta que está configurado para producir la señal S120 de excitación de banda alta basándose en la señal S80 de excitación de banda estrecha. Dependiendo de las opciones de diseño de sistema particulares, el generador B300 de excitación de banda alta puede implementarse según cualquiera de las implementaciones del generador A300 de excitación de banda alta tal como se describe en el presente documento. Normalmente es deseable implementar el generador B300 de excitación de banda alta para que tenga la misma respuesta que el generador de excitación de banda alta del codificador de banda alta del sistema de codificación particular. Puesto que el decodificador B110 de banda estrecha llevará a cabo normalmente la descuantificación de la señal S50 de excitación de banda estrecha codificada, sin embargo, en la mayoría de los casos el generador B300 de excitación de banda alta puede implementarse para recibir la señal S80 de excitación de banda estrecha del decodificador B110 de banda estrecha y no es necesario que incluya un cuantificador inverso configurado para descuantificar la señal S50 de excitación de banda estrecha codificada. También es posible que el decodificador B110 de banda estrecha se implemente para incluir una instancia de filtro 600 de antidispersión dispuesto para filtrar la señal de excitación de banda estrecha descuantificada antes de su entrada en un filtro de síntesis de banda estrecha tal como el filtro 330. Figure 24 shows a block diagram of an implementation B202 of the high band B200 decoder. The high band decoder B202 includes a high band excitation generator B300 that is configured to produce the high band excitation signal S120 based on the narrow band excitation signal S80. Depending on the particular system design options, the high band excitation generator B300 can be implemented according to any of the implementations of the high band excitation A300 generator as described herein. It is usually desirable to implement the high band excitation generator B300 so that it has the same response as the high band excitation generator of the high band encoder of the particular coding system. Since the narrowband decoder B110 will normally perform the quantification of the encoded narrowband excitation signal S50, however, in most cases the highband excitation generator B300 can be implemented to receive the signal S80 from Narrowband excitation of the narrowband decoder B110 and does not need to include a reverse quantizer configured to quantify the encoded narrowband excitation signal S50. It is also possible for the narrowband decoder B110 to be implemented to include an instance of anti-dispersion filter 600 arranged to filter the unbalanced narrowband excitation signal prior to its entry into a narrowband synthesis filter such as filter 330.

El cuantificador 560 inverso está configurado para descuantificar los parámetros S60a de filtro de banda alta (en este ejemplo, para dar un conjunto de LSF), y la transformada 570 de coeficiente de filtro de LSF a LP está configurada para transformar las LSF en un conjunto de coeficientes de filtro (por ejemplo, tal como se describió anteriormente con referencia al cuantificador 240 inverso y la transformada 250 del codificador A122 de banda estrecha). En otras implementaciones, tal como se mencionó anteriormente, pueden usarse diferentes conjuntos de coeficientes (por ejemplo, coeficientes cepstrales) y/o representaciones de coeficiente (por ejemplo, ISP). El filtro B204 de síntesis de banda alta está configurado para producir una señal de banda alta sintetizada según la señal S120 de excitación de banda alta y el conjunto de coeficientes de filtro. Para un sistema en el que el codificador de banda alta incluye un filtro de síntesis (por ejemplo, como en el ejemplo del codificador A202 descrito anteriormente), puede ser deseable implementar el filtro B204 de síntesis de banda alta para que tenga la misma respuesta (por ejemplo, la misma función de transferencia) que la del filtro de síntesis. The inverse quantizer 560 is configured to quantify the high-band filter parameters S60a (in this example, to give a set of LSF), and the transformed 570 filter coefficient from LSF to LP is configured to transform the LSFs into a set of filter coefficients (for example, as described above with reference to reverse quantizer 240 and transform 250 of narrowband encoder A122). In other implementations, as mentioned above, different sets of coefficients (for example, cepstral coefficients) and / or coefficient representations (for example, ISP) may be used. The high band synthesis filter B204 is configured to produce a synthesized high band signal according to the high band excitation signal S120 and the set of filter coefficients. For a system in which the high band encoder includes a synthesis filter (for example, as in the example of the A202 encoder described above), it may be desirable to implement the high band synthesis B204 filter to have the same response ( for example, the same transfer function) as that of the synthesis filter.

El decodificador B202 de banda alta también incluye un cuantificador 580 inverso configurado para descuantificar los factores S60b de ganancia de banda alta, y un elemento 590 de control de ganancia (por ejemplo, un multiplicador o amplificador) configurado y dispuesto para aplicar los factores de ganancia descuantificados a la señal de banda alta sintetizada para producir la señal S100 de banda alta. Para un caso en el que se especifica la envolvente de ganancia de una trama en más de un factor de ganancia, el elemento 590 de control de ganancia puede incluir una lógica configurada para aplicar los factores de ganancia a las subtramas respectivas, posiblemente según una función ventana que puede ser la misma o una función ventana diferente tal como se aplica por un calculador de ganancia (por ejemplo, el calculador A230 de ganancia de banda alta) del codificador de banda alta correspondiente. En otras implementaciones del decodificador B202 de banda alta, el elemento 590 de control de ganancia está configurado de manera similar pero está dispuesto en cambio para aplicar los factores de ganancia descuantificados a la señal S80 de excitación de banda estrecha o a la señal S120 de excitación de banda alta. The high band decoder B202 also includes a reverse quantizer 580 configured to quantify the high band gain factors S60b, and a gain control element 590 (e.g., a multiplier or amplifier) configured and arranged to apply the gain factors Unquantified to the synthesized high band signal to produce the high band S100 signal. For a case in which the gain envelope of a frame is specified in more than one gain factor, the gain control element 590 may include logic configured to apply the gain factors to the respective subframes, possibly according to a function. window that can be the same or a different window function as applied by a gain calculator (for example, the high band gain A230 calculator) of the corresponding high band encoder. In other implementations of the high-band decoder B202, the gain control element 590 is similarly configured but is instead arranged to apply the quantified gain factors to the narrowband excitation signal S80 or to the excitation signal S120. high band

Tal como se mencionó anteriormente, puede ser deseable obtener el mismo estado en el codificador de banda alta y el decodificador de banda alta (por ejemplo, usando valores descuantificados durante la codificación). Por tanto, puede ser deseable en un sistema de codificación según una implementación de este tipo garantizar el mismo estado para los generadores de ruido correspondientes en los generadores A300 y B300 de excitación de banda alta. Por ejemplo, los generadores A300 y B300 de excitación de banda alta de una implementación de este tipo pueden configurarse de tal manera que el estado del generador de ruido sea un función determinística de información ya codificada dentro de la misma trama (por ejemplo, los parámetros S40 de filtro de banda estrecha o una parte de los mismos y/o la señal S50 de excitación de banda estrecha codificada o una parte de la misma). As mentioned above, it may be desirable to obtain the same status in the high band encoder and high band decoder (for example, using quantified values during encoding). Therefore, it may be desirable in an encoding system according to such an implementation to guarantee the same status for the corresponding noise generators in the A300 and B300 high band excitation generators. For example, the A300 and B300 high band excitation generators of such an implementation can be configured such that the noise generator status is a deterministic function of information already encoded within the same frame (for example, the parameters S40 narrow band filter or a part thereof and / or the encoded narrow band excitation signal S50 or a part thereof).

Uno o más de los cuantificadores de los elementos descritos en el presente documento (por ejemplo, el cuantificador 230, 420 ó 430) pueden configurarse para llevar a cabo una cuantificación de vectores clasificada. Por ejemplo, un cuantificador de este tipo puede configurarse para seleccionar uno de un conjunto de libros de códigos basándose en información que ya se ha codificado dentro de la misma trama en el canal de banda estrecha y/o en el canal de banda alta. Una técnica de este tipo proporciona normalmente un aumento de la eficacia de codificación a expensas del almacenamiento de libro de códigos adicional. One or more of the quantifiers of the elements described herein (for example, quantifier 230, 420 or 430) may be configured to perform a quantification of classified vectors. For example, such a quantifier can be configured to select one of a set of codebooks based on information that has already been encoded within the same frame in the narrowband channel and / or in the highband channel. Such a technique normally provides an increase in coding efficiency at the expense of additional codebook storage.

Tal como se trató anteriormente con referencia a, por ejemplo, las figuras 8 y 9, una cantidad considerable de estructura periódica puede permanecer en la señal residual tras la eliminación de la envolvente espectral aproximada de la señal S20 de habla de banda estrecha. Por ejemplo, la señal residual puede contener una secuencia de picos o pulsos aproximadamente periódicos a través del tiempo. Es especialmente probable que tal estructura, que se relaciona normalmente con la altura tonal, se produzca en señales de habla vocales. El cálculo de una representación cuantificada de la señal residual de banda estrecha puede incluir la codificación de esta estructura de altura tonal según un modelo de periodicidad a largo plazo tal como se representa, por ejemplo, por uno o más libros de códigos. As discussed above with reference to, for example, Figures 8 and 9, a considerable amount of periodic structure may remain in the residual signal after removal of the approximate spectral envelope of the narrowband speech signal S20. For example, the residual signal may contain a sequence of approximately periodic peaks or pulses over time. It is especially likely that such a structure, which normally relates to tonal height, occurs in vocal speech signals. The calculation of a quantified representation of the narrow-band residual signal may include the coding of this tonal height structure according to a long-term periodicity model as represented, for example, by one or more code books.

La estructura de altura tonal de una señal residual real puede no adaptarse exactamente al modelo de periodicidad. Por ejemplo, la señal residual puede incluir pequeñas fluctuaciones en la regularidad de las ubicaciones de los pulsos de altura tonal, de tal manera que las distancias entre pulsos de altura tonal sucesivos en una trama no sean exactamente iguales y la estructura no sea muy regular. Estas irregularidades tienden a reducir la eficacia de codificación. The tonal height structure of a real residual signal may not adapt exactly to the periodicity model. For example, the residual signal may include small fluctuations in the regularity of the locations of the tonal height pulses, such that the distances between successive tonal height pulses in a frame are not exactly the same and the structure is not very regular. These irregularities tend to reduce the coding efficiency.

Algunas implementaciones del codificador A120 de banda estrecha están configuradas para llevar a cabo una regularización de la estructura de altura tonal aplicando un alineamiento de tiempo adaptativo al resto antes o durante la cuantificación, o incluyendo de otro modo un alineamiento de tiempo adaptativo en la señal de excitación codificada. Por ejemplo, un codificador de este tipo puede configurarse para seleccionar o calcular de otro modo un grado de alineamiento en el tiempo (por ejemplo, según uno o más criterios de minimización de errores y/o ponderación perceptual) de tal manera que la señal de excitación resultante se ajuste óptimamente al modelo de periodicidad a largo plazo. La regularización de la estructura de altura tonal se lleva a cabo mediante un subconjunto de codificadores CELP denominados codificadores de predicción lineal excitada por códigos de relajación (RCELP). Some implementations of the narrow-band A120 encoder are configured to perform a regularization of the pitch structure by applying an adaptive time alignment to the rest before or during quantification, or otherwise including an adaptive time alignment in the signal of coded excitation. For example, such an encoder can be configured to select or otherwise calculate a degree of alignment over time (for example, according to one or more criteria for minimizing errors and / or perceptual weighting) such that the signal of The resulting excitation optimally fits the long-term periodicity model. The tonal height structure regularization is carried out by a subset of CELP encoders called linear prediction encoders excited by relaxation codes (RCELP).

Un codificador RCELP está configurado normalmente para llevar a cabo el alineamiento de tiempo como un desplazamiento de tiempo adaptativo. Este desplazamiento de tiempo puede ser un retardo que oscile entre unos pocos milisegundos negativos y unos pocos milisegundos positivos, y habitualmente se varía suavemente para evitar discontinuidades audibles. En algunas implementaciones, un codificador de este tipo está configurado para aplicar la regularización por partes, en el que cada trama o subtrama se alinea por un desplazamiento de tiempo fijo correspondiente. En otras implementaciones, el codificador está configurado para aplicar la regularización como una función de alineamiento continua, de tal manera que una trama o subtrama se alinee según un contorno de altura tonal (también denominado trayectoria de altura tonal). En algunos casos (por ejemplo, tal como se describe en la publicación de solicitud de patente estadounidense 2004/0098255), el codificador está configurado para incluir un alineamiento de tiempo en la señal de excitación codificada aplicando el desplazamiento a una señal de entrada ponderada perceptualmente que se usa para calcular la señal de excitación codificada. An RCELP encoder is normally configured to perform time alignment as an adaptive time offset. This time shift can be a delay that ranges from a few negative milliseconds to a few positive milliseconds, and is usually varied smoothly to avoid audible discontinuities. In some implementations, such an encoder is configured to apply part regularization, in which each frame or subframe is aligned by a corresponding fixed time offset. In other implementations, the encoder is configured to apply the regularization as a continuous alignment function, such that a frame or subframe is aligned according to a tonal height contour (also called a tonal height path). In some cases (for example, as described in U.S. Patent Application Publication 2004/0098255), the encoder is configured to include a time alignment in the encoded excitation signal by applying the offset to a perceptually weighted input signal. which is used to calculate the encoded excitation signal.

El codificador calcula una señal de excitación codificada que se regulariza y cuantifica, y el decodificador descuantifica la señal de excitación codificada para obtener una señal de excitación que se usa para sintetizar la señal de habla decodificada. Por tanto, la señal de salida decodificada presenta el mismo retardo variable que se incluyó en la señal de excitación codificada por la regularización. Normalmente, no se transmite ninguna información que especifique las cantidades de regularización al decodificador. The encoder calculates an encoded excitation signal that is regularized and quantified, and the decoder decrypts the encoded excitation signal to obtain an excitation signal that is used to synthesize the decoded speech signal. Therefore, the decoded output signal has the same variable delay that was included in the excitation signal encoded by the regularization. Normally, no information specifying the amounts of regularization is transmitted to the decoder.

La regularización tiende a hacer que la señal residual sea más fácil de codificar, lo que mejora la ganancia de codificación del predictor a largo plazo y por tanto impulsa la eficacia de codificación general, generalmente sin generar artefactos. Puede ser deseable llevar a cabo la regularización sólo en tramas vocalizadas. Por ejemplo, el codificador A124 de banda estrecha puede configurarse para desplazar sólo las tramas o subtramas que tengan una estructura a largo plazo, tal como las señales vocales. Incluso puede ser deseable llevar a cabo la regularización sólo en subtramas que incluyan energía de pulso de altura tonal. Se describen diversas implementaciones de codificación por RCELP en las patentes estadounidenses n.os 5,704,003 (Kleijn et al.) y 6,879,955 (Rao) y en la publicación de solicitud de patente estadounidense 2004/0098255 (Kovesi et al.). Las implementaciones existentes de los codificadores RCELP incluyen el códec de tasa variable mejorado (EVRC), tal como se describe en la norma IS-127 de la Asociación de la Industria de las Telecomunicaciones (TIA), y el vocodificador en modo seleccionable (SMV) del Proyecto de asociación de tercera Regularization tends to make the residual signal easier to encode, which improves the encoding gain of the long-term predictor and therefore drives overall coding efficiency, generally without generating artifacts. It may be desirable to carry out regularization only in vocalized frames. For example, the narrowband encoder A124 can be configured to shift only frames or subframes that have a long-term structure, such as vocal signals. It may even be desirable to carry out regularization only in subframes that include pulse energy of tonal height. Various implementations of coding by RCELP are described in U.S. Patent Nos. 5,704,003 (Kleijn et al.) And 6,879,955 (Rao) and in U.S. Patent Application Publication 2004/0098255 (Kovesi et al.). Existing implementations of the RCELP encoders include the Enhanced Variable Rate Codec (EVRC), as described in IS-127 of the Telecommunications Industry Association (TIA), and the Vocoder in Selectable Mode (SMV) of the third association project

generación 2 (3GPP2). generation 2 (3GPP2).

Desafortunadamente, la regularización puede provocar problemas para un codificador de habla de banda ancha en el que la excitación de banda alta se deriva de la señal de excitación de banda estrecha codificada (tal como un sistema que incluye el codificador A100 de habla de banda ancha y el decodificador B100 de habla de banda ancha). Debido a su derivación de una señal alineada en el tiempo, la señal de excitación de banda alta tendrá generalmente un perfil de tiempo que es diferente del de la señal de habla de banda alta original. En otras palabras, la señal de excitación de banda alta ya no será síncrona con la señal de habla de banda alta original. Unfortunately, regularization can cause problems for a broadband speech encoder in which the high band excitation is derived from the encoded narrowband excitation signal (such as a system that includes the A100 broadband speech encoder and B100 broadband speech decoder). Due to its derivation of a time-aligned signal, the high band excitation signal will generally have a time profile that is different from that of the original high band speech signal. In other words, the high band excitation signal will no longer be synchronous with the original high band speech signal.

Un desalineamiento en el tiempo entre la señal de excitación de banda alta alineada y la señal de habla de banda alta original puede provocar varios problemas. Por ejemplo, puede ser que la señal de excitación de banda alta alineada ya no proporcione una excitación fuente adecuada para un filtro de síntesis que se configura según los parámetros de filtro extraídos de la señal de habla de banda alta original. Como resultado, la señal de banda alta sintetizada puede contener artefactos audibles que reducen la calidad percibida de la señal de habla de banda ancha decodificada. A misalignment in time between the aligned high band excitation signal and the original high band speech signal can cause several problems. For example, it may be that the aligned high band excitation signal no longer provides a suitable source excitation for a synthesis filter that is configured according to the filter parameters extracted from the original high band speech signal. As a result, the synthesized high band signal may contain audible artifacts that reduce the perceived quality of the decoded broadband speech signal.

El desalineamiento en el tiempo también puede provocar ineficiencias en la codificación de envolvente de ganancia. Tal como se mencionó anteriormente, es probable que exista una correlación entre las envolventes temporales de la señal S80 de excitación de banda estrecha y la señal S30 de banda alta. Codificando la envolvente de ganancia de la señal de banda alta según una relación entre estas dos envolventes temporales, puede observarse un aumento en la eficacia de codificación en comparación con la codificación de la envolvente de ganancia directamente. Cuando se regulariza la señal de excitación de banda estrecha codificada, sin embargo, puede debilitarse esta correlación. El desalineamiento en el tiempo entre la señal S80 de excitación de banda estrecha y la señal S30 de banda alta puede provocar que aparezcan fluctuaciones en los factores S60b de ganancia de banda alta, y puede caer la eficacia de codificación. Misalignment over time can also cause inefficiencies in gain envelope coding. As mentioned earlier, it is likely that there is a correlation between the temporal envelopes of the narrowband excitation signal S80 and the high band signal S30. By encoding the gain envelope of the high band signal according to a relationship between these two temporary envelopes, an increase in coding efficiency can be observed compared to the encoding of the gain envelope directly. When the encoded narrowband excitation signal is regularized, however, this correlation can be weakened. The misalignment in time between the narrow band excitation signal S80 and the high band signal S30 may cause fluctuations in the high band gain factors S60b, and the coding efficiency may drop.

Las realizaciones incluyen procedimientos de codificación de habla de banda ancha que llevan a cabo un alineamiento de tiempo de una señal de habla de banda alta según un alineamiento de tiempo incluido en una señal de excitación de banda estrecha codificada correspondiente. Las ventajas potenciales de tales procedimientos incluyen mejorar la calidad de una señal de habla de banda ancha decodificada y/o mejorar la eficacia de codificación de una envolvente de ganancia de banda alta. Embodiments include broadband speech coding procedures that perform a time alignment of a high band speech signal according to a time alignment included in a corresponding coded narrowband excitation signal. The potential advantages of such procedures include improving the quality of a decoded broadband speech signal and / or improving the coding efficiency of a high band gain envelope.

La figura 25 muestra un diagrama de bloques de una implementación AD10 del codificador A100 de habla de banda ancha. El codificador AD10 incluye una implementación A124 del codificador A120 de banda estrecha que está configurado para llevar a cabo una regularización durante el cálculo de la señal S50 de excitación de banda estrecha codificada. Por ejemplo, el codificador A124 de banda estrecha puede configurarse según una o más de las implementaciones de RCELP tratadas anteriormente. Figure 25 shows a block diagram of an AD10 implementation of the broadband speech A100 encoder. The AD10 encoder includes an implementation A124 of the narrowband A120 encoder that is configured to perform a regularization during the calculation of the encoded narrowband excitation signal S50. For example, the narrowband A124 encoder can be configured according to one or more of the RCELP implementations discussed above.

El codificador A124 de banda estrecha también está configurado para emitir una señal SD10 de datos de regularización que especifica el grado de alineamiento de tiempo aplicado. Para diversos casos en los que el codificador A124 de banda estrecha está configurado para aplicar un desplazamiento de tiempo fijo a cada trama o subtrama, la señal SD10 de datos de regularización puede incluir una serie de valores que indiquen cada cantidad de desplazamiento de tiempo como un valor entero o no entero en términos de muestras, milisegundos o cualquier otro incremento de tiempo. Para un caso en el que el codificador A124 de banda estrecha está configurado para modificar de otro modo la escala de tiempo de una trama u otra secuencia de muestras (por ejemplo, comprimiendo una parte y expandiendo otra parte), la señal SD10 de información de regularización puede incluir una descripción correspondiente de la modificación, tal como un conjunto de parámetros de función. En un ejemplo particular, el codificador A124 de banda estrecha está configurado para dividir una trama en tres subtramas y para calcular un desplazamiento de tiempo fijo para cada subtrama, de tal manera que la señal SD10 de datos de regularización indique tres cantidades de desplazamiento de tiempo para cada trama regularizada de la señal de banda estrecha codificada. The narrowband encoder A124 is also configured to output a regularization data SD10 signal that specifies the degree of time alignment applied. For various cases where the narrowband A124 encoder is configured to apply a fixed time offset to each frame or subframe, the regularization data signal SD10 may include a series of values indicating each amount of time offset as a integer value or not integer in terms of samples, milliseconds or any other time increment. For a case where the narrowband A124 encoder is configured to otherwise modify the time scale of a frame or other sequence of samples (for example, by compressing one part and expanding another part), the SD10 information signal of Regularization may include a corresponding description of the modification, such as a set of function parameters. In a particular example, the narrowband encoder A124 is configured to divide a frame into three subframes and to calculate a fixed time offset for each subframe, such that the regularization data signal SD10 indicates three amounts of time offset for each regularized frame of the encoded narrowband signal.

El codificador AD10 de habla de banda ancha incluye una línea D120 de retardo configurada para avanzar o retardar partes de la señal S30 de habla de banda alta, según cantidades de retardo indicadas por una señal de entrada, para producir la señal S30a de habla de banda alta alineada en el tiempo. En el ejemplo mostrado en la figura 25, la línea D120 de retardo está configurada para alinear en el tiempo la señal S30 de habla de banda alta según el alineamiento indicado por la señal SD10 de datos de regularización. De esta manera, la misma cantidad de alineamiento de tiempo que se incluyó en la señal S50 de excitación de banda estrecha codificada también se aplica a la parte correspondiente de la señal S30 de habla de banda alta antes del análisis. Aunque este ejemplo muestra la línea D120 de retardo como un elemento separado del codificador A200 de banda alta, en otras implementaciones la línea D120 de retardo se dispone como parte del codificador de banda alta. The broadband speech AD10 encoder includes a delay line D120 configured to advance or delay parts of the high band talk signal S30, according to delay amounts indicated by an input signal, to produce the band talk signal S30a High aligned in time. In the example shown in Figure 25, the delay line D120 is configured to align the high-band speech signal S30 over time according to the alignment indicated by the regularization data signal SD10. Thus, the same amount of time alignment that was included in the encoded narrowband excitation signal S50 is also applied to the corresponding part of the highband speech signal S30 prior to analysis. Although this example shows the delay line D120 as a separate element of the high band A200 encoder, in other implementations the delay line D120 is arranged as part of the high band encoder.

Otras implementaciones del codificador A200 de banda alta pueden configurarse para llevar a cabo un análisis espectral (por ejemplo, un análisis de LPC) de la señal S30 de habla de banda alta no alineada y para llevar a cabo el alineamiento de tiempo de la señal S30 de habla de banda alta antes del cálculo de los parámetros S60b de ganancia de banda alta. Un codificador de este tipo puede incluir, por ejemplo, una implementación de la línea D120 de retardo dispuesta para llevar a cabo el alineamiento de tiempo. Sin embargo, en tales casos, los parámetros S60a de filtro de banda alta basados en el análisis de la señal S30 no alineada pueden describir una envolvente espectral desalineada en el tiempo con la señal S120 de excitación de banda alta. Other implementations of the high-band A200 encoder can be configured to perform a spectral analysis (for example, an LPC analysis) of the non-aligned high-band speech signal S30 and to carry out the time alignment of the S30 signal of high band speech before the calculation of the parameters S60b of high band gain. An encoder of this type may include, for example, an implementation of the delay line D120 arranged to carry out the time alignment. However, in such cases, the high-band filter parameters S60a based on the analysis of the non-aligned signal S30 can describe a spectral envelope misaligned in time with the high-band excitation signal S120.

La línea D120 de retardo puede configurarse según cualquier combinación de elementos lógicos y elementos de almacenamiento adecuados para aplicar las operaciones de alineamiento de tiempo deseadas a la señal S30 de habla de banda alta. Por ejemplo, la línea D120 de retardo puede configurarse para leer la señal S30 de habla de banda alta desde una memoria intermedia según los desplazamientos de tiempo deseados. La figura 26a muestra un diagrama esquemático de una implementación D122 de este tipo de la línea D120 de retardo que incluye un registro SR1 de desplazamiento. El registro SR1 de desplazamiento es una memoria intermedia de cierta longitud m que está configurada para recibir y almacenar las m muestras más recientes de la señal S30 de habla de banda alta. El valor m es igual a al menos la suma de los desplazamientos de tiempo positivos (o de “avance”) y negativos (o de “retardo”) máximos que van a soportarse. Puede ser conveniente que el valor m sea igual a la longitud de una trama o subtrama de la señal S30 de banda alta. The delay line D120 can be configured according to any combination of logical elements and storage elements suitable for applying the desired time alignment operations to the high-band speech signal S30. For example, the delay line D120 can be configured to read the high band speech signal S30 from a buffer according to the desired time shifts. Figure 26a shows a schematic diagram of such a D122 implementation of the delay line D120 that includes a shift register SR1. The shift register SR1 is an intermediate memory of a certain length m that is configured to receive and store the most recent m samples of the high band speech signal S30. The value m is equal to at least the sum of the maximum positive (or "advance") and negative (or "delay") time shifts to be supported. It may be desirable that the value m be equal to the length of a frame or subframe of the high band signal S30.

La línea D122 de retardo está configurada para emitir la señal S30a de banda alta alineada en el tiempo desde una ubicación OL de desfase del registro SR1 de desplazamiento. La posición de la ubicación OL de desfase varía con respecto a una posición de referencia (desplazamiento de tiempo cero) según el desplazamiento de tiempo actual tal como se indica, por ejemplo, por la señal SD10 de datos de regularización. La línea D122 de retardo puede configurarse para soportar límites de avance y retardo iguales o, como alternativa, un límite más grande que el otro de tal manera que pueda llevarse a cabo un mayor desplazamiento en una dirección que en la otra. La figura 26a muestra un ejemplo particular que soporta un mayor desplazamiento de tiempo positivo que negativo. La línea D122 de retardo puede configurarse para emitir una o más muestras cada vez (dependiendo de un ancho de bus de salida, por ejemplo). The delay line D122 is configured to output the high-band signal S30a aligned in time from an offset location OL of the shift register SR1. The position of the offset location OL varies with respect to a reference position (zero time offset) according to the current time offset as indicated, for example, by the regularization data signal SD10. The delay line D122 can be configured to support equal advance and delay limits or, alternatively, a larger limit than the other such that a greater displacement can be carried out in one direction than in the other. Figure 26a shows a particular example that supports a greater positive than negative time shift. The delay line D122 can be configured to emit one or more samples at a time (depending on an output bus width, for example).

Un desplazamiento de tiempo de regularización con una magnitud de más de unos pocos milisegundos puede provocar artefactos audibles en la señal decodificada. Normalmente, la magnitud de un desplazamiento de tiempo de regularización tal como se lleva a cabo por un codificador A124 de banda estrecha no excederá unos pocos milisegundos, de tal manera que se limitarán los desplazamientos de tiempo indicados por la señal SD10 de datos de regularización. Sin embargo, puede desearse en tales casos que la línea D122 de retardo se configure para imponer un límite máximo en los desplazamientos de tiempo en la dirección positiva y/o negativa (por ejemplo, para observar un límite más ajustado que el impuesto por el codificador de banda estrecha). A regularization time offset with a magnitude of more than a few milliseconds can cause audible artifacts in the decoded signal. Normally, the magnitude of a regularization time offset as performed by a narrowband encoder A124 will not exceed a few milliseconds, such that the time offsets indicated by the regularization data signal SD10 will be limited. However, it may be desired in such cases that the delay line D122 is configured to impose a maximum limit on time shifts in the positive and / or negative direction (for example, to observe a more tight limit than that imposed by the encoder narrow band).

La figura 26b muestra un diagrama esquemático de una implementación D124 de la línea D122 de retardo que incluye una ventana SW de desplazamiento. En este ejemplo, la posición de la ubicación OL de desfase está limitada por la ventana SW de desplazamiento. Aunque la figura 26b muestra un caso en el que la longitud m de memoria intermedia es mayor que el ancho de la ventana SW de desplazamiento, la línea D124 de retardo también puede implementarse de tal manera que el ancho de la ventana SW de desplazamiento sea igual a m. Figure 26b shows a schematic diagram of an implementation D124 of the delay line D122 that includes a scroll window SW. In this example, the position of the offset location OL is limited by the scroll window SW. Although Figure 26b shows a case where the buffer length m is greater than the width of the shift window SW, the delay line D124 can also be implemented such that the width of the shift window SW is equal to m.

En otras implementaciones, la línea D120 de retardo está configurada para escribir la señal S30 de habla de banda alta en una memoria intermedia según los desplazamientos de tiempo deseados. La figura 27 muestra un diagrama esquemático de una implementación D130 de este tipo de la línea D120 de retardo que incluye dos registros SR2 y SR3 de desplazamiento configurados para recibir y almacenar la señal S30 de habla de banda alta. La línea D130 de retardo está configurada para escribir una trama o subtrama del registro SR2 de desplazamiento al registro SR3 de desplazamiento según un desplazamiento de tiempo tal como se indica, por ejemplo, por la señal SD10 de datos de regularización. El registro SR3 de desplazamiento está configurado como una memoria intermedia FIFO dispuesta para emitir la señal S30a de banda alta alineada en el tiempo. In other implementations, the delay line D120 is configured to write the high band speech signal S30 in a buffer according to the desired time shifts. Figure 27 shows a schematic diagram of such an implementation D130 of the delay line D120 that includes two shift registers SR2 and SR3 configured to receive and store the high band speech signal S30. The delay line D130 is configured to write a frame or subframe of the shift register SR2 to the shift register SR3 according to a time offset as indicated, for example, by the regularization data signal SD10. The shift register SR3 is configured as a FIFO buffer arranged to output the high-band signal S30a aligned in time.

En el ejemplo particular mostrado en la figura 27, el registro SR2 de desplazamiento incluye una parte FB1 de memoria intermedia de trama y una parte DB de memoria intermedia de retardo, y el registro SR3 de desplazamiento incluye una parte FB2 de memoria intermedia de trama, una parte AB de memoria intermedia de avance, y una parte RB de memoria intermedia de retardo. Las longitudes de la memoria AB intermedia de avance y la memoria RB intermedia de retardo pueden ser iguales, o una puede ser más grande que la otra, de tal manera que se soporta un mayor desplazamiento en una dirección que en la otra. La memoria DB intermedia de retardo y la parte RB de memoria intermedia de retardo pueden configurarse para tener la misma longitud. Como alternativa, la memoria DB intermedia de retardo puede ser más pequeña que la memoria RB intermedia de retardo para representar un intervalo de tiempo requerido para transferir muestras desde la memoria FB1 intermedia de trama al registro SR3 de desplazamiento, que puede incluir otras operaciones de procesamiento tales como alineamiento de las muestras antes del almacenamiento en el registro SR3 de desplazamiento. In the particular example shown in Figure 27, the shift register SR2 includes a frame buffer part FB1 and a delay buffer part DB, and the shift register SR3 includes a frame buffer part FB2, a forward buffer part AB, and a delay buffer part RB. The lengths of the advance buffer AB and the delay buffer RB may be the same, or one may be larger than the other, such that greater displacement in one direction than in the other is supported. The delay buffer DB and the delay buffer portion RB can be configured to have the same length. Alternatively, the delay buffer DB may be smaller than the delay buffer RB to represent a time interval required to transfer samples from the frame buffer FB1 to the shift register SR3, which may include other processing operations such as alignment of the samples before storage in the SR3 shift register.

En el ejemplo de la figura 27, la memoria FB1 intermedia de trama está configurada para tener una longitud igual a la de una trama de la señal S30 de banda alta. En otro ejemplo, la memoria FB1 intermedia de trama está configurada para tener una longitud igual a la de una subtrama de la señal S30 de banda alta. En tal caso, la línea D130 de retardo puede configurarse para incluir una lógica para aplicar el mismo retardo (por ejemplo, un promedio) a todas las subtramas de una trama que va a desplazarse. La línea D130 de retardo también puede incluir una lógica para promediar valores de la memoria FB1 intermedia de trama con valores que van a sobreescribirse en la memoria RB intermedia de retardo o la memoria AB intermedia de avance. En otro ejemplo, el registro SR3 de desplazamiento puede configurarse para recibir valores de la señal S30 de banda alta sólo por medio de la memoria FB1 intermedia de trama, y en tal caso la línea D130 de retardo puede incluir una lógica para interpolar pausas entre tramas o subtramas sucesivas escritas en el registro SR3 de desplazamiento. En otras implementaciones, la línea D130 de retardo puede configurarse para llevar a cabo una operación de alineamiento en muestras de la memoria FB1 intermedia de trama antes de escribirlas en el registro SR3 de desplazamiento (por ejemplo, según una función descrita por la señal SD10 de datos de regularización). In the example of Figure 27, the frame buffer FB1 is configured to have a length equal to that of a frame of the high band signal S30. In another example, the frame buffer FB1 is configured to have a length equal to that of a subframe of the high band signal S30. In such a case, the delay line D130 can be configured to include a logic to apply the same delay (for example, an average) to all subframes of a frame to be moved. The delay line D130 may also include a logic for averaging values of the frame buffer FB1 with values to be overwritten in the delay buffer RB or the advance buffer buffer AB. In another example, the shift register SR3 can be configured to receive values of the high band signal S30 only by means of the frame buffer FB1, and in this case the delay line D130 can include a logic to interpolate pauses between frames or successive subframes written in the SR3 offset register. In other implementations, the delay line D130 may be configured to perform an alignment operation on samples of the frame buffer FB1 before writing them to the shift register SR3 (for example, according to a function described by the SD10 signal of regularization data).

Puede ser deseable que la línea D120 de retardo aplique un alineamiento de tiempo que se base en, pero no sea idéntico a, el alineamiento especificado por la señal SD10 de datos de regularización. La figura 28 muestra un diagrama de bloques de una implementación AD12 del codificador AD10 de habla de banda ancha que incluye un correlacionador D110 de valor de retardo. El correlacionador D110 de valor de retardo está configurado para correlacionar el alineamiento indicado por la señal SD10 de datos de regularización con valores SD10a de retardo correlacionados. La línea D120 de retardo se dispone para producir la señal S30a de habla de banda alta alineada en el tiempo según el alineamiento indicado por los valores SD10a de retardo correlacionados. It may be desirable for the delay line D120 to apply a time alignment that is based on, but is not identical to, the alignment specified by the regularization data signal SD10. Figure 28 shows a block diagram of an AD12 implementation of the broadband speech AD10 encoder that includes a delay value correlator D110. The delay value correlator D110 is configured to correlate the alignment indicated by the regularization data signal SD10 with correlated delay SD10a values. The delay line D120 is arranged to produce the high-band speech signal S30a aligned in time according to the alignment indicated by the correlated delay SD10a values.

Puede esperarse que el desplazamiento de tiempo aplicado por el codificador de banda estrecha evolucione suavemente a través del tiempo. Por tanto, normalmente es suficiente computar el desplazamiento de tiempo de banda estrecha promedio aplicado a las subtramas durante una trama de habla, y desplazar una trama correspondiente de la señal S30 de habla de banda alta según este promedio. En un ejemplo de este tipo, el correlacionador D110 de valor de retardo está configurado para calcular un promedio de los valores de retardo de subtrama para cada trama, y la línea D120 de retardo está configurada para aplicar el promedio calculado a una trama correspondiente de la señal S30 de banda alta. En otros ejemplos, puede calcularse y aplicarse un promedio a través de un periodo más corto (tal como dos subtramas, o la mitad de una trama) o un periodo más largo (tal como dos tramas). En un caso en el que el promedio sea un valor no entero de muestras, el correlacionador D110 de valor de retardo puede configurarse para redondear el valor a un número entero de muestras antes de emitirlo a la línea D120 de retardo. The time offset applied by the narrowband encoder can be expected to evolve smoothly over time. Therefore, it is usually sufficient to compute the average narrow band time offset applied to the subframes during a speech frame, and to shift a corresponding frame of the high band speech signal S30 according to this average. In such an example, the delay value correlator D110 is configured to calculate an average of the subframe delay values for each frame, and the delay line D120 is configured to apply the calculated average to a corresponding frame of the S30 high band signal. In other examples, an average can be calculated and applied over a shorter period (such as two subframes, or half a frame) or a longer period (such as two frames). In a case where the average is a non-integer sample value, the delay value correlator D110 can be configured to round the value to an integer number of samples before issuing it to the delay line D120.

El codificador A124 de banda estrecha puede configurarse para incluir un The narrowband A124 encoder can be configured to include a

desplazamiento de tiempo de regularización de un número no entero de muestras en la señal de excitación de banda estrecha codificada. En un caso de este tipo, puede ser deseable que el correlacionador D110 de valor de retardo se configure para redondear el desplazamiento de tiempo de banda estrecha a un número entero de muestras y que la línea D120 de retardo aplique el desplazamiento de tiempo redondeado a la señal S30 de habla de banda alta. displacement of regularization time of a non-integer number of samples in the encoded narrowband excitation signal. In such a case, it may be desirable that the delay value correlator D110 be configured to round the narrow band time offset to an integer number of samples and that the delay line D120 apply the rounded time offset to the S30 high band speech signal.

En algunas implementaciones del codificador AD10 de habla de banda ancha, pueden diferir las tasas de muestreo de la señal S20 de habla de banda estrecha y la señal S30 de habla de banda alta. En tales casos, el correlacionador D110 de valor de retardo puede configurarse para ajustar las cantidades de desplazamiento de tiempo indicadas en la señal SD10 de datos de regularización para representar una diferencia entre las tasas de muestreo de la señal S20 de habla de banda estrecha (o señal S80 de excitación de banda estrecha) y la señal S30 de habla de banda alta. Por ejemplo, el correlacionador D110 de valor de retardo puede configurarse para ajustar a escala las cantidades de desplazamiento de tiempo según una relación de las tasas de muestreo. En un ejemplo particular tal como se mencionó anteriormente, se muestrea la señal S20 de habla de banda estrecha a 8 kHz, y se muestrea la señal S30 de habla de banda alta a 7 kHz. En este caso, el correlacionador D110 de valor de retardo está configurado para multiplicar cada cantidad de desplazamiento por 7/8. También pueden configurarse implementaciones del correlacionador D110 de valor de retardo para llevar a cabo una operación de ajuste a escala de este tipo junto con una operación de redondeo a número entero y/o promediación de desplazamiento de tiempo tal como se describe en el presente documento. In some implementations of the broadband speech AD10 encoder, the sampling rates of the narrowband speech signal S20 and the high band speech signal S30 may differ. In such cases, the delay value correlator D110 can be configured to adjust the amounts of time offset indicated in the regularization data signal SD10 to represent a difference between the sampling rates of the narrowband speech signal S20 (or S80 narrowband excitation signal) and the high band speech signal S30. For example, the delay value correlator D110 can be configured to scale the amounts of time offset according to a ratio of sampling rates. In a particular example as mentioned above, the narrowband speech signal S20 at 8 kHz is sampled, and the high band talk signal S30 at 7 kHz is sampled. In this case, the delay value correlator D110 is configured to multiply each amount of offset by 7/8. Implementations of the delay value correlator D110 can also be configured to carry out a scaling operation of this type together with a rounding operation to an integer and / or averaging time offset as described herein.

En otras implementaciones, la línea D120 de retardo está configurada para modificar de otro modo la escala de tiempo de una trama u otra secuencia de muestras (por ejemplo, comprimiendo una parte y expandiendo otra parte). Por ejemplo, el codificador A124 de banda estrecha puede configurarse para llevar a cabo la regularización según una función tal como una trayectoria o contorno de altura tonal. En tal caso, la señal SD10 de datos de regularización puede incluir una descripción correspondiente de la función, tal como un conjunto de parámetros, y la línea D120 de retardo puede incluir una lógica configurada para alinear tramas o subtramas de la señal S30 de habla de banda alta según la función. En otras implementaciones, el correlacionador D110 de valor de retardo está configurado para promediar, ajustar a escala y/o redondear la función antes de que se aplique a la señal S30 de habla de banda alta por la línea D120 de retardo. Por ejemplo, el correlacionador D110 de valor de retardo puede configurarse para calcular uno o más valores de retardo según la función, indicando cada valor de retardo una serie de muestras, que entonces se aplican por la línea D120 de retardo para alinear en el tiempo una o más tramas o subtramas correspondientes de In other implementations, the delay line D120 is configured to otherwise modify the time scale of a frame or other sequence of samples (for example, by compressing one part and expanding another part). For example, the narrowband encoder A124 can be configured to perform regularization according to a function such as a path or contour of pitch. In such a case, the regularization data signal SD10 may include a corresponding description of the function, such as a set of parameters, and the delay line D120 may include a logic configured to align frames or subframes of the S30 speech signal. High band according to the function. In other implementations, the delay value correlator D110 is configured to average, scale and / or round the function before it is applied to the high-band speech signal S30 on the delay line D120. For example, the delay value correlator D110 can be configured to calculate one or more delay values according to the function, each delay value indicating a series of samples, which are then applied by the delay line D120 to align in time a or more corresponding frames or subframes of

la señal S30 de habla de banda alta. S30 high-band talk signal.

La figura 29 muestra un diagrama de flujo para un procedimiento MD100 de alineamiento de tiempo de una señal de habla de banda alta según un alineamiento de tiempo que se incluye en una señal de excitación de banda estrecha codificada correspondiente. La tarea TD100 procesa una señal de habla de banda ancha para obtener una señal de habla de banda estrecha y una señal de habla de banda alta. Por ejemplo, la tarea TD100 puede configurarse para filtrar la señal de habla de banda ancha usando un banco de filtros con filtros de paso bajo y paso alto, tales como una implementación del banco A110 de filtros. La tarea TD200 codifica la señal de habla de banda estrecha en al menos una señal de excitación de banda estrecha codificada y una pluralidad de parámetros de filtro de banda estrecha. Pueden cuantificarse la señal de excitación de banda estrecha codificada y/o los parámetros de filtro, y la señal de habla de banda estrecha codificada también puede incluir otros parámetros tales como un parámetro de modo de habla. La tarea TD200 también incluye un alineamiento de tiempo en la señal de excitación de banda estrecha codificada. Figure 29 shows a flow chart for an MD100 time alignment procedure of a high band speech signal according to a time alignment that is included in a corresponding coded narrow band excitation signal. The TD100 task processes a broadband speech signal to obtain a narrowband speech signal and a high band speech signal. For example, the TD100 task can be configured to filter the broadband speech signal using a filter bank with low pass and high pass filters, such as an implementation of the A110 filter bank. The TD200 task encodes the narrowband speech signal into at least one encoded narrowband excitation signal and a plurality of narrowband filter parameters. The encoded narrowband excitation signal and / or filter parameters may be quantified, and the encoded narrowband speech signal may also include other parameters such as a speech mode parameter. The TD200 task also includes a time alignment in the encoded narrowband excitation signal.

La tarea TD300 genera una señal de excitación de banda alta basándose en una señal de excitación de banda estrecha. En este caso, la señal de excitación de banda estrecha se basa en la señal de excitación de banda estrecha codificada. Según al menos la señal de excitación de banda alta, la tarea TD400 codifica la señal de habla de banda alta en al menos una pluralidad de parámetros de filtro de banda alta. Por ejemplo, la tarea TD400 puede configurarse para codificar la señal de habla de banda alta en una pluralidad de LSF cuantificadas. La tarea TD500 aplica un desplazamiento de tiempo a la señal de habla de banda alta que se basa en información relativa a un alineamiento de tiempo que se incluye en la señal de excitación de banda estrecha codificada. The TD300 task generates a high band excitation signal based on a narrow band excitation signal. In this case, the narrowband excitation signal is based on the encoded narrowband excitation signal. According to at least the high band excitation signal, task TD400 encodes the high band speech signal in at least a plurality of high band filter parameters. For example, task TD400 can be configured to encode the high band speech signal in a plurality of quantified LSFs. The TD500 task applies a time offset to the highband speech signal that is based on information related to a time alignment that is included in the encoded narrowband excitation signal.

La tarea TD400 puede configurarse para llevar a cabo un análisis espectral (tal como un análisis de LPC) en la señal de habla de banda alta, y/o para calcular una envolvente de ganancia de la señal de habla de banda alta. En tales casos, la tarea TD500 puede configurarse para aplicar el desplazamiento de tiempo a la señal de habla de banda alta antes del análisis y/o el cálculo de la envolvente de ganancia. The TD400 task can be configured to perform a spectral analysis (such as an LPC analysis) on the high band speech signal, and / or to calculate a gain envelope of the high band speech signal. In such cases, the TD500 task can be configured to apply the time offset to the high-band speech signal before analysis and / or calculation of the gain envelope.

Otras implementaciones del codificador A100 de habla de banda ancha están configuradas para invertir un alineamiento de tiempo de la señal S120 de excitación de banda alta provocado por un alineamiento de tiempo que se incluye en la señal de excitación de banda estrecha codificada. Por ejemplo, el generador A300 de excitación de banda alta puede implementarse para incluir una implementación de la línea D120 de retardo que está configurada para recibir la señal SD10 de datos de regularización o los valores SD10a de retardo correlacionados, y para aplicar un desplazamiento de tiempo inverso correspondiente a la señal S80 de excitación de banda estrecha, y/o a una señal posterior basándose en la misma tal como la señal S160 extendida armónicamente o la señal S120 de excitación de banda alta. Other implementations of the broadband speech A100 encoder are configured to reverse a time alignment of the high band excitation signal S120 caused by a time alignment that is included in the encoded narrowband excitation signal. For example, the high-band excitation A300 generator can be implemented to include an implementation of the delay line D120 that is configured to receive the SD10 regularization data signal or the correlated delay SD10a values, and to apply a time offset corresponding to the narrowband excitation signal S80, and / or a subsequent signal based on it such as the harmonically extended signal S160 or the high band excitation signal S120.

Otras implementaciones del codificador de habla de banda ancha pueden configurarse para codificar la señal S20 de habla de banda estrecha y la señal S30 de habla de banda alta independientemente entre sí, de tal manera que se codifique la señal S30 de habla de banda alta como una representación de una envolvente espectral de banda alta y una señal de excitación de banda alta. Puede configurarse una implementación de este tipo para llevar a cabo un alineamiento de tiempo de la señal residual de banda alta, o incluir de otro modo un alineamiento de tiempo en una señal de excitación de banda alta codificada, según información relativa a un alineamiento de tiempo que se incluye en la señal de excitación de banda estrecha codificada. Por ejemplo, el codificador de banda alta puede incluir una implementación de la línea D120 de retardo y/o el correlacionador D110 de valor de retardo tal como se describe en el presente documento que se configuran para aplicar un alineamiento de tiempo a la señal residual de banda alta. Las ventajas potenciales de una operación de este tipo incluyen una codificación más eficaz de la señal residual de banda alta y una mejor adaptación entre las señales de habla de banda alta y banda estrecha sintetizadas. Other implementations of the broadband speech encoder may be configured to encode the narrowband speech signal S20 and the highband speech signal S30 independently of one another, such that the highband speech signal S30 is encoded as a representation of a high band spectral envelope and a high band excitation signal. Such an implementation can be configured to carry out a time alignment of the high band residual signal, or otherwise include a time alignment in an encoded high band excitation signal, according to information related to a time alignment. which is included in the encoded narrowband excitation signal. For example, the high band encoder may include an implementation of the delay line D120 and / or the delay value correlator D110 as described herein that are configured to apply a time alignment to the residual signal of high band The potential advantages of such an operation include more efficient coding of the high band residual signal and better adaptation between synthesized high band and narrow band speech signals.

Tal como se mencionó anteriormente, las realizaciones tal como se describen en el presente documento incluyen implementaciones que pueden usarse para llevar a cabo una codificación integrada, soportando compatibilidad con sistemas de banda estrecha y evitando la necesidad de transcodificación. El soporte para la codificación de banda alta también puede servir para diferenciar en una base de coste entre chips, conjuntos de chips, dispositivos y/o redes con soporte de banda ancha con compatibilidad hacia atrás, y aquéllos que sólo tienen soporte de banda estrecha. También puede usarse soporte para codificación de banda alta tal como se describe en el presente documento conjuntamente con una técnica para soportar la codificación de banda baja, y un sistema, procedimiento o aparato según una realización de este tipo puede soportar la codificación de componentes de frecuencia, por ejemplo, desde aproximadamente 50 Hz ó 100 Hz hasta aproximadamente 7 kHz u 8 kHz. As mentioned above, the embodiments as described herein include implementations that can be used to perform integrated coding, supporting compatibility with narrowband systems and avoiding the need for transcoding. Support for highband coding can also serve to differentiate on a cost basis between chips, chipsets, devices and / or networks with broadband support with backward compatibility, and those that only have narrowband support. Support for high band coding can also be used as described herein in conjunction with a technique to support low band coding, and a system, method or apparatus according to such an embodiment can support frequency component coding. , for example, from about 50 Hz or 100 Hz to about 7 kHz or 8 kHz.

Tal como se mencionó anteriormente, la adición de soporte de banda alta a un codificador de habla puede mejorar la inteligibilidad, especialmente en relación con la diferenciación de fricativas. Aunque tal diferenciación puede deducirse habitualmente por un oyente humano del contexto particular, el soporte de banda alta puede servir como una característica de habilitación en el reconocimiento del habla y otras aplicaciones de interpretación por máquina, tales como sistemas para navegación en menú por voz automatizada y/o procesamiento de llamadas automático. As mentioned earlier, the addition of high band support to a speech encoder can improve intelligibility, especially in relation to fricative differentiation. Although such differentiation can usually be deduced by a human listener from the particular context, high band support can serve as an enabling feature in speech recognition and other machine interpretation applications, such as automated voice menu navigation systems and / or automatic call processing.

Un aparato según una realización puede integrarse en un dispositivo portátil para las comunicaciones inalámbricas tal como un teléfono celular o asistente digital personal (PDA). Como alternativa, puede incluirse un aparato de este tipo en otro dispositivo de comunicaciones tal como un microteléfono VoIP, un ordenador personal configurado para soportar comunicaciones VoIP, o un dispositivo de red configurado para encaminar comunicaciones VoIP o telefónicas. Por ejemplo, puede implementarse un aparato según una realización en un chip o conjunto de chips para un dispositivo de comunicaciones. Dependiendo de la aplicación particular, un dispositivo de este tipo también puede incluir tales características como conversión analógica-digital y/o digital-analógica de una señal de habla, un conjunto de circuitos para llevar a cabo operaciones de amplificación y/u otras operaciones de procesamiento de señales en una señal de habla, y/o un conjunto de circuitos de radiofrecuencia para la transmisión y/o recepción de la señal de habla codificada. An apparatus according to one embodiment can be integrated into a portable device for wireless communications such as a cell phone or personal digital assistant (PDA). Alternatively, such an apparatus may be included in another communications device such as a VoIP handset, a personal computer configured to support VoIP communications, or a network device configured to route VoIP or telephone communications. For example, an apparatus according to an embodiment can be implemented in a chip or chipset for a communication device. Depending on the particular application, such a device may also include such features as analog-digital and / or digital-analog conversion of a speech signal, a set of circuits for carrying out amplification operations and / or other operations of signal processing in a speech signal, and / or a set of radio frequency circuits for the transmission and / or reception of the encoded speech signal.

Se contempla y da a conocer explícitamente que las realizaciones pueden incluir y/o usarse con una cualquiera o más de las otras características dadas a conocer en las solicitudes de patentes provisionales estadounidenses n.os 60/667,901 y 60/673,965 (ahora publicaciones estadounidenses n. os 2006/0282263, 2007/0088558, 2007/0088541, 2006/0277042, 2007/0088542, 2006/0277038, 2006/0271356, y la solicitud estadounidense n.°11/397,871) de las que esta solicitud reivindica beneficio. Tales características incluyen la eliminación de ráfagas de alta energía de corta duración que se producen en la banda alta y carecen sustancialmente de la banda estrecha. Tales características incluyen suavizado adaptativo o fijo de representaciones de coeficiente tales como las LSF de banda alta. Tales características incluyen conformación adaptativa o fija de ruido asociada con cuantificación de representaciones de coeficiente tales como las LSF. Tales características también incluyen suavizado adaptativo o fijo de una envolvente de ganancia, y atenuación adaptativa de una envolvente de ganancia. It is explicitly contemplated and disclosed that the embodiments may include and / or be used with any one or more of the other features disclosed in U.S. provisional patent applications No. 60 / 667,901 and 60 / 673,965 (now US publications no. os 2006/0282263, 2007/0088558, 2007/0088541, 2006/0277042, 2007/0088542, 2006/0277038, 2006/0271356, and U.S. Application No. 11 / 397,871) from which this application claims benefit. Such features include the elimination of short-lived high-energy bursts that occur in the high band and substantially lack the narrow band. Such features include adaptive or fixed smoothing of coefficient representations such as high band LSF. Such features include adaptive or fixed noise conformation associated with quantification of coefficient representations such as LSF. Such features also include adaptive or fixed smoothing of a gain envelope, and adaptive attenuation of a gain envelope.

La presentación anterior de las realizaciones descritas se proporciona para permitir a cualquier experto en la técnica realizar o usar la presente invención. Son posibles diversas modificaciones de estas realizaciones, y los principios genéricos presentados en el presente documento también pueden aplicarse a otras realizaciones. Por ejemplo, una realización puede implementarse en parte o en su totalidad 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 firmware 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, siendo dicho código instrucciones ejecutables por una matriz de elementos lógicos tales como un microprocesador u otra unidad de procesamiento de señales digitales. El medio de almacenamiento de datos puede ser una matriz de elementos de almacenamiento tales como una memoria de semiconductores (que puede incluir sin limitación RAM (memoria de acceso aleatorio) estática o dinámica, ROM (memoria de sólo lectura) y/o flash RAM), o memoria ferroeléctrica, magnetorresistiva, ovónica, polimérica o de cambio de fase; o un medio de disco tal como un disco óptico o magnético. El término “software” debe entenderse como que incluye código fuente, código de lenguaje de ensamblaje, código de máquina, código binario, firmware, macrocódigo, microcódigo, uno cualquiera o más de conjuntos o secuencias de instrucciones ejecutables por una matriz de elementos lógicos, y cualquier combinación de tales ejemplos. The above presentation of the described embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications of these embodiments are possible, and the generic principles presented herein can also be applied to other embodiments. For example, one embodiment may be implemented in part or in its entirety as a wired circuit, as a circuit configuration manufactured in a specific application integrated circuit, or as a firmware program loaded in a non-volatile storage or a software program loaded from or in a data storage medium as machine-readable code, said code being instructions executable by an array of logical elements such as a microprocessor or other digital signal processing unit. The data storage medium may be an array of storage elements such as semiconductor memory (which may include without limitation static or dynamic RAM (random access memory), ROM (read-only memory) and / or RAM flash) , or ferroelectric, magnetoresistive, ovonic, polymeric or phase change memory; or a disk medium such as an optical or magnetic disk. The term "software" should be understood as including source code, assembly language code, machine code, binary code, firmware, macrocode, microcode, any one or more sets or sequences of instructions executable by an array of logical elements, and any combination of such examples.

Los diversos elementos de implementaciones de los generadores A300 y B300 de excitación de banda alta, el codificador A200 de banda alta, decodificador B200 de banda alta, codificador A100 de habla de banda ancha y decodificador B100 de habla de banda ancha pueden implementarse como dispositivos ópticos y/o electrónicos que residan, por ejemplo, en el mismo chip o entre dos o más chips en un conjunto de chips, aunque también se contemplan otras disposiciones sin tal limitación. Uno o más elementos de un aparato de este tipo pueden implementarse en su totalidad o en parte como uno o más conjuntos de instrucciones dispuestos para ejecutarse en una o más matrices programables o fijas de elementos lógicos (por ejemplo, transistores, puertas) tales como microprocesadores, procesadores integrados, núcleos IP, procesadores de señal digital, FPGA (disposiciones de puertas programables en campo), ASSP (productos estándar de aplicación específica) y ASIC (circuitos integrados de aplicación específica). También es posible que uno o más de tales elementos tengan una estructura en común (por ejemplo, un procesador usado para ejecutar partes de código correspondientes a elementos diferentes en momentos diferentes, un conjunto de instrucciones ejecutadas para llevar a cabo tareas correspondientes a elementos diferentes en momentos diferentes, o una disposición de dispositivos ópticos y/o electrónicos que lleven a cabo operaciones para elementos diferentes en momentos diferentes). Además, es posible que uno The various elements of implementations of the A300 and B300 high band excitation generators, the A200 high band encoder, B200 high band decoder, A100 broadband speech encoder and B100 broadband speech decoder can be implemented as optical devices and / or electronics that reside, for example, on the same chip or between two or more chips in a chipset, although other provisions are also contemplated without such limitation. One or more elements of such an apparatus may be implemented in whole or in part as one or more sets of instructions arranged to be executed in one or more programmable or fixed arrays of logical elements (for example, transistors, gates) such as microprocessors. , integrated processors, IP cores, digital signal processors, FPGA (field programmable door arrangements), ASSP (specific application standard products) and ASIC (specific application integrated circuits). It is also possible that one or more such elements have a common structure (for example, a processor used to execute parts of code corresponding to different elements at different times, a set of instructions executed to carry out tasks corresponding to different elements in different moments, or an arrangement of optical and / or electronic devices that carry out operations for different elements at different times). In addition, it is possible that one

o más de tales elementos se use para llevar a cabo tareas o ejecutar otros conjuntos de instrucciones que no se relacionen directamente con una operación del aparato, tales como una tarea que se relacione con otra operación de un dispositivo o sistema en el que se integre el aparato. or more of such elements is used to carry out tasks or execute other sets of instructions that are not directly related to an operation of the apparatus, such as a task that relates to another operation of a device or system in which the device is integrated. apparatus.

La figura 30 muestra un diagrama de flujo de un procedimiento M100, según una realización, de codificación de una parte de banda alta de una señal de habla que tiene una parte de banda estrecha y la parte de banda alta. La tarea X100 calcula un conjunto de parámetros de filtro que caracterizan una envolvente espectral de la parte de banda alta. La tarea X200 calcula una señal extendida espectralmente aplicando una función no lineal a una señal derivada de la parte de banda estrecha. La tarea X300 genera una señal de banda alta sintetizada según (A) el conjunto de parámetros de filtro y (B) una señal de excitación de banda alta basada en la señal extendida espectralmente. La tarea X400 calcula una envolvente de ganancia basándose en una relación entre (C) la energía de la parte de banda alta y (D) la energía de una señal derivada de la parte de banda estrecha. Figure 30 shows a flow chart of an M100 method, according to one embodiment, of coding a high band part of a speech signal having a narrow band part and a high band part. Task X100 calculates a set of filter parameters that characterize a spectral envelope of the high band part. Task X200 calculates a spectrally extended signal by applying a nonlinear function to a signal derived from the narrowband part. Task X300 generates a synthesized high band signal according to (A) the filter parameter set and (B) a high band excitation signal based on the spectrally extended signal. Task X400 calculates a gain envelope based on a relationship between (C) the energy of the high band part and (D) the energy of a signal derived from the narrow band part.

La figura 31a muestra un diagrama de flujo de un procedimiento M200 de generación de una señal de excitación de banda alta según una realización. La tarea Y100 calcula una señal extendida armónicamente aplicando una función no lineal a una señal de excitación de banda estrecha derivada de una parte de banda estrecha de una señal de habla. La tarea Y200 mezcla la señal extendida armónicamente con una señal de ruido modulado para generar una señal de excitación de banda alta. La figura 31b muestra un diagrama de flujo de un procedimiento M210 de generación de una señal de excitación de banda alta según otra realización que incluye las tareas Y300 e Y400. La tarea Y300 calcula una envolvente en el dominio del tiempo según la energía a través del tiempo de una entre la señal de excitación de banda estrecha y la señal extendida armónicamente. La tarea Y400 modula una señal de ruido según la envolvente en el dominio del tiempo para producir la señal de ruido modulado. Figure 31a shows a flow chart of a method M200 of generating a high band excitation signal according to one embodiment. Task Y100 calculates a harmonically extended signal by applying a nonlinear function to a narrowband excitation signal derived from a narrowband part of a speech signal. Task Y200 mixes the harmonically extended signal with a modulated noise signal to generate a high band excitation signal. Figure 31b shows a flow chart of a method M210 of generating a high band excitation signal according to another embodiment that includes tasks Y300 and Y400. Task Y300 calculates an envelope in the time domain according to the energy over time of one between the narrowband excitation signal and the harmonically extended signal. Task Y400 modulates a noise signal according to the envelope in the time domain to produce the modulated noise signal.

La figura 32 muestra un diagrama de flujo de un procedimiento M300 según una realización, de decodificación de una parte de banda alta de una señal de habla que tiene una parte de banda estrecha y la parte de banda alta. La tarea Z100 recibe un conjunto de parámetros de filtro que caracterizan una envolvente espectral de la parte de banda alta y un conjunto de factores de ganancia que caracterizan una envolvente temporal de la parte de banda alta. La tarea Z200 calcula una señal extendida espectralmente aplicando una función no lineal a una señal derivada de la parte de banda estrecha. La tarea Z300 genera una señal de banda alta sintetizada según (A) el conjunto de parámetros de filtro y (B) una señal de excitación de banda alta basada en la señal extendida espectralmente. La tarea Z400 modula una envolvente de ganancia de la señal de banda alta sintetizada basándose en el conjunto de factores de ganancia. Por ejemplo, la tarea Z400 puede configurarse para modular la envolvente de ganancia de la señal de banda alta sintetizada aplicando el conjunto de factores de ganancia a una señal de excitación derivada de la parte de banda estrecha, a la señal extendida espectralmente, a la señal de excitación de banda alta o a la señal de banda alta sintetizada. Figure 32 shows a flow chart of a method M300 according to one embodiment, of decoding a high band part of a speech signal having a narrow band part and a high band part. Task Z100 receives a set of filter parameters that characterize a spectral envelope of the high band part and a set of gain factors that characterize a temporary envelope of the high band part. Task Z200 calculates a spectrally extended signal by applying a nonlinear function to a signal derived from the narrowband part. Task Z300 generates a synthesized high band signal according to (A) the filter parameter set and (B) a high band excitation signal based on the spectrally extended signal. Task Z400 modulates a gain envelope of the synthesized high band signal based on the set of gain factors. For example, task Z400 can be configured to modulate the gain envelope of the synthesized high band signal by applying the set of gain factors to an excitation signal derived from the narrow band part, to the spectrally extended signal, to the signal high band excitation or synthesized high band signal.

Claims (26)

REIVINDICACIONES
1. one.
Un procedimiento de codificación de una parte (S30) de banda alta de una señal (S10) de habla que tiene una parte (S20) de banda baja y la parte (S30) de banda alta, comprendiendo dicho procedimiento: A method of encoding a high band part (S30) of a speech signal (S10) having a low band part (S20) and high band part (S30), said method comprising:
calcular una pluralidad de parámetros (S60a) de filtro que caracterizan una envolvente espectral de la parte de banda alta; calcular una señal (S160) extendida espectralmente extendiendo el espectro de una señal (S50, S80) de excitación derivada de la parte de banda baja; sumar la señal (S160) extendida espectralmente con ruido (S170) modulado según una envolvente derivada de la parte (S50, S80) de banda baja, para proporcionar una señal (S120) de excitación de banda alta; y calcular una envolvente (S60b) de ganancia basándose en una relación entre la parte (S30) de banda alta y una señal (S50, S80, S120, S130) basada en la parte de banda baja. calculate a plurality of filter parameters (S60a) that characterize a spectral envelope of the high band portion; calculate a spectrally extended signal (S160) extending the spectrum of an excitation signal (S50, S80) derived from the low band part; adding the spectrally extended signal (S160) with noise (S170) modulated according to an envelope derived from the low band part (S50, S80), to provide a high band excitation signal (S120); and calculate a gain envelope (S60b) based on a relationship between the high band part (S30) and a signal (S50, S80, S120, S130) based on the low band part.
2. 2.
El procedimiento según la reivindicación 1, en el que dicho cálculo de una señal (S120, S160) extendida espectralmente comprende extender el espectro (A400, A402) de la señal derivada de la parte (S50, S80) de banda baja aplicando una función (520) no lineal a la señal. The method according to claim 1, wherein said calculation of a spectrally extended signal (S120, S160) comprises extending the spectrum (A400, A402) of the signal derived from the low band part (S50, S80) by applying a function ( 520) nonlinear to the signal.
3. 3.
El procedimiento según la reivindicación 2, en el que dicho cálculo de una envolvente (S60b) de ganancia se basa en una relación entre la energía de la parte (S30) de banda alta y la energía de la señal basada en la parte (S120, S130) de banda baja. The method according to claim 2, wherein said calculation of a gain envelope (S60b) is based on a relationship between the energy of the high band part (S30) and the signal energy based on the part (S120, S130) Low band.
4. Four.
El procedimiento según la reivindicación 1, en el que dicha envolvente (S60b) de ganancia incluye una pluralidad de factores (S60b) de ganancia, correspondiendo cada uno a una diferente en una serie de subtramas consecutivas de una trama de la parte (S30) de banda alta, y en el que dicho cálculo de una envolvente (S60b) de ganancia basándose en una relación entre la parte (S30) de banda alta y una señal basada en la parte (S120, S130) de banda baja incluye calcular cada uno de la pluralidad de factores (S60b) de ganancia basándose en una relación entre (A) la energía de la subtrama respectiva de la parte (S30) de banda alta y (B) la energía de una parte correspondiente en el tiempo de la señal basada en la parte (S120, S130) de banda baja. The method according to claim 1, wherein said gain envelope (S60b) includes a plurality of gain factors (S60b), each corresponding to a different one in a series of consecutive subframes of a frame of part (S30) of high band, and wherein said calculation of a gain envelope (S60b) based on a relationship between the high band part (S30) and a signal based on the low band part (S120, S130) includes calculating each of the plurality of gain factors (S60b) based on a relationship between (A) the energy of the respective subframe of the high-band part (S30) and (B) the energy of a corresponding part in the time of the signal based on the low band part (S120, S130).
5. 5.
El procedimiento según la reivindicación 4, en el que dicho cálculo de cada uno de la pluralidad de factores (S60b) de ganancia incluye, para al menos uno de los factores (S60b) de ganancia, calcular una energía de la subtrama respectiva de la parte (S30) de banda alta usando una función ventana que superpone subtramas adyacentes de la parte (S30) de banda alta. The method according to claim 4, wherein said calculation of each of the plurality of gain factors (S60b) includes, for at least one of the gain factors (S60b), calculate an energy of the respective subframe of the part (S30) high band using a window function that overlaps adjacent subframes of the high band part (S30).
6. 6.
El procedimiento según la reivindicación 1, comprendiendo dicho procedimiento generar una señal (S130) de banda alta sintetizada según (A) una señal (S120) de excitación de banda alta basándose en la señal (S160) extendida espectralmente y (B) la pluralidad de parámetros (S60a) de filtro, y en el que la señal basada en la parte (S20, S130) de banda baja es la señal (S130) de banda alta sintetizada. The method according to claim 1, said method comprising generating a high band signal (S130) synthesized according to (A) a high band excitation signal (S120) based on the spectrally extended signal (S160) and (B) the plurality of filter parameters (S60a), and in which the signal based on the low band part (S20, S130) is the synthesized high band signal (S130).
7. 7.
El procedimiento según la reivindicación 6, en el que dicha envolvente (S60b) de ganancia incluye una pluralidad de factores (S60b) de ganancia, correspondiendo cada uno a una diferente en una serie de subtramas consecutivas de una trama de la parte (S130) de banda alta, y en el que dicho cálculo de una envolvente (S60b) de ganancia incluye calcular cada uno de la pluralidad de factores (S60b) de ganancia basándose en una relación entre (A) la energía de la subtrama respectiva de la parte (S30) de banda alta y (B) la energía de una parte correspondiente en el tiempo de la señal (S130) de banda alta sintetizada. The method according to claim 6, wherein said gain envelope (S60b) includes a plurality of gain factors (S60b), each corresponding to a different one in a series of consecutive subframes of a frame of the part (S130) of high band, and wherein said calculation of a gain envelope (S60b) includes calculating each of the plurality of gain factors (S60b) based on a relationship between (A) the energy of the respective subframe of the part (S30 ) high band and (B) the energy of a corresponding part in the time of the synthesized high band signal (S130).
8. 8.
El procedimiento según la reivindicación 7, en el que dicho cálculo de cada uno de la pluralidad de factores (S60b) de ganancia incluye, para al menos uno de los factores (S60b) de ganancia, calcular una energía de la subtrama respectiva de la parte (S30) de banda alta usando una función (T215a, T215b) ventana que superpone subtramas adyacentes de la parte (S30) de banda alta. The method according to claim 7, wherein said calculation of each of the plurality of gain factors (S60b) includes, for at least one of the gain factors (S60b), calculating an energy of the respective subframe of the part (S30) high band using a function (T215a, T215b) window that overlaps adjacent subframes of the high band part (S30).
9. 9.
El procedimiento según la reivindicación 8, en el que dicho cálculo de una señal (S120, S160) extendida espectralmente comprende extender el espectro (A400, A402) de la señal derivada de la parte (S50, S80) de banda baja aplicando una función (520) no lineal a la señal. The method according to claim 8, wherein said calculation of a spectrally extended signal (S120, S160) comprises extending the spectrum (A400, A402) of the signal derived from the low band part (S50, S80) by applying a function ( 520) nonlinear to the signal.
10. 10.
Un procedimiento de decodificación de una parte (S30, S100) de banda alta de una señal (S10, S110) de habla que tiene una parte (S20, S90) de banda baja y la parte (S30, S100) de banda alta, comprendiendo dicho procedimiento: A method of decoding a high band part (S30, S100) of a speech signal (S10, S110) having a low band part (S20, S90) and high band part (S30, S100), comprising said procedure:
recibir una pluralidad de parámetros (S60a) de filtro que caracterizan una envolvente espectral de la parte (S30, S100) de banda alta y una pluralidad de factores (S60b) de ganancia que caracterizan una envolvente temporal de la parte (530, S100) de banda alta; calcular una señal (S160) extendida espectralmente extendiendo el espectro de una señal que se basa en una señal (S50, S80) de excitación de banda baja; sumar la señal (S160) extendida espectralmente con ruido (S170) modulado según una envolvente derivada de la parte (S50, S80) de banda baja, para receiving a plurality of filter parameters (S60a) that characterize a spectral envelope of the high band part (S30, S100) and a plurality of gain factors (S60b) that characterize a temporal envelope of the part (530, S100) of high band; calculate a spectrally extended signal (S160) extending the spectrum of a signal based on a low band excitation signal (S50, S80); add the spectrally extended signal (S160) with noise (S170) modulated according to an envelope derived from the low band part (S50, S80), to proporcionar una señal (S120) de excitación de banda alta; provide a high band excitation signal (S120); generar una señal (S130) de banda alta sintetizada según (A) la pluralidad de parámetros (S60a) de filtro y (B) dicha señal (S120) de excitación de banda alta; y modificar (590) una envolvente de ganancia de la señal (S130) de banda alta sintetizada según la pluralidad de factores (S60b) de ganancia. generating a synthesized high band signal (S130) according to (A) the plurality of filter parameters (S60a) and (B) said high band excitation signal (S120); and modifying (590) a gain band of the high band signal (S130) synthesized according to the plurality of gain factors (S60b).
11. El procedimiento según la reivindicación 10, en el que dicho cálculo de una señal (S160) extendida espectralmente comprende extender el espectro (A400, A402) de la señal que se basa en una señal (S50, S80) de excitación de banda baja aplicando una función 11. The method according to claim 10, wherein said calculation of a spectrally extended signal (S160) comprises extending the spectrum (A400, A402) of the signal based on a low band excitation signal (S50, S80). applying a function (520) no lineal a la señal. (520) not linear to the signal.
12. 12.
El procedimiento según la reivindicación 10, en el que dicha modificación (590) de una envolvente de ganancia incluye modificar, según la pluralidad de factores (S60b) de ganancia, una amplitud a través del tiempo de al menos una entre una señal que se basa en la señal (S50, S80) de excitación de banda baja, la señal (S160) extendida espectralmente, la señal (S120) de excitación de banda alta, y la señal (5130) de banda alta sintetizada. The method according to claim 10, wherein said modification (590) of a gain envelope includes modifying, according to the plurality of gain factors (S60b), an amplitude over time of at least one between a signal that is based in the low band excitation signal (S50, S80), the spectrally extended signal (S160), the high band excitation signal (S120), and the synthesized high band signal (5130).
13. 13.
Un aparato (A200, A202) configurado para codificar una parte (S30) de banda alta de una señal (S10) de habla que tiene una parte (S20) de banda baja y la parte (S30) de banda alta, comprendiendo dicho aparato (A200, A202): An apparatus (A200, A202) configured to encode a high band part (S30) of a speech signal (S10) having a low band part (S20) and high band part (S30), said apparatus comprising ( A200, A202):
un módulo (A210) de análisis configurado para calcular un conjunto de parámetros de filtro que caracterizan una envolvente espectral de la parte (S30) de banda alta; un extensor (A400, A402) de espectro configurado para calcular una señal extendida espectralmente extendiendo el espectro de una señal (S50, S80) de excitación derivada de la parte de banda baja; un combinador (490) configurado para proporcionar una señal (S120) de excitación de banda alta mezclando la señal (S160) extendida espectralmente con ruido (S170) modulado según una envolvente derivada de la parte (S50. S80) de banda baja; y un calculador (A230) de factor de ganancia configurado para calcular una envolvente (S60b) de ganancia basándose en una relación que varía en el tiempo entre la parte (S30) de banda alta y una señal (S50, 580, 5120, 5130) basada en la parte de banda baja. an analysis module (A210) configured to calculate a set of filter parameters that characterize a spectral envelope of the high band part (S30); a spectrum extender (A400, A402) configured to calculate a spectrally extended signal by extending the spectrum of an excitation signal (S50, S80) derived from the low band portion; a combiner (490) configured to provide a high band excitation signal (S120) by mixing the spectrally extended signal (S160) with noise (S170) modulated according to an envelope derived from the low band part (S50. S80); and a gain factor calculator (A230) configured to calculate a gain envelope (S60b) based on a time-varying relationship between the high band part (S30) and a signal (S50, 580, 5120, 5130) based on the low band part.
14. 14.
El aparato (A200, A202) según la reivindicación 13, en el que dicho extensor (A400, A402) de espectro está configurado para extender el espectro de la señal derivada de la parte (S50, S80) de banda baja aplicando una función (520) no lineal a la señal. The apparatus (A200, A202) according to claim 13, wherein said spectrum extender (A400, A402) is configured to extend the spectrum of the signal derived from the low band part (S50, S80) by applying a function (520 ) nonlinear to the signal.
15. fifteen.
El aparato (A200, A202) según la reivindicación 14, en el que dicho calculador (A230) de factor de ganancia está configurado para calcular la envolvente (S60a) de ganancia basándose en una relación que varía en el tiempo entre la energía de la parte (S30) de banda alta y la energía de la señal basada en la parte (5120, S130) de banda baja. The apparatus (A200, A202) according to claim 14, wherein said gain factor calculator (A230) is configured to calculate the gain envelope (S60a) based on a time-varying relationship between the energy of the part (S30) high band and signal energy based on the low band part (5120, S130).
16. 16.
El aparato (A200, A2020) según la reivindicación 13, en el que dicha envolvente (S60b) de ganancia incluye una pluralidad de factores (S60b) de ganancia, correspondiendo cada uno a una diferente en una serie de subtramas consecutivas de una trama de la parte (S30) de banda alta, y en el que dicho calculador (A230) de envolvente de ganancia está configurado para calcular cada uno de la pluralidad de factores (S60b) de ganancia basándose en una relación entre (A) la energía de la subtrama respectiva de la parte (S30) de banda alta y The apparatus (A200, A2020) according to claim 13, wherein said gain envelope (S60b) includes a plurality of gain factors (S60b), each corresponding to a different one in a series of consecutive subframes of a frame of the frame. high band part (S30), and wherein said gain envelope calculator (A230) is configured to calculate each of the plurality of gain factors (S60b) based on a relationship between (A) the energy of the subframe respective part (S30) of high band and
(B) la energía de una parte correspondiente en el tiempo de la señal basada en la parte (S120, S130) de banda baja. (B) the energy of a corresponding part in the signal time based on the low band part (S120, S130).
17. 17.
El aparato (A200, A202) según la reivindicación 16, en el que, para al menos uno de la pluralidad de factores (S60b) de ganancia, dicho calculador (A230) de envolvente de ganancia está configurado para calcular una energía de la subtrama respectiva de la parte (S30) de banda alta usando una función (T215a, T215b) ventana que superpone subtramas adyacentes de la parte (S30) de banda alta. The apparatus (A200, A202) according to claim 16, wherein, for at least one of the plurality of gain factors (S60b), said gain envelope calculator (A230) is configured to calculate an energy of the respective subframe of the high band part (S30) using a function (T215a, T215b) window that overlaps adjacent subframes of the high band part (S30).
18. 18.
El aparato (A200, A202) según la reivindicación 15, comprendiendo dicho aparato The apparatus (A200, A202) according to claim 15, said apparatus comprising
(A200, A202): un generador (A300, A302, A304, A306, A312, A314, A316) de señal de excitación de banda alta configurado para generar una señal (S120) de excitación de banda alta basándose en la señal (S160) extendida espectralmente; y un filtro (A220) de síntesis configurado para generar una señal (S130) de banda alta sintetizada según la señal (S120) de excitación de banda alta y el conjunto de parámetros de filtro, y en el que la señal basada en la parte (S120, S130) de banda baja es la señal (S130) de banda alta sintetizada. (A200, A202): a high band excitation signal generator (A300, A302, A304, A306, A312, A314, A316) configured to generate a high band excitation signal (S120) based on the signal (S160) spectrally extended; and a synthesis filter (A220) configured to generate a high band signal (S130) synthesized according to the high band excitation signal (S120) and the set of filter parameters, and in which the signal based on the part ( S120, S130) low band is the synthesized high band signal (S130).
19. 19.
El aparato (A200, A202) según la reivindicación 18, en el que dicha envolvente (S60b) de ganancia incluye una pluralidad de factores (S60b) de ganancia, correspondiendo cada uno a una diferente en una serie de subtramas consecutivas de una trama de la parte (S30) de banda alta, y en el que dicho calculador (A230) de envolvente de ganancia está configurado para calcular cada uno de la pluralidad de factores (S60b) de ganancia basándose en una The apparatus (A200, A202) according to claim 18, wherein said gain envelope (S60b) includes a plurality of gain factors (S60b), each corresponding to a different one in a series of consecutive subframes of a frame of the high band part (S30), and wherein said gain envelope calculator (A230) is configured to calculate each of the plurality of gain factors (S60b) based on a
relación entre (A) la energía de la subtrama respectiva de la parte (S30) de banda alta y relationship between (A) the energy of the respective subframe of the high band part (S30) and (B) la energía de una parte correspondiente en el tiempo de la señal (S130) de banda alta sintetizada. (B) the energy of a corresponding part in the time of the synthesized high band signal (S130).
20. twenty.
El aparato (A200, A202) según la reivindicación 19, en el que, para al menos uno de la pluralidad de factores (S60b) de ganancia, dicho calculador (A230) de envolvente de ganancia está configurado para calcular una energía de la subtrama respectiva de la parte (S30) de banda alta usando una función (T215a, T215b) ventana que superpone subtramas adyacentes de la parte (S30) de banda alta. The apparatus (A200, A202) according to claim 19, wherein, for at least one of the plurality of gain factors (S60b), said gain envelope calculator (A230) is configured to calculate an energy of the respective subframe of the high band part (S30) using a function (T215a, T215b) window that overlaps adjacent subframes of the high band part (S30).
21. twenty-one.
El aparato (A200, A202) según la reivindicación 20, en el que dicho extensor (A400, A402) de espectro está configurado para extender el espectro de la señal derivada de la parte (S50, S80) de banda baja aplicando una función (520) no lineal a la señal. The apparatus (A200, A202) according to claim 20, wherein said spectrum extender (A400, A402) is configured to extend the spectrum of the signal derived from the low band part (S50, S80) by applying a function (520 ) nonlinear to the signal.
22. 22
El aparato (A200, A202) según la reivindicación 13, comprendiendo dicho aparato (A200, A202) un teléfono celular. The apparatus (A200, A202) according to claim 13, said apparatus (A200, A202) comprising a cell phone.
23. 2. 3.
Un decodificador (B202) de habla de banda alta configurado para recibir (A) una pluralidad de parámetros (S60a) de filtro que caracterizan una envolvente espectral de una parte (S30, S100) de banda alta de una señal (S10, S110) de habla y (B) una señal (S50) de excitación de banda baja codificada basada en una parte (S20, S90) de banda baja de la señal (S10, S110) de habla, comprendiendo dicho decodificador (B202): A high band speech decoder (B202) configured to receive (A) a plurality of filter parameters (S60a) that characterize a spectral envelope of a high band part (S30, S100) of a signal (S10, S110) of speaks and (B) a low band excitation signal (S50) encoded based on a low band part (S20, S90) of the speech signal (S10, S110), said decoder (B202) comprising:
un extensor (A400, A402) de espectro configurado para calcular una señal (S160) extendida espectralmente extendiendo el espectro de una señal que se basa en la señal (S50) de excitación de banda baja codificada; un combinador (490) configurado para proporcionar una señal (S120) de excitación de banda alta mezclando la señal (S160) extendida espectralmente con ruido (S170) modulado según una envolvente derivada de la parte (S50, S80) de banda baja; un filtro (B204) de síntesis configurado para generar una señal (S130) de banda alta sintetizada según (A) la pluralidad de parámetros (S60a) de filtro y (B) dicha señal (S120) de excitación de banda alta; y un elemento (590) de control de ganancia configurado para modificar una envolvente de ganancia de la señal (S130) de banda alta sintetizada según una pluralidad de factores (S60b) de ganancia que caracterizan una envolvente temporal de la parte (530, S100) de banda alta. a spectrum extender (A400, A402) configured to calculate a spectrally extended signal (S160) extending the spectrum of a signal based on the encoded low band excitation signal (S50); a combiner (490) configured to provide a high band excitation signal (S120) by mixing the spectrally extended signal (S160) with noise (S170) modulated according to an envelope derived from the low band part (S50, S80); a synthesis filter (B204) configured to generate a high band signal (S130) synthesized according to (A) the plurality of filter parameters (S60a) and (B) said high band excitation signal (S120); and a gain control element (590) configured to modify a gain envelope of the high band signal (S130) synthesized according to a plurality of gain factors (S60b) that characterize a temporal envelope of the part (530, S100) high band
24. 24.
El decodificador (B202) según la reivindicación 23, en el que dicho extensor (A400, A402) de espectro está configurado para extender el espectro de la señal que se basa en la señal (S50) de excitación de banda baja codificada aplicando una función (520) no The decoder (B202) according to claim 23, wherein said spectrum extender (A400, A402) is configured to extend the spectrum of the signal based on the low band excitation signal (S50) encoded by applying a function ( 520) no
lineal a la señal. linear to the signal.
25. 25.
El decodificador (B202) según la reivindicación 23, en el que dicho elemento (590) de control de ganancia está configurado para modificar, según la pluralidad de factores (S60b) de ganancia, una amplitud a través del tiempo de al menos una entre la señal (S50) de excitación de banda baja codificada, la señal (S160) extendida espectralmente, la señal (S120) de excitación de banda alta, y la señal (S130) de banda alta sintetizada. The decoder (B202) according to claim 23, wherein said gain control element (590) is configured to modify, according to the plurality of gain factors (S60b), an amplitude over time of at least one between the encoded low band excitation signal (S50), spectrally extended signal (S160), high band excitation signal (S120), and synthesized high band signal (S130).
26. 26.
El decodificador (B202) según la reivindicación 23, en el que dicho elemento (590) de control de ganancia comprende al menos uno entre un multiplicador y un amplificador. The decoder (B202) according to claim 23, wherein said gain control element (590) comprises at least one between a multiplier and an amplifier.
ES06740355T 2005-04-01 2006-04-03 PROCEDURE AND APPLIANCES FOR CODING AND DECODING A HIGH BAND PART OF A SPEAKING SIGNAL. Active ES2350494T3 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US66790105P 2005-04-01 2005-04-01
US667901P 2005-04-01
US673965P 2005-04-22

Publications (1)

Publication Number Publication Date
ES2350494T3 true ES2350494T3 (en) 2011-01-24

Family

ID=39406063

Family Applications (3)

Application Number Title Priority Date Filing Date
ES06740351T Active ES2351935T3 (en) 2005-04-01 2006-04-03 PROCEDURE AND APPARATUS FOR VECTOR QUANTIFICATION OF A SPECTRAL ENVELOPE REPRESENTATION.
ES06740355T Active ES2350494T3 (en) 2005-04-01 2006-04-03 PROCEDURE AND APPLIANCES FOR CODING AND DECODING A HIGH BAND PART OF A SPEAKING SIGNAL.
ES06740357T Active ES2358125T3 (en) 2005-04-01 2006-04-03 PROCEDURE AND APPLIANCE FOR AN ANTIDISPERSION FILTER OF AN EXTENDED SIGNAL FOR EXCESSING THE BAND WIDTH SPEED EXCITATION.

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES06740351T Active ES2351935T3 (en) 2005-04-01 2006-04-03 PROCEDURE AND APPARATUS FOR VECTOR QUANTIFICATION OF A SPECTRAL ENVELOPE REPRESENTATION.

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES06740357T Active ES2358125T3 (en) 2005-04-01 2006-04-03 PROCEDURE AND APPLIANCE FOR AN ANTIDISPERSION FILTER OF AN EXTENDED SIGNAL FOR EXCESSING THE BAND WIDTH SPEED EXCITATION.

Country Status (3)

Country Link
CN (8) CN101185124B (en)
ES (3) ES2351935T3 (en)
UA (6) UA95776C2 (en)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8484036B2 (en) 2005-04-01 2013-07-09 Qualcomm Incorporated Systems, methods, and apparatus for wideband speech coding
CN101620854B (en) * 2008-06-30 2012-04-04 华为技术有限公司 Method, system and device for frequency band expansion
CN101964690B (en) * 2009-07-22 2012-07-04 联芯科技有限公司 HARQ merged decoding method, device and system
CN102044250B (en) * 2009-10-23 2012-06-27 华为技术有限公司 Band spreading method and apparatus
WO2011118977A2 (en) * 2010-03-23 2011-09-29 엘지전자 주식회사 Method and apparatus for processing an audio signal
CN102610231B (en) 2011-01-24 2013-10-09 华为技术有限公司 Method and device for expanding bandwidth
DK3407352T3 (en) * 2011-02-18 2022-06-07 Ntt Docomo Inc SPEECH DECODES, SPEECH CODES, SPEECH DECODATION PROCEDURE, SPEECH CODING PROCEDURE, SPEECH DECODING PROGRAM AND SPEECH CODING PROGRAM
US9070361B2 (en) * 2011-06-10 2015-06-30 Google Technology Holdings LLC Method and apparatus for encoding a wideband speech signal utilizing downmixing of a highband component
HUE050600T2 (en) * 2011-11-03 2021-01-28 Voiceage Evs Llc Improving non-speech content for low rate celp decoder
CN102543091B (en) * 2011-12-29 2014-12-24 深圳万兴信息科技股份有限公司 System and method for generating simulation sound effect
BR122021018240B1 (en) * 2012-02-23 2022-08-30 Dolby International Ab METHOD FOR ENCODING A MULTI-CHANNEL AUDIO SIGNAL, METHOD FOR DECODING AN ENCODED AUDIO BITS STREAM, SYSTEM CONFIGURED TO ENCODE AN AUDIO SIGNAL, AND SYSTEM FOR DECODING AN ENCODED AUDIO BITS STREAM
EP3576089B1 (en) * 2012-05-23 2020-10-14 Nippon Telegraph And Telephone Corporation Encoding of an audio signal
CN105551497B (en) 2013-01-15 2019-03-19 华为技术有限公司 Coding method, coding/decoding method, encoding apparatus and decoding apparatus
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
CN103971693B (en) * 2013-01-29 2017-02-22 华为技术有限公司 Forecasting method for high-frequency band signal, encoding device and decoding device
US9601125B2 (en) * 2013-02-08 2017-03-21 Qualcomm Incorporated Systems and methods of performing noise modulation and gain adjustment
US9711156B2 (en) * 2013-02-08 2017-07-18 Qualcomm Incorporated Systems and methods of performing filtering for gain determination
EP2830061A1 (en) * 2013-07-22 2015-01-28 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding and decoding an encoded audio signal using temporal noise/patch shaping
EP2830055A1 (en) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Context-based entropy coding of sample values of a spectral envelope
US9620134B2 (en) * 2013-10-10 2017-04-11 Qualcomm Incorporated Gain shape estimation for improved tracking of high-band temporal characteristics
US10083708B2 (en) * 2013-10-11 2018-09-25 Qualcomm Incorporated Estimation of mixing factors to generate high-band excitation signal
US9384746B2 (en) * 2013-10-14 2016-07-05 Qualcomm Incorporated Systems and methods of energy-scaled signal processing
US9293143B2 (en) * 2013-12-11 2016-03-22 Qualcomm Incorporated Bandwidth extension mode selection
US9524720B2 (en) * 2013-12-15 2016-12-20 Qualcomm Incorporated Systems and methods of blind bandwidth extension
US10163447B2 (en) * 2013-12-16 2018-12-25 Qualcomm Incorporated High-band signal modeling
CN103714822B (en) * 2013-12-27 2017-01-11 广州华多网络科技有限公司 Sub-band coding and decoding method and device based on SILK coder decoder
US9984699B2 (en) * 2014-06-26 2018-05-29 Qualcomm Incorporated High-band signal coding using mismatched frequency ranges
CN104143335B (en) 2014-07-28 2017-02-01 华为技术有限公司 audio coding method and related device
EP2980798A1 (en) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Harmonicity-dependent controlling of a harmonic filter tool
US9595269B2 (en) * 2015-01-19 2017-03-14 Qualcomm Incorporated Scaling for gain shape circuitry
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
SG11201808684TA (en) 2016-04-12 2018-11-29 Fraunhofer Ges Forschung Audio encoder for encoding an audio signal, method for encoding an audio signal and computer program under consideration of a detected peak spectral region in an upper frequency band
CN110050304B (en) * 2016-12-16 2022-11-29 瑞典爱立信有限公司 Method, encoder and decoder for processing envelope representation coefficients
US10825467B2 (en) * 2017-04-21 2020-11-03 Qualcomm Incorporated Non-harmonic speech detection and bandwidth extension in a multi-source environment
US10431231B2 (en) * 2017-06-29 2019-10-01 Qualcomm Incorporated High-band residual prediction with time-domain inter-channel bandwidth extension
TWI723545B (en) * 2019-09-17 2021-04-01 宏碁股份有限公司 Speech processing method and device thereof
WO2020118321A2 (en) * 2020-02-14 2020-06-11 Futurewei Technologies, Inc. Multi-rate crest factor reduction
CN111402907B (en) * 2020-03-13 2023-04-18 大连理工大学 G.722.1-based multi-description speech coding method

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4805193A (en) * 1987-06-04 1989-02-14 Motorola, Inc. Protection of energy information in sub-band coding
US5455888A (en) * 1992-12-04 1995-10-03 Northern Telecom Limited Speech bandwidth extension method and apparatus
DE69619284T3 (en) * 1995-03-13 2006-04-27 Matsushita Electric Industrial Co., Ltd., Kadoma Device for expanding the voice bandwidth
US6097824A (en) * 1997-06-06 2000-08-01 Audiologic, Incorporated Continuous frequency dynamic range audio compressor
FI113571B (en) * 1998-03-09 2004-05-14 Nokia Corp speech Coding
WO2000070769A1 (en) * 1999-05-14 2000-11-23 Matsushita Electric Industrial Co., Ltd. Method and apparatus for expanding band of audio signal
US6393394B1 (en) * 1999-07-19 2002-05-21 Qualcomm Incorporated Method and apparatus for interleaving line spectral information quantization methods in a speech coder
JP4792613B2 (en) * 1999-09-29 2011-10-12 ソニー株式会社 Information processing apparatus and method, and recording medium
EP1147514B1 (en) * 1999-11-16 2005-04-06 Koninklijke Philips Electronics N.V. Wideband audio transmission system
CN1187735C (en) * 2000-01-11 2005-02-02 松下电器产业株式会社 Multi-mode voice encoding device and decoding device
US6704711B2 (en) * 2000-01-28 2004-03-09 Telefonaktiebolaget Lm Ericsson (Publ) System and method for modifying speech signals
US6732070B1 (en) * 2000-02-16 2004-05-04 Nokia Mobile Phones, Ltd. Wideband speech codec using a higher sampling rate in analysis and synthesis filtering than in excitation searching
US6947888B1 (en) * 2000-10-17 2005-09-20 Qualcomm Incorporated Method and apparatus for high performance low bit-rate coding of unvoiced speech
US6615169B1 (en) * 2000-10-18 2003-09-02 Nokia Corporation High frequency enhancement layer coding in wideband speech codec
US7260541B2 (en) * 2001-07-13 2007-08-21 Matsushita Electric Industrial Co., Ltd. Audio signal decoding device and audio signal encoding device
US6988066B2 (en) * 2001-10-04 2006-01-17 At&T Corp. Method of bandwidth extension for narrow-band speech
CN1209744C (en) * 2001-11-02 2005-07-06 松下电器产业株式会社 Coding device and decoding device
BRPI0206395B1 (en) * 2001-11-14 2017-07-04 Panasonic Intellectual Property Corporation Of America DECODING DEVICE, CODING DEVICE, COMMUNICATION SYSTEM CONSTITUTING CODING DEVICE AND CODING DEVICE, DECODING METHOD, COMMUNICATION METHOD FOR A SYSTEM ESTABLISHED BY CODING DEVICE, AND RECORDING MEDIA
EP1701340B1 (en) * 2001-11-14 2012-08-29 Panasonic Corporation Decoding device, method and program
DE60323331D1 (en) * 2002-01-30 2008-10-16 Matsushita Electric Ind Co Ltd METHOD AND DEVICE FOR AUDIO ENCODING AND DECODING
KR100446242B1 (en) * 2002-04-30 2004-08-30 엘지전자 주식회사 Apparatus and Method for Estimating Hamonic in Voice-Encoder
DE60304479T2 (en) * 2002-08-01 2006-12-14 Matsushita Electric Industrial Co., Ltd., Kadoma AUDIODE-CODING DEVICE AND AUDIODE-CODING METHOD BASED ON SPECTRAL-BAND DUPLICATION
CN1186765C (en) * 2002-12-19 2005-01-26 北京工业大学 Method for encoding 2.3kb/s harmonic wave excidted linear prediction speech
FI118550B (en) * 2003-07-14 2007-12-14 Nokia Corp Enhanced excitation for higher frequency band coding in a codec utilizing band splitting based coding methods
CN1598926A (en) * 2003-09-16 2005-03-23 株式会社东芝 Audio coding method and equipment with noise restaining

Also Published As

Publication number Publication date
CN101184979A (en) 2008-05-21
CN101180677A (en) 2008-05-14
CN101184979B (en) 2012-04-25
CN101185127A (en) 2008-05-21
CN101185120A (en) 2008-05-21
CN101185127B (en) 2014-04-23
CN101180676B (en) 2011-12-14
CN101180676A (en) 2008-05-14
UA94041C2 (en) 2011-04-11
CN101185124B (en) 2012-01-11
UA91853C2 (en) 2010-09-10
UA93677C2 (en) 2011-03-10
CN101185120B (en) 2012-05-30
UA95776C2 (en) 2011-09-12
CN101185124A (en) 2008-05-21
UA92341C2 (en) 2010-10-25
CN101180677B (en) 2011-02-09
CN101185125A (en) 2008-05-21
CN101185125B (en) 2012-01-11
ES2351935T3 (en) 2011-02-14
CN101185126B (en) 2014-08-06
UA92742C2 (en) 2010-12-10
ES2358125T3 (en) 2011-05-05
CN101185126A (en) 2008-05-21

Similar Documents

Publication Publication Date Title
ES2350494T3 (en) PROCEDURE AND APPLIANCES FOR CODING AND DECODING A HIGH BAND PART OF A SPEAKING SIGNAL.
ES2391292T3 (en) Systems, procedures and apparatus for generating a high band excitation signal
ES2705589T3 (en) Systems, procedures and devices for smoothing the gain factor
JP5437067B2 (en) System and method for including an identifier in a packet associated with a voice signal