ES2358125T3 - PROCEDURE AND APPLIANCE FOR AN ANTIDISPERSION FILTER OF AN EXTENDED SIGNAL FOR EXCESSING THE BAND WIDTH SPEED EXCITATION. - Google Patents

PROCEDURE AND APPLIANCE FOR AN ANTIDISPERSION FILTER OF AN EXTENDED SIGNAL FOR EXCESSING THE BAND WIDTH SPEED EXCITATION. Download PDF

Info

Publication number
ES2358125T3
ES2358125T3 ES06740357T ES06740357T ES2358125T3 ES 2358125 T3 ES2358125 T3 ES 2358125T3 ES 06740357 T ES06740357 T ES 06740357T ES 06740357 T ES06740357 T ES 06740357T ES 2358125 T3 ES2358125 T3 ES 2358125T3
Authority
ES
Spain
Prior art keywords
signal
high band
filter
spectrally
band excitation
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
ES06740357T
Other languages
Spanish (es)
Inventor
Koen Bernard Vos
Ananthapadmanabhan A. Kandhadai
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 ES2358125T3 publication Critical patent/ES2358125T3/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)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Transmitters (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

Un procedimiento para generar una señal de excitación de banda alta, comprendiendo dicho procedimiento: generar (A400) una señal (S160) ensanchada de manera espectral ensanchando el espectro de una señal (S80) que está basada en una señal codificada de excitación de banda baja; realizar un filtrado (600) de antidispersión de una señal (S80) que está basada en la señal codificada de excitación de banda baja, en el que la señal de excitación de banda alta está basada en la señal ensanchada de manera espectral, y en el que la señal de excitación de banda alta está basada en un resultado de dicha acción de filtrado de antidispersión; y en el que la acción de dicho filtrado de antidispersión está basada en un valor de al menos uno de entre un parámetro de inclinación espectral, un parámetro de ganancia de tono y un parámetro de modo de voz.A method for generating a high band excitation signal, said method comprising: generating (A400) a spectrally widened signal (S160) by broadening the spectrum of a signal (S80) that is based on a coded low band excitation signal ; perform anti-dispersion filtering (600) of a signal (S80) that is based on the low band excitation encoded signal, in which the high band excitation signal is based on the spectrally widened signal, and on the that the high band excitation signal is based on a result of said anti-dispersion filtering action; and wherein the action of said anti-dispersion filtering is based on a value of at least one of between a spectral inclination parameter, a tone gain parameter and a voice mode parameter.

Description

CAMPO DE LA INVENCIÓN FIELD OF THE INVENTION

Esta invención se refiere al procesamiento de señales. This invention relates to signal processing.

ANTECEDENTES BACKGROUND

Tradicionalmente, las comunicaciones de voz a través de la red telefónica pública conmutada (PSTN) han tenido limitado el ancho de banda al intervalo de frecuencias comprendido entre 300 y 3400 kHz. Las nuevas redes de comunicaciones de voz, tales como telefonía celular y voz sobre IP (Protocolo de Internet, VoIP), pueden tener otros límites de ancho de banda diferentes y puede ser deseable transmitir y recibir comunicaciones de voz que incluyan un intervalo de frecuencias de banda ancha en tales redes. Por ejemplo, puede ser deseable soportar un intervalo de frecuencias de audio con un valor inferior de 50 Hz y/o con un valor superior de 7 u 8 kHz. También puede ser deseable soportar otras aplicaciones, tales como conferencias de audio o de audio/vídeo de alta calidad, que puedan tener contenido de voz y audio en intervalos fuera de los límites PSTN tradicionales. Traditionally, voice communications over the public switched telephone network (PSTN) have limited bandwidth to the frequency range between 300 and 3400 kHz. New voice communications networks, such as cellular telephony and voice over IP (Internet Protocol, VoIP), may have other different bandwidth limits and it may be desirable to transmit and receive voice communications that include a frequency range of broadband in such networks. For example, it may be desirable to support a range of audio frequencies with a value lower than 50 Hz and / or with a value greater than 7 or 8 kHz. It may also be desirable to support other applications, such as high quality audio or audio / video conferences, which may have voice and audio content at intervals outside of traditional PSTN limits.

La ampliación del intervalo soportado por un codificador de voz en frecuencias superiores puede mejorar la inteligibilidad. Por ejemplo, la información que diferencia sonidos fricativos tales como 's' y 'f' está presente principalmente en las altas frecuencias. La ampliación de banda alta también puede mejorar otras características de la voz, tales como la presencia. Por ejemplo, incluso una vocal sonora puede presentar energía espectral muy por encima del límite PSTN. Extending the interval supported by a voice encoder at higher frequencies can improve intelligibility. For example, information that differentiates fricative sounds such as 's' and 'f' is present mainly at high frequencies. High band extension can also improve other voice features, such as presence. For example, even a sound vowel can have spectral energy well above the PSTN limit.

Un enfoque a la codificación de voz de banda ancha requiere escalar una técnica de codificación de voz de banda estrecha (por ejemplo, una técnica configurada para codificar el intervalo comprendido entre 0 y 4 kHz) para cubrir el espectro de banda ancha. Por ejemplo, una señal de voz puede muestrearse a una tasa superior para incluir componentes a altas frecuencias, y una técnica de codificación de banda estrecha puede reconfigurarse para utilizar más coeficientes de filtro para representar esta señal de banda ancha. Sin embargo, las técnicas de codificación de banda estrecha tales como CELP (predicción lineal excitada por libro de códigos) requieren un gran esfuerzo computacional y un codificador CELP de banda ancha puede consumir demasiados ciclos de procesamiento para que resulte práctico en muchas aplicaciones móviles y en otras aplicaciones embebidas. La codificación de todo el espectro de una señal de banda ancha en una calidad deseada utilizando una técnica de este tipo también puede dar lugar a un incremento inaceptablemente grande del ancho de banda. Además, la transcodificación de una señal codificada de este tipo sería necesaria incluso antes de que su parte de banda estrecha pudiera transmitirse a y/o descodificarse por un sistema que solo soporte codificación de banda estrecha. An approach to broadband voice coding requires scaling a narrowband voice coding technique (for example, a technique configured to encode the range between 0 and 4 kHz) to cover the broadband spectrum. For example, a voice signal can be sampled at a higher rate to include high frequency components, and a narrowband coding technique can be reconfigured to use more filter coefficients to represent this broadband signal. However, narrowband coding techniques such as CELP (linear prediction excited by codebook) require great computational effort and a CELP broadband encoder can consume too many processing cycles to be practical in many mobile applications and in Other embedded applications. The coding of the entire spectrum of a broadband signal in a desired quality using such a technique can also result in an unacceptably large increase in bandwidth. In addition, transcoding of such an encoded signal would be necessary even before its narrowband part could be transmitted to and / or decoded by a system that only supports narrowband coding.

Otro enfoque a la codificación de voz de banda ancha requiere extrapolar la envolvente espectral de banda alta a partir de la envolvente espectral de banda estrecha codificada. Aunque un enfoque de este tipo puede implementarse sin aumentar el ancho de banda y sin necesidad de transcodificación, la envolvente espectral aproximada o la estructura de formantes de la parte de banda alta de una señal de voz no pueden predecirse generalmente de manera precisa a partir de la envolvente espectral de la parte de banda estrecha. Another approach to broadband voice coding requires extrapolating the high band spectral envelope from the encoded narrow band spectral envelope. Although such an approach can be implemented without increasing bandwidth and without the need for transcoding, the approximate spectral envelope or the formant structure of the high band part of a voice signal cannot generally be accurately predicted from the spectral envelope of the narrow band part.

Puede ser deseable implementar la codificación de voz de banda ancha de manera que al menos la parte de banda estrecha de la señal codificada pueda enviarse a través de un canal de banda estrecha (tal como un canal PSTN) sin transcodificación u otra modificación significativa. La eficacia de la extensión de codificación de banda ancha también puede ser deseable, por ejemplo, para evitar una reducción significativa del número de usuarios que pueden recibir servicio en aplicaciones tales como telefonía celular inalámbrica y difusión a través de canales cableados y canales inalámbricos. It may be desirable to implement broadband voice coding so 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 receive service in applications such as wireless cellular telephony and broadcast through wired channels and wireless channels.

Un procedimiento y un aparato para una codificación de voz flexible con escalabilidades de ancho de banda se conocen a partir del documento "A Bitrate and Bandwidth scalable CELP Coder" de Toshiyuki et al., actas de la Conferencia Internacional de Seattle IEEE 1998, WA, USA, del 12 al 15 de mayo de 1998, Nueva York, NY, USA, IEEE, US, vol. 1, 12 de mayo de 1998 (12/05/1998), páginas 341 a 344, XP010279059 ISBN: 0-7803-4428-6. Según este procedimiento se utiliza una cuantificación vectorial de múltiples impulsos para la codificación, donde la herramienta de ampliación de ancho de banda codifica directamente una señal de voz de banda ancha sin utilizar una estructura de subbandas. Para la descodificación, la señal de voz de banda estrecha se extrae de una parte del flujo de bits codificado mediante un descodificador MP-CELP escalable de velocidad binaria, mientras que la señal de voz de banda ancha se obtiene utilizando todo el flujo de bits a través del descodificador MP-CELP escalable de velocidad binaria y de una herramienta de descodificación de ampliación de ancho de banda. A procedure and an apparatus for flexible voice coding with bandwidth scalabilities are known from the "A Bitrate and Bandwidth scalable CELP Coder" document by Toshiyuki et al., Proceedings of the Seattle International Conference IEEE 1998, WA, USA, May 12-15, 1998, New York, NY, USA, IEEE, US, vol. May 1, 12, 1998 (05/12/1998), pages 341-344, XP010279059 ISBN: 0-7803-4428-6. According to this procedure, a multi-pulse vector quantification is used for coding, where the bandwidth extension tool directly encodes a broadband voice signal without using a subband structure. For decoding, the narrowband voice signal is extracted from a portion of the bitstream encoded by a bit-rate MP-CELP decoder, while the broadband voice signal is obtained using the entire bitstream at through the MP-CELP bit rate scalable decoder and a bandwidth extension decoding tool.

Otro procedimiento se describe en el documento EP 1 300 833 A2, en el que una representación de envolvente espectral de ancho de banda se genera a partir de una representación espectral de banda estrecha de entrada utilizando coeficientes predictivos lineales (LPC). Este procedimiento también utiliza coeficientes de correlación y coeficientes de área asociados con los LPC de banda estrecha, donde esta representación está relacionada con un modelo de tubo acústico discretizado. Este procedimiento también aplica filtrado para reducir las deficiencias de una excitación de banda alta generada. Another procedure is described in EP 1 300 833 A2, in which a bandwidth spectral envelope representation is generated from a narrowband inlet spectral representation using linear predictive coefficients (LPC). This procedure also uses correlation coefficients and area coefficients associated with narrow-band LPCs, where this representation is related to a discretized acoustic tube model. This procedure also applies filtering to reduce the deficiencies of a high band excitation generated.

RESUMEN La invención proporciona un procedimiento para generar una señal de excitación de banda alta según la reivindicación 1, SUMMARY The invention provides a method for generating a high band excitation signal according to claim 1,

un medio de almacenamiento de datos según la reivindicación 18, un aparato según la reivindicación 19 y un programa informático según la reivindicación 40. BREVE DESCRIPCIÓN DE LOS DIBUJOS La figura 1a muestra un diagrama de bloques de un codificador A100 de voz de banda ancha según una realización. La figura 1b muestra un diagrama de bloques de una implementación A102 del codificador A100 de voz de banda ancha. La figura 2a muestra un diagrama de bloques de un descodificador B100 de voz de banda ancha según una realización. La figura 2b muestra un diagrama de bloques de una implementación B102 del codificador B100 de voz de banda ancha. La figura 3a muestra un diagrama de bloques de una implementación A112 de un banco A110 de filtros. La figura 3b muestra un diagrama de bloques de una implementación B122 de un banco B120 de filtros. La figura 4a muestra una cobertura de ancho de banda de una banda alta y de una banda baja de un ejemplo del banco a data storage medium according to claim 18, an apparatus according to claim 19 and a program computer according to claim 40. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1a shows a block diagram of a broadband voice encoder A100 according to one embodiment. Figure 1b shows a block diagram of an implementation A102 of the A100 broadband voice encoder. Figure 2a shows a block diagram of a broadband voice decoder B100 according to one embodiment. Figure 2b shows a block diagram of an implementation B102 of the B100 broadband voice encoder. Figure 3a shows a block diagram of an A112 implementation of an A110 filter bank. Figure 3b shows a block diagram of an implementation B122 of a filter bank B120. Figure 4a shows a bandwidth coverage of a high band and a low band of an example of the bank

A110 de filtros. A110 of filters.

La figura 4b muestra una cobertura de ancho de banda de una banda alta y de una banda baja de otro ejemplo del banco A110 de filtros. La figura 4c muestra un diagrama de bloques de una implementación A114 de un banco A112 de filtros. La figura 4d muestra un diagrama de bloques de una implementación B124 de un banco B122 de filtros. La figura 5a muestra un ejemplo de una representación gráfica de la amplitud logarítmica frente a la frecuencia de una Figure 4b shows a bandwidth coverage of a high band and a low band of another bank example A110 of filters. Figure 4c shows a block diagram of an A114 implementation of an A112 filter bank. Figure 4d shows a block diagram of an implementation B124 of a filter bank B122. Figure 5a shows an example of a graphical representation of the logarithmic amplitude versus the frequency of a

señal de voz. La figura 5b muestra un diagrama de bloques de un sistema de codificación básico de predicción lineal. La figura 6 muestra un diagrama de bloques de una implementación A122 de un codificador A120 de banda estrecha. La figura 7 muestra un diagrama de bloques de una implementación B112 de un descodificador B110 de banda estrecha. La figura 8a muestra un ejemplo de una representación gráfica de la amplitud logarítmica frente a la frecuencia de una voice signal Figure 5b shows a block diagram of a basic linear prediction coding system. Figure 6 shows a block diagram of an A122 implementation of a narrowband A120 encoder. Figure 7 shows a block diagram of an implementation B112 of a narrowband decoder B110. Figure 8a shows an example of a graphical representation of the logarithmic amplitude versus the frequency of a

señal residual de voz sonora. residual sound signal.

La figura 8b muestra un ejemplo de una representación gráfica de la amplitud logarítmica frente al tiempo de una señal residual de voz sonora. La figura 9 muestra un diagrama de bloques de un sistema de codificación básico de predicción lineal que también lleva a Figure 8b shows an example of a graphical representation of the logarithmic amplitude versus the time of a signal Residual sound voice. Figure 9 shows a block diagram of a basic linear prediction coding system that also leads to

cabo una predicción a largo plazo. La figura 10 muestra un diagrama de bloques de una implementación A202 de un codificador A200 de banda alta. La figura 11 muestra un diagrama de bloques de una implementación A302 de un generador A300 de excitación de banda Make a long-term prediction. Figure 10 shows a block diagram of an A202 implementation of a high band A200 encoder. Figure 11 shows a block diagram of an A302 implementation of an A300 band excitation generator

alta. La figura 12 muestra un diagrama de bloques de una implementación A402 de un ensanchador A400 de espectro. La figura 12a muestra representaciones gráficas de espectros de señales en varios puntos en un ejemplo de una high. Figure 12 shows a block diagram of an A402 implementation of a spectrum A400 stretcher. Figure 12a shows graphical representations of signal spectra at various points in an example of a

operación de ensanchamiento espectral. spectral widening operation.

La figura 12b muestra representaciones gráficas de espectros de señales en varios puntos en otro ejemplo de una operación de ensanchamiento espectral. La figura 13 muestra un diagrama de bloques de una implementación A304 de un generador A302 de excitación de banda Figure 12b shows graphical representations of signal spectra at various points in another example of a spectral widening operation. Figure 13 shows a block diagram of an implementation A304 of a band excitation generator A302

alta. high.

La figura 14 muestra un diagrama de bloques de una implementación A306 del generador A302 de excitación de banda alta. La figura 15 muestra un diagrama de flujo de una tarea T100 de cálculo de envolvente. La figura 16 muestra un diagrama de bloques de una implementación 492 de un combinador 490. Figure 14 shows a block diagram of an implementation A306 of the band excitation generator A302 high. Figure 15 shows a flow chart of a T100 envelope calculation task. Figure 16 shows a block diagram of an implementation 492 of a combiner 490.

La figura 17 muestra un enfoque para calcular una medida de periodicidad de una señal S30 de banda alta. La figura 18 muestra un diagrama de bloques de una implementación A312 del generador A302 de excitación de banda alta. Figure 17 shows an approach to calculate a periodicity measurement of a high band signal S30. Figure 18 shows a block diagram of an A312 implementation of the A302 band excitation generator high.

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

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

La figura 21 muestra un diagrama de flujo de una tarea T200 de cálculo de ganancia. La figura 22 muestra un diagrama de flujo de una implementación T210 de la tarea T200 de cálculo de ganancia. La figura 23a muestra un diagrama de una función de división en ventanas. La figura 23b muestra una aplicación de una función de división en ventanas, como la mostrada en la figura 23a, en Figure 21 shows a flow chart of a T200 gain calculation task. Figure 22 shows a flow chart of an implementation T210 of the T200 gain calculation task. Figure 23a shows a diagram of a window division function. Figure 23b shows an application of a window division function, such as that shown in Figure 23a, in

subtramas de una señal de voz. La figura 24 muestra un diagrama de bloques de una implementación B202 de un descodificador B200 de banda alta. La figura 25 muestra un diagrama de bloques de una implementación AD10 del codificador A100 de voz de banda ancha. La figura 26a muestra un diagrama esquemático de una implementación D122 de una línea D120 de retardo. La figura 26b muestra un diagrama esquemático de una implementación D124 de la línea D120 de retardo. La figura 27 muestra un diagrama esquemático de una implementación D130 de la línea D120 de retardo. La figura 28 muestra un diagrama de bloques de una implementación AD12 del codificador AD10 de voz de banda ancha. La figura 29 muestra un diagrama de flujo de un procedimiento de procesamiento MD100 de señales según una Subframes of a voice signal. Figure 24 shows a block diagram of a B202 implementation of a high band B200 decoder. Figure 25 shows a block diagram of an AD10 implementation of the A100 broadband voice encoder. Figure 26a shows a schematic diagram of an implementation D122 of a delay line D120. Figure 26b shows a schematic diagram of an implementation D124 of the delay line D120. Figure 27 shows a schematic diagram of an implementation D130 of the delay line D120. Figure 28 shows a block diagram of an AD12 implementation of the AD10 broadband voice encoder. Figure 29 shows a flow chart of an MD100 signal processing procedure according to a

realización. La figura 30 muestra un diagrama de flujo de un procedimiento M100 según una realización. La figura 31a muestra un diagrama de flujo de un procedimiento M200 según una realización. La figura 31b muestra un diagrama de flujo de una implementación M210 del procedimiento M200. La figura 32 muestra un diagrama de flujo de un procedimiento M300 según una realización. En las figuras y en la descripción adjunta, las mismas etiquetas de referencia se refieren a elementos o señales idénticos o realization. Figure 30 shows a flow chart of an M100 method according to one embodiment. Figure 31a shows a flow chart of an M200 process according to one embodiment. Figure 31b shows a flow chart of an M210 implementation of the M200 procedure. Figure 32 shows a flow chart of an M300 method according to one embodiment. In the figures and in the attached description, the same reference labels refer to identical elements or signals or

análogos. analogues

DESCRIPCIÓN DETALLADA DETAILED DESCRIPTION

Las realizaciones descritas en este documento incluyen sistemas, procedimientos y aparatos que pueden configurarse para ampliar un codificador de voz de banda estrecha para que soporte la transmisión y/o el almacenamiento de señales de voz de banda ancha con un incremento de ancho de banda comprendido solamente entre 800 y 1000 bps (bits por segundo) aproximadamente. Las ventajas potenciales de estas implementaciones incluyen codificación embebida para permitir la compatibilidad con sistemas de banda estrecha, una asignación y reasignación de bits relativamente sencillas entre los canales de codificación de banda estrecha y de banda alta, la eliminación de una operación de síntesis de banda ancha de un alto esfuerzo computacional y el mantenimiento de una baja tasa de muestreo para señales que van a procesarse mediante rutinas de codificación de forma de onda de un alto esfuerzo computacional. The embodiments described herein include systems, procedures and apparatus that can be configured to extend a narrowband voice encoder to support the transmission and / or storage of broadband voice signals with an increase in bandwidth only included. between 800 and 1000 bps (bits per second) approximately. The potential advantages of these implementations include embedded coding to allow compatibility with narrowband systems, a relatively simple bit allocation and reallocation between narrowband and highband coding channels, the elimination of a broadband synthesis operation of a high computational effort and the maintenance of a low sampling rate for signals to be processed by waveform coding routines of a high computational effort.

A no ser que esté limitado expresamente por su contexto, el término "calcular" se utiliza en este documento para indicar cualquiera de sus significados habituales, tales como computar, generar y seleccionar a partir de una lista de valores. Cuando se utilice el término "comprender" en la presente descripción y en las reivindicaciones, no excluye otros elementos u operaciones. El término "A se basa en B" se utiliza para indicar cualquiera de sus significados habituales, incluyendo los casos (i) “A es igual a B” y (ii) “A se basa al menos en B". El término "protocolo de Internet" incluye la versión 4, tal y como se describe en la RFC (solicitud de comentarios) 791 del IETF (grupo de trabajo de ingeniería de Internet) y versiones posteriores tales como la versión 6. Unless expressly limited by context, the term "calculate" is used in this document to indicate any of its usual meanings, such as computing, generating and selecting from a list of values. When the term "understand" is used in the present description and in the claims, it does not exclude other elements or operations. The term "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 term "protocol Internet "includes version 4, as described in RFC (request for comments) 791 of the 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 voz de banda ancha según una realización. Un banco A110 de filtros está configurado para filtrar una señal S10 de voz de banda ancha para generar una señal S20 de banda estrecha y una señal S30 de banda alta. Un codificador A120 de banda estrecha está configurado para codificar la señal S20 de banda estrecha para generar parámetros S40 de filtro de banda estrecha (NB) y una señal S50 residual de banda estrecha. Tal y como se describe en mayor detalle en este documento, el codificador A120 de banda estrecha está configurado normalmente para generar parámetros S40 de filtro de banda estrecha y una señal S50 de excitación de banda estrecha codificada como índices de libro de código o en otra forma cuantificada. Un codificador A200 de banda alta está configurado para codificar la señal S30 de banda alta según información de la señal S50 de excitación de banda estrecha codificada para generar parámetros S60 de codificación de banda alta. Tal y como se describe en mayor detalle en este documento, el codificador A200 de banda alta está configurado normalmente para generar parámetros S60 de codificación de banda alta como índices de libro de código o en otra forma cuantificada. Un ejemplo particular del codificador A100 de voz de banda ancha está configurado para codificar la señal S10 de voz de banda ancha a una velocidad de 8,55 kbps aproximadamente (kilobits por segundo), utilizándose 7,55 kbps aproximadamente para los parámetros S40 de filtro de banda estrecha y para la señal S50 de excitación de banda estrecha codificada, y utilizándose 1 kbps aproximadamente para los parámetros S60 de codificación de banda alta. Figure 1a shows a block diagram of a broadband voice encoder A100 according to one embodiment. An A110 filter bank is configured to filter a broadband voice signal S10 to generate a narrowband S20 signal and a high band S30 signal. An A120 narrowband encoder is configured to encode the narrowband signal S20 to generate narrowband filter S40 (NB) parameters and a residual narrowband S50 signal. As described in greater detail in this document, the narrowband A120 encoder is normally configured to generate narrowband filter parameters S40 and a narrowband excitation signal S50 encoded as codebook indices or otherwise quantified A high band encoder A200 is configured to encode the high band signal S30 according to information of the encoded narrow band excitation signal S50 to generate high band coding parameters S60. As described in greater detail in this document, the high-band encoder A200 is normally configured to generate high-band encoding parameters S60 as code book indices or in another quantified form. A particular example of the A100 broadband voice encoder is configured to encode the S10 broadband voice signal at a speed of approximately 8.55 kbps (kilobits per second), approximately 7.55 kbps being used for the filter parameters S40 narrow band and for the encoded narrow band excitation signal S50, and approximately 1 kbps being used for the high band coding parameters S60.

Puede ser deseable combinar las señales de banda estrecha y de banda alta codificadas en un único flujo de bits. Por ejemplo, puede ser deseable multiplexar juntas las señales codificadas para su transmisión (por ejemplo, a través de un canal de transmisión cableado, óptico o inalámbrico), o para su almacenamiento, como una señal de voz de banda ancha codificada. La figura 1b muestra un diagrama de bloques de una implementación A102 del codificador A100 de voz de banda ancha que incluye un multiplexor A130 configurado para combinar los parámetros S40 de filtro de banda estrecha, la señal S50 de excitación de banda estrecha codificada y los parámetros S60 de filtro de banda alta en una señal S70 multiplexada. It may be desirable to combine the narrowband and highband signals encoded in a single bit stream. For example, it may be desirable to multiplex the coded signals together for transmission (for example, through a wired, optical or wireless transmission channel), or for storage, such as a coded broadband voice signal. Figure 1b shows a block diagram of an implementation A102 of the broadband voice A100 encoder that includes an A130 multiplexer configured to combine the narrowband filter S40 parameters, the encoded narrowband excitation signal S50 and the S60 parameters High band filter on a multiplexed S70 signal.

Un aparato que incluye al codificador A102 también puede incluir un sistema de circuitos configurado para transmitir la señal S70 multiplexada en un canal de transmisión tal como un canal cableado, óptico o inalámbrico. Un aparato de este tipo también puede configurarse 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 velocidades compatibles) 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, cdma2000). An apparatus that includes the A102 encoder may also include a circuit system configured to transmit the multiplexed S70 signal on a transmission channel such as a wired, optical or wireless channel. Such an apparatus can also be configured to carry out one or more channel coding operations in the signal, such as error correction coding (for example, convolutional coding of compatible speeds) and / or error detection coding ( for example, cyclic redundancy coding), and / or one or more layers of network protocol coding (eg, Ethernet, TCP / IP, cdma2000).

Puede ser deseable que el multiplexor A130 esté configurado para encapsular la señal codificada de banda estrecha (incluyendo los parámetros S40 de filtro de banda estrecha y la señal S50 de excitación de banda estrecha) como un subflujo separable de la señal S70 multiplexada de manera que la señal codificada de banda estrecha pueda recuperarse y descodificarse 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, la señal S70 multiplexada puede estar dispuesta de manera que la señal codificada de banda estrecha pueda recuperarse extrayendo los parámetros S60 de filtro de banda alta. Una ventaja potencial de esta característica es evitar la necesidad de transcodificar la señal codificada de banda ancha antes de suministrarla a un sistema que soporte la descodificación de la señal de banda estrecha pero que no soporte la descodificación de la parte de banda alta. It may be desirable that the A130 multiplexer is configured to encapsulate the narrowband encoded signal (including the narrowband filter parameters S40 and the narrowband excitation signal S50) as a separable subflow of the multiplexed S70 signal so that the Narrowband encoded signal can be retrieved 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 signal S70 may be arranged so that the narrowband encoded signal can be recovered by extracting the high band filter parameters S60. A potential advantage of this feature is to avoid the need to transcode the encoded broadband signal before supplying it to a system that supports decoding the narrowband signal but does not support decoding the high band part.

La figura 2a es un diagrama de bloques de un descodificador B100 de voz de banda ancha según una realización. Un descodificador B110 de banda estrecha está configurado para descodificar los parámetros S40 de filtro de banda estrecha y la señal S50 codificada de excitación de banda estrecha para generar una señal S90 de banda estrecha. Un descodificador B200 de banda alta está configurado para descodificar los parámetros S60 de codificación de banda alta según una señal S80 de excitación de banda estrecha, basada en la señal S50 codificada de excitación de banda estrecha, para generar una señal S100 de banda alta. En este ejemplo, el descodificador B110 de banda estrecha está configurado para proporcionar la señal S80 de excitación de banda estrecha al descodificador B200 de banda alta. Un banco B120 de filtros está configurado para combinar la señal S90 de banda estrecha y la señal S100 de banda alta para generar una señal S110 de voz de banda ancha. Figure 2a is a block diagram of a broadband voice decoder B100 according to one embodiment. A narrowband decoder B110 is configured to decode the narrowband filter parameters S40 and the encoded narrowband excitation signal S50 to generate a narrowband S90 signal. A high-band decoder B200 is configured to decode the high-band encoding parameters S60 according to a narrow-band excitation signal S80, based on the encoded narrow-band excitation signal S50, to generate 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. A filter bank B120 is configured to combine the narrowband S90 signal and the high band S100 signal to generate a broadband voice signal S110.

La figura 2b es un diagrama de bloques de una implementación B102 del descodificador B100 de voz de banda ancha que incluye un desmultiplexor B130 configurado para generar las señales S40, S50 y S60 codificadas de la señal S70 multiplexada. Un aparato que incluye al descodificador B102 puede incluir un sistema de circuitos configurado para recibir la señal S70 multiplexada desde un canal de transmisión tal como un canal cableado, óptico o inalámbrico. Un aparato de este tipo también puede configurarse para llevar a cabo una o más operaciones de descodificación de canal en la señal, tal como descodificación de corrección de errores (por ejemplo, descodificación convolucional de velocidades compatibles) y/o descodificación de detección de errores (por ejemplo, descodificación de redundancia cíclica), y/o una o más capas de descodificación de protocolo de red (por ejemplo, Ethernet, TCP/IP, cdma2000). Figure 2b is a block diagram of an implementation B102 of the broadband voice decoder B100 that includes a demultiplexer B130 configured to generate the encoded S40, S50 and S60 signals of the multiplexed S70 signal. An apparatus that includes decoder B102 may include a circuit system configured to receive the multiplexed S70 signal from a transmission channel such as a wired, optical or wireless channel. An apparatus of this type can also be configured to carry out one or more channel decoding operations on the signal, such as error correction decoding (for example, convolutional decoding of compatible speeds) and / or error detection decoding ( for example, cyclic redundancy decoding), and / or one or more layers of network protocol decoding (eg, Ethernet, TCP / IP, cdma2000).

El banco A110 de filtros está configurado para filtrar una señal de entrada según un esquema de banda divida para generar una subbanda de baja frecuencia y una subbanda de alta frecuencia. Dependiendo de los criterios de diseño de la aplicación particular, las subbandas de salida pueden tener anchos de banda iguales o diferentes y pueden estar solapadas o no solapadas. También es posible una configuración del banco A110 de filtros que genere más de dos subbandas. Por ejemplo, un banco de filtros de este tipo puede configurarse para generar una o más señales de banda baja que incluyan componentes en un intervalo de frecuencias inferior al de la señal S20 de banda estrecha (tal como el intervalo comprendido entre 50 y 300 Hz). También es posible que un banco de filtros de este tipo esté configurado para generar una o más señales de banda alta adicionales que incluyan componentes en un intervalo de frecuencias superior al de la señal S30 de banda alta (tal como un intervalo comprendido entre 14 y 20, 16 y 20 o 16 y 32 KHz). En ese caso, el codificador A100 de voz de banda ancha puede implementarse para codificar esta señal o señales por separado, y el multiplexor A130 puede configurarse para incluir la señal o señales codificada(s) adicional(es) 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 generate a low frequency subband and a high frequency subband. Depending on the design criteria of the particular application, the output subbands may have the same or different bandwidths and may be overlapping or not overlapping. It is also possible to configure the A110 bank of filters that generates more than two subbands. For example, a bank of filters of this type can be configured to generate one or more low band signals that include components in a frequency range lower than that of the narrow band signal S20 (such as the range between 50 and 300 Hz) . It is also possible that such a bank of filters is configured to generate one or more additional high band signals that include components in a frequency range greater than that of the high band S30 signal (such as a range between 14 and 20 , 16 and 20 or 16 and 32 KHz). In that case, the A100 broadband voice encoder can be implemented to encode this signal or signals separately, and the A130 multiplexer can be configured to include the additional encoded signal (s) in the multiplexed S70 signal (by example, as a separable part).

La figura 3a muestra un diagrama de bloques de una implementación A112 del banco A110 de filtros que está configurada para generar dos señales de subbanda que presentan tasas de muestreo reducidas. El banco A110 de filtros está dispuesto para recibir una señal S10 de voz de banda ancha que presenta una parte de alta frecuencia (o de banda alta) y una parte de baja frecuencia (o de banda baja). El banco A112 de filtros incluye una trayectoria de procesamiento de banda baja configurada para recibir una señal S10 de voz de banda ancha y para generar una señal S20 de voz de banda estrecha, y una trayectoria de procesamiento de banda alta configurada para recibir la señal S10 de voz de banda ancha y para generar una señal S30 de voz de banda alta. Un filtro 110 paso bajo filtra la señal S10 de voz de banda ancha para hacer pasar una subbanda de baja frecuencia seleccionada, y un filtro 130 paso alto filtra la señal S10 de voz de banda ancha para hacer pasar una subbanda de alta frecuencia seleccionada. Puesto que ambas señales de subbanda presentan anchos de banda más estrechos que la señal S10 de voz de banda ancha, sus tasas de muestreo pueden reducirse hasta cierto punto sin pérdida de información. Un muestreador 120 descendente reduce la tasa de muestreo de la señal de paso bajo según un factor de diezmado deseado (por ejemplo, eliminando muestras de la señal y/o sustituyendo las muestras por valores promedio), y un muestreador 140 descendente reduce igualmente la tasa de muestreo de la señal de paso alto según otro factor de diezmado deseado. Figure 3a shows a block diagram of an A112 implementation of the A110 filter bank that is configured to generate two subband signals that have reduced sampling rates. The filter bank A110 is arranged to receive a broadband voice signal S10 that has a high frequency (or high band) part and a low frequency (or low band) part. The filter bank A112 includes a low band processing path configured to receive a broadband voice signal S10 and to generate a narrow band voice signal S20, and a high band processing path configured to receive the S10 signal broadband voice and to generate an S30 high band voice signal. A low pass filter 110 filters the broadband voice signal S10 to pass a selected low frequency subband, and a high pass filter 130 filters the broadband voice signal S10 to pass a selected high frequency subband. Since both subband signals have narrower bandwidths than the broadband voice signal S10, their sampling rates can be reduced to some extent without loss of information. A descending sampler 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 the samples with average values), and a descending sampler 140 also reduces the rate of sampling the high pass signal according to another desired decimation factor.

La figura 3b muestra un diagrama de bloques de una implementación B122 correspondiente del banco B120 de filtros. Un muestreador 150 ascendente aumenta la tasa de muestreo de la señal S90 de banda estrecha (por ejemplo, rellenando con ceros y/o duplicando las muestras), y un filtro 160 paso bajo filtra la señal muestreada de manera ascendente para hacer pasar solamente una parte de banda baja (por ejemplo, para impedir la superposición). Asimismo, un muestreador 170 ascendente aumenta la tasa de muestreo de la señal S100 de banda alta y un filtro 180 paso alto filtra la señal muestreada de manera ascendente para hacer pasar solamente una parte de banda alta. Después, las dos señales de banda de paso se suman para formar una señal S110 de voz de banda ancha. En algunas implementaciones del descodificador B100, el banco B120 de filtros está configurado para generar una suma ponderada de las dos señales de banda de paso según una o más ponderaciones recibidas y/o calculadas por el descodificador B200 de banda alta. También se contempla una configuración del banco B120 de filtros que combine más de dos señales de banda de paso. Figure 3b shows a block diagram of a corresponding implementation B122 of the filter bank B120. An ascending sampler 150 increases the sampling rate of the narrow-band signal S90 (for example, filling with zeros and / or duplicating the samples), and a low-pass filter 160 filters the sampled signal upwards to pass only a portion low band (for example, to prevent overlap). Likewise, an ascending sampler 170 increases the sampling rate of the high band signal S100 and a high pass filter 180 filters the sampled signal upwards to pass only a high band part. Then, the two passband signals are added together to form a broadband voice signal S110. In some implementations of the B100 decoder, the filter bank B120 is configured to generate 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 configuration of the filter bank B120 that combines more than two passband signals is also contemplated.

Cada uno de los filtros 110, 130, 160 y 180 pueden implementarse como un filtro de respuesta de impulsos finita (FIR) o como un filtro de respuesta de impulsos infinita (IIR). Las respuestas de frecuencia de los filtros 110 y 130 de codificador pueden presentar regiones de transición simétricas o de formas distintas entre la banda de detención y la banda de paso. Asimismo, las respuestas de frecuencia de los filtros 160 y 180 de descodificador pueden presentar regiones de transición simétricas o de formas distintas entre la banda de detención y la banda de paso. Puede ser deseable, pero no es estrictamente necesario, que el filtro 110 paso bajo tenga la misma respuesta que el filtro 160 paso bajo y que el filtro 130 paso alto tenga la misma respuesta que el filtro 180 paso alto. En un ejemplo, los dos pares 110, 130 y 160, 180 de filtros son bancos de filtros de espejo en cuadratura (QMF), presentando el par 110, 130 de filtros los mismos coeficientes que el par 160, 180 de filtros. Each of filters 110, 130, 160 and 180 can be implemented as a finite pulse response filter (FIR) or as an infinite pulse response filter (IIR). The frequency responses of the encoder filters 110 and 130 may have symmetrical transition regions or of different shapes between the stop band and the pass band. Also, the frequency responses of decoder filters 160 and 180 may have symmetrical transition regions or of different shapes between the stop band and the pass band. It may be desirable, but 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 banks of quadrature mirror filters (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 paso bajo presenta una banda de paso que incluye el intervalo PSTN limitado de 300 a 3400 Hz (por ejemplo, la banda de 0 a 4 kHz). Las figuras 4a y 4b muestran anchos de banda relativos de la señal S10 de voz de banda ancha, de la señal S20 de banda estrecha y de la señal S30 de banda alta en dos ejemplos de implantación diferentes. En estos dos ejemplos particulares, la señal S10 de voz de banda ancha presenta una tasa de muestreo de 16 kHz (representando componentes de frecuencia dentro del intervalo de 0 a 8 kHz), y la señal S20 de banda estrecha presenta una tasa de muestreo de 8 kHz (representando componentes de frecuencia dentro del intervalo de 0 a 4 kHz). In a typical example, the low pass filter 110 has a pass band that includes the limited PSTN range of 300 to 3400 Hz (for example, the 0 to 4 kHz band). Figures 4a and 4b show relative bandwidths of the broadband voice signal S10, the narrowband signal S20 and the highband signal S30 in two different implementation examples. In these two particular examples, the broadband voice signal S10 has a sampling rate of 16 kHz (representing frequency components within the range of 0 to 8 kHz), and the narrowband signal S20 has a sampling rate of 8 kHz (representing frequency components within the range of 0 to 4 kHz).

En el ejemplo de la figura 4a no se produce un solapamiento significativo entre las dos subbandas. Una señal S30 de banda alta como la mostrada en este ejemplo puede obtenerse utilizando un filtro 130 paso alto con una banda de paso de 4 a 8 kHz. En este caso, puede ser deseable reducir la tasa de muestreo a 8kHz realizando un muestreo descendente de la señal filtrada mediante un factor de dos. Una operación de este tipo, mediante la cual se espera reducir significativamente la complejidad computacional de operaciones de procesamiento adicionales en la señal, reducirá la energía de banda de paso al intervalo de 0 a 4 kHz sin pérdida de información. In the example of Figure 4a there is no significant overlap between the two subbands. A high band signal S30 as shown in this example can be obtained using a high pass filter 130 with a pass band of 4 to 8 kHz. In this case, it may be desirable to reduce the sampling rate to 8kHz by descending sampling the filtered signal by a factor of two. An operation of this type, by which it is expected to significantly reduce the computational complexity of additional processing operations in the signal, will reduce the pass-band energy in the range of 0 to 4 kHz without loss of information.

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

En un dispositivo de microteléfono típico para una comunicación telefónica, uno o más de los transductores (es decir, el micrófono y el auricular u altavoz) carece(n) de una respuesta apreciable en el intervalo de frecuencias de 7 a 8 kHz. En el ejemplo de la figura 4b, la parte de la señal S10 de voz de banda ancha entre 7 y 8 kHz no está incluida en la señal codificada. Otros ejemplos particulares del filtro 130 paso alto presentan bandas de paso de 3,5 a 7,5 kHz y de 3,5 a 8 kHz. In a typical handset for telephone communication, one or more of the transducers (i.e., the microphone and the earpiece or speaker) lacks an appreciable response in the frequency range of 7 to 8 kHz. In the example of Figure 4b, the part of the broadband voice signal S10 between 7 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 to 7.5 kHz and 3.5 to 8 kHz.

En algunas implementaciones, la provisión de un solapamiento entre subbandas como en el ejemplo de la figura 4b permite la utilización de un filtro paso bajo y/o de un filtro paso alto que presenten una suave caída en la región solapada. Tales filtros son normalmente más fáciles de diseñar, menos complejos computacionalmente y/o introducen menos retardo que los filtros con respuestas más angulosas o de “muro de ladrillos”. Los filtros que presentan regiones de transición angulosas tienden a tener mayores lóbulos laterales (lo que puede provocar superposición) que los filtros de orden similar que presentan suaves caídas. Los filtros que presentan regiones de transición angulosas también pueden presentar largas respuestas de impulsos que pueden provocar artefactos oscilantes. En implementaciones de bancos de filtros que presenten uno o más filtros IIR, permitiendo una suave caída en la región solapada puede adoptarse la utilización de un filtro o filtros cuyos polos estén alejados del círculo unitario, lo que puede ser importante para garantizar una implementación de punto fijo estable. In some implementations, the provision of an overlap between subbands as in the example of Figure 4b allows the use of a low pass filter and / or a high pass filter that exhibits a smooth fall in the overlapping region. Such filters are normally easier to design, less complex computationally and / or introduce less delay than filters with more angular or "brick wall" responses. Filters that have angular transition regions tend to have larger lateral lobes (which can cause overlap) than filters of a similar order that have smooth drops. Filters that have angular transition regions can also have long impulse responses that can cause oscillating artifacts. In implementations of filter banks that have one or more IIR filters, allowing a smooth fall in the overlapping region, the use of a filter or filters whose poles are far from the unit circle can be adopted, which may be important to guarantee a point implementation steady stable.

El solapamiento de las subbandas permite una mezcla uniforme de banda baja y de banda alta que puede dar lugar a artefactos menos audibles, una menor superposición y/o una transición menos apreciable de una banda a otra. Además, la eficacia de codificación del codificador A120 de banda estrecha (por ejemplo, un codificador de forma de onda) puede disminuir con una frecuencia creciente. Por ejemplo, la calidad de codificación del codificador de banda estrecha puede reducirse a bajas velocidades binarias, especialmente en presencia de ruido de fondo. En tales casos, proporcionar un solapamiento de las subbandas puede aumentar la calidad de las componentes de frecuencia reproducidas en la región solapada. The overlapping of the subbands allows a uniform mix of low band and high band that can lead to less audible artifacts, less overlap and / or a less appreciable transition from one band to another. In addition, the encoding efficiency of the narrowband A120 encoder (for example, a waveform encoder) may decrease 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 overlap of the subbands can increase the quality of the frequency components reproduced in the overlapping region.

Además, el solapamiento de las subbandas permite una mezcla uniforme de banda baja y de banda alta que puede dar lugar a artefactos menos audibles, una superposición reducida y/o una transición menos perceptible de una banda a otra. Esta 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 funcionen según diferentes metodologías de codificación. Por ejemplo, diferentes técnicas de codificación pueden generar señales que suenen de manera muy diferente. Un codificador que codifique una envolvente espectral en forma de índices de libro de código puede generar una señal que tenga un sonido diferente al de un codificador que codifique en cambio el espectro de amplitud. Un codificador de dominio de tiempo (por ejemplo, un codificador PCM o de modulación por códigos de impulsos) puede generar una señal que tenga un sonido diferente al de un codificador de dominio de frecuencia. Un codificador que codifique una señal con una representación de la envolvente espectral y la señal residual correspondiente puede generar una señal que tenga un sonido diferente al de un codificador que codifique una señal con solamente una representación de la envolvente espectral. Un codificador que codifique una señal como una representación de su forma de onda puede generar una salida que tenga un sonido diferente al de un codificador sinusoidal. En tales casos, la utilización de filtros que presenten regiones de transición angulosas para definir subbandas no solapadas puede dar lugar a una transición abrupta y perceptualmente apreciable entre las subbandas de la señal de banda ancha sintetizada. In addition, the overlapping of the subbands allows for a uniform mix 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 another. This 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 generate signals that sound very differently. An encoder encoding a spectral envelope in the form of codebook indices can generate a signal that has a different sound than an encoder that instead encodes the amplitude spectrum. A time domain encoder (for example, a PCM or pulse code modulation encoder) can generate a signal that has a sound different from that of a frequency domain encoder. An encoder that encodes a signal with a representation of the spectral envelope and the corresponding residual signal can generate 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 generate an output that has a sound different from that of a sinusoidal encoder. In such cases, the use of filters presenting angular transition regions to define non-overlapping subbands may result in an abrupt and significantly appreciable transition between the subbands of the synthesized broadband signal.

Aunque los bancos de filtros QMF que presentan respuestas de frecuencia solapadas complementarias se utilizan normalmente en técnicas de subbanda, tales filtros no son adecuados para al menos algunas de las implementaciones de codificación de banda ancha descritas en este documento. Un banco de filtros QMF en el codificador está configurado para crear un grado significativo de superposición que se suprime en el banco de filtros QMF correspondiente en el descodificador. Una disposición de este tipo puede no ser apropiada para una aplicación en la que la señal adquiere una cantidad importante de distorsión entre los bancos de filtros, ya que la distorsión puede reducir la eficacia de la propiedad de supresión de superposición. Por ejemplo, las aplicaciones descritas en este documento incluyen implementaciones de codificación configuradas para funcionar a velocidades binarias muy bajas. Como consecuencia de la reducida velocidad binaria, es probable que la señal descodificada aparezca significativamente distorsionada en comparación con la original, de manera que la utilización de bancos de filtros QMF puede dar lugar a una superposición no eliminada. Las aplicaciones que utilizan bancos de filtros QMF presentan normalmente velocidades binarias superiores (por ejemplo, por encima de los 12 kbps para AMR y de los 64 kbps para G.722). Although QMF filter banks that have complementary overlapping frequency responses are normally used in subband techniques, such filters are not suitable 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 suppressed in the corresponding QMF filter bank in the decoder. Such an arrangement may not be appropriate for an application in which the signal acquires a significant amount of distortion between the filter banks, since the distortion can reduce the effectiveness of the overlay suppression property. For example, the applications described in this document include coding implementations configured to operate at very low bit rates. As a result of the reduced bit rate, the decoded signal is likely to appear significantly distorted compared to the original one, so that the use of QMF filter banks may result in an overlapping not eliminated. Applications that use QMF filter banks typically have higher bit rates (for example, above 12 kbps for AMR and 64 kbps for G.722).

Además, un codificador puede configurarse para generar una señal sintetizada que sea perceptualmente similar a la señal original pero que realmente sea muy diferente de la señal original. Por ejemplo, un codificador que obtenga la excitación de banda alta a partir de la señal residual de banda estrecha tal y como se describe en este documento puede generar una señal de este tipo, ya que la señal residual de banda alta real puede estar totalmente ausente de la señal descodificada. La utilización de bancos de filtros QMF en tales aplicaciones puede dar lugar a un grado de distorsión significativo provocado por una superposición no eliminada. In addition, an encoder can be configured to generate a synthesized signal that is significantly similar to the original signal but is really very different from the original signal. For example, an encoder that obtains high-band excitation from the narrow-band residual signal as described herein may generate such a signal, since the actual high-band residual signal may be totally absent. of the decoded signal. The use of banks of QMF filters in such applications can result in a significant degree of distortion caused by an overlap not eliminated.

La cantidad de distorsión provocada por la superposición QMF puede reducirse si la subbanda afectada es estrecha, ya que el efecto de la superposición está limitado a un ancho de banda igual al ancho de la subbanda. Sin embargo, para los ejemplos descritos en este documento en los que cada subbanda incluye casi la mitad del ancho de banda de banda ancha, la distorsión provocada por la superposición no eliminada podría afectar a una parte significativa de la señal. La calidad de la señal también puede verse afectada por la posición de la banda de frecuencia sobre la cual se produce la superposición no eliminada. Por ejemplo, la distorsión creada cerca del centro de una señal de voz de banda ancha (por ejemplo, entre 3 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 los 6 kHz). The amount of distortion caused by the QMF overlay can be reduced if the affected subband is narrow, since the effect of the overlay is limited to a bandwidth equal to the width of the subband. However, for the examples described in this document in which each subband includes almost half of the broadband bandwidth, the distortion caused by the non-eliminated overlay could affect a significant part of the signal. The quality of the signal can also be affected by the position of the frequency band on which the superimposed overlap occurs. For example, the distortion created near the center of a broadband voice signal (for example, between 3 and 4 kHz) may be much more unacceptable than the distortion that occurs near an edge of the signal (for example, by above 6 kHz).

Aunque las respuestas de los filtros de un banco de filtros QMF están estrictamente relacionadas entre sí, la trayectoria de banda baja y la trayectoria de banda alta de los bancos A110 y B120 de filtros pueden configurarse para presentar espectros que no estén en absoluto relacionados aparte del solapamiento de las dos subbandas. El solapamiento de las dos subbandas se define como la distancia desde el punto en el que la respuesta de frecuencia del filtro de banda alta desciende a -20 dB hasta el punto en que la respuesta de frecuencia del filtro de banda baja desciende a 20 dB. En varios ejemplos del banco A110 y/o B120 de filtros, este solapamiento oscila entre 200 Hz aproximadamente y 1 kHz aproximadamente. El intervalo entre 400 Hz aproximadamente y 600 Hz aproximadamente puede representar un equilibrio deseable entre la eficacia de codificación y una uniformidad perceptual. En un ejemplo particular como el mencionado anteriormente, el solapamiento es de 500 Hz aproximadamente. Although the responses of the filters of a bank of QMF filters are strictly related to each other, the low band path and the high band path of the filter banks A110 and B120 can be configured to present spectra that are not related at all apart from the overlap of the two subbands. The overlap of the two subbands is defined as the distance from the point at which the frequency response of the high band filter drops to -20 dB to the point where the frequency response of the low band filter drops to 20 dB. In several examples of the A110 and / or B120 filter bank, this overlap ranges from approximately 200 Hz to approximately 1 kHz. The interval between approximately 400 Hz and approximately 600 Hz may represent a desirable balance between coding efficiency and perceptual uniformity. In a particular example like the one mentioned above, the overlap is approximately 500 Hz.

Puede ser deseable implementar el banco A122 y/o B122 de filtros para llevar a cabo operaciones como las ilustradas en las figuras 4a y 4b en varias fases. Por ejemplo, la figura 4c muestra un diagrama de bloques de una implementación A114 del banco A112 de filtros que realiza un equivalente funcional de operaciones de muestreo descendente y de filtrado de paso alto utilizando una serie de operaciones de interpolación, remuestreo, diezmado, y otras aplicaciones. Una implementación de este tipo puede ser más fácil de diseñar y/o puede permitir la reutilización de bloques funcionales de lógica y/o código. Por ejemplo, puede utilizarse el mismo bloque funcional para realizar las operaciones de diezmado a 14 kHz y de diezmado a 7 kHz tal y como se muestra en la figura 4c. La operación de inversión espectral puede It may be desirable to implement the bank A122 and / or B122 of filters to carry out operations such as those illustrated in Figures 4a and 4b in several phases. For example, Figure 4c shows a block diagram of an implementation A114 of the filter bank A112 that performs a functional equivalent of downstream sampling and high-pass filtering operations using a series of interpolation, resampling, decimating, and other operations. Applications. Such an implementation may be easier to design and / or 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 decimating at 7 kHz as shown in Figure 4c. The spectral inversion operation can

implementarse multiplicando la señal con la función ein o la secuencia (-1)n, cuyos valores alternan entre +1 y -1. La operación de conformación espectral puede implementarse como un filtro paso bajo configurado para conformar la señal para obtener una respuesta de filtro global deseada. implemented by multiplying the signal with 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.

Debe observarse que como consecuencia de la operación de inversión espectral, el espectro de la señal S30 de banda alta se invierte. Operaciones posteriores en el codificador y en el descodificador correspondiente pueden configurarse consecuentemente. Por ejemplo, el generador A300 de excitación de banda alta descrito en este documento puede configurarse para generar una señal S120 de excitación de banda alta que también presente una forma invertida espectralmente. It should be noted that as a consequence of the spectral inversion operation, the spectrum of the high band signal S30 is inverted. Subsequent operations on the encoder and corresponding decoder can be configured accordingly. For example, the high band excitation generator A300 described herein can be configured to generate 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 del banco B122 de filtros que realiza un equivalente funcional de operaciones de muestreo ascendente y de filtrado de paso alto utilizando una serie de operaciones de interpolación, remuestreo, etc. El banco B124 de filtros incluye una operación de inversión espectral en la banda alta que invierte una operación similar a la realizada, por ejemplo, en un banco de filtros del codificador tal como el banco A114 de filtros. En este ejemplo particular, el banco B124 de filtros también incluye filtros de muesca en la banda baja y en la banda alta que atenúan una componente de la señal a 7100 Hz, aunque tales filtros son opcionales y no es necesario que estén incluidos. La solicitud de patente "SYSTEMS, METHODS, AND APPARATUS FOR SPEECH SIGNAL FILTERING", presentada como US 2007/0088558A1, incluye una descripción y figuras adicionales relacionadas con las respuestas de elementos de implementaciones particulares de los bancos A110 y B120 de filtros. Figure 4d shows a block diagram of an implementation B124 of the filter bank B122 that performs a functional equivalent of up-sampling and high-pass filtering operations using a series of interpolation, resampling, etc. operations. The filter bank B124 includes a spectral inversion operation in the high band that reverses an operation similar to that performed, for example, in an encoder filter bank such as the filter bank A114. In this particular example, the filter bank B124 also includes notch filters in the low band and in the high band that attenuate a component of the signal at 7100 Hz, although such filters are optional and do not need to be included. The patent application "SYSTEMS, METHODS, AND APPARATUS FOR SPEECH SIGNAL FILTERING", filed as US 2007 / 0088558A1, includes a description and additional figures related to the responses of elements of particular implementations of filter banks A110 and B120.

El codificador A120 de banda estrecha está implementado según un modelo de filtro fuente que codifica la señal de voz de entrada como (A) un conjunto de parámetros que describe un filtro y (B) una señal de excitación que activa al filtro descrito para generar una reproducción sintetizada de la señal de voz de entrada. La figura 5a muestra un ejemplo de una envolvente espectral de una señal de voz. Los picos que caracterizan esta envolvente espectral representan resonancias del tracto vocal y se denominan formantes. La mayoría de codificadores de voz codifican al menos esta estructura espectral aproximada como un conjunto de parámetros tales como coeficientes de filtro. The A120 narrowband encoder is implemented according to a source filter model that encodes the input voice signal as (A) a set of parameters describing a filter and (B) an excitation signal that activates the described filter to generate a synthesized reproduction of the input voice signal. Figure 5a shows an example of a spectral envelope of a voice signal. The peaks that characterize this spectral envelope represent resonances of the vocal tract and are called formants. Most voice encoders 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 básica de filtro fuente aplicada a 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 caracteriza a un filtro correspondiente al sonido de voz durante un periodo de tiempo (normalmente 20 ms). Un filtro blanqueador (también denominado como 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 como señal residual) tiene menos energía y, por lo tanto, menos varianza y es más fácil de codificar que la señal de voz original. Los errores generados por la codificación de la señal residual también pueden distribuirse de manera más homogénea a través del espectro. Los parámetros de filtro y la señal residual se cuantifican normalmente para su transmisión eficaz a través del canal. En el descodificador, un filtro de síntesis configurado según los parámetros de filtro se excita mediante una señal basada en la señal residual para generar una versión sintetizada del sonido de voz original. El filtro de síntesis está configurado normalmente para presentar una función de transferencia que sea la inversa de la función de transferencia del filtro blanqueador. Figure 5b shows an example of a basic source filter arrangement applied to the coding of the spectral envelope of the narrowband signal S20. An analysis module calculates a set of parameters that characterizes a filter corresponding to the voice 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 residual signal) has less energy and therefore less variance and is easier to encode than the original voice signal. The errors generated by the coding of the residual signal can also be distributed more homogeneously across the spectrum. The filter parameters and the residual signal 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 residual signal to generate a synthesized version of the original voice sound. The synthesis filter is normally configured to present 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 por 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 todo polos 1/A(z)). El módulo de análisis procesa normalmente la señal de entrada como una serie de tramas no solapadas, con un nuevo conjunto de coeficientes que se calculan para cada trama. El periodo de trama es generalmente un periodo sobre el que puede esperarse que la señal sea localmente estacionaria; 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 LPC está configurado para calcular un conjunto de diez coeficientes de filtro LP para caracterizar la estructura de 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 solapadas. 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 module (LPC) module 210 encodes the spectral envelope of the narrowband signal S20 as a set of linear prediction coefficients (LP) (e.g., all-pole filter coefficients 1 / A (z)). The analysis module normally processes the input signal as a series of non-overlapping frames, with a new set of coefficients that are calculated for each frame. The frame period is generally a period over which the signal can be expected to be locally stationary; 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 formant 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 configurarse para analizar directamente las muestras de cada trama, o las muestras pueden ponderarse primero según una función de división en ventanas (por ejemplo, una ventana de Hamming). El análisis también puede realizarse sobre una ventana que sea más larga que la trama, tal como una ventana de 30 ms. Esta ventana puede ser simétrica (por ejemplo, 5-20-5, de manera que incluya los 5 milisegundos inmediatamente antes y después de la trama de 20 milisegundos) o asimétrica (por ejemplo, 10-20, de manera que incluya los últimos 10 milisegundos de la trama anterior). Un módulo de análisis LPC está configurado normalmente para calcular los coeficientes de filtro LP utilizando la recursividad de Levinson-Durbin o el algoritmo de Leroux-Gueguen. En otra implementación, el módulo de análisis puede configurarse para calcular un conjunto de coeficientes cepstrales para cada trama en lugar de un conjunto de coeficientes de filtro LP. The analysis module can be configured to directly analyze the samples of each frame, or the samples can be weighted first according to a window division function (for example, a Hamming window). The analysis can also be performed on a window that is longer than the frame, such as a 30 ms window. This window can be symmetric (for example, 5-20-5, so that it includes the 5 milliseconds immediately before and after the 20 millisecond frame) or asymmetric (for example, 10-20, so that it includes the last 10 milliseconds of the previous plot). An LPC analysis module is normally configured to calculate LP filter coefficients using the recursion of Levinson-Durbin or the Leroux-Gueguen algorithm. In another implementation, the analysis module can 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, sin afectar demasiado a 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 normalmente se correlacionan en otra representación, tal como pares espectrales lineales (LSP) o frecuencias espectrales lineales (LSF), para la cuantificación y/o la codificación por entropía. En el ejemplo de la figura 6, la transformada 220 de coeficientes de filtro LP a LSF transforma el conjunto de coeficientes de filtro LP en un conjunto correspondiente de LSF. Otras representaciones biunívocas de coeficientes de filtro LP incluyen coeficientes parcor, valores del logaritmo de relación de área, pares espectrales de inmitancia (ISP) y frecuencias espectrales de inmitancia (ISF), que se utilizan en el códec AMR-WB (banda ancha adaptable a múltiples velocidades) de GSM (sistema global para comunicaciones móviles). Normalmente, una transformada entre un conjunto de coeficientes de filtro LP y un conjunto correspondiente de LSF es reversible, pero las realizaciones también incluyen implementaciones del codificador A120 en las que la transformada no es reversible sin errores. The output speed of the A120 encoder can be significantly reduced, without affecting the reproduction quality too much, by quantifying the filter parameters. Linear prediction filter coefficients are difficult to quantify effectively and are usually correlated in another representation, such as linear spectral pairs (LSP) or linear spectral frequencies (LSF), for quantification and / or entropy coding. In the example of Figure 6, transform 220 of LP filter coefficients to LSF transforms the set of LP filter coefficients into a corresponding set of LSF. Other biunivocal representations of LP filter coefficients include parcor coefficients, area ratio logarithm values, immittance spectral pairs (ISP) and immitance spectral frequencies (ISF), which are used in the AMR-WB codec (broadband adaptable to multiple speeds) of GSM (global system for mobile communications). Normally, a transform between a set of LP filter coefficients and a corresponding set of LSF is reversible, but the embodiments also include implementations of the A120 encoder in which the transform is not reversible without errors.

Un cuantificador 230 está configurado para cuantificar el conjunto de LSF de banda estrecha (u otra representación de coeficientes), y el codificador A122 de banda estrecha está configurado para transmitir el resultado de esta cuantificación como los parámetros S40 de filtro de banda estrecha. Un cuantificador de este tipo incluye normalmente un cuantificador vectorial que codifica el vector de entrada como un índice a una entrada vectorial correspondiente de una tabla o libro de códigos. A quantizer 230 is configured to quantify the set of narrowband LSF (or other coefficient representation), and the narrowband encoder A122 is configured to transmit the result of this quantification as the S40 narrowband filter parameters. Such a quantifier normally includes a vector quantizer that encodes the input vector as an index to a corresponding vector input of a table or codebook.

Tal y como se observa en la figura 6, el codificador A122 de banda estrecha también genera una señal residual haciendo pasar la señal S20 de banda estrecha a través de un filtro 260 blanqueador (también denominado como 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, el filtro 260 blanqueador está implementado como un filtro FIR, aunque también pueden utilizarse implementaciones IIR. Esta señal residual contendrá normalmente información perceptualmente importante de la trama de voz, tal como una estructura de larga duración relacionada con el tono, que no está representada 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 transmitirse como una señal S50 de excitación de banda estrecha codificada. Un cuantificador de este tipo incluye normalmente un cuantificador vectorial que codifica el vector de entrada como un índice a una entrada de vector correspondiente de una tabla o libro de códigos. Como alternativa, un cuantificador de este tipo puede configurarse para enviar uno o más parámetros a partir de los cuales el vector puede generarse dinámicamente en el descodificador, en lugar de recuperarse de un medio de almacenamiento, como en un procedimiento de libro de códigos disperso. Un procedimiento de este tipo se utiliza en esquemas de codificación tales como CELP (predicción lineal de excitación por libro de códigos) algebraica y códecs tales como EVRC (códec de velocidad variable mejorado) del 3GPP2 (segundo proyecto de colaboración de tercera generación). 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 referred to as an analysis or prediction error filter) that It 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. This residual signal will normally contain perceptually important information of the speech frame, such as a long duration structure related to the tone, which is not represented in the S40 narrowband filter parameters. The quantizer 270 is configured to calculate a quantified representation of this residual signal to be transmitted as a coded narrowband excitation signal S50. Such a quantifier typically includes a vector quantifier that encodes the input vector as an index to a corresponding vector entry of a table or codebook. Alternatively, such a quantifier can be configured to send one or more parameters from which the vector can be dynamically generated in the decoder, instead of being recovered from a storage medium, as in a dispersed codebook procedure. Such a procedure is used in coding schemes such as CELP (linear prediction of codebook excitation) and codecs such as EVRC (enhanced variable speed codec) of 3GPP2 (second third generation collaboration project).

Es deseable que el codificador A120 de banda estrecha genere la señal codificada de excitación de banda estrecha según los mismos valores de parámetro de filtro que estarán disponibles para el descodificador de banda estrecha correspondiente. De esta manera, la señal codificada de excitación de banda estrecha resultante ya puede soportar, hasta cierto punto, imprecisiones en esos valores de parámetros, tales como errores de cuantificación. Por consiguiente, es deseable configurar el filtro blanqueador utilizando los mismos valores de coeficiente que estarán disponibles en el descodificador. En el ejemplo básico del codificador A122 mostrado en la figura 6, un cuantificador 240 inverso descuantifica los parámetros S40 de codificación de banda estrecha, una transformada 250 de LSF a coeficientes de filtro LP correlaciona los valores resultantes con un conjunto correspondiente de coeficientes de filtro LP, y este conjunto de coeficientes se utiliza para configurar un filtro 260 blanqueador para generar la señal residual que se cuantifica mediante un 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 narrowband excitation encoded signal can already, to some extent, withstand inaccuracies in those parameter values, such as quantization errors. 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 shown in Figure 6, a reverse quantizer 240 decrypts the narrowband coding parameters S40, a transform 250 from LSF to LP filter coefficients correlates the resulting values with a corresponding set of LP filter coefficients. , and this set of coefficients is used to configure a bleach filter 260 to generate the residual signal that is quantified by a quantifier 270.

Algunas implementaciones del codificador A120 de banda estrecha están configuradas para calcular la señal S50 codificada de excitación de banda estrecha identificando un vector de libro de códigos de un conjunto de vectores de libro de códigos que se ajuste mejor a la señal residual. Sin embargo, debe observarse que el codificador A120 de banda estrecha también puede implementarse para calcular una representación cuantificada de la señal residual sin generar realmente la señal residual. Por ejemplo, el codificador A120 de banda estrecha puede configurarse para utilizar una pluralidad de vectores de libro de códigos para generar señales sintetizadas correspondientes (por ejemplo, según un conjunto actual de parámetros de filtro), y para seleccionar el vector de libro de códigos asociado a la señal generada que se ajuste mejor a las señal S20 de banda estrecha original en un dominio ponderado de manera perceptual. Some implementations of the narrowband A120 encoder are configured to calculate the encoded narrowband excitation signal S50 by identifying a codebook vector from a set of codebook vectors that best fits the residual signal. However, it should be 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 can be configured to use a plurality of codebook vectors to generate corresponding synthesized signals (for example, according to a current set of filter parameters), and to select the associated codebook vector to the generated signal that best fits the original narrowband S20 signals in a perceptually weighted domain.

La figura 7 muestra un diagrama de bloques de una implementación B112 del descodificador B110 de banda estrecha. Un cuantificador 310 inverso descuantifica los parámetros S40 de filtro de banda estrecha (en este caso, a un conjunto de LSF), y una transformada 320 de LSF a coeficientes de filtro de LP transforma las LSF en un conjunto de coeficientes de filtro (por ejemplo, tal y como se ha descrito anteriormente con referencia al cuantificador 240 inverso y a la transformada 250 del codificador A122 de banda estrecha). El cuantificador 340 inverso descuantifica la señal S40 residual de banda estrecha para generar una señal S80 de excitación de banda estrecha. En función de los coeficientes de filtro y de la señal S80 de excitación de banda estrecha, un filtro 330 de síntesis de banda estrecha sintetiza la señal S90 de banda estrecha. Dicho de otro modo, el filtro 330 de síntesis de banda estrecha está configurado para conformar de manera espectral la señal S80 de excitación de banda estrecha según los coeficientes de filtro descuantificados para generar la señal S90 de banda estrecha. El descodificador B112 de banda estrecha también proporciona la señal S80 de excitación de banda estrecha al codificador A200 de banda alta, el cual la utiliza para obtener la señal S120 de excitación de banda alta como la descrita en este documento. En algunas implementaciones descritas posteriormente, el descodificador B110 de banda estrecha puede configurarse para proporcionar al descodificador B200 de banda alta información adicional relacionada con la señal de banda estrecha, tal como la inclinación espectral, retardo y ganancia de tono, y modo de voz. Figure 7 shows a block diagram of an implementation B112 of the narrowband decoder B110. A reverse quantizer 310 decrypts the narrowband filter parameters S40 (in this case, a set of LSFs), and a transform 320 of LSFs to LP filter coefficients 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 decrypts the residual narrowband signal S40 to generate a narrowband excitation signal S80. Depending on the filter coefficients and the narrowband excitation signal S80, a 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 quantified filter coefficients to generate the narrowband signal S90. The narrowband decoder B112 also provides the narrowband excitation signal S80 to the highband encoder A200, which uses it to obtain the high band excitation signal S120 as described herein. In some implementations described below, the narrowband decoder B110 can be configured to provide the highband decoder B200 with additional information related to the narrowband signal, such as spectral inclination, delay and gain of tone, and voice mode.

El sistema del codificador A122 de banda estrecha y del descodificador B112 de banda estrecha es un ejemplo básico de un códec de voz de análisis por síntesis. La codificación de predicción lineal excitada por libro de códigos (CELP) es un tipo conocido de 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 de la señal residual, incluyendo operaciones tales como la selección de entradas de libros de códigos fijos y adaptativos, operaciones de minimización de errores y/u operaciones de ponderación perceptuales. Otras implementaciones de codificación de análisis por síntesis incluyen codificación de predicción lineal de excitación mixta (MELP), de CELP algebraica (ACELP), de CELP de relajación (RCELP), de excitación por impulsos regulares (RPE), de CELP de múltiples impulsos (MPE) y de predicción lineal excitada por suma vectorial (VSELP). Procedimientos de codificación relacionados incluyen codificación de excitación por múltiples bandas (MBE) y codificación de interpolación de forma de onda de prototipo (PWI). Ejemplos de códecs de voz normalizados de análisis por síntesis incluyen el códec de velocidad total GSM (GSM 06.10) del ETSI (Instituto Europeo de Normas de Telecomunicaciones), el cual utiliza predicción lineal excitada por señal residual (RELP); el códec de velocidad total mejorado GSM (ETSI-GSM 06.60); el codificador normalizado del anexo E del G.729 de 11,8 kb/s de la ITU (Unión Internacional de Telecomunicaciones); códecs IS-641 (norma provisional) para IS-136 (un esquema de acceso múltiple por división de tiempo); los códecs GSM adaptables a múltiples velocidades GSM (GSM-AMR); y el códec 4GVTM (vocodificadorTM de cuarta generación) (QUALCOMM Incorporated, San Diego, CA). El codificador A120 de banda estrecha y el descodificador B110 correspondiente pueden implementarse según cualquiera de estas tecnologías o según cualquier otra tecnología de codificación de voz (ya sea conocida o desarrollada en un futuro) que represente una señal de voz como (A) un conjunto de parámetros que describa un filtro y (B) una señal de excitación utilizada para activar el filtro descrito para generar la señal de voz. The system of the narrowband encoder A122 and the narrowband decoder B112 is a basic example of a speech codec of synthesis analysis. Code predicted linear prediction coding (CELP) is a known type of synthesis analysis coding, and implementations of such encoders can carry out waveform coding of the residual signal, including operations such as selection of fixed and adaptive code book entries, error minimization operations and / or perceptual weighting operations. Other implementations of synthesis analysis coding include mixed linear excitation (MELP) prediction, CELP algebraic (ACELP), relaxation CELP (RCELP), regular pulse excitation (RPE), multi-pulse CELP ( MPE) and linear prediction excited by vector sum (VSELP). Related coding procedures include multi-band excitation coding (MBE) and prototype waveform interpolation (PWI) coding. Examples of standardized speech codecs of synthesis analysis include the GSM total speed codec (GSM 06.10) of the ETSI (European Telecommunications Standards Institute), which uses linear prediction excited by residual signal (RELP); the GSM enhanced total speed codec (ETSI-GSM 06.60); the standard encoder in Annex E of G.729 of 11.8 kb / s of the ITU (International Telecommunication Union); IS-641 codecs (provisional standard) for IS-136 (a time division multiple access scheme); GSM codecs adaptable to multiple GSM speeds (GSM-AMR); and the 4GVTM codec (fourth generation vocoderTM) (QUALCOMM Incorporated, San Diego, CA). The narrowband A120 encoder and corresponding B110 decoder can be implemented according to any of these technologies or according to any other voice coding technology (whether known or developed in the future) that represents a voice signal as (A) a set of parameters described by a filter and (B) an excitation signal used to activate the described filter to generate the voice signal.

Incluso después de que el filtro blanqueador haya eliminado la envolvente espectral aproximada de la señal S20 de banda estrecha, puede haber una considerable cantidad de una fina estructura de armónico, especialmente para voz sonora. La figura 8a muestra una representación gráfica espectral de un ejemplo de una señal residual, como la que puede generarse por un filtro blanqueador, para una señal sonora tal como una vocal. La estructura periódica visible en este ejemplo está relacionada con el tono, y diferentes sonidos sonoros producidos por el mismo hablante pueden tener diferentes estructuras de formante pero estructuras de tono similares. La figura 8b muestra una representación gráfica en el dominio de tiempo de un ejemplo de una señal residual de este tipo que muestra una secuencia de impulsos de tono en el tiempo. Even after the bleach filter has removed the approximate spectral envelope of the narrow band signal S20, there may be a considerable amount of a fine harmonic structure, especially for sound voice. Figure 8a shows a spectral graphic representation of an example of a residual signal, such as that which can be generated by a bleaching filter, for a sound signal such as a vowel. The periodic structure visible in this example is related to tone, and different sound sounds produced by the same speaker may have different formant structures but similar tone structures. Figure 8b shows a graphical representation in the time domain of an example of such a residual signal showing a sequence of time pulse pulses.

La eficacia de codificación y/o la calidad de la voz pueden aumentarse utilizando uno o más valores de parámetro para codificar las características de la estructura de tono. Una característica importante de la estructura de tono es la frecuencia del primer armónico (también denominada como frecuencia fundamental), que está normalmente en el intervalo de 60 a 400 Hz. Esta característica se codifica normalmente como la inversa de la frecuencia fundamental, denominada también desfase de tono (pitch lag). El desfase de tono indica el número de muestras de un periodo de tono y puede codificarse como uno o más índices de libro de código. Las señales de voz de los hombres tienden a tener mayores desfases de tono que las señales de voz de las mujeres. The coding efficiency and / or the voice quality can be increased using one or more parameter values to encode the characteristics of the tone structure. An important characteristic of the tone structure is the frequency of the first harmonic (also referred to as the fundamental frequency), which is normally in the range of 60 to 400 Hz. This characteristic is normally encoded as the inverse of the fundamental frequency, also called offset. pitch (pitch lag). The tone offset indicates the number of samples of a tone period and can be coded as one or more codebook indices. Men's voice signals tend to have greater tone lags than women's voice signals.

Otra característica de señal relacionada con la estructura de tono es la periodicidad, la cual indica la intensidad de la estructura de armónico o, dicho de otro modo, el grado en que la señal es armónica o no armónica. Dos indicadores típicos de la periodicidad son los cruces por cero y las funciones de autocorrelación normalizada (NACF). La periodicidad también puede indicarse mediante la ganancia de tono, la cual se codifica normalmente como una ganancia de libro de códigos (por ejemplo, una ganancia cuantificada de libro de códigos adaptativo). Another characteristic of a signal related to the tone structure is the periodicity, which indicates the intensity of the harmonic structure or, in other words, the degree to which the signal is harmonic or non-harmonic. Two typical indicators of periodicity are zero crossings and standard autocorrelation functions (NACF). The periodicity can also be indicated by the tone gain, which is normally coded as a code book gain (for example, a quantified adaptive code book gain).

El codificador A120 de banda estrecha puede incluir uno o más módulos configurados para codificar la estructura de armónico de larga duración de la señal S20 de banda estrecha. Tal y como se muestra en la figura 9, un paradigma CELP típico que puede utilizarse incluye un módulo de análisis LPC de bucle abierto, el cual codifica las características de corta duración de la envolvente espectral aproximada, seguido por una etapa de análisis de predicción a largo plazo de bucle cerrado que codifica la fina estructura de tono o de armónico. Las características de corta duración se codifican como coeficientes de filtro, y las características de larga duración se codifican como valores para parámetros tales como el desfase de tono y la ganancia de tono. Por ejemplo, el codificador A120 de banda estrecha puede configurarse para transmitir la señal S50 de excitación de banda estrecha codificada en un forma que incluya uno o más índices de libro de códigos (por ejemplo, un índice de libro de códigos fijo y un índice de libro de códigos adaptativo) y valores de ganancia correspondientes. El cálculo de esta representación cuantificada de la señal residual de banda estrecha (por ejemplo, mediante el cuantificador 270), puede incluir seleccionar tales índices y calcular tales valores. La codificación de la estructura de tono también puede incluir interpolación de una forma de onda de prototipo de tono, operación que puede incluir calcular una diferencia entre impulsos de tono sucesivos. La modelización de la estructura de larga duración puede inhabilitarse para tramas correspondientes a voz sorda, que normalmente es similar al ruido y no está estructurada. The narrowband A120 encoder may include one or more modules configured to encode the long duration harmonic structure of the narrowband S20 signal. As shown in Figure 9, a typical CELP paradigm that can be used includes an open-loop LPC analysis module, which encodes the short-lived characteristics of the approximate spectral envelope, followed by a prediction analysis stage. Long term closed loop that encodes the fine tone or harmonic structure. The short duration characteristics are coded as filter coefficients, and the long duration characteristics are coded as values for parameters such as pitch offset and tone gain. For example, the narrowband A120 encoder may be configured to transmit the encoded narrowband excitation signal S50 in a manner that includes one or more codebook indices (eg, a fixed codebook index and a rate index). adaptive codebook) and corresponding gain values. The calculation of this quantified representation of the narrow-band residual signal (for example, by means of quantifier 270), may include selecting such indices and calculating such values. The coding of the tone structure may also include interpolation of a prototype tone waveform, an operation that may include calculating a difference between successive tone pulses. Long-term structure modeling can be disabled for frames corresponding to a voice that is deaf, which is normally similar to noise and is not structured.

Una implementación del descodificador B110 de banda estrecha según un paradigma como el mostrado en la figura 9 puede configurarse para transmitir la señal S80 de excitación de banda estrecha al descodificador B200 de banda alta después de que la estructura de larga duración (estructura de tono o de armónico) se haya restablecido. Por ejemplo, un descodificador de este tipo puede configurarse para transmitir 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. Por supuesto, también es posible implementar el descodificador B110 de banda estrecha de manera que el descodificador B200 de banda alta realice 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 B110 according to a paradigm such as that shown in Figure 9 can be configured to transmit the narrowband excitation signal S80 to the highband decoder B200 after the long duration structure (tone structure or harmonic) has been restored. For example, such a decoder can be configured to transmit the narrowband excitation signal S80 as an unquantified version of the encoded narrowband excitation signal S50. Of course, it is also possible to implement the narrowband decoder B110 so 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 voz de banda ancha según un paradigma como el mostrado en la figura 9, el codificador A200 de banda alta puede configurarse para recibir la señal de excitación de banda estrecha generada por el análisis a corto plazo o por el filtro blanqueador. Dicho de otro modo, el codificador A120 de banda estrecha puede configurarse para transmitir la señal de excitación de banda estrecha al codificador A200 de banda alta antes de codificar la estructura de larga duración. 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 se recibirá mediante el descodificador B200 de banda alta, de manera que los parámetros de codificación generados por el codificador A200 de banda alta ya puedan soportar hasta cierto punto imprecisiones en esa información. Por lo 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 codificada de excitación de banda estrecha cuantificada y/o parametrizada que se transmitirá por el codificador A100 de voz de banda ancha. Una ventaja potencial de este enfoque es un cálculo más preciso de los factores S60b de ganancia de banda alta que se describirán posteriormente. In an implementation of the A100 broadband voice encoder according to a paradigm such as that shown in Figure 9, the high band A200 encoder can be configured to receive the narrowband excitation signal generated by the short-term analysis or by the filter bleach. In other words, the narrowband A120 encoder can be configured to transmit the narrowband excitation signal to the highband A200 encoder before encoding the long duration structure. However, it is desirable that the high band A200 encoder receives from the narrow band channel the same encoding information that will be received by the high band B200 decoder, so that the encoding parameters generated by the high band A200 encoder already they can bear to some extent inaccuracies in that information. Therefore, it may be preferable for the high-band encoder A200 to reconstruct the narrowband excitation signal S80 from the same quantized and / or parameterized encoded narrowband excitation signal S50 that will be transmitted by the voice encoder A100 broadband A potential advantage of this approach is a more accurate calculation of the high-band gain factors S60b that will be described later.

Además de los parámetros que caracterizan la estructura de corta duración y/o de larga duración de la señal S20 de banda estrecha, el codificador A120 de banda estrecha puede generar valores de parámetro que se refieren a otras características de la señal S20 de banda estrecha. Estos valores, que pueden cuantificarse de manera adecuada para su transmisión mediante el codificador A100 de voz de banda ancha, pueden incluirse entre los parámetros S40 de filtro de banda estrecha o transmitirse por separado. El codificador A200 de banda alta también puede estar configurado para calcular los parámetros S60 de codificación de banda alta según uno o más de estos parámetros adicionales (por ejemplo, después de la descuantificación). En el descodificador B100 de voz de banda ancha, el descodificador B200 de banda alta puede configurarse para recibir los valores de parámetro a través del descodificador B110 de banda estrecha (por ejemplo, después de la descuantificación). Como alternativa, el descodificador B200 de banda alta puede configurarse para recibir (y posiblemente para descuantificar) los valores de parámetro directamente. In addition to the parameters that characterize the short duration and / or long duration structure of the narrowband signal S20, the narrowband encoder A120 can generate parameter values that refer to other characteristics of the narrowband signal S20. These values, which can be quantified properly for transmission by means of the A100 broadband voice encoder, can be included among the narrowband filter parameters S40 or transmitted separately. The high-band encoder A200 can also be configured to calculate the high-band coding parameters S60 according to one or more of these additional parameters (for example, after de-quantification). In the B100 broadband voice decoder, the high band B200 decoder can be configured to receive the parameter values through the narrowband B110 decoder (for example, after decryption). 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 genera valores de inclinación espectral y de parámetros de modo de voz 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 sonidos sonoros, la energía espectral disminuye con frecuencias crecientes, de manera que el primer coeficiente de reflexión es negativo y puede aproximarse a -1. La mayoría de sonidos sordos tienen un espectro que es o bien plano, de manera que el primer coeficiente de reflexión vale casi cero, o bien tiene más energía a altas frecuencias, de manera que el primer coeficiente de reflexión es positivo y puede aproximarse a +1. In an example of additional narrowband coding parameters, the narrowband A120 encoder generates spectral tilt values and voice 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 sound sounds, the spectral energy decreases with increasing frequencies, so that the first reflection coefficient is negative and can approach -1. Most deaf sounds have a spectrum that is either flat, so that the first reflection coefficient is almost zero, or has more energy at high frequencies, so that the first reflection coefficient is positive and can approximate + one.

El modo de voz (también denominado como modo de sonoridad) indica si la trama actual representa voz sonora o sorda. Este parámetro puede tener un valor binario en función de una o más medidas de periodicidad (por ejemplo, cruces por cero, NACF, ganancia de tono) y/o actividad de voz para la trama, tal como una relación entre una medida de este tipo y un valor de umbral. En otras implementaciones, el parámetro de modo de voz tiene uno o más estados diferentes para indicar modos tales como silencio o ruido de fondo, o una transición entre silencio y voz sonora. The voice mode (also referred to as the loudness mode) indicates whether the current frame represents a loud or dull voice. This parameter may have a binary value based on one or more periodicity measurements (for example, zero crossings, NACF, tone gain) and / or voice activity for the frame, such as a relationship between such a measure. and a threshold value. In other implementations, the voice mode parameter has one or more different states to indicate modes such as silence or background noise, or a transition between silence and sound voice.

El codificador A200 de banda alta está configurado para codificar la señal S30 de banda alta según un modelo de filtro fuente, basándose la excitación de este filtro en la señal codificada de excitación de banda estrecha. La figura 10 muestra un diagrama de bloques de una implementación A202 del codificador A200 de banda alta que está configurada para generar un flujo de parámetros S60 de codificación de banda alta que incluye 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 obtiene una señal S120 de excitación de banda alta a partir de la señal S50 de excitación de banda estrecha codificada. Un módulo A210 de análisis genera un conjunto de valores de parámetro que caracteriza a la envolvente espectral de la señal S30 de banda alta. En este ejemplo particular, un módulo A210 de análisis está configurado para realizar un análisis LPC para generar un conjunto de coeficientes de filtro LP para cada trama de la señal S30 de banda alta. Una transformada 410 de coeficientes de filtro de predicción lineal a LSF transforma el conjunto de coeficientes de filtro LP en un conjunto correspondiente de LSF. Tal y como se ha indicado anteriormente con referencia al módulo 210 de análisis y a la transformada 220, el módulo A210 de análisis y/o la transformada 410 pueden configurarse para utilizar otros conjuntos de coeficientes (por ejemplo, coeficientes cepstrales) y/o representaciones de coeficientes (por ejemplo, ISP). The high-band encoder A200 is configured to encode the high-band signal S30 according to a source filter model, the excitation of this filter based on the encoded narrow-band excitation signal. Figure 10 shows a block diagram of an A202 implementation of the high band A200 encoder that is configured to generate a flow of high band coding parameters S60 including high band filter parameters S60a and high band gain factors S60b . The high band excitation generator A300 obtains a high band excitation signal S120 from the encoded narrow band excitation signal S50. An analysis module A210 generates a set of parameter values that characterize the spectral envelope of the high band signal S30. In this particular example, an analysis module A210 is configured to perform an LPC analysis to generate a set of LP filter coefficients for each frame of the high band signal S30. A transform 410 of linear prediction filter coefficients to LSF transforms the set of LP filter coefficients into a corresponding set of LSF. As indicated above with reference to the analysis module 210 and the transform 220, the analysis module A210 and / or the transform 410 can be configured to use other sets of coefficients (for example, cepstral coefficients) and / or representations of coefficients (for example, ISP).

Un cuantificador 420 está configurado para cuantificar el conjunto de LSF de banda alta (u otra representación de coeficientes, tal como ISP), y un codificador A202 de banda alta está configurado para transmitir el resultado de esta cuantificación como los parámetros S60a de filtro de banda alta. Un cuantificador de este tipo incluye normalmente un cuantificador vectorial que codifica el vector de entrada como un índice a una entrada de vector correspondiente de una tabla o libro de códigos. A quantifier 420 is configured to quantify the set of high band LSF (or other coefficient representation, such as ISP), and a high band A202 encoder is configured to transmit the result of this quantification as the band filter parameters S60a high. Such a quantifier typically includes a vector quantifier that encodes the input vector as an index to a corresponding vector entry of a table or codebook.

El codificador A202 de banda alta también incluye 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 la envolvente espectral codificada (por ejemplo, el conjunto de coeficientes de filtro LP) generada por el módulo A210 de análisis. El filtro A220 de síntesis está implementado normalmente como un filtro IIR, aunque también pueden usarse implementaciones FIR. En un ejemplo particular, el filtro A220 de síntesis está implementado como un filtro autorregresivo lineal de sexto orden. The high-band encoder A202 also includes a synthesis filter A220 configured to generate 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) generated by the A210 analysis module. The A220 synthesis filter is normally 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.

Un calculador A230 de 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 vectorial que codifica el vector de entrada como un índice a una entrada de vector correspondiente de una tabla o libro de códigos, cuantifica el valor o valores que especifican la envolvente de ganancia, y el codificador A202 de banda alta está configurado para transmitir el resultado de esta cuantificación como factores S60b de ganancia de banda alta. An 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 to a corresponding vector entry of a table or codebook, quantifies the value or values specified by the gain envelope, and encoder A202 High band is configured to transmit the result of this quantification as S60b factors of high band gain.

En una implementación como la mostrada en la figura 10, el filtro A220 de síntesis está dispuesto para recibir los coeficientes de filtro 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 descodificar los coeficientes de filtro de los parámetros S60a de filtro de banda alta y, en este caso, el filtro A220 de síntesis está dispuesto en cambio para recibir los coeficientes de filtro descodificados. Una disposición alternativa de este tipo puede soportar un cálculo más preciso de la envolvente de ganancia mediante el calculador A230 de ganancia de banda alta. In an implementation such as that shown in Figure 10, the synthesis filter A220 is arranged to receive the filter coefficients of 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 filter coefficients of the high band filter parameters S60a and, in this case, the synthesis filter A220 is instead arranged to receive decoded filter coefficients. An alternative arrangement of this type can support a more accurate calculation of the gain envelope by means of 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 transmiten un conjunto de seis LSF y un conjunto de cinco valores de ganancia por trama, respectivamente, de manera que puede conseguirse un ensanchamiento de banda ancha de la señal S20 de banda estrecha solamente con once valores adicionales por trama. El oído tiende a ser menos sensible a los errores de frecuencia a altas frecuencias, de manera que la codificación de banda alta en un orden LPC bajo puede generar una señal que presente una calidad perceptual comparable a la codificación de banda estrecha en un orden LPC superior. Una implementación típica del codificador A200 de banda alta puede configurarse para transmitir entre 8 y 12 bits por trama para una reconstrucción de alta calidad de la envolvente espectral y entre 8 y 12 bits adicionales por trama para una reconstrucción de alta calidad de la envolvente temporal. En otro ejemplo particular, el módulo A210 de análisis transmite un conjunto de ocho LSF por trama. In a particular example, the analysis module A210 and the high-band gain A230 calculator transmit a set of six LSFs and a set of five gain values per frame, respectively, so that broadband widening of the bandwidth can be achieved. S20 narrowband signal only with eleven additional values per frame. The ear tends to be less sensitive to frequency errors at high frequencies, so that high band coding in a low LPC order can generate a signal that has a perceptual quality comparable to narrow band coding in a higher LPC order. . A typical implementation of the high-band A200 encoder can be configured to transmit between 8 and 12 bits per frame for high-quality reconstruction of the spectral envelope and an additional 8 and 12 bits per frame for high-quality reconstruction of the temporal envelope. In another particular example, the analysis module A210 transmits a set of eight LSFs per frame.

Algunas implementaciones del codificador A200 de banda alta están configuradas para generar la señal S120 de excitación de banda alta generando una señal de ruido aleatorio que presenta componentes de frecuencia de banda alta y modulando en amplitud la señal de ruido según la envolvente de dominio de tiempo de la señal S20 de banda estrecha, de la señal S80 de excitación de banda estrecha o de la señal S30 de banda alta. Aunque un procedimiento de este tipo basado en ruido puede generar resultados adecuados para sonidos sordos, puede no ser deseable para sonidos sonoros, cuyas señales residuales son normalmente armónicas y, por consiguiente, presentan alguna estructura periódica. Some implementations of the high-band A200 encoder are configured to generate the high-band excitation signal S120 by generating a random noise signal presenting 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 generate adequate results for deaf sounds, it may not be desirable for sound sounds, whose residual signals are normally 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 ensanchado el espectro de la señal S80 de excitación de banda estrecha en el intervalo de frecuencias 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. Un cuantificador 450 inverso está configurado para descuantificar la señal S50 codificada de excitación de banda estrecha para generar la señal S80 de excitación de banda estrecha. Un ensanchador A400 de espectro está configurado para generar una señal S160 ensanchada de manera armónica en función de la señal S80 de excitación de banda estrecha. Un combinador 470 está configurado para combinar una señal de ruido aleatorio generada por un generador 480 de ruido y una envolvente de dominio de tiempo calculada por un calculador 460 de envolvente para generar una señal S170 de ruido modulada. Un combinador 490 está configurado para mezclar la señal S160 ensanchada de manera armónica y la señal S170 de ruido modulada para generar 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 widened the spectrum of the narrow 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. A reverse quantizer 450 is configured to decrypt the encoded narrowband excitation signal S50 to generate the narrowband excitation signal S80. An A400 spectrum spreader is configured to generate a harmonically widened S160 signal based on the narrowband excitation signal S80. A combiner 470 is configured to combine a random noise signal generated by a noise generator 480 and a time domain envelope calculated by an envelope calculator 460 to generate a modulated noise signal S170. A combiner 490 is configured to mix the harmonically widened signal S160 and the modulated noise signal S170 to generate the high band excitation signal S120.

En un ejemplo, el ensanchador A400 de espectro está configurado para realizar una operación de plegado espectral (también denominada como reflexión) en la señal S80 de excitación de banda estrecha para generar la señal S160 ensanchada de manera armónica. El plegado espectral puede llevarse a cabo rellenando con ceros la señal S80 de excitación y aplicando después un filtro paso alto para mantener la superposición. En otro ejemplo, el ensanchador A400 de espectro está configurado para generar la señal S160 ensanchada de manera armónica trasladando de manera espectral la señal S80 de excitación de banda estrecha hacia la banda alta (por ejemplo, mediante un muestreo ascendente seguido de una multiplicación por una señal de coseno de frecuencia constante). In one example, the spectrum stretcher A400 is configured to perform a spectral folding operation (also referred to as reflection) in the narrowband excitation signal S80 to generate the harmonically widened signal S160. Spectral folding can be carried out by filling the excitation signal S80 with zeros and then applying a high pass filter to maintain the overlap. In another example, the spectrum stretcher A400 is configured to generate the harmonically widened signal S160 by spectrally moving the narrowband excitation signal S80 towards the high band (for example, by ascending sampling followed by a multiplication by a constant frequency cosine signal).

Los procedimientos de traslación y de plegado espectral pueden generar señales ensanchadas de manera espectral 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 generar señales que presenten picos que no estén situados generalmente en múltiplos de la frecuencia fundamental, lo que puede provocar artefactos de sonido metálico en la señal de voz reconstruida. Estos procedimientos también tienden a generar armónicos de alta frecuencia que presentan características tonales extrañamente fuertes. Además, puesto que una señal 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 poca o ninguna energía, de manera que una señal ensanchada generada según una operación de plegado espectral o de traslación espectral puede presentar un agujero espectral por encima de 3400 Hz. The translation and spectral folding procedures can generate spectrally widened 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 generate signals that have peaks that are not generally located in multiples of the fundamental frequency, which can cause metal sound artifacts in the reconstructed voice signal. These procedures also tend to generate high frequency harmonics that present strangely strong tonal characteristics. In addition, since 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, so that a spread 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 ensanchada de manera armónica incluyen identificar una o más frecuencias fundamentales de la señal S80 de excitación de banda estrecha y generar tonos de armónico 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 ensanchada de manera armónica en función de la frecuencia fundamental y de la amplitud (según se indica, por ejemplo, por el desfase de tono y la ganancia de tono). Sin embargo, a no ser que la señal ensanchada de manera armónica sea coherente en fase con la señal S80 de excitación de banda estrecha, la calidad de la voz descodificada resultante puede no ser aceptable. Other procedures for generating the harmonically widened 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 widened S160 signal as a function of the fundamental frequency and amplitude (as indicated, for example, by the tone offset and the tone gain). However, unless the harmonically widened signal is phase consistent with the narrowband excitation signal S80, the quality of the resulting decoded voice may not be acceptable.

Puede utilizarse una función no lineal para crear una señal de excitación de banda alta que sea coherente en fase con la excitación de banda estrecha y que conserve la estructura armónica sin discontinuidad de fase. Una función no lineal también puede proporcionar un mayor nivel de ruido entre los armónicos de alta frecuencia, lo que tiende a sonar más natural que los armónicos de alta frecuencia tonales generados por procedimientos tales como el plegado espectral y la traslación espectral. Funciones típicas no lineales sin memoria que pueden aplicarse mediante varias implementaciones del ensanchador A400 de espectro incluyen la función de valor absoluto (también denominada como rectificación de onda completa), rectificación de media onda, elevación al cuadrado, elevación al cubo y truncamiento. Otras implementaciones del ensanchador A400 de espectro pueden configurarse para aplicar una función no lineal que tenga memoria. A nonlinear function can be used to create a high band excitation signal that is phase consistent with narrow band excitation and that retains the harmonic structure without phase discontinuity. A nonlinear function can also provide a higher level of noise between high frequency harmonics, which tends to sound more natural than tonal high frequency harmonics generated 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 stretcher include the absolute value function (also called full-wave rectification), half-wave rectification, square elevation, cube elevation and truncation. Other implementations of the A400 spectrum stretcher can be configured to apply a nonlinear function that has memory.

La figura 12 es un diagrama de bloques de una implementación A402 del ensanchador A400 de espectro que está configurada para aplicar una función no lineal para ensanchar el espectro de la señal S80 de excitación de banda estrecha. Un muestreador 510 ascendente está configurado para muestrear de manera ascendente la señal S80 de excitación de banda estrecha. Puede ser deseable muestrear de manera ascendente la señal lo suficiente como para minimizar la superposición tras la aplicación de la función no lineal. En un ejemplo particular, el muestreador 510 ascendente muestrea de manera ascendente la señal por un factor de ocho. El muestreador 510 ascendente puede configurarse para realizar la operación de muestreo ascendente rellenando con ceros la señal de entrada y filtrando mediante paso bajo el resultado. Un calculador 520 de función no lineal está configurado para aplicar una función no lineal a la señal muestreada de manera ascendente. Una ventaja potencial de la función de valor absoluto sobre otras funciones no lineales de ensanchamiento espectral, tales como la elevación al cuadrado, es que la normalización de energía no es necesaria. En algunas implementaciones, la función de valor absoluto puede aplicarse de manera eficaz suprimiendo o eliminando el bit de signo de cada muestra. El calculador 520 de función no lineal también puede configurarse para realizar una distorsión de amplitud de la señal muestreada de manera ascendente o ensanchada de manera espectral. Figure 12 is a block diagram of an implementation A402 of the spectrum stretcher A400 that is configured to apply a non-linear function to widen the spectrum of the narrowband excitation signal S80. An upstream sampler 510 is configured to sample upstream the narrowband excitation signal S80. It may be desirable to sample the signal upward enough to minimize overlap after application of the nonlinear function. In a particular example, the ascending sampler 510 sampled the signal up by a factor of eight. The ascending sampler 510 can be configured to perform the ascending sampling operation by filling the input signal with zeros and filtering by step under the result. A nonlinear function calculator 520 is configured to apply a nonlinear function to the signal sampled in ascending order. A potential advantage of the absolute value function over other nonlinear spectral widening functions, such as squared elevation, is that energy normalization is not necessary. In some implementations, the absolute value function can be applied effectively by suppressing or eliminating the sign bit of each sample. The nonlinear function calculator 520 can also be configured to perform an amplitude distortion of the sampled signal upward or spectrally widened.

Un muestreador 530 descendente está configurado para muestrear de manera descendente el resultado, ensanchado de manera espectral, de aplicar la función no lineal. Puede ser deseable que el muestreador 530 descendente realice una operación de filtrado de paso de banda para seleccionar una banda de frecuencia deseada de la señal ensanchada de manera espectral antes de reducir la tasa de muestreo (por ejemplo, para reducir o evitar la superposición o la corrupción mediante una imagen no deseada). También puede ser deseable que el muestreador 530 descendente reduzca la tasa de muestreo en más de una etapa. A descending sampler 530 is configured to sample the result, spectrally widened, of applying the nonlinear function in descending order. It may be desirable for the downstream sampler 530 to perform a bandpass filtering operation to select a desired frequency band of the spectrally widened signal before reducing the sampling rate (for example, to reduce or avoid overlapping or corruption through an unwanted image). It may also be desirable that the descending sampler 530 reduce the sampling rate in more than one stage.

La figura 12a es un diagrama que muestra los espectros de señal en varios puntos en un ejemplo de una operación de ensanchamiento espectral, donde la escala de frecuencia es la misma en todas las 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 después de que la señal S80 se haya muestreado de manera ascendente por un factor de ocho. La representación gráfica (c) muestra un ejemplo del espectro ensanchado después de la aplicación de una función no lineal. La representación gráfica (d) muestra el espectro después de un filtrado de paso bajo. En este ejemplo, la banda de paso se ensancha 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 several points in an example of a spectral widening operation, where the frequency scale is the same in all graphic 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 signal S80 has been sampled upwards by a factor of eight. The graphic representation (c) shows an example of the spread spectrum after the application of a nonlinear function. The graphical representation (d) shows the spectrum after a low pass filtering. In this example, the pass band is widened 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 después de una primera etapa de muestreo descendente, en la que la tasa de muestreo se reduce por un factor de cuatro para obtener una señal de banda ancha. La representación gráfica (f) muestra el espectro después de una operación de filtrado de paso alto para seleccionar la parte de banda alta de la señal ensanchada, y la representación gráfica (g) muestra el espectro después de una segunda etapa de muestreo descendente, en la que la tasa de muestreo se reduce por un factor de dos. En un ejemplo particular, el muestreador 530 descendente realiza el filtrado de paso alto y la segunda etapa de muestreo descendente haciendo pasar la señal de banda ancha a través del filtro 130 paso alto y del muestreador 140 descendente del banco A112 de filtros (o de otras estructuras o rutinas que tengan la misma respuesta) para generar una señal ensanchada de manera espectral que presente el intervalo de frecuencias y la tasa de muestreo de la señal S30 de banda alta. The graphical representation (e) shows the spectrum after a first stage of downward sampling, 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 portion of the spread signal, and the graphic representation (g) shows the spectrum after a second stage of downward sampling, in the one that the sampling rate is reduced by a factor of two. In a particular example, the downstream sampler 530 performs the high pass filtering and the second downstream sampling stage by passing the broadband signal through the high pass filter 130 and down sampler 140 of the filter bank A112 (or other structures or routines that have the same response) to generate a spectrally widened signal that presents the frequency range and sampling rate of the high band signal S30.

Como puede observarse en la representación gráfica (g), el muestreo descendente de la señal de paso alto mostrada en la representación gráfica (f) provoca la inversión de su espectro. En este ejemplo, el muestreador 530 descendente también está configurado para realizar una operación de inversión espectral en la señal. La representación gráfica (h) muestra un resultado de la aplicación de la operación de inversión espectral, la cual puede realizarse multiplicando la As can be seen in the graphic representation (g), the downward sampling of the high pass signal shown in the graphic representation (f) causes the inversion of its spectrum. In this example, the descending sampler 530 is also configured to perform a spectral inversion operation on the signal. The graphical representation (h) shows a result of the application of the spectral inversion operation, which can be done by multiplying the

jnjn

señal por la función e o por 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 frecuencia en un distancia de  . Debe observarse que también puede obtenerse el mismo resultado aplicando las operaciones de muestreo descendente y de inversión espectral. Las operaciones de muestreo ascendente y/o de muestreo descendente también pueden configurase para incluir remuestreo para obtener una señal ensanchada de manera espectral que presente la tasa de muestreo de la señal S30 de banda alta (por ejemplo, 7 kHz). signal by the function e or by 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 should be noted that the same result can also be obtained by applying the downstream sampling and spectral inversion operations. Upstream and / or downstream sampling operations can also be configured to include resampling to obtain a spectrally widened signal that displays the sampling rate of the high-band signal S30 (eg, 7 kHz).

Tal y como se ha indicado anteriormente, los bancos A110 y B120 de filtros pueden implementarse de manera que una o ambas señales S20, S30 de banda estrecha y de banda alta presente(n) una forma invertida de manera espectral en la salida del banco A110 de filtros, se codifique(n) y se descodifique(n) en la forma invertida de manera espectral y se invierta(n) de nuevo de manera espectral en el banco B120 de filtros antes de transmitirse en la señal S110 de voz de banda ancha. En ese caso, por supuesto, una operación de inversión espectral como la mostrada en la figura 12a no sería necesaria ya que sería deseable que la señal S120 de excitación de banda alta también presentase una forma invertida de manera espectral. As indicated above, the filter banks A110 and B120 can be implemented so that one or both of the narrow band and high band signals S20, S30 present a spectrally inverted shape at the output of the bank A110 of filters, be coded (n) and decoded (n) in the spectrally inverted manner and spectrally inverted (n) again in the filter bank B120 before being transmitted in the broadband voice signal S110 . In that case, of course, a spectral inversion operation such as that shown in Figure 12a would not be necessary since it would be desirable that the high band excitation signal S120 also had a spectrally inverted shape.

Las diversas tareas de muestreo ascendente y de muestreo descendente de una operación de ensanchamiento espectral como la realizada por el ensanchador A402 de espectro pueden configurarse y disponerse de muchas maneras diferentes. Por ejemplo, la figura 12b es un diagrama que muestra los espectros de señal en varios puntos en otro ejemplo de una operación de extensión espectral, donde la escala de frecuencia es la misma en todas las 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 después de que la señal S80 se haya muestreado de manera ascendente por un factor de dos. La representación gráfica (c) muestra un ejemplo del espectro ensanchado después de la aplicación de una función no lineal. En este caso se acepta la superposición que puede producirse en las frecuencias más altas. The various upstream and downstream sampling tasks of a spectral widening operation such as that performed by 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 several points in another example of a spectral extension operation, where the frequency scale is the same in all 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 signal S80 has been sampled upwards by a factor of two. The graphic representation (c) shows an example of the spread spectrum after the application of a nonlinear function. In this case, the overlap that may occur at the highest frequencies is accepted.

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

Es probable que la señal ensanchada de manera espectral generada por el calculador 520 de función no lineal presente una gran disminución de amplitud a medida que aumente la frecuencia. El ensanchador A402 espectral incluye un aplanador 540 espectral configurado para realizar una operación de blanqueo en la señal muestreada de manera descendente. El aplanador 540 espectral puede configurarse para realizar una operación de blanqueo fija o para realizar una operación de blanqueo adaptativa. En un ejemplo particular de blanqueo adaptativo, el aplanador 540 espectral incluye un módulo de análisis LPC configurado para calcular un conjunto de cuatro coeficientes de filtro a partir de la señal muestreada de manera descendente y un filtro de análisis de cuarto orden configurado para blanquear la señal según esos coeficientes. Otras implementaciones del ensanchador A400 de espectro incluyen configuraciones en las que el aplanador 540 espectral actúa en la señal ensanchada de manera espectral antes del muestreador 530 descendente. It is likely that the spectrally widened signal generated by the nonlinear function calculator 520 exhibits a large decrease in amplitude as the frequency increases. The spectral stretcher A402 includes a spectral flattener 540 configured to perform a bleaching operation on the sampled signal in descending fashion. The spectral flattener 540 can 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 from the sampled signal down and a fourth order analysis filter configured to bleach the signal. according to those coefficients. Other implementations of the spectrum A400 stretcher include configurations in which the spectral flattener 540 acts on the spectrally widened signal before the descending sampler 530.

El generador A300 de excitación de banda alta puede implementarse para transmitir la señal S160 ensanchada de manera armónica como la señal S120 de excitación de banda alta. Sin embargo, en algunos casos, utilizando solamente una señal ensanchada de manera armónica como la excitación de banda alta puede dar como resultado artefactos audibles. La estructura armónica de la voz es generalmente menos pronunciada en la banda alta que en la banda baja, y la utilización de una estructura demasiado armónica en la señal de excitación de banda alta puede dar como resultado un sonido con zumbidos. Este artefacto puede apreciarse especialmente en señales de voz de mujeres. The high band excitation A300 generator can be implemented to transmit the harmonically widened signal S160 as the high band excitation signal S120. However, in some cases, using only a harmonically widened signal such as high band excitation can result in audible artifacts. The harmonic structure of the voice is generally less pronounced in the high band than in the low band, and the use of an overly harmonious structure in the high band excitation signal can result in a humming sound. This device can be seen especially in women's voice signals.

Las realizaciones incluyen implementaciones del generador A300 de excitación de banda alta que están configuradas para mezclar la señal S160 ensanchada de manera armónica con una señal de ruido. Tal y 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 generar una señal de ruido aleatorio. En un ejemplo, el generador 480 de ruido está configurado para generar una señal de ruido blanco pseudoaletorio de varianza unitaria aunque en otras implementaciones la señal de ruido no necesita ser blanca y puede presentar una densidad de potencia que varíe con la frecuencia. Puede ser deseable que los generadores 480 de ruido estén configurados para transmitir la señal de ruido como una función determinista de manera que su estado pueda duplicarse en el descodificador. Por ejemplo, el generador 480 de ruido puede configurarse para transmitir la señal de ruido como una función determinista de información codificada anteriormente dentro de la misma trama, tal como los parámetros S40 de filtro de banda estrecha y/o la señal S50 codificada de excitación de banda estrecha. Embodiments include implementations of the high-band excitation A300 generator that are configured to mix the harmonically widened 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 generate a random noise signal. In one example, the noise generator 480 is configured to generate a pseudo-random white 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 generators 480 are configured to transmit the noise signal as a deterministic function so that its status can be doubled in the decoder. For example, the noise generator 480 may be configured to transmit 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 encoded excitation signal S50 of Narrow band.

Antes de mezclarse con la señal S160 ensanchada de manera armónica, la señal de ruido aleatorio generada por el generador 480 de ruido puede modularse en amplitud para presentar una envolvente de dominio de tiempo que aproxime la distribución de energía en el tiempo de la señal S20 de banda estrecha, de la señal S30 de banda alta, de la señal S80 de excitación de banda estrecha o de la señal S160 ensanchada de manera armónica. Tal y 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 generada por el generador 480 de ruido según una envolvente de dominio de tiempo calculada por el calculador 460 de envolvente. Por ejemplo, el combinador 470 puede implementarse como un multiplicador dispuesto para escalar la salida del generador 480 de ruido según la envolvente de dominio de tiempo calculada por el calculador 460 de envolvente para generar la señal S170 de ruido modulada. Before mixing with the harmonically widened S160 signal, the random noise signal generated by the noise generator 480 can be amplitude modulated to present a time domain envelope that approximates the time distribution of the S20 signal in time. narrow band, of the high band signal S30, of the narrow band excitation signal S80 or of the harmonically widened signal S160. As shown in Figure 11, the high-band excitation generator A302 includes a combiner 470 configured to amplitude modulate the noise signal generated by the noise generator 480 according to a time domain envelope 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 time domain envelope calculated by the envelope calculator 460 to generate the modulated noise signal S170.

En una implementación A304 del generador A302 de excitación de banda alta, como la mostrada en el diagrama de bloques de la figura 13, el calculador 460 de envolvente está dispuesto para calcular la envolvente de la señal S160 ensanchada de manera armónica. En una implementación A306 del generador A302 de excitación de banda alta, como la mostrada en el diagrama de bloques de la figura 14, el calculador 460 de envolvente está dispuesto para calcular la envolvente de la señal S80 de excitación de banda estrecha. Implementaciones adicionales del generador A302 de excitación de banda alta pueden configurarse de otro modo para añadir ruido a la señal S160 ensanchada de manera armónica según las posiciones de los impulsos de tono de banda estrecha en el tiempo. In an implementation A304 of the high band excitation generator A302, as shown in the block diagram of Figure 13, the envelope calculator 460 is arranged to calculate the envelope of the harmonically widened 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 narrowband excitation signal S80. Additional implementations of the high-band excitation generator A302 can be configured in another way to add noise to the S160 signal harmonically widened according to the positions of the narrow-band tone pulses over time.

El calculador 460 de envolvente puede configurarse para realizar un cálculo de envolvente como una tarea que incluya 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 va a modelarse (por ejemplo, la señal S80 de excitación de banda estrecha o la señal S160 ensanchada de manera armónica) para generar una secuencia de valores al cuadrado. La subtarea T120 realiza una operación de suavizado en la secuencia de valores al cuadrado. En un ejemplo, la subtarea T120 aplica un filtro 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 frame of the signal whose envelope is to be modeled (for example, the narrowband excitation signal S80 or the harmonically widened signal S160) to generate 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

donde x es la entrada del filtro, y es la salida del filtro, n es un índice de dominio de tiempo, y a es un coeficiente de suavizado que presenta 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 manera que a está más cerca de 1 en ausencia de ruido y más cerca de 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 generar la envolvente de dominio de tiempo. where x is the filter input, and is the filter output, n is a time domain index, it is already a smoothing coefficient that has a value between 0.5 and 1. The smoothing coefficient value a can be fixed or, in an alternative implementation, it can be adaptive according to an indication of noise in the input signal, so that a is closer to 1 in the absence of noise and closer to 0.5 in the presence of noise. Subtask T130 applies a square root function to each sample of the smoothed sequence to generate the time domain envelope.

Una implementación de este tipo del calculador 460 de envolvente puede configurarse para realizar las diversas subtareas de la tarea T100 en serie y/o en paralelo. En implementaciones adicionales de la tarea T100, la subtarea T110 puede estar precedida por una operación de paso banda configurada para seleccionar una parte de frecuencia deseada de la señal cuya envolvente va a modelarse, tal como el intervalo de 3 a 4 kHz. Such an implementation of the envelope calculator 460 can be configured to perform the various subtasks of the T100 task in series and / or in parallel. In additional 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 is to be modeled, such as the 3 to 4 kHz range.

El combinador 490 está configurado para mezclar la señal S160 ensanchada de manera armónica y la señal S170 de ruido modulada para generar la señal S120 de excitación de banda alta. Implementaciones del combinador 490 pueden configurarse, por ejemplo, para calcular la señal S120 de excitación de banda alta como una suma de la señal S160 ensanchada de manera armónica y la señal S170 de ruido modulada. Una implementación de este tipo del 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 ensanchada de manera armónica y/o a la señal S170 de ruido modulada antes de la suma. Cada factor de ponderación puede calcularse según uno o más criterios y puede ser un valor fijo o, como alternativa, un valor adaptativo que se calcule para cada trama o para cada subtrama. The combiner 490 is configured to mix the harmonically widened signal S160 and the modulated noise signal S170 to generate the high band excitation signal S120. Combiner implementations 490 can be configured, for example, to calculate the high band excitation signal S120 as a sum of the harmonically widened signal S160 and the modulated noise signal S170. Such an implementation 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 widened signal S160 and / or to the modulated noise signal S170 before the sum . Each weighting factor can be calculated according to one or more criteria and can be a fixed value or, alternatively, an adaptive value that is calculated for each frame or for each subframe.

La figura 16 muestra un diagrama de bloques de una implementación 492 del combinador 490 que está configurada para calcular la señal S120 de excitación de banda alta como una suma ponderada de la señal S160 ensanchada de manera armónica y la señal S170 de ruido modulada. El combinador 492 está configurado para ponderar la señal S160 ensanchada de manera armónica según un factor S180 de ponderación armónico, para ponderar la señal S170 de ruido modulada según un factor S190 de ponderación de ruido y para transmitir 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ónico y el factor S190 de ponderación de ruido. Figure 16 shows a block diagram of an implementation 492 of the combiner 490 that is configured to calculate the high band excitation signal S120 as a weighted sum of the harmonically widened signal S160 and the modulated noise signal S170. The combiner 492 is configured to weigh the harmonically widened signal S160 according to a harmonic weighting factor S180, to weight the modulated noise signal S170 according to a noise weighting factor S190 and to transmit 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 configurarse para calcular los factores S180 y S190 de ponderación según una relación deseada de contenido de armónico con respecto a contenido de ruido en la señal S120 de excitación de banda alta. Por ejemplo, puede ser deseable que el combinador 492 genere la señal S120 de excitación de banda alta para que presente una relación de energía de armónico con respecto 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, los factores S180, S190 de ponderación se calculan según uno o más parámetros relacionados con una periodicidad de la señal S20 de banda estrecha o de la señal residual de banda estrecha, tal como la ganancia de tono y/o el modo de voz. 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ónico que sea proporcional a la ganancia de tono, por ejemplo, y/o para asignar un valor más elevado al factor S190 de ponderación de ruido para señales de voz sordas en lugar de para señales de voz sonoras. The weighting factor calculator 550 can 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 generate the high band excitation signal S120 so that it has a harmonic energy ratio with respect to noise energy 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 related to a periodicity of the narrow-band signal S20 or the narrow-band residual signal, such as the gain of tone and / or voice 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 tone gain, for example, and / or to assign a higher value to the S190 factor of noise weighting for deaf voice signals instead of sound voice 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ónico y/o para el factor S190 de ponderación de ruido 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ónico como el valor máximo del coeficiente de autocorrelación de la señal S30 de banda alta para la trama o subtramas actuales, donde la autocorrelación se lleva a cabo a través de un intervalo de búsqueda que incluye un retardo de un desfase de tono y que no incluye un retardo de cero muestras. La figura 17 muestra un ejemplo de tal intervalo de búsqueda de muestras de longitud n que está centrado en torno a un retardo de un desfase de tono y que presenta un ancho no superior a un desfase de tono. In other implementations, the weighting factor calculator 550 is configured to calculate values for the harmonic weighting factor S180 and / or for 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 subframes, where the autocorrelation is carried to conducted through a search interval that includes a delay of a tone offset and that does not include a delay of zero samples. Figure 17 shows an example of such a search interval of samples of length n which is centered around a delay of a pitch offset and that has a width not exceeding a pitch offset.

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, la trama actual se divide en una pluralidad de subtramas, y el retardo para el que el coeficiente de autocorrelación es máximo se identifica por separado para cada subtrama. Tal y como se ha mencionado anteriormente, la autocorrelación se realiza en un intervalo de búsqueda que incluye un retardo de un desfase de tono y que no incluye un retardo de cero muestras. 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 plurality of subframes, and the delay for which the autocorrelation coefficient is maximum is identified separately for each subframe. As mentioned above, autocorrelation is performed in a search interval that includes a delay of a tone offset and does not include a delay of zero samples.

En una segunda etapa, una trama retardada se construye aplicando el retardo identificado correspondiente a cada subtrama, concatenando las subtramas resultantes para construir una trama retardada de manera óptima, y calculando el factor S180 de ponderación de armónico como el coeficiente de correlación entre la trama original y la trama retardada de manera óptima. En una alternativa adicional, el calculador 550 de factor de ponderación calcula el factor S180 de ponderación de armónico como la media de los coeficientes de autocorrelación máximos obtenidos en la primera etapa para cada subtrama. Implementaciones del calculador 550 de factor de ponderación también pueden calcularse para escalar el coeficiente de correlación, y/o para combinarlo con otro valor, para calcular el valor para el factor S180 de ponderación de armónico. 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 plot optimally delayed. In an additional alternative, the weighting factor calculator 550 calculates the harmonic weighting factor S180 as the average of the maximum autocorrelation coefficients obtained in the first stage for each subframe. Implementations of the weighting factor calculator 550 can also be calculated to scale the correlation coefficient, and / or to 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 solamente cuando se indique de otro modo una presencia de periodicidad en la trama. Por ejemplo, el calculador 550 de factor de ponderación puede configurarse 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 la ganancia de tono, y un valor de umbral. En un ejemplo, el calculador 550 de factor de ponderación está configurado para realizar una operación de autocorrelación en la señal S30 de banda alta solamente si la ganancia de tono de la trama (por ejemplo, la ganancia de libro de códigos adaptativo de la señal residual de banda estrecha) tiene un valor superior a 0,5 (como alternativa, de al menos 0,5). En otro ejemplo, el calculador 550 de factor de ponderación está configurado para realizar una operación de autocorrelación en la señal S30 de banda alta solamente para tramas que presenten estados particulares de modo de voz (por ejemplo, solamente para señales sonoras). En estos casos, el calculador 550 de factor de ponderación puede configurarse para asignar un factor de ponderación por defecto para tramas que presenten otros estados de modo de voz y/o valores inferiores de ganancia de tono. It may be desirable for the weighting factor calculator 550 to calculate a periodicity measurement of the high band signal S30 only when a presence of frame periodicity is otherwise indicated. For example, the weighting factor calculator 550 can 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 tone 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 frame tone gain (for example, the adaptive codebook gain of the residual signal narrow band) has a value greater 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 presenting particular voice mode states (for example, only for sound signals). In these cases, the weighting factor calculator 550 can be configured to assign a default weighting factor for frames presenting other voice mode states and / or lower tone gain values.

Las realizaciones incluyen implementaciones adicionales del calculador 550 de factor de ponderación que están configuradas para calcular factores de ponderación según características distintas de o adicionales a la periodicidad. Por ejemplo, una implementación de este tipo puede configurarse para asignar un valor más elevado al factor S190 de ganancia de ruido para señales de voz que presenten un gran desfase de tono en lugar de para señales de voz que presenten un pequeño desfase de tono. 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 voz 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 múltiplos de la frecuencia fundamental con respecto a la energía de la señal en otras componentes de frecuencia. The embodiments include additional implementations of the weighting factor calculator 550 that are configured to calculate weighting factors according to characteristics other than or additional to the periodicity. For example, such an implementation can be configured to assign a higher value to the noise gain factor S190 for voice signals that have a large pitch offset rather than for voice signals that have a small pitch offset. Another such implementation of the weighting factor calculator 550 is configured to determine a measure of harmonicity of the broadband voice signal S10, or of the high band signal S30, according to a measure of the signal energy in multiples of the fundamental frequency with respect to the signal energy in other frequency components.

Algunas implementaciones del codificador A100 de voz de banda ancha están configuradas para transmitir una indicación de periodicidad o armonicidad (por ejemplo, una bandera de un bit que indique si la trama es armónica o no armónica) en función de la ganancia de tono y/u otra medida de periodicidad o armonicidad descrita en este documento. En un ejemplo, un descodificador B100 de voz de banda ancha correspondiente utiliza esta indicación para configurar una operación tal como el cálculo de los factores de ponderación. En otro ejemplo, una indicación de este tipo se utiliza en el codificador y/o en el descodificador para calcular un valor para un parámetro de modo de voz. Some implementations of the A100 broadband voice encoder are configured to transmit an indication of periodicity or harmonicity (for example, a one-bit flag that indicates whether the frame is harmonic or non-harmonic) depending on the tone gain and / or another measure of periodicity or harmonicity described in this document. In one example, a corresponding broadband voice decoder B100 uses this indication to configure an operation such as the calculation of weighting factors. In another example, such an indication is used in the encoder and / or in the decoder to calculate a value for a voice 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 manera que la energía de la señal de excitación no quede afectada en gran medida por los valores particulares de los factores S180 y S190 de ponderación. En este caso, el calculador 550 de factor de ponderación puede configurarse para calcular un valor para el factor S180 de ponderación de armónico o para el factor S190 de ponderación de ruido (o para recibir un valor de este tipo de un medio de almacenamiento u otro elemento del codificador A200 de banda alta) y para obtener un valor para el otro factor de ponderación según una expresión como la siguiente It may be desirable that the high band excitation generator A302 generates the high band excitation signal S120 so that the energy of the excitation signal is not greatly affected by the particular values of the weighting factors S180 and S190. In this 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 a storage medium or other high-band A200 encoder element) and to obtain a value for the other weighting factor according to an expression such as the following

imagen1image 1

donde Warmónico denota el factor S180 de ponderación de armónico y Wruido denota el factor S190 de ponderación de ruido. 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, un par correspondiente de entre una pluralidad de pares de factores S180, S190 de ponderación, donde los pares se precalculan 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ónico oscilan entre 0,7 aproximadamente y 1,0 aproximadamente, y los valores típicos para el factor S190 de ponderación de ruido oscilan entre 0,1 aproximadamente y 0,7 aproximadamente. Otras implementaciones del calculador 550 de factor de ponderación pueden configurarse para funcionar según una versión de la expresión (2) que está modificada según una ponderación de línea de base deseada entre la señal S160 ensanchada de manera armónica y la señal S170 de ruido modulada. where Warmonic denotes the harmonic weighting factor S180 and Wruid denotes the noise weighting factor S190. Alternatively, the weighting factor calculator 550 can be configured to select, according to a value of a periodicity measure for the current frame or subframe, a corresponding pair from a plurality of pairs of S180, S190 weighting factors, where the pairs they are precalculated to satisfy a constant energy ratio 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 between approximately 0.7 and approximately 1.0, and the typical values for the S190 noise weighting factor ranges from approximately 0.1 to approximately 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 baseline weighting between the harmonically widened signal S160 and the modulated noise signal S170.

Pueden producirse artefactos en una señal de voz sintetizada cuando un libro de códigos disperso (uno cuyas entradas son en gran parte valores de cero) se haya utilizado para calcular la representación cuantificada de la señal residual. La dispersión de libro de códigos se produce especialmente cuando la señal de banda estrecha se codifica a una baja velocidad binaria. Los artefactos producidos por la dispersión de libros de códigos son normalmente cuasiperiódicos en el tiempo y se producen principalmente por encima de 3 kHz. Puesto que el oído humano tiene una mejor resolución de tiempo a frecuencias más altas, estos artefactos pueden apreciarse más en la banda alta. Artifacts can be produced in a synthesized voice signal when a scattered codebook (one whose entries are largely zero values) has been used to calculate the quantized representation of the residual signal. Codebook dispersion occurs especially when the narrowband signal is encoded at a low bit rate. The artifacts produced by the dispersion of code books are normally quasi-periodic over time and are mainly produced above 3 kHz. Since the human ear has a better time resolution at higher frequencies, these artifacts can be seen more in the high band.

Las realizaciones incluyen implementaciones del generador A300 de excitación de banda alta que están configuradas para realizar un filtrado de antidispersión. La figura 18 muestra un diagrama de bloques de una implementación A312 del 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 generada 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 ensanchada de manera espectral generada por el ensanchador 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 generar 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 combinen 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, por lo tanto, se indican de manera expresa. El filtro 600 de antidispersión también puede estar dispuesto dentro del ensanchador A400 de espectro: por ejemplo, después de cualquiera de los elementos 510, 520, 530 y 540 del ensanchador A402 de espectro. Debe observarse expresamente que el filtro 600 de antidispersión también puede usarse con implementaciones del ensanchador A400 de espectro que realicen plegado espectral, traslación espectral o ensanchamiento de armónico. 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 the high-band excitation generator A302 that includes an anti-dispersion filter 600 arranged to filter the quantized narrowband excitation signal generated 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 widened signal generated by the spectrum stretcher 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 generate the high band excitation signal S120. Of course, implementations of the high-band excitation A300 generator are contemplated that combine the characteristics of any of the A304 and A306 implementations with the characteristics of any of the A312, A314 and A316 implementations and, therefore, expressly indicated . The anti-dispersion filter 600 may also be disposed within the A400 spectrum extender: for example, after any of the elements 510, 520, 530 and 540 of the spectrum extender A402. It should be expressly noted that the anti-dispersion filter 600 can also be used with implementations of the spectrum A400 stretcher that perform spectral folding, spectral translation or harmonic widening.

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 manera que la fase de la señal S120 de excitación de banda alta se aleatorice, o se distribuya de otro modo de manera más uniforme, en el tiempo. También puede ser deseable que la respuesta del filtro 600 de antidispersión sea plana de manera espectral, de manera que el espectro de magnitud de la señal filtrada no cambie de manera apreciable. En un ejemplo, el filtro 600 de antidispersión está implementado como un filtro de todo paso que presenta una función de transferencia según la siguiente expresión: 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 so that the phase of the high band excitation signal S120 is randomized, 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 does not change appreciably. 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 distribuir la energía de la señal de entrada de manera que no se concentre solamente en algunas muestras. An effect of such a filter can be to distribute the energy of the input signal so that it does not concentrate only on some samples.

Los artefactos producidos por la dispersión de libro de códigos son normalmente más apreciables para señales similares al ruido, donde la señal residual incluye menos información de tono, y también para voz en ruido de fondo. La dispersión provoca normalmente menos artefactos cuando la excitación presenta una estructura de larga duración y, de hecho, la modificación de fase puede provocar ruido en señales sonoras. Por lo tanto, puede ser deseable configurar el filtro 600 de antidispersión para filtrar señales sordas y para hacer pasar al menos las mismas señales sonoras sin alteración. Las señales sordas están caracterizadas por una baja ganancia de tono (por ejemplo, una ganancia de libro de códigos adaptativo de banda estrecha cuantificada) y por una inclinación espectral (por ejemplo, primer coeficiente de reflexión cuantificado) cercana a cero o positiva, indicando una envolvente espectral que es plana o que está inclinada hacia arriba sin una frecuencia creciente. Las implementaciones típicas del filtro 600 de antidispersión están configuradas para filtrar sonidos sordos (por ejemplo, como los indicados por el valor de la inclinación espectral), para filtrar sonidos sonoros cuando la ganancia de tono está por debajo de un valor de umbral (como alternativa, no superior al valor de umbral) y además para hacer pasar la señal sin alteraciones. Artifacts produced by codebook scattering are usually more noticeable for noise-like signals, where the residual signal includes less tone information, and also for voice in background noise. The dispersion normally causes less artifacts when the excitation has a long-lasting structure and, in fact, the phase modification can cause noise in sound signals. Therefore, it may be desirable to configure the anti-dispersion filter 600 to filter out deaf signals and to pass at least the same sound signals without alteration. Deaf signals are characterized by a low tone gain (for example, a quantized narrow band adaptive codebook gain) and a spectral inclination (for example, first quantized reflection coefficient) close to zero or positive, indicating a spectral envelope that is flat or that is tilted upward without increasing frequency. Typical implementations of the anti-dispersion filter 600 are configured to filter out dull sounds (for example, such as those indicated by the spectral tilt value), to filter out sound sounds when the tone gain is below a threshold value (as an alternative , not exceeding the threshold value) and also to pass the signal without alterations.

Implementaciones adicionales del filtro 600 de antidispersión incluyen dos o más filtros que están configurados para presentar diferentes ángulos de modificación de fase máxima (por ejemplo, de hasta 180 grados). En ese caso, el filtro 600 de antidispersión puede estar configurado para realizar una selección entre esos filtros de componente según un valor de la ganancia de tono (por ejemplo, el libro de códigos adaptativo cuantificado o la ganancia LTP), de manera que se utiliza un mayor ángulo de modificación de fase máxima para tramas que tengan valores de ganancia de tono más bajos. Una implementación del filtro 600 de antidispersión también puede incluir diferentes filtros de componente que estén configurados para modificar la fase más o menos en el espectro de frecuencia, de manera que un filtro configurado para modificar la fase en un intervalo de frecuencias más amplio de la señal de entrada se utiliza para tramas que tengan valores de ganancia de tono más bajos. Additional implementations of the anti-dispersion filter 600 include two or more filters that are configured to present different angles of maximum phase modification (for example, up to 180 degrees). In that case, the anti-dispersion filter 600 may be configured to make a selection between those component filters according to a value of the tone gain (for example, the quantized adaptive codebook or the LTP gain), so that it is used a larger maximum phase modification angle for frames that have lower tone gain values. An implementation of the anti-dispersion filter 600 may also include different component filters that are configured to modify the phase more or less in the frequency spectrum, such that a filter configured to modify the phase over a wider frequency range of the signal Input is used for frames that have lower tone gain values.

Para una reproducción precisa de la señal de voz codificada puede ser deseable que la relación entre los niveles de la parte de banda alta y la parte de banda estrecha de la señal S100 de voz de banda ancha sintetizada sea similar a la de la señal S10 de voz de banda ancha original. Además de una envolvente espectral como la representada 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 temporal o de ganancia. Tal y 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 en una trama o en 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 dispuesto en cambio para calcular la envolvente de ganancia según una relación variable 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 voice signal it may be desirable that the ratio between the levels of the high band part and the narrow band part of the synthesized broadband voice signal S100 is similar to that of the S10 signal of original broadband voice. In addition to a spectral envelope such as that represented by high-band coding parameters S60a, the high-band encoder A200 can be configured to characterize the high-band signal S30 by specifying a temporary or gain 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 in a frame or somewhere in it. In other implementations of the high band A202 encoder, the high band gain A230 calculator may be configured in the same manner but instead arranged to calculate the gain envelope according to such a time-varying relationship between the signal S30 of high band and the narrow band excitation signal S80 or the high band excitation signal S120.

Es probable que las envolventes temporales de la señal S80 de excitación de banda estrecha y de la señal S30 de banda alta sean similares. Por lo tanto, codificar una envolvente de ganancia que esté basada 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 que se obtenga de las mismas, tal como la señal S120 de excitación de banda alta o la señal S130 de banda alta sintetizada) será generalmente más eficaz que codificar una envolvente de ganancia basada solamente en la señal S30 de banda alta. En una implementación típica, el codificador A202 de banda alta está configurado para transmitir 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, encode 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 that is obtained therefrom, such as the signal S120 of high band or 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 transmit 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 realizar el cálculo del factor de ganancia como una tarea que incluya 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 de 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 con respecto a la energía de la señal S130 de banda alta sintetizada en 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 with respect to the energy of the high band signal S130 synthesized in the subframe.

Puede ser deseable que el calculador A230 de factor de ganancia de banda alta esté configurado para calcular las energías de subtrama según una función de división en ventanas. La figura 22 muestra un diagrama de flujo de una implementación T210 de este tipo de la tarea T200 de cálculo de factor de ganancia. La tarea T215a aplica una función de división en ventanas a la señal S30 de banda alta, y la tarea T215b aplica la misma función de división en ventanas 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 division function. Figure 22 shows a flow chart of such a T210 implementation of the T200 gain factor calculation task. Task T215a applies a window division function to the high band signal S30, and task T215b applies the same window division 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 de división en ventanas que solape subtramas adyacentes. Por ejemplo, una función de división en ventanas que genere factores de ganancia que puedan aplicarse mediante solapamiento y suma puede ayudar a reducir o evitar discontinuidades entre subtramas. En un ejemplo, el calculador A230 de factor de ganancia de banda alta está configurado para aplicar una función trapezoidal de división en ventanas, tal como la mostrada en la figura 23a, en la que la ventana se solapa con cada una de las dos subtramas adyacentes en un milisegundo. La figura 23b muestra una aplicación de esta función de división en ventanas 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 de división en ventanas que presenten diferentes periodos de solapamiento y/o diferentes formas de ventana (por ejemplo, rectangulares, de 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 esté configurada para aplicar diferentes funciones de división en ventanas a diferentes subtramas de una trama y/o que una trama incluya subtramas de diferentes longitudes. It may be desirable to apply a window splitting function that overlaps adjacent subplots. For example, a window division function that generates gain factors that can be applied by overlapping and summing can help reduce or avoid discontinuities between subframes. In one example, the high-band gain factor A230 calculator is configured to apply a trapezoidal window division function, such as that shown in Figure 23a, in which the window overlaps with each of the two adjacent subframes in a millisecond. Figure 23b shows an application of this window division 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 splitting functions that have different overlapping periods and / or different window shapes (e.g., 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 division functions to different subframes of a frame and / or that a frame includes subframes of different lengths.

De manera no limitativa, los siguientes valores se presentan como ejemplos de implementaciones particulares. Se considera una trama de 20 ms para estos casos, aunque puede utilizarse cualquier otra duración. Para una señal de banda alta muestreada a 7 kHz, cada trama tiene 140 muestras. Si una trama de este tipo se divide en cinco subtramas de igual longitud, cada subtrama tendrá 28 muestras, y la ventana mostrada en la figura 23a tendrá un ancho de 42 muestras. Para una señal de banda alta muestreada a 8 kHz, cada trama presenta 160 muestras. Si una trama de este tipo se divide en cinco subtramas de igual longitud, cada subtrama tendrá 32 muestras, y la ventana mostrada 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 esté configurada para generar un factor de ganancia diferente para cada muestra de una trama. In a non-limiting manner, the following values are presented as examples of particular implementations. A 20 ms frame is considered 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 shown in Figure 23a will be 42 samples wide. 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 shown in Figure 23a will be 48 samples wide. In other implementations, subframes of any width may be used and it is even possible that an implementation of the high band gain A230 calculator is configured to generate a different gain factor for each sample of a frame.

La figura 24 muestra un diagrama de bloques de una implementación B202 del descodificador B200 de banda alta. El descodificador B202 de banda alta incluye un generador B300 de excitación de banda alta que está configurado para generar la señal S120 de excitación de banda alta en función de la señal S80 de excitación de banda estrecha. Dependiendo de las elecciones particulares de diseño del sistema, 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 descrito en este 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 descodificador B110 de banda estrecha realizará normalmente la descuantificación de la señal S50 de excitación de banda estrecha codificada, 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 descodificador B110 de banda estrecha y no necesita incluir un cuantificador inverso configurado para descuantificar la señal S50 codificada de excitación de banda estrecha. También es posible implementar el descodificador B110 de banda estrecha para que incluya una instancia del filtro 600 de antidispersión dispuesta para filtrar la señal de excitación de banda estrecha descuantificada antes de que se introduzca 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 decoder B200. The high band decoder B202 includes a high band excitation generator B300 which is configured to generate the high band excitation signal S120 based on the narrow band excitation signal S80. Depending on the particular design choices of the system, the high band excitation generator B300 can be implemented according to any of the implementations of the high band excitation A300 generator 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, in most cases the highband excitation generator B300 can be implemented to receive the narrowband excitation signal S80 from the B110 narrowband decoder and does not need to include a reverse quantizer configured to quantify the encoded narrowband excitation signal S50. It is also possible to implement the narrowband decoder B110 to include an instance of the anti-dispersion filter 600 arranged to filter out the unqualified narrowband excitation signal before it is introduced into a narrowband synthesis filter such as filter 330.

Un cuantificador 560 inverso está configurado para descuantificar los parámetros S60a de filtro de banda alta (en este ejemplo, a un conjunto de LSF), y una transformada 570 de LSF a coeficientes de filtro LP está configurada para transformar las LSF en un conjunto de coeficientes de filtro (por ejemplo, como el descrito anteriormente con referencia al cuantificador 240 inverso y a la transformada 250 del codificador A122 de banda estrecha). En otras implementaciones, como las mencionadas anteriormente, pueden utilizarse diferentes conjuntos de coeficientes (por ejemplo, coeficientes cepstrales) y/o diferentes representaciones de coeficientes (por ejemplo, ISP). Un filtro B200 de síntesis de banda alta está configurado para generar 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 B200 de síntesis de banda alta para que tenga la misma repuesta (por ejemplo, la misma función de transferencia) que el filtro de síntesis. A reverse quantizer 560 is configured to quantify the high-band filter parameters S60a (in this example, to a set of LSFs), and a 570 transform from LSF to LP filter coefficients is configured to transform the LSFs into a set of coefficients filter (for example, as described above with reference to reverse quantizer 240 and transform 250 of narrowband encoder A122). In other implementations, such as those mentioned above, different sets of coefficients (for example, cepstral coefficients) and / or different representations of coefficients (for example, ISP) may be used. A high band synthesis filter B200 is configured to generate 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 B200 filter to have the same response ( for example, the same transfer function) as the synthesis filter.

El descodificador B202 de banda alta 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 generar la señal S100 de banda alta. Para un caso en el que la envolvente de ganancia de una trama está especificada por más de un factor de ganancia, el elemento 590 de control de ganancia puede incluir lógica configurada para aplicar los factores de ganancia a las subtramas respectivas, posiblemente según una función de división en ventanas que puede ser la misma o una función de división en ventanas diferente como la aplicada 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 descodificador 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 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 unquantified gain factors to the high band signal synthesized to generate the high band S100 signal. For a case where the gain envelope of a frame is specified by 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 of Window division that can be the same or a different window division 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 y como se ha mencionado anteriormente, puede ser deseable obtener el mismo estado en el codificador de banda alta y en el descodificador de banda alta (por ejemplo, utilizando valores descuantificados durante la codificación). Por lo tanto, en un sistema de codificación según una implementación de este tipo puede ser deseable garantizar el mismo estado para 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 manera que el estado del generador de ruido sea una función determinista 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 in the high band decoder (for example, using quantified values during encoding). Therefore, in an encoding system according to such an implementation it may be desirable to guarantee the same status for 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 so that the noise generator status is a deterministic function of information already encoded within the same frame (for example, 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 este documento (por ejemplo, los cuantificadores 230, 420 ó 430) pueden configurarse para realizar una cuantificación vectorial clasificada. Por ejemplo, un cuantificador de este tipo puede configurarse para seleccionar un libro de códigos de un conjunto de libros de códigos en función de información que ya se haya 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 una mayor eficacia de codificación a expensas de un almacenamiento adicional de libros de códigos. One or more of the quantifiers of the elements described in this document (for example, quantifiers 230, 420 or 430) can be configured to perform a classified vector quantification. For example, such a quantifier can be configured to select a codebook from a set of codebooks based on information that has already been encoded within the same frame in the narrowband channel and / or in the data channel. high band Such a technique normally provides greater coding efficiency at the expense of additional codebook storage.

Tal y como se ha mencionado anteriormente con referencia a, por ejemplo, las figuras 8 y 9, una considerable cantidad de estructura periódica puede permanecer en la señal residual después de la eliminación de la envolvente espectral aproximada de la señal S20 de voz de banda estrecha. Por ejemplo, la señal residual puede contener una secuencia de valores de pico o de impulsos aproximadamente periódicos en el tiempo. Es especialmente probable que tal estructura, que está relacionada normalmente con el tono, se produzca en señales de voz sonoras. 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 tono según un modelo de periodicidad de larga duración como el representado, por ejemplo, por uno o más libros de códigos. As mentioned 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 voice signal S20. . For example, the residual signal may contain a sequence of peak values or pulses approximately periodic in time. It is especially likely that such a structure, which is normally related to tone, occurs in sound voice signals. The calculation of a quantified representation of the narrow-band residual signal may include the coding of this tone structure according to a long-term periodicity model such as that represented, for example, by one or more code books.

La estructura de tono de una señal residual real puede no coincidir exactamente con el modelo de periodicidad. Por ejemplo, la señal residual puede incluir pequeñas fluctuaciones en la regularidad de las posiciones de los impulsos de tono, de manera que las distancias entre impulsos de tono sucesivos en una trama no son exactamente iguales y la estructura es bastante irregular. Estas irregularidades tienden a reducir la eficacia de codificación. The tone structure of a real residual signal may not coincide exactly with the periodicity model. For example, the residual signal may include small fluctuations in the regularity of the tone pulse positions, so that the distances between successive tone pulses in a frame are not exactly the same and the structure is quite irregular. These irregularities tend to reduce the coding efficiency.

Algunas implementaciones del codificador A120 de banda estrecha están configuradas para realizar una regularización de la estructura de tono aplicando una distorsión de tiempo adaptativa a la señal residual antes o durante la cuantificación o incluyendo de otro modo una distorsión de tiempo adaptativa en la señal codificada de excitación. Por ejemplo, un codificador de este tipo puede configurarse para seleccionar o calcular de otro modo un grado de distorsión en el tiempo (por ejemplo, según uno o más criterios de minimización de errores y/o de ponderación perceptual) de manera que la señal de excitación resultante se ajuste de manera óptima al modelo de periodicidad de larga duración. La regularización de la estructura de tono se realiza por un subconjunto de codificadores CELP denominados codificadores de predicción lineal excitada por código de relajación (RCELP). Some implementations of the narrow-band A120 encoder are configured to perform a regularization of the tone structure by applying an adaptive time distortion to the residual signal before or during quantification or otherwise including an adaptive time distortion in the encoded excitation signal. . For example, such an encoder can be configured to select or otherwise calculate a degree of distortion over time (for example, according to one or more criteria for minimizing errors and / or perceptual weighting) so that the signal of The resulting excitation is optimally adjusted to the long-term periodicity model. The tone structure is regularized by a subset of CELP encoders called linear prediction encoders excited by relaxation code (RCELP).

Un codificador RCELP está configurado normalmente para realizar la distorsión de tiempo como un desplazamiento de tiempo adaptativo. Este desplazamiento de tiempo puede ser un retardo que oscile entre algunos milisegundos negativos y algunos milisegundos positivos, y normalmente se modifica de manera uniforme para evitar discontinuidades audibles. En algunas implementaciones, un codificador de este tipo está configurado para aplicar la regularización por tramos, donde cada trama o subtrama está distorsionada mediante un desplazamiento de tiempo fijo correspondiente. En otras implementaciones, el codificador está configurado para aplicar la regularización como una función de distorsión continua, de manera que una trama o subtrama se distorsiona según un contorno de tono (denominado también como trayectoria de tono). En algunos casos (por ejemplo, según se describe en la publicación de solicitud de patente estadounidense 2004/0098255), el codificador está configurado para incluir una distorsión de tiempo en la señal codificada de excitación aplicando el desplazamiento a una señal de entrada ponderada de manera perceptual que se utiliza para calcular la señal de excitación codificada. An RCELP encoder is normally configured to perform time distortion as an adaptive time offset. This time offset can be a delay that ranges between some negative milliseconds and some positive milliseconds, and is usually modified uniformly to avoid audible discontinuities. In some implementations, such an encoder is configured to apply the regularization by sections, where each frame or subframe is distorted by a corresponding fixed time offset. In other implementations, the encoder is configured to apply the regularization as a continuous distortion function, so that a frame or subframe is distorted according to a tone contour (also referred to as a tone path). In some cases (for example, as described in US Patent Application Publication 2004/0098255), the encoder is configured to include a time distortion in the excitation encoded signal by applying the offset to a weighted input signal so perceptual that is used to calculate the encoded excitation signal.

El codificador calcula una señal codificada de excitación que está regularizada y cuantificada, y el descodificador descuantifica la señal codificada de excitación para obtener una señal de excitación que se utiliza para sintetizar la señal de voz descodificada. Por lo tanto, la señal de salida descodificada presenta el mismo retardo variable que el que estaba incluido en la señal codificada de excitación debido a la regularización. Normalmente, no se transmite al descodificador ninguna información que especifique las cantidades de regularización. 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 voice signal. Therefore, the decoded output signal has the same variable delay as that which was included in the encoded excitation signal due to regularization. Normally, no information specifying the amounts of regularization is transmitted to the decoder.

La regularización tiende a hacer la señal residual más fácil de codificar, lo que mejora la ganancia de codificación del elemento de predicción a largo plazo y, por lo tanto, aumenta la eficacia de codificación global, generalmente sin generar artefactos. Puede ser deseable realizar la regularización solamente en tramas que sean sonoras. Por ejemplo, el codificador A124 de banda estrecha puede configurarse para desplazar solamente aquellas tramas o subtramas que tengan una estructura de larga duración, tal como las señales sonoras. También puede ser deseable realizar la regularización solamente en subtramas que incluyan energía de impulso de tono. Varias implementaciones de la codificación RCELP se describen en las patentes estadounidenses números 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.). Implementaciones existentes de codificadores RCELP incluyen el códec de velocidad variable mejorado (EVRC), como el descrito en la especificación IS127 de la Asociación de la Industria de Telecomunicaciones (TIA), y el vocodificador de modo seleccionable (SMV) del segundo proyecto de colaboración de tercera generación (3GPP2). Regularization tends to make the residual signal easier to encode, which improves the coding gain of the long-term prediction element and, therefore, increases the overall coding efficiency, generally without generating artifacts. It may be desirable to perform regularization only on frames that are sound. For example, the narrowband encoder A124 can be configured to shift only those frames or subframes that have a long duration structure, such as sound signals. It may also be desirable to perform the regularization only in subframes that include tone pulse energy. Several implementations of the RCELP coding 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 RCELP encoders include the Enhanced Variable Speed Codec (EVRC), such as the one described in the IS127 specification of the Telecommunications Industry Association (TIA), and the selectable mode vocoder (SMV) of the second collaboration project of third generation (3GPP2).

Desafortunadamente, la regularización puede provocar problemas en un codificador de voz de banda ancha en el que la excitación de banda alta se obtenga de la señal codificada de excitación de banda estrecha (tal como un sistema que incluye el codificador A100 de voz de banda ancha y el descodificador B100 de voz de banda ancha). Debido a esta obtención a partir de una señal distorsionada en el tiempo, la señal de excitación de banda alta presentará generalmente un perfil de tiempo que será diferente del de la señal de voz de banda alta original. Dicho de otro modo, la señal de excitación de banda alta ya no será síncrona con la señal de voz de banda alta original. Unfortunately, regularization can cause problems in a broadband voice encoder in which high band excitation is obtained from the encoded narrowband excitation signal (such as a system that includes the A100 broadband voice encoder and B100 broadband voice decoder). Due to this obtaining from a time distorted signal, the high band excitation signal will generally have a time profile that will be different from that of the original high band voice signal. In other words, the high band excitation signal will no longer be synchronous with the original high band voice signal.

Una desalineación en el tiempo entre la señal de excitación de banda alta distorsionada y la señal de voz de banda alta original puede provocar varios problemas. Por ejemplo, la señal de excitación de banda alta distorsionada ya no puede proporcionar una excitación fuente adecuada para un filtro de síntesis que esté configurado según los parámetros de filtro extraídos de la señal de voz de banda alta original. Como resultado, la señal de banda alta sintetizada puede contener artefactos audibles que reduzcan la calidad percibida de la señal de voz de banda ancha descodificada. A misalignment in time between the distorted high band excitation signal and the original high band voice signal can cause several problems. For example, the distorted high band excitation signal can no longer provide a suitable source excitation for a synthesis filter that is configured according to the filter parameters extracted from the original high band voice signal. As a result, the synthesized high band signal may contain audible artifacts that reduce the perceived quality of the decoded broadband voice signal.

Esta desalineación en el tiempo también puede provocar ineficiencias en la codificación de envolvente de ganancia. Tal y como se ha mencionado anteriormente, es probable que exista una correlación entre las envolventes temporales de la señal S80 de excitación de banda estrecha y de 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 obtenerse un aumento de la eficacia de codificación en comparación con la codificación directa de la envolvente de ganancia. Sin embargo, cuando la señal codificada de excitación de banda estrecha está regularizada, esta correlación puede debilitarse. La desalineación 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 la eficacia de codificación puede disminuir. This misalignment over time can also cause inefficiencies in gain envelope coding. As mentioned above, 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 obtained as compared to the direct encoding of the gain envelope. However, when the encoded narrowband excitation signal is regularized, 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 decrease.

Las realizaciones incluyen procedimientos de codificación de voz de banda ancha que llevan a cabo la distorsión de tiempo de una señal de voz de banda alta según una distorsión de tiempo incluida en una señal codificada de excitación de banda estrecha correspondiente. Las ventajas potenciales de tales procedimientos incluyen mejorar la calidad de una señal de voz de banda ancha descodificada y/o mejorar la eficacia de codificación de una envolvente de ganancia de banda alta. Embodiments include broadband voice coding procedures that perform the time distortion of a high band voice signal according to a time distortion included in a corresponding narrow band excitation encoded signal. The potential advantages of such procedures include improving the quality of a decoded broadband voice 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 voz de banda ancha. El codificador AD10 incluye una implementación A124 del codificador A120 de banda estrecha que está configurada para realizar la regularización durante el cálculo de la señal S50 codificada de excitación de banda estrecha. Por ejemplo, el codificador A124 de banda estrecha puede configurarse según una o más de las implementaciones RCELP descritas anteriormente. Figure 25 shows a block diagram of an AD10 implementation of the A100 broadband voice encoder. The AD10 encoder includes an implementation A124 of the narrowband A120 encoder that is configured to perform regularization during the calculation of the S50 encoded narrowband excitation signal. For example, the narrowband A124 encoder can be configured according to one or more of the RCELP implementations described above.

El codificador A124 de banda estrecha también está configurado para transmitir una señal SD10 de datos de regularización que especifica el grado de distorsión de tiempo aplicado. Para varios 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 lo que se refiere a muestras, milisegundos o algún 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 ampliando 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 manera que la señal SD10 de datos de regularización indica tres cantidades de desplazamiento de tiempo para cada trama regularizada de la señal codificada de banda estrecha. The narrowband encoder A124 is also configured to transmit a regularization data SD10 signal that specifies the degree of time distortion applied. For several cases where the narrowband A124 encoder is configured to apply a fixed time offset to each frame or subframe, the SD10 regularization data signal may include a series of values indicating each amount of time offset as a integer or non-integer value in terms of samples, milliseconds or some 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, so that the regularization data signal SD10 indicates three amounts of time offset for each regularized frame of the narrowband encoded signal.

El codificador AD10 de voz de banda ancha incluye una línea D120 de retardo configurada para adelantar o retrasar partes de la señal S30 de voz de banda alta, según cantidades de retardo indicadas por una señal de entrada, para generar una señal S30a de voz de banda alta distorsionada en el tiempo. En el ejemplo mostrado en la figura 25, la línea D120 de retardo está configurada para distorsionar en el tiempo la señal S30 de voz de banda alta según la distorsión indicada por la señal SD10 de datos de regularización. De esta manera, la misma cantidad de distorsión de tiempo que estaba incluida en la señal S50 codificada de excitación de banda estrecha también se aplica a la parte correspondiente de la señal S30 de voz 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 está dispuesta como parte del codificador de banda alta. The AD10 broadband voice encoder includes a delay line D120 configured to advance or delay parts of the high band voice signal S30, according to delay amounts indicated by an input signal, to generate a band voice signal S30a High distorted over time. In the example shown in Figure 25, the delay line D120 is configured to distort the high-band voice signal S30 over time according to the distortion indicated by the regularization data signal SD10. In this way, the same amount of time distortion that was included in the encoded narrowband excitation signal S50 is also applied to the corresponding part of the high band voice signal S30 before 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.

Implementaciones adicionales del codificador A200 de banda alta pueden configurarse para realizar un análisis espectral (por ejemplo, un análisis LPC) de la señal S30 de voz de banda alta no distorsionada y para distorsionar en el tiempo la señal S30 de voz 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 realizar la distorsión en el 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 distorsionada pueden describir una envolvente espectral que esté desalineada en el tiempo con la señal S120 de excitación de banda alta. Additional implementations of the high-band A200 encoder can be configured to perform a spectral analysis (for example, an LPC analysis) of the high-distorted high-band voice signal S30 and to distort the high-band voice signal S30 over time before 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 perform the time distortion. However, in such cases, the high band filter parameters S60a based on the analysis of the undistorted signal S30 can describe a spectral envelope that is 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 de elementos de almacenamiento adecuados para aplicar las operaciones de distorsión de tiempo deseadas a la señal S30 de voz de banda alta. Por ejemplo, la línea D120 de retardo puede configurarse para leer la señal S30 de voz de banda alta de un almacenamiento intermedio 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 un almacenamiento intermedio de longitud m que está configurado para recibir y almacenar las m muestras más recientes de la señal S30 de voz de banda alta. El valor m es igual a al menos la suma del desplazamiento de tiempo positivo máximo (o "adelanto") y del desplazamiento de tiempo negativo máximo (o “retraso”) 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 logic elements and storage elements suitable for applying the desired time distortion operations to the high-band voice signal S30. For example, the delay line D120 can be configured to read the high band voice 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 storage of length m that is configured to receive and store the most recent m samples of the high-band voice signal S30. The value m is equal to at least the sum of the maximum positive time offset (or "advance") and the maximum negative time offset (or "delay") 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 transmitir la señal S30a de banda alta distorsionada en el tiempo desde una ubicación de desfase OL del registro SR1 de desplazamiento. La posición de la ubicación de desfase OL varía en torno a una posición de referencia (desplazamiento de tiempo cero) según el desplazamiento de tiempo actual indicado, 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 adelanto o de retraso iguales o, como alternativa, un límite más grande que otro de 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 transmitir una o más muestras a la vez (dependiendo del ancho de un bus de salida, por ejemplo). The delay line D122 is configured to transmit the time-distorted high-band signal S30a from an offset phase location OL of the shift register SR1. The position of the offset phase OL varies around a reference position (zero time offset) according to the current time offset indicated, for example, by the SD10 signal of regularization data. The delay line D122 can be configured to support equal advance or delay limits or, alternatively, a larger limit than another so 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 transmit one or more samples at a time (depending on the width of an output bus, for example).

Un desplazamiento de tiempo de regularización que presente una magnitud de más de algunos milisegundos puede provocar artefactos audibles en la señal descodificada. Normalmente, la magnitud de un desplazamiento de tiempo de regularización como el generado por un codificador A124 de banda estrecha no será mayor que algunos milisegundos, de manera que los desplazamientos de tiempo indicados por la señal SD10 de datos de regularización serán limitados. Sin embargo, en tales casos puede desearse que la línea D122 de retardo esté configurada para imponer un límite máximo en los desplazamientos de tiempo en la dirección positiva y/o en la dirección negativa (por ejemplo, para observar un límite más preciso que el impuesto por el codificador de banda estrecha). A shift in regularization time that has a magnitude of more than a few milliseconds can cause audible artifacts in the decoded signal. Normally, the magnitude of a regularization time offset such as that generated by a narrowband A124 encoder will not be greater than a few milliseconds, so that the time offsets indicated by the regularization data signal SD10 will be limited. However, in such cases it may be desired that the delay line D122 is configured to impose a maximum limit on time shifts in the positive direction and / or in the negative direction (for example, to observe a more precise limit than the tax by the narrowband encoder).

La figura 26b muestra un diagrama esquemático de una implementación D124 de la línea D122 de retardo que incluye una venta de desplazamiento SW. En este ejemplo, la posición de la ubicación de desfase OL está limitada por la ventana de desplazamiento SW. Aunque la figura 26b muestra un caso en que la longitud m del almacenamiento intermedio es mayor que el ancho de la ventana de desplazamiento SW, la línea D124 de retardo también puede implementarse de manera que el ancho de la ventana de desplazamiento SW sea igual a m. Figure 26b shows a schematic diagram of an implementation D124 of the delay line D122 that includes a shift sale SW. In this example, the position of the offset phase OL is limited by the scroll window SW. Although Figure 26b shows a case where the length m of the buffer is greater than the width of the shift window SW, the delay line D124 can also be implemented so 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 voz de banda alta en un almacenamiento intermedio 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 voz de banda alta. La línea D130 de retardo está configurada para escribir una trama o subtrama del registro SR2 de desplazamiento en el registro SR3 de desplazamiento según un desplazamiento de tiempo como el indicado, por ejemplo, por la señal SD10 de datos de regularización. El registro SR3 de desplazamiento está configurado como un almacenamiento intermedio FIFO dispuesto para transmitir la señal S30 de banda alta distorsionada en el tiempo. In other implementations, the delay line D120 is configured to write the high band voice 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 voice signal S30. The delay line D130 is configured to write a frame or subframe of the shift register SR2 in 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 transmit the time-distorted high-band signal S30.

En el ejemplo particular mostrado en la figura 27, el registro SR2 de desplazamiento incluye una parte FB1 de almacenamiento intermedio de trama y una parte DB de almacenamiento intermedio de retardo, y el registro SR3 de desplazamiento incluye una parte FB2 de almacenamiento intermedio de trama, una parte AB de almacenamiento intermedio de adelanto y una parte RB de almacenamiento intermedio de retraso. Las longitudes del almacenamiento AB intermedio de adelanto y del almacenamiento RB intermedio de retraso pueden ser iguales, o una puede ser más grande que la otra, de manera que se soporta un mayor desplazamiento en una dirección que en la otra. El almacenamiento DB intermedio de retardo y la parte RB del almacenamiento intermedio de retraso pueden configurarse para tener la misma longitud. Como alternativa, el almacenamiento DB intermedio de retardo puede ser más corto que el almacenamiento RB intermedio de retraso para soportar un intervalo de tiempo requerido para transferir muestras desde el almacenamiento FB1 intermedio de trama al registro SR3 de desplazamiento, lo que puede incluir otras operaciones de procesamiento tales como la distorsión de las muestras antes de su 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 record SR3 includes a frame buffer part FB2, an advance buffer part AB and a delay buffer part RB. The lengths of the intermediate buffer AB and the intermediate buffer RB may be equal, or one may be larger than the other, so that greater displacement in one direction than in the other is supported. The delay buffer DB and the RB portion of the delay buffer can be configured to have the same length. Alternatively, the delay buffer DB may be shorter than the delay buffer RB to support a time interval required to transfer samples from the frame buffer FB1 to the shift register SR3, which may include other storage operations. processing such as distortion of samples before storage in the SR3 shift register.

En el ejemplo de la figura 27, el almacenamiento FB1 intermedio de trama está configurado para tener la misma longitud que una trama de la señal S30 de banda alta. En otro ejemplo, el almacenamiento FB1 intermedio de trama está configurado para tener la misma longitud que una subtrama de la señal S30 de banda alta. En ese caso, la línea D130 de retardo puede configurarse para incluir 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 lógica para calcular la media de valores del almacenamiento FB1 intermedio de trama con valores que van a sobrescribirse en el almacenamiento RB intermedio de retraso o en el almacenamiento AB intermedio de adelanto. En un ejemplo adicional, el registro SR3 de desplazamiento puede configurarse para que reciba valores de la señal S30 de banda alta solamente a través del almacenamiento FB1 intermedio de trama y, en ese caso, la línea D130 de retardo puede incluir lógica para realizar una interpolación a través de los espacios entre tramas o subtramas sucesivas escritas en el registro SR3 de desplazamiento. En otras implementaciones, la línea D130 de retardo puede configurarse para realizar una operación de distorsión en muestras del almacenamiento FB1 intermedio de trama antes de que se escriban 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 be the same length as a frame of the high band signal S30. In another example, the FB1 frame buffer is configured to have the same length as a subframe of the high band signal S30. In that case, the delay line D130 can be configured to include 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 logic to calculate the average of values of the frame buffer FB1 with values to be overwritten in the delay intermediate RB storage or in the advance buffer intermediate AB. In a further example, the shift register SR3 can be configured to receive values of the high band signal S30 only through frame buffer FB1 and, in that case, the delay line D130 may include logic for interpolation. through the spaces between successive frames or subframes written in the shift register SR3. In other implementations, the delay line D130 can be configured to perform a distortion operation on samples of the frame buffer FB1 before they are written to the shift register SR3 (for example, according to a function described by the data signal SD10 of regularization).

Puede ser deseable que la línea D120 de retardo aplique una distorsión de tiempo basada en, pero que no sea idéntica a, la distorsión especificada 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 voz de banda ancha que incluye un elemento D110 de correlación de valores de retardo. El elemento D110 de correlación de valores de retardo está configurado para transformar la distorsión indicada por la señal SD10 de datos de regularización en valores SD10a de retardo correlacionados. La línea D120 de retardo está dispuesta para generar la señal S30a de voz de banda alta distorsionada en el tiempo según la distorsión indicada por los valores SD10a de retardo correlacionados. It may be desirable for the delay line D120 to apply a time distortion based on, but not identical to, the distortion specified by the regularization data signal SD10. Figure 28 shows a block diagram of an AD12 implementation of the AD10 broadband voice encoder that includes a delay value correlation element D110. The delay value correlation element D110 is configured to transform the distortion indicated by the regularization data signal SD10 into correlated delay SD10a values. The delay line D120 is arranged to generate the high-band voice signal S30a distorted in time according to the distortion indicated by the correlated delay SD10a values.

Puede esperarse que el desplazamiento de tiempo aplicado por el codificador de banda estrecha se desarrolle de manera uniforme en el tiempo. Por lo tanto, normalmente es suficiente calcular el desplazamiento de tiempo medio de banda estrecha aplicado a las subtramas durante una trama de voz y desplazar una trama correspondiente de la señal S30 de voz de banda alta según este promedio. En un ejemplo de este tipo, el elemento D110 de correlación de valores 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 en un periodo más corto (tal como dos subtramas o media trama) o en un periodo más largo (tal como dos tramas). En un caso en el que el promedio no sea un valor entero de muestras, el elemento D110 de correlación de valores de retardo puede configurarse para redondear el valor a un número entero de muestras antes de transmitirse a la línea D120 de retardo. It can be expected that the time offset applied by the narrowband encoder will develop uniformly over time. Therefore, it is usually sufficient to calculate the average narrow band time offset applied to the subframes during a voice frame and to shift a corresponding frame of the high band voice signal S30 according to this average. In such an example, the delay value correlation element 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 high band signal S30. In other examples, an average can be calculated and applied in a shorter period (such as two subframes or half frames) or in a longer period (such as two frames). In a case where the average is not an integer sample value, the delay value correlation element D110 can be configured to round the value to an integer number of samples before being transmitted to the delay line D120.

El codificador A124 de banda estrecha puede configurarse para incluir un desplazamiento de tiempo de regularización de un número no entero de muestras en la señal codificada de excitación de banda estrecha. En tal caso, puede ser deseable que el elemento D110 de correlación de valores de retardo esté configurado 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 voz de banda alta. The narrowband encoder A124 can be configured to include a regularization time offset 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 correlation element D110 is configured to round the narrowband time offset to an integer number of samples and that the delay line D120 applies the rounded time offset to the signal S30 high band voice.

En algunas implementaciones del codificador AD10 de voz de banda ancha, las tasas de muestreo de la señal S20 de voz de banda estrecha y de la señal S30 de voz de banda alta pueden ser diferentes. En tales casos, el elemento D110 de correlación de valores de retardo puede configurarse para ajustar cantidades de desplazamiento de tiempo indicadas en la señal SD10 de datos de regularización para soportar una diferencia entre las tasas de muestreo de la señal S20 de voz de banda estrecha (o la señal S80 de excitación de banda estrecha) y de la señal S30 de voz de banda alta. Por ejemplo, el elemento D110 de correlación de valores de retardo puede configurarse para escalar las cantidades de desplazamiento de tiempo según una relación de las tasas de muestreo. En un ejemplo particular como el mencionado anteriormente, la señal S20 de voz de banda estrecha se muestrea a 8 kHz y la señal S30 de voz de banda alta se muestrea a 7 kHz. En este caso, el elemento D110 de correlación de valores de retardo está configurado para multiplicar cada cantidad de desplazamiento por 7/8. Implementaciones del elemento D110 de correlación de valores de retardo también pueden configurarse para realizar una operación de escalado de este tipo junto con una operación de redondeo a enteros y/o una operación de cálculo de la media de desplazamientos de tiempo como las descritas en este documento. In some implementations of the broadband voice AD10 encoder, the sampling rates of the narrowband voice signal S20 and the high band voice signal S30 may be different. In such cases, the delay value correlation element D110 can be configured to adjust amounts of time offset indicated in the regularization data signal SD10 to support a difference between the sampling rates of the narrowband voice signal S20 ( or the narrowband excitation signal S80) and the high band voice signal S30. For example, the delay value correlation element D110 can be configured to scale the amounts of time offset according to a ratio of sampling rates. In a particular example like the one mentioned above, the narrowband voice signal S20 is sampled at 8 kHz and the high band voice signal S30 is sampled at 7 kHz. In this case, the delay value correlation element D110 is configured to multiply each amount of offset by 7/8. Implementations of the delay value correlation element D110 can also be configured to perform a scaling operation of this type together with an integer rounding operation and / or an operation for calculating the average time shifts as described in this document. .

En implementaciones adicionales, 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 ampliando otra parte). Por ejemplo, el codificador A124 de banda estrecha puede configurarse para realizar la regularización según una función tal como una trayectoria o contorno de tono. En ese 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 lógica configurada para distorsionar tramas o subtramas de la señal S30 de voz de banda alta según la función. En otras implementaciones, el elemento D110 de correlación de valores de retardo está configurado para calcular la media, escalar, y/o redondear la función antes de aplicarse a la señal S30 de voz de banda alta mediante la línea D120 de retardo. Por ejemplo, el elemento D110 de correlación de valores de retardo puede configurarse para calcular uno o más valores de retardo según la función, indicando cada valor de retardo una pluralidad de muestras, que se aplican posteriormente mediante la línea D120 de retardo para distorsionar en el tiempo una o más tramas o subtramas correspondientes de la señal S30 de voz de banda alta. In additional 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 tone contour. In that 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 logic configured to distort frames or subframes of the band voice signal S30 high depending on the function. In other implementations, the delay value correlation element D110 is configured to calculate the mean, scalar, and / or round the function before being applied to the high-band voice signal S30 via the delay line D120. For example, the delay value correlation element D110 can be configured to calculate one or more delay values according to the function, each delay value indicating a plurality of samples, which are subsequently applied by the delay line D120 to distort the time one or more corresponding frames or subframes of the high band voice signal S30.

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

La tarea TD300 genera una señal de excitación de banda alta en función de una señal de excitación de banda estrecha. En este caso, la señal de excitación de banda estrecha está basada en la señal codificada de excitación de banda estrecha. Según al menos la señal de excitación de banda alta, la tarea TD400 codifica la señal de voz 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 voz de banda alta en una pluralidad de LSF cuantificadas. La tarea TD500 aplica un desplazamiento de tiempo a la señal de voz de banda alta basada en información relacionada con una distorsión de tiempo incluida en la señal codificada de excitación de banda estrecha. 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 voice signal in at least a plurality of high band filter parameters. For example, the TD400 task can be configured to encode the high band voice signal in a plurality of quantified LSFs. The TD500 task applies a time shift to the high band voice signal based on information related to a time distortion included in the coded narrow band excitation signal.

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

Otras implementaciones del codificador A100 de voz de banda ancha están configuradas para invertir una distorsión de tiempo de la señal S120 de excitación de banda alta provocada por una distorsión de tiempo incluida en la señal codificada de excitación de banda estrecha. 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 basada en la misma tal como la señal S160 ensanchada de manera armónica o la señal S120 de excitación de banda alta. Other implementations of the A100 broadband voice encoder are configured to reverse a time distortion of the high band excitation signal S120 caused by a time distortion 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 Inverse corresponding to the narrowband excitation signal S80 and / or a subsequent signal based thereon such as the harmonically widened signal S160 or the high band excitation signal S120.

Implementaciones adicionales del codificador de voz de banda ancha pueden configurarse para codificar la señal S20 de voz de banda estrecha y la señal S30 de voz de banda alta de manera independiente entre sí, de modo que la señal S30 de voz de banda alta se codifica como una representación de una envolvente espectral de banda alta y de una señal de excitación de banda alta. Una implementación de este tipo puede configurarse para realizar una distorsión en el tiempo de la señal residual de banda alta o para incluir de otro modo una distorsión de tiempo en una señal codificada de excitación de banda alta, según información relacionada con una distorsión de tiempo incluida en la señal codificada de excitación de banda estrecha. Por ejemplo, el codificador de banda alta puede incluir una implementación de la línea D120 de retardo y/o una implementación del elemento D110 de correlación de valores de retardo como las descritas en este documento que estén configuradas para aplicar una distorsión de tiempo a la señal residual de banda alta. 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 correspondencia entre las señales de voz de banda alta y de banda estrecha sintetizadas. Additional implementations of the broadband voice encoder can be configured to encode the S20 narrowband voice signal and the high band voice signal S30 independently of each other, so that the high band voice 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 perform a time distortion of the high band residual signal or to otherwise include a time distortion in a coded high band excitation signal, according to information related to a time distortion included in the encoded narrowband excitation signal. For example, the high band encoder may include an implementation of the delay line D120 and / or an implementation of the delay value correlation element D110 such as those described herein that are configured to apply a time distortion to the signal high band residual. Potential advantages of such an operation include more efficient coding of the high band residual signal and better correspondence between synthesized high band and narrow band voice signals.

Tal y como se ha mencionado anteriormente, las realizaciones descritas en este documento incluyen implementaciones que pueden utilizarse para realizar codificación embebida, permitiendo la compatibilidad con sistemas de banda estrecha y evitando la necesidad de transcodificación. Los medios que soportan la codificación de banda alta también pueden diferenciarse, en lo que a los costes se refiere, entre chips, conjuntos de chips, dispositivos y/o redes que soportan banda ancha con compatibilidad retroactiva y aquellos que soportan solamente banda estrecha. Los medios que soportan la codificación de banda alta como la descrita en este documento también pueden utilizarse junto con una técnica para soportar codificación de banda baja, y un sistema, procedimiento o aparato según una realización de este tipo pueden soportar la codificación de componentes de frecuencia desde, por ejemplo, 50 ó 100 Hz aproximadamente hasta 7 u 8 kHz aproximadamente. As mentioned above, the embodiments described in this document include implementations that can be used to perform embedded coding, allowing compatibility with narrowband systems and avoiding the need for transcoding. The media that support high band coding can also be differentiated, in terms of costs, between chips, chipsets, devices and / or networks that support broadband with retroactive compatibility and those that support only narrow band. Means that support high band coding as described herein can also be used 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. from, for example, approximately 50 or 100 Hz to approximately 7 or 8 kHz.

Tal y como se ha mencionado anteriormente, añadir medios de soporte de banda alta en un codificador de voz puede mejorar la inteligibilidad, especialmente en lo que respecta a la diferenciación de sonidos fricativos. Aunque tal diferenciación puede obtenerse normalmente escuchando a una persona en un contexto particular, los medios que soportan banda alta pueden servir como una característica de habilitación en el reconocimiento de voz y en otras aplicaciones de interpretación mediante máquinas, tales como sistemas para la navegación por menús mediante voz automatizada y/o el procesamiento automático de llamadas. As mentioned earlier, adding high-band support media in a voice encoder can improve intelligibility, especially with regard to the differentiation of fricative sounds. Although such differentiation can usually be obtained by listening to a person in a particular context, the media that support high band can serve as an enabling feature in speech recognition and other machine interpretation applications, such as menu navigation systems by automated voice and / or automatic call processing.

Un aparato según una realización puede incorporarse en un dispositivo portátil de comunicaciones inalámbricas tal como un teléfono celular o un asistente personal digital (PDA). Como alternativa, un aparato de este tipo puede incluirse en otro dispositivo de comunicaciones tal como un microteléfono de VoIP, un ordenador personal configurado para soportar comunicaciones de VoIP, o un dispositivo de red configurado para encaminar comunicaciones telefónicas o de VoIP. Por ejemplo, un aparato según una realización puede implementarse en un chip o en un conjunto de chips de un dispositivo de comunicaciones. Dependiendo de la aplicación particular, un dispositivo de este tipo también puede incluir características tales como conversión de analógico a digital y/o de digital a analógico de una señal de voz, un sistema de circuitos para realizar amplificación y/u otras operaciones de procesamiento de señales en una señal de voz, y/o un sistema de circuitos de radiofrecuencia para la transmisión y/o recepción de la señal de voz codificada. An apparatus according to one embodiment can be incorporated into a portable wireless communications device such as a cell phone or a 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 telephone or VoIP communications. For example, an apparatus according to one embodiment can be implemented in a chip or in a chipset of a communication device. Depending on the particular application, such a device may also include features such as analog to digital and / or digital to analog conversion of a voice signal, a circuit system for amplification and / or other processing operations of signals in a voice signal, and / or a radiofrequency circuit system for the transmission and / or reception of the encoded voice signal.

La presentación anterior de las realizaciones descritas se proporciona para que un experto en la técnica fabrique o utilice la presente invención. Son posibles varias modificaciones de estas realizaciones, y los principios genéricos presentados en este 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 circuitos fabricada en un circuito integrado de aplicación específica o como un programa de firmware cargado en un medio de almacenamiento no volátil o un programa de software cargado desde o en un medio de almacenamiento de datos como un código legible por máquina, siendo tal código instrucciones que pueden ejecutarse por una disposición de elementos lógicos tal como un microprocesador u otra unidad de procesamiento de señales digitales. El medio de almacenamiento de datos puede ser una disposición de elementos de almacenamiento tal como una memoria de semiconductor (que puede incluir de manera no limitativa una RAM (memoria de acceso aleatorio) dinámica o estática, una ROM (memoria de solo lectura), y/o una RAM flash), o una memoria ferroeléctrica, magnetorresistiva, ovónica, polimérica o de cambio de fase; o un medio de disco tal como un disco magnético u óptico. Debe entenderse que el término "software" incluye código fuente, código de lenguaje ensamblador, código máquina, código binario, firmware, macrocódigo, microcódigo, uno o más conjuntos o secuencias de instrucciones ejecutables por una disposición de elementos lógicos, y cualquier combinación de tales ejemplos. The above presentation of the described embodiments is provided for one skilled in the art to manufacture or use the present invention. Several 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 medium or a software program loaded from or into a data storage medium as a machine-readable code, such code being instructions that can be executed by an arrangement of logical elements such as a microprocessor or other digital signal processing unit. The data storage medium may be an arrangement of storage elements such as a semiconductor memory (which may include, in a non-limiting manner, a dynamic or static RAM (random access memory), a ROM (read-only memory), and / or a flash RAM), or a ferroelectric, magnetoresistive, ovonic, polymeric or phase change memory; or a disk medium such as a magnetic or optical disk. It should be understood that the term "software" includes source code, assembly language code, machine code, binary code, firmware, macrocode, microcode, one or more sets or sequences of instructions executable by a provision 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, del codificador A100 de banda alta, del descodificador B200 de banda alta, del codificador A100 de voz de banda ancha y del descodificador B100 de voz de banda ancha pueden implementarse como dispositivos electrónicos y/u ópticos que residen, por ejemplo, en el mismo chip o entre dos o más chips de 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 disposiciones fijas o programables de elementos lógicos (por ejemplo, transistores, puertas) tales como microprocesadores, procesadores incorporados, núcleos IP, procesadores de señales digitales, FPGA (matrices de puertas programables de 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 utilizado para ejecutar partes de código correspondientes a diferentes elementos en momentos diferentes, un conjunto de instrucciones ejecutadas para llevar a cabo tareas correspondientes a diferentes elementos en momentos diferentes, o una disposición de dispositivos electrónicos y/u ópticos que realizan operaciones para diferentes elementos en momentos diferentes). Además, es posible que uno o más de estos elementos se utilicen para realizar tareas o para ejecutar otros conjuntos de instrucciones que no estén directamente relacionados con una operación del aparato, tal como una tarea relacionada con otra operación de un dispositivo o sistema en el que el aparato esté incorporado. The various elements of implementations of the high-band excitation A300 and B300 generators, the high-band A100 encoder, the high-band B200 decoder, the A100 broadband voice encoder and the B100 broadband voice decoder can be implemented as electronic and / or optical devices that reside, for example, on the same chip or between two or more chips of a chipset, although other arrangements 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 fixed or programmable arrangements of logic elements (for example, transistors, doors) such as microprocessors. , built-in processors, IP cores, digital signal processors, FPGA (field programmable door matrices), 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 electronic and / or optical devices that perform operations for different elements at different times). In addition, it is possible that one or more of these elements are used to perform tasks or to execute other sets of instructions that are not directly related to an operation of the device, such as a task related to another operation of a device or system in which The device is incorporated.

La figura 30 muestra un diagrama de flujo de un procedimiento M100, según una realización, para codificar una parte de banda alta de una señal de voz que presenta 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 ensanchada de manera espectral aplicando una función no lineal a una señal obtenida 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 ensanchada de manera espectral. La tarea X400 calcula una envolvente de ganancia en función de una relación entre (C) la energía de la parte de banda alta y (D) la energía de una señal obtenida de la parte de banda estrecha. Figure 30 shows a flow chart of an M100 method, according to one embodiment, for encoding a high band part of a voice 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 widened signal by applying a nonlinear function to a signal obtained 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 widened 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 obtained 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 Figure 31a shows a flow chart of an M200 method of generating a band excitation signal

5 alta según una realización. La tarea Y100 calcula una señal ensanchada de manera armónica aplicando una función no lineal a una señal de excitación de banda estrecha obtenida de una parte de banda estrecha de una señal de voz. La tarea Y200 mezcla la señal ensanchada de manera armónica con una señal de ruido modulada 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 5 high according to one embodiment. Task Y100 calculates a harmonically widened signal by applying a nonlinear function to a narrowband excitation signal obtained from a narrowband part of a voice signal. Task Y200 mixes the spread signal harmoniously 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 a

10 envolvente de dominio de tiempo según la energía en el tiempo de una señal de entre la señal de excitación de banda estrecha y la señal ensanchada de manera armónica. La tarea Y400 modula una señal de ruido según la envolvente de dominio de tiempo para generar la señal de ruido modulada. 10 time domain envelope according to the energy over time of a signal between the narrowband excitation signal and the harmonically widened signal. Task Y400 modulates a noise signal according to the time domain envelope to generate the modulated noise signal.

La figura 32 muestra un diagrama de flujo de un procedimiento M300, según una realización, para descodificar una parte de banda alta de una señal de voz que presenta una parte de banda estrecha y la parte de banda alta. La tarea Z100 15 recibe un conjunto de parámetros de filtro que caracterizan a una envolvente espectral de la parte de banda alta y un conjunto de factores de ganancia que caracterizan a una envolvente temporal de la parte de banda alta. La tarea Z200 calcula una señal ensanchada de manera espectral aplicando una función no lineal a una señal obtenida 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 Figure 32 shows a flow chart of an M300 method, according to one embodiment, for decoding a high band part of a voice signal having a narrow band part and a high band part. Task Z100 15 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 widened signal by applying a nonlinear function to a signal obtained from the narrowband part. Task Z300 generates a synthesized high band signal according to (A) the set of filter parameters and

(B) una señal de excitación de banda alta basada en la señal ensanchada de manera espectral. La tarea Z400 modula (B) a high band excitation signal based on the spectrally widened signal. The Z400 task modulates

20 una envolvente de ganancia de la señal de banda alta sintetizada en función del 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 obtenida de la parte de banda estrecha, a la señal ensanchada de manera espectral, a la señal de excitación de banda alta o a la señal de banda alta sintetizada. 20 a gain envelope of the high band signal synthesized as a function of 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 obtained from the narrow band part, to the spectrally widened signal, to the high band excitation signal or the synthesized high band signal.

Claims (41)

REIVINDICACIONES 1. Un procedimiento para generar una señal de excitación de banda alta, comprendiendo dicho procedimiento: 1. A method for generating a high band excitation signal, said method comprising: generar (A400) una señal (S160) ensanchada de manera espectral ensanchando el espectro de una señal (S80) que está basada en una señal codificada de excitación de banda baja; generate (A400) a signal (S160) spectrally widened by widening the spectrum of a signal (S80) that is based on a coded low band excitation signal; realizar un filtrado (600) de antidispersión de una señal (S80) que está basada en la señal codificada de excitación de banda baja, perform anti-dispersion filtering (600) of a signal (S80) that is based on the encoded low band excitation signal, en el que la señal de excitación de banda alta está basada en la señal ensanchada de manera espectral, y wherein the high band excitation signal is based on the spectrally widened signal, and en el que la señal de excitación de banda alta está basada en un resultado de dicha acción de filtrado de antidispersión; wherein the high band excitation signal is based on a result of said anti-dispersion filtering action; y en el que la acción de dicho filtrado de antidispersión está basada en un valor de al menos uno de entre un parámetro de inclinación espectral, un parámetro de ganancia de tono y un parámetro de modo de voz. and wherein the action of said anti-dispersion filtering is based on a value of at least one of between a spectral inclination parameter, a tone gain parameter and a voice mode parameter.
2. 2.
El procedimiento según la reivindicación 1, en el que dicha acción de filtrado de antidispersión incluye realizar un filtrado de antidispersión de la señal ensanchada de manera espectral. The method according to claim 1, wherein said anti-dispersion filtering action includes performing an anti-dispersion filtering of the spectrally spread signal.
3. 3.
El procedimiento según la reivindicación 1, en el que dicha acción de filtrado de antidispersión incluye realizar un filtrado de antidispersión de la señal de excitación de banda alta. The method according to claim 1, wherein said anti-dispersion filtering action includes performing anti-dispersion filtering of the high band excitation signal.
4. Four.
El procedimiento según la reivindicación 1, en el que dicha acción de filtrado de antidispersión de una señal incluye realizar una operación de filtrado en la señal según una función de transferencia de todo paso. The method according to claim 1, wherein said anti-dispersion filtering action of a signal includes performing a filtering operation on the signal according to an all-pass transfer function.
5. 5.
El procedimiento según la reivindicación 1, en el que dicha acción de filtrado de antidispersión de una señal incluye cambiar el espectro de fase de la señal sin modificar sustancialmente el espectro de magnitud de la señal. The method according to claim 1, wherein said anti-dispersion filtering action of a signal includes changing the phase spectrum of the signal without substantially modifying the magnitude spectrum of the signal.
6. 6.
El procedimiento según la reivindicación 1, en el que dicha generación de una señal ensanchada de manera espectral comprende ensanchar de manera armónica el espectro de una señal que está basada en la señal codificada de excitación de banda baja para obtener la señal ensanchada de manera espectral. The method according to claim 1, wherein said generation of a spectrally widened signal comprises harmonically widening the spectrum of a signal that is based on the encoded low band excitation signal to obtain the spectrally widened signal.
7. 7.
El procedimiento según la reivindicación 1, en el que dicha generación de una señal ensanchada de manera espectral comprende aplicar una función no lineal a una señal que está basada en la señal codificada de excitación de banda baja para generar la señal ensanchada de manera espectral. The method according to claim 1, wherein said generation of a spectrally widened signal comprises applying a nonlinear function to a signal that is based on the low band excitation encoded signal to generate the spectrally widened signal.
8. 8.
El procedimiento según la reivindicación 7, en el que la función no lineal comprende al menos una de entre la función de valor absoluto, la función de elevación al cuadrado y una función de truncamiento. The method according to claim 7, wherein the nonlinear function comprises at least one of the absolute value function, the squared elevation function and a truncation function.
9. 9.
El procedimiento según la reivindicación 1, comprendiendo dicho procedimiento mezclar una señal que está basada en la señal ensanchada de manera espectral con una señal de ruido modulada, en el que la señal de excitación de banda alta está basada en la señal mezclada. The method according to claim 1, said method comprising mixing a signal that is based on the spectrally widened signal with a modulated noise signal, wherein the high band excitation signal is based on the mixed signal.
10. 10.
El procedimiento según la reivindicación 9, en el que dicha mezcla incluye calcular una suma ponderada de la señal de ruido modulada y una señal que está basada en la señal ensanchada de manera espectral, en el que la señal de excitación de banda alta está basada en la suma ponderada. The method according to claim 9, wherein said mixture includes calculating a weighted sum of the modulated noise signal and a signal that is based on the spectrally widened signal, in which the high band excitation signal is based on the weighted sum.
11. eleven.
El procedimiento según la reivindicación 9, en el que dicha señal de ruido modulada está basada en un resultado de modular una señal de ruido según una envolvente de dominio de tiempo de una señal basada en al menos una de entre la señal codificada de excitación de banda baja y la señal ensanchada de manera espectral. The method according to claim 9, wherein said modulated noise signal is based on a result of modulating a noise signal according to a time domain envelope of a signal based on at least one of the encoded band excitation signal low and the signal widened spectrally.
12. 12.
El procedimiento según la reivindicación 11, comprendiendo dicho procedimiento generar la señal de ruido según una función determinista de información en una señal de voz codificada. The method according to claim 11, said method comprising generating the noise signal according to a deterministic function of information in an encoded voice signal.
13. 13.
El procedimiento según la reivindicación 1, en el que dicha generación de una señal ensanchada de manera espectral incluye ensanchar de manera armónica el espectro de una señal muestreada de manera ascendente que está basada en la señal codificada de excitación de banda baja. The method according to claim 1, wherein said generation of a spectrally widened signal includes harmonically widening the spectrum of a signal sampled in an ascending manner that is based on the encoded low band excitation signal.
14. 14.
El procedimiento según la reivindicación 1, comprendiendo dicho procedimiento al menos uno de entre (A) aplanar de manera espectral la señal ensanchada de manera espectral y (B) aplanar de manera espectral la señal de excitación de banda alta. The method according to claim 1, said method comprising at least one of (A) spectrally flattening the spectrally widened signal and (B) spectrally flattening the high band excitation signal.
15. fifteen.
El procedimiento según la reivindicación 14, en el que dicho aplanamiento espectral comprende: The method according to claim 14, wherein said spectral flattening comprises:
calcular una pluralidad de coeficientes de filtro en función de una señal que va a aplanarse de manera espectral; y calculate a plurality of filter coefficients based on a signal to be spectrally flattened; Y filtrar la señal que va a aplanarse de manera espectral con un filtro blanqueador configurado según la pluralidad de coeficientes de filtro. filter the signal to be spectrally flattened with a bleach filter configured according to the plurality of filter coefficients.
16. 16.
El procedimiento según la reivindicación 15, en el que dicho cálculo de una pluralidad de coeficientes de filtro incluye realizar un análisis de predicción lineal de la señal que va a aplanarse de manera espectral. The method according to claim 15, wherein said calculation of a plurality of filter coefficients includes performing a linear prediction analysis of the signal to be spectrally flattened.
17. 17.
El procedimiento según la reivindicación 1, comprendiendo dicho procedimiento al menos uno de (i) codificar una señal de voz de banda alta según la señal de excitación de banda alta y (ii) descodificar una señal de voz de banda alta según la señal de excitación de banda alta. The method according to claim 1, said method comprising at least one of (i) encoding a high band voice signal according to the high band excitation signal and (ii) decoding a high band voice signal according to the excitation signal high band
18. 18.
El procedimiento según la reivindicación 1, que comprende además The method according to claim 1, further comprising
decidir si realizar dicho filtrado de antidispersión, donde dicha decisión está basada en un valor de al menos uno de entre un parámetro de inclinación espectral, un parámetro de ganancia de tono y un parámetro de modo de voz. deciding whether to perform said anti-dispersion filtering, where said decision is based on a value of at least one of between a spectral inclination parameter, a tone gain parameter and a voice mode parameter.
19. 19.
Un medio de almacenamiento de datos que presenta instrucciones ejecutables por máquina adaptadas para realizar el procedimiento de procesamiento de señales según la reivindicación 1, cuando dichas instrucciones se ejecutan en un ordenador. A data storage medium having machine-executable instructions adapted to perform the signal processing method according to claim 1, when said instructions are executed on a computer.
20. twenty.
Un aparato, que comprende: An apparatus, comprising:
un ensanchador (A400) de espectro configurado para generar una señal (S160) ensanchada de manera espectral ensanchando el espectro de una señal (S80) que está basada en una señal codificada de excitación de banda baja; a spectrum stretcher (A400) configured to generate a spectrally widened signal (S160) widening the spectrum of a signal (S80) that is based on a coded low band excitation signal; un filtro (600) de antidispersión configurado para filtrar una señal (S80) que está basada en la señal codificada de excitación de banda baja, an anti-dispersion filter (600) configured to filter a signal (S80) that is based on the encoded low band excitation signal, en el que la señal de excitación de banda alta está basada en la señal ensanchada de manera espectral, y wherein the high band excitation signal is based on the spectrally widened signal, and en el que la señal de excitación de banda alta está basada en una salida de dicho filtro de antidispersión, y wherein the high band excitation signal is based on an output of said anti-dispersion filter, and lógica de decisión configurada para decidir si filtrar una señal que está basada en la señal codificada de excitación de banda baja con dicho filtro de antidispersión, donde dicha lógica de decisión está configurada para decidir en función de un valor de al menos uno de entre un parámetro de inclinación espectral, un parámetro de ganancia de tono y un parámetro de modo de voz. decision logic configured to decide whether to filter a signal that is based on the encoded low-band excitation signal with said anti-dispersion filter, where said decision logic is configured to decide based on a value of at least one of a parameter Spectral tilt, a tone gain parameter and a voice mode parameter.
21. twenty-one.
El aparato según la reivindicación 20, en el que dicho filtro de antidispersión está configurado para filtrar la señal ensanchada de manera espectral. The apparatus according to claim 20, wherein said anti-dispersion filter is configured to filter the spread signal spectrally.
22. 22
El aparato según la reivindicación 20, en el que dicho filtro de antidispersión está configurado para filtrar la señal de excitación de banda alta. The apparatus according to claim 20, wherein said anti-dispersion filter is configured to filter the high band excitation signal.
23. 2. 3.
El aparato según la reivindicación 20, en el que dicho filtro de antidispersión está configurado para filtrar la señal según una función de transferencia de todo paso. The apparatus according to claim 20, wherein said anti-dispersion filter is configured to filter the signal according to an all-pass transfer function.
24. 24.
El aparato según la reivindicación 20, en el que dicho filtro de antidispersión está configurado para cambiar el espectro de fase de la señal sin modificar sustancialmente el espectro de magnitud de la señal. The apparatus according to claim 20, wherein said anti-dispersion filter is configured to change the phase spectrum of the signal without substantially modifying the magnitude spectrum of the signal.
25. 25.
El aparato según la reivindicación 20, en el que dicho ensanchador de espectro está configurado para ensanchar de manera armónica el espectro de una señal que está basada en la señal codificada de excitación de banda baja para obtener la señal ensanchada de manera espectral. The apparatus according to claim 20, wherein said spectrum stretcher is configured to harmonically widen the spectrum of a signal that is based on the encoded low band excitation signal to obtain the spectrally widened signal.
26. 26.
El aparato según la reivindicación 20, en el que dicho ensanchador de espectro está configurado para aplicar una función no lineal a una señal que está basada en la señal codificada de excitación de banda baja para generar la señal ensanchada de manera espectral. The apparatus according to claim 20, wherein said spectrum stretcher is configured to apply a non-linear function to a signal that is based on the encoded low band excitation signal to generate the spectrally spread signal.
27. 27.
El aparato según la reivindicación 26, en el que la función no lineal comprende al menos una de entre la función de valor absoluto, la función de elevación al cuadrado y una función de truncamiento. The apparatus according to claim 26, wherein the nonlinear function comprises at least one of the absolute value function, the squared elevation function and a truncation function.
28. 28.
El aparato según la reivindicación 20, comprendiendo dicho aparato un combinador configurado para mezclar una señal que está basada en la señal ensanchada de manera espectral con una señal de ruido modulada, en el The apparatus according to claim 20, said apparatus comprising a combiner configured to mix a signal that is based on the spectrally widened signal with a modulated noise signal, in the
que la señal de excitación de banda alta está basada en una salida de dicho combinador. that the high band excitation signal is based on an output of said combiner.
29. 29.
El aparato según la reivindicación 28, en el que dicho mezclador está configurado para calcular una suma ponderada de la señal de ruido modulada y una señal que está basada en la señal ensanchada de manera espectral, en el que la señal de excitación de banda alta está basada en la suma ponderada. The apparatus according to claim 28, wherein said mixer is configured to calculate a weighted sum of the modulated noise signal and a signal that is based on the spectrally widened signal, in which the high band excitation signal is based on the weighted sum.
30. 30
El aparato según la reivindicación 28, incluyendo dicho aparato un segundo combinador configurado para modular una señal de ruido según una envolvente de dominio de tiempo de una señal basada en al menos una de entre la señal codificada de excitación de banda baja y la señal ensanchada de manera espectral, en el que la señal de ruido modulada está basada en una salida de dicho segundo combinador. The apparatus according to claim 28, said apparatus including a second combiner configured to modulate a noise signal according to a time domain envelope of a signal based on at least one of the coded low band excitation signal and the widened signal of spectral manner, in which the modulated noise signal is based on an output of said second combiner.
31. 31.
El aparato según la reivindicación 30, comprendiendo dicho aparato un generador de ruido configurado para generar la señal de ruido según una función determinista de información en una señal de voz codificada. The apparatus according to claim 30, said apparatus comprising a noise generator configured to generate the noise signal according to a deterministic function of information in an encoded voice signal.
32. 32
El aparato según la reivindicación 20, en el que dicho ensanchador de espectro está configurado para ensanchar de manera armónica el espectro de una señal muestreada de manera ascendente que está basada en la señal codificada de excitación de banda baja. The apparatus according to claim 20, wherein said spectrum stretcher is configured to harmonically widen the spectrum of an up-sampled signal that is based on the encoded low-band excitation signal.
33. 33.
El aparato según la reivindicación 20, comprendiendo dicho aparato un aplanador espectral configurado para aplanar de manera espectral al menos una de entre la señal ensanchada de manera espectral y la señal de excitación de banda alta. The apparatus according to claim 20, said apparatus comprising a spectral flattener configured to spectrally flatten at least one of the spectrally widened signal and the high band excitation signal.
34. 3. 4.
El aparato según la reivindicación 33, en el que dicho aplanador espectral está configurado para calcular una pluralidad de coeficientes de filtro en función de una señal que va a aplanarse de manera espectral y para filtrar la señal que va a aplanarse de manera espectral con un filtro blanqueador configurado según la pluralidad de coeficientes de filtro. The apparatus according to claim 33, wherein said spectral flattener is configured to calculate a plurality of filter coefficients based on a signal to be spectrally flattened and to filter the signal to be spectrally flattened with a filter bleach set according to the plurality of filter coefficients.
35. 35
El aparato según la reivindicación 34, en el que dicho aplanador espectral está configurado para calcular la pluralidad de coeficientes de filtro en función de un análisis de predicción lineal de la señal que va a aplanarse de manera espectral. The apparatus according to claim 34, wherein said spectral flattener is configured to calculate the plurality of filter coefficients based on a linear prediction analysis of the signal to be spectrally flattened.
36. 36.
El aparato según la reivindicación 20, comprendiendo dicho aparato al menos uno de (i) un codificador de voz de banda alta configurado para codificar una señal de voz de banda alta según la señal de excitación de banda alta y (ii) un descodificador de voz de banda alta configurado para descodificar una señal de voz de banda alta según la señal de excitación de banda alta. The apparatus according to claim 20, said apparatus comprising at least one of (i) a high band voice encoder configured to encode a high band voice signal according to the high band excitation signal and (ii) a voice decoder High band set to decode a high band voice signal according to the high band excitation signal.
37. 37.
El aparato según la reivindicación 20, comprendiendo dicho aparato un teléfono celular. The apparatus according to claim 20, said apparatus comprising a cell phone.
38. 38.
El aparato según la reivindicación 20, comprendiendo dicho aparato un dispositivo configurado para transmitir una pluralidad de paquetes compatibles con una versión del Protocolo de Internet, en el que la pluralidad de paquetes describe la señal de excitación de banda estrecha. The apparatus according to claim 20, said apparatus comprising a device configured to transmit a plurality of packets compatible with a version of the Internet Protocol, wherein the plurality of packets describes the narrowband excitation signal.
39. 39.
El aparato según la reivindicación 20, comprendiendo dicho aparato un dispositivo configurado para recibir una pluralidad de paquetes compatibles con una versión del Protocolo de Internet, en el que la pluralidad de paquetes describe la señal de excitación de banda estrecha. The apparatus according to claim 20, said apparatus comprising a device configured to receive a plurality of packets compatible with a version of the Internet Protocol, wherein the plurality of packets describes the narrowband excitation signal.
40. 40
El aparato según la reivindicación 20, comprendiendo dicho aparato un teléfono celular. The apparatus according to claim 20, said apparatus comprising a cell phone.
41. 41.
Programa informático que comprende instrucciones ejecutables por ordenador adaptadas para realizar las etapas del procedimiento según cualquiera de las reivindicaciones 1 a 18 cuando el programa informático se ejecuta en un ordenador. Computer program comprising computer executable instructions adapted to perform the steps of the process according to any one of claims 1 to 18 when the computer program is run on a computer.
ES06740357T 2005-04-01 2006-04-03 PROCEDURE AND APPLIANCE FOR AN ANTIDISPERSION FILTER OF AN EXTENDED SIGNAL FOR EXCESSING THE BAND WIDTH SPEED EXCITATION. Active ES2358125T3 (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
ES2358125T3 true ES2358125T3 (en) 2011-05-05

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

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

Country Status (3)

Country Link
CN (8) CN101185120B (en)
ES (3) ES2351935T3 (en)
UA (6) UA94041C2 (en)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG161223A1 (en) 2005-04-01 2010-05-27 Qualcomm Inc Method and apparatus for vector quantizing of a spectral envelope representation
CN101620854B (en) * 2008-06-30 2012-04-04 华为技术有限公司 Method, system and device for band extension
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
EP2551848A4 (en) * 2010-03-23 2016-07-27 Lg Electronics Inc Method and apparatus for processing an audio signal
CN102610231B (en) 2011-01-24 2013-10-09 华为技术有限公司 Method and device for expanding bandwidth
ES2916257T3 (en) * 2011-02-18 2022-06-29 Ntt Docomo Inc Voice decoder, voice scrambler, voice decoding method, voice coding method, voice decoding program, and voice 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
EP2774145B1 (en) * 2011-11-03 2020-06-17 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
ES2568640T3 (en) * 2012-02-23 2016-05-03 Dolby International Ab Procedures and systems to efficiently recover high frequency audio content
ES2689072T3 (en) * 2012-05-23 2018-11-08 Nippon Telegraph And Telephone Corporation Encoding 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
CN106847297B (en) * 2013-01-29 2020-07-07 华为技术有限公司 Prediction method of high-frequency band signal, encoding/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
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
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
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
US20150170655A1 (en) * 2013-12-15 2015-06-18 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
CN106448688B (en) * 2014-07-28 2019-11-05 华为技术有限公司 Audio coding method and relevant apparatus
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
WO2016142002A1 (en) 2015-03-09 2016-09-15 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio signal and method for decoding an encoded audio signal
US10847170B2 (en) * 2015-06-18 2020-11-24 Qualcomm Incorporated Device and method for generating a high-band signal from non-linearly processed sub-ranges
FI3696813T3 (en) 2016-04-12 2023-01-31 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
US11935546B2 (en) * 2021-08-19 2024-03-19 Semiconductor Components Industries, Llc Transmission error robust ADPCM compressor with enhanced response

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
EP0732687B2 (en) * 1995-03-13 2005-10-12 Matsushita Electric Industrial Co., Ltd. Apparatus for expanding speech 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
US6829360B1 (en) * 1999-05-14 2004-12-07 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
WO2001037263A1 (en) * 1999-11-16 2001-05-25 Koninklijke Philips Electronics N.V. Wideband audio transmission system
AU2547201A (en) * 2000-01-11 2001-07-24 Matsushita Electric Industrial Co., Ltd. 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
MXPA03002115A (en) * 2001-07-13 2003-08-26 Matsushita Electric Ind 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
DE60208426T2 (en) * 2001-11-02 2006-08-24 Matsushita Electric Industrial Co., Ltd., Kadoma DEVICE FOR SIGNAL CODING, SIGNAL DECODING AND SYSTEM FOR DISTRIBUTING AUDIO DATA
ES2268112T3 (en) * 2001-11-14 2007-03-16 Matsushita Electric Industrial Co., Ltd. AUDIO CODING AND DECODING.
EP1444688B1 (en) * 2001-11-14 2006-08-16 Matsushita Electric Industrial Co., Ltd. Encoding device and decoding device
WO2003065353A1 (en) * 2002-01-30 2003-08-07 Matsushita Electric Industrial Co., Ltd. Audio encoding and decoding device and methods thereof
KR100446242B1 (en) * 2002-04-30 2004-08-30 엘지전자 주식회사 Apparatus and Method for Estimating Hamonic in Voice-Encoder
BRPI0305710B1 (en) * 2002-08-01 2017-11-07 Panasonic Corporation "APPARATUS AND METHOD OF DECODING OF AUDIO"
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
UA95776C2 (en) 2011-09-12
CN101185126A (en) 2008-05-21
UA94041C2 (en) 2011-04-11
CN101185127B (en) 2014-04-23
CN101185120A (en) 2008-05-21
ES2350494T3 (en) 2011-01-24
CN101185125B (en) 2012-01-11
UA92341C2 (en) 2010-10-25
UA91853C2 (en) 2010-09-10
CN101180677A (en) 2008-05-14
CN101184979A (en) 2008-05-21
CN101185124B (en) 2012-01-11
CN101185120B (en) 2012-05-30
ES2351935T3 (en) 2011-02-14
CN101180676B (en) 2011-12-14
CN101180676A (en) 2008-05-14
CN101185127A (en) 2008-05-21
CN101185124A (en) 2008-05-21
UA93677C2 (en) 2011-03-10
CN101185125A (en) 2008-05-21
CN101180677B (en) 2011-02-09
CN101184979B (en) 2012-04-25
UA92742C2 (en) 2010-12-10
CN101185126B (en) 2014-08-06

Similar Documents

Publication Publication Date Title
ES2358125T3 (en) PROCEDURE AND APPLIANCE FOR AN ANTIDISPERSION FILTER OF AN EXTENDED SIGNAL FOR EXCESSING THE BAND WIDTH SPEED EXCITATION.
ES2340608T3 (en) APPARATUS AND PROCEDURE FOR CODING BY DIVIDED BAND A VOICE SIGNAL.