ES2807258T3 - Escalado para circuitería de forma de ganancia - Google Patents

Escalado para circuitería de forma de ganancia Download PDF

Info

Publication number
ES2807258T3
ES2807258T3 ES16703190T ES16703190T ES2807258T3 ES 2807258 T3 ES2807258 T3 ES 2807258T3 ES 16703190 T ES16703190 T ES 16703190T ES 16703190 T ES16703190 T ES 16703190T ES 2807258 T3 ES2807258 T3 ES 2807258T3
Authority
ES
Spain
Prior art keywords
samples
audio frame
sample set
band
generate
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
ES16703190T
Other languages
English (en)
Inventor
Venkata Subrahmanyam Chandra Sekhar Chebiyyam
Venkatraman S Atti
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 ES2807258T3 publication Critical patent/ES2807258T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/083Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being an excitation gain
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/038Speech enhancement, e.g. noise reduction or echo cancellation using band spreading techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components

Landscapes

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

Abstract

Un procedimiento de funcionamiento de un dispositivo, comprendiendo el procedimiento: recibir (510) un primer conjunto de muestras y un segundo conjunto de muestras, en el que el primer conjunto de muestras corresponde a una parte de una primera trama de audio y el segundo conjunto de muestras corresponde a una segunda trama de audio; generar (520) un primer parámetro de energía asociado con un conjunto de muestras objetivo en ventana basado en el primer conjunto de muestras y un primer subconjunto del segundo conjunto de muestras; generar (530) un segundo parámetro de energía asociado con un conjunto de muestras de referencia en ventana que incluye un segundo subconjunto del segundo conjunto de muestras; realizar una operación de raíz cuadrada en una relación del segundo parámetro de energía y el primer parámetro de energía para generar un factor de escala; escalar (540) el conjunto de muestras objetivo basado en el factor de escala, para generar un conjunto objetivo escalado de muestras; y generar (550) un tercer conjunto de muestras basado en el conjunto de muestras objetivo escalado y una o más muestras del segundo conjunto de muestras.

Description

DESCRIPCIÓN
Escalado para circuitería de forma de ganancia
I. Referencia cruzada con solicitud(es) relacionada(s)
[0001] Esta solicitud reivindica el beneficio de la Solicitud de Patente de EE. UU. n.° 14/939436, presentada el 12 de noviembre de 2015 y la Solicitud de Patente Provisional n.° 62/105071, presentada el 19 de enero de 2015, ambas tituladas "SCALING FOR GAIN SHAPE CIRCUITRY [ESCALADO PARA CIRCUITERÍA DE FORMA DE GANANCIA]".
II. Campo
[0002] Esta divulgación está en general relacionada con el procesamiento de señales, como el procesamiento de señales realizado en conexión con comunicaciones de audio inalámbricas y almacenamiento de audio.
III. Descripción de la técnica relacionada
[0003] Los avances en la tecnología han dado como resultado dispositivos informáticos más pequeños y más potentes. Por ejemplo, existe actualmente una variedad de dispositivos informáticos personales portátiles, incluyendo dispositivos informáticos inalámbricos, tales como teléfonos inalámbricos portátiles, asistentes digitales personales (PDA) y dispositivos de paginación que son pequeños, ligeros y fáciles de transportar por los usuarios. Más específicamente, los teléfonos inalámbricos portátiles, tales como los teléfonos móviles y los teléfonos de Protocolo de Internet (IP), pueden transmitir paquetes de voz y datos a través de redes inalámbricas. Además, muchos de dichos teléfonos inalámbricos incluyen otros tipos de dispositivos que están incorporados en los mismos. Por ejemplo, un teléfono inalámbrico también puede incluir una cámara fotográfica digital, una cámara de vídeo digital, un grabador digital y un reproductor de archivos de audio.
[0004] Un teléfono inalámbrico (u otro dispositivo electrónico) puede grabar y reproducir el habla y otros sonidos, como la música. Por ejemplo, para soportar una conversación telefónica, un dispositivo de transmisión puede realizar operaciones para transmitir una representación de una señal de audio, como voz grabada (por ejemplo, grabar la voz, digitalizar la voz, codificar la voz, etc.) a un dispositivo de recepción a través de una red de comunicación.
[0005] Para mayor ilustración, algunas técnicas de codificación implican codificar y transmitir la parte de frecuencia inferior de una señal (por ejemplo, de 50 Hz a 7 kHz, también denominada la "banda baja"). Por ejemplo, la banda baja se puede representar usando parámetros de filtro y/o una señal de excitación de banda baja. Con el fin de mejorar la eficiencia de codificación, es posible que la parte de frecuencia superior de la señal (por ejemplo, de 7 kHz a 16 kHz, también denominada la "banda alta") no se codifique y transmita completamente. En cambio, un receptor puede utilizar modelado de señal y/o datos asociados con la banda alta ("información lateral") para predecir la banda alta.
[0006] En algunas circunstancias, puede producirse un "desajuste" de los niveles de energía entre tramas de la banda alta. Sin embargo, algunas operaciones de procesamiento asociadas con la codificación de tramas realizada por un dispositivo de transmisión y la síntesis de las tramas en un dispositivo de recepción pueden hacer que la energía de una trama se superponga con (o "escape" hacia) otra trama. Como resultado, ciertas operaciones de descodificación realizadas por un dispositivo de recepción para generar (o predecir) la banda alta pueden ocasionar distorsiones en una señal de audio reproducida, lo cual da como resultado una calidad de audio deficiente.
[0007] El documento US 2998/027718 A1 divulga procedimientos en los que las subbandas de una señal de voz se codifican por separado, con la excitación de una primera subbanda obtenida a partir de una segunda subbanda. Los factores de ganancia se calculan para indicar una relación variable en el tiempo entre las envolventes de la primera subbanda original y la primera subbanda sintetizada. Los factores de ganancia se cuantifican y se recodifican los valores cuantificados que exceden los valores precuantificados.
IV. Breve explicación
[0008] El objeto de la presente invención se consigue mediante las reivindicaciones independientes. Los modos de realización específicos se definen en las reivindicaciones dependientes.
[0009] Un dispositivo (como un dispositivo móvil que se comunica dentro de una red de comunicación inalámbrica) puede compensar la superposición entre tramas (por ejemplo, "fuga de energía") entre un primer conjunto de muestras asociadas con una primera trama de audio y un segundo conjunto de muestras asociadas con una segunda trama de audio generando un conjunto de muestras objetivo que corresponde a la superposición entre tramas. El dispositivo también puede generar un conjunto de muestras de referencia asociadas con la segunda trama de audio. El dispositivo puede escalar el conjunto de muestras objetivo basándose en el conjunto de muestras de referencia, por ejemplo, reduciendo una diferencia de energía entre el conjunto de muestras objetivo y el conjunto de muestras de referencia.
[0010] En una implementación ilustrativa, el dispositivo se comunica en una red inalámbrica basándose en un protocolo de servicios de voz mejorados (EVS) del Proyecto de Asociación de 3.a Generación (3GPP) que utiliza circuitería de forma de ganancia para obtener una señal sintetizada de banda alta. El dispositivo puede escalar el conjunto de muestras objetivo y "reemplazar" el conjunto de muestras objetivo por el conjunto objetivo escalado de muestras antes de introducir la señal de banda alta sintetizada en la circuitería de forma de ganancia, lo cual puede reducir o eliminar ciertas distorsiones asociadas con la superposición entre tramas. Por ejemplo, escalar el conjunto de muestras objetivo puede reducir o eliminar las distorsiones ocasionadas por una falta de coincidencia del transmisor/receptor de un valor semilla (denominado "bwe_seed") asociado al protocolo 3GPP EVS.
[0011] En un ejemplo particular, un procedimiento de funcionamiento de un dispositivo incluye recibir un primer conjunto de muestras y un segundo conjunto de muestras. El primer conjunto de muestras corresponde a una parte de una primera trama de audio y el segundo conjunto de muestras corresponde a una segunda trama de audio. El procedimiento incluye además generar un conjunto de muestras objetivo basándose en el primer conjunto de muestras y un primer subconjunto del segundo conjunto de muestras y generar un conjunto de muestras de referencia basándose al menos parcialmente en un segundo subconjunto del segundo conjunto de muestras. El procedimiento incluye escalar el conjunto de muestras objetivo para generar un conjunto de muestras objetivo escalado y generar un tercer conjunto de muestras basándose en el conjunto de muestras objetivo escalado y una o más muestras del segundo conjunto de muestras.
[0012] En otro ejemplo particular, un aparato incluye una memoria configurada para recibir un primer conjunto de muestras y un segundo conjunto de muestras. El primer conjunto de muestras corresponde a una parte de una primera trama de audio y el segundo conjunto de muestras corresponde a una segunda trama de audio. El aparato incluye además un creador de ventanas configurado para generar un conjunto de muestras objetivo basándose en el primer conjunto de muestras y un primer subconjunto del segundo conjunto de muestras. El creador de ventanas está configurado para generar un conjunto de muestras de referencia basándose al menos parcialmente en un segundo subconjunto del segundo conjunto de muestras. El aparato incluye además un escalador configurado para escalar el conjunto de muestras objetivo para generar un conjunto de muestras objetivo escalado y un combinador configurado para generar un tercer conjunto de muestras basándose en el conjunto de muestras objetivo escalado y una o más muestras del segundo conjunto de muestras.
[0013] En otro ejemplo particular, un medio legible por ordenador almacena instrucciones ejecutables por un procesador para realizar operaciones. Las operaciones incluyen recibir un primer conjunto de muestras y un segundo conjunto de muestras. El primer conjunto de muestras corresponde a una parte de una primera trama de audio y el segundo conjunto de muestras corresponde a una segunda trama de audio. Las operaciones incluyen además generar un conjunto de muestras objetivo basándose en el primer conjunto de muestras y un primer subconjunto del segundo conjunto de muestras y generar un conjunto de muestras de referencia basándose al menos parcialmente en un segundo subconjunto del segundo conjunto de muestras. Las operaciones incluyen además escalar el conjunto de muestras objetivo para generar un conjunto de muestras objetivo escalado y generar un tercer conjunto de muestras basándose en el conjunto de muestras objetivo escalado y una o más muestras del segundo conjunto de muestras.
[0014] En otro ejemplo particular, un aparato incluye medios para recibir un primer conjunto de muestras y un segundo conjunto de muestras. El primer conjunto de muestras corresponde a una parte de una primera trama de audio y el segundo conjunto de muestras corresponde a una segunda trama de audio. El aparato incluye además medios para generar un conjunto de muestras objetivo y un conjunto de muestras de referencia. El conjunto de muestras objetivo se basa en el primer conjunto de muestras y un primer subconjunto del segundo conjunto de muestras, y el conjunto de muestras de referencia se basa al menos parcialmente en un segundo subconjunto del segundo conjunto de muestras. El aparato incluye además medios para escalar el conjunto de muestras objetivo para generar un conjunto de muestras objetivo escalado y medios para generar un tercer conjunto de muestras basándose en el conjunto de muestras objetivo escalado y una o más muestras del segundo conjunto de muestras.
[0015] Una ventaja particular proporcionada por al menos uno de los modos de realización divulgados es la calidad mejorada de audio reproducido en un dispositivo de recepción, tal como un dispositivo de comunicación inalámbrica que recibe información correspondiente al audio transmitido en una red inalámbrica en conexión con una conversación telefónica. Otros aspectos, ventajas y rasgos característicos de la presente divulgación resultarán evidentes después de revisar la solicitud completa, incluyendo las siguientes secciones: Breve descripción de los dibujos, Descripción detallada y Reivindicaciones.
V. Breve descripción de los dibujos
[0016]
La FIG. 1 es un diagrama de bloques de un ejemplo ilustrativo de un dispositivo, como un descodificador, dentro de un dispositivo de comunicación inalámbrica, que puede compensar la discontinuidad de energía en una superposición entre tramas.
La FIG. 2 representa ejemplos ilustrativos de tramas de audio que pueden estar asociadas con el funcionamiento de un dispositivo, como el dispositivo de la FIG. 1.
La FIG. 3 representa aspectos ilustrativos asociados con el funcionamiento de un dispositivo, como el dispositivo de la FIG. 1.
La FIG. 4 es un diagrama de bloques de un ejemplo ilustrativo de un determinante de factor de escala, tal como un determinante de factor de escala que puede incluirse en el dispositivo de la FIG. 1.
La FIG. 5 es un diagrama de flujo que ilustra un ejemplo de un procedimiento de funcionamiento de un dispositivo, tal como el dispositivo de la FIG. 1.
La FIG. 6 es un diagrama de bloques de un ejemplo ilustrativo de un dispositivo electrónico, tal como un dispositivo electrónico que incluye el dispositivo de la FIG. 1 y que utiliza el dispositivo de la FIG. 1 para descodificar la información recibida a través de una red de comunicación inalámbrica.
La FIG. 7 es un diagrama de bloques de un ejemplo ilustrativo de un sistema, tal como un sistema que puede integrarse dentro del dispositivo electrónico de la FIG. 6 y que realiza operaciones de codificación para codificar información a transmitir a través de una red de comunicación inalámbrica.
VI. Descripción detallada
[0017] La FIG. 1 representa ciertos aspectos ilustrativos de un dispositivo 100. Para ilustrar, el dispositivo 100 puede integrarse dentro de un codificador o dentro de un descodificador de un dispositivo electrónico, tal como un dispositivo de comunicación inalámbrica que envía y recibe paquetes de datos dentro de una red de comunicación inalámbrica usando un transceptor acoplado al dispositivo 100. En otros casos, el dispositivo 100 puede integrarse dentro de otro dispositivo electrónico, como un dispositivo con cable (por ejemplo, un módem o un descodificador, como ejemplos ilustrativos).
[0018] En algunas implementaciones, el dispositivo 100 funciona de acuerdo con un estándar 3GPP, tal como el estándar 3GPP EVS utilizado por dispositivos de comunicación inalámbrica para comunicarse dentro de una red de comunicación inalámbrica. El estándar 3GPP EVS puede especificar ciertas operaciones de descodificación a realizar por un descodificador, y el dispositivo 100 puede realizar las operaciones de descodificación para descodificar la información recibida a través de una red de comunicación inalámbrica. Aunque ciertos ejemplos de la FIG. 1 se describen con referencia a un descodificador, se observa que los aspectos descritos con referencia a la FIG. 1 (y otros ejemplos descritos en el presente documento) también pueden implementarse en un codificador, tal como se describe adicionalmente con referencia a la FIG. 7. Además, en algunas implementaciones, los aspectos de la divulgación pueden implementarse en conexión con uno o más protocolos, tales como un protocolo de Grupo de Expertos en Imágenes en Movimiento (MPEG) para codificación de datos, descodificación de datos, o ambos.
[0019] El dispositivo 100 puede incluir circuitería 112 acoplada a una memoria 120. La circuitería 112 puede incluir uno o más de un generador de excitación, un sintetizador de predicción lineal o una unidad de postprocesamiento, como ejemplos ilustrativos. La memoria 120 puede incluir una memoria intermedia, como un ejemplo ilustrativo.
[0020] El dispositivo 100 puede incluir además un creador de ventanas 128 acoplado a un determinante de factor de escala 140. El determinante de factor de escala 140 puede acoplarse a un escalador 148. El escalador 148 puede acoplarse al creador de ventanas 128 y a un combinador 156. El combinador 156 puede acoplarse a un módulo de procesamiento de forma de ganancia, tal como circuitería de forma de ganancia 164. El circuito 164 de forma de ganancia puede incluir un ajustador de forma de ganancia (por ejemplo, en conexión con una implementación de descodificador del dispositivo 100) o un generador de parámetros de forma de ganancia que genera información de forma de ganancia (por ejemplo, en conexión con un codificador que tiene una o más características correspondientes al dispositivo 100).
[0021] En funcionamiento, la circuitería 112 puede responder a una señal de excitación de banda baja 104. La circuitería 112 puede configurarse para generar señales sintetizadas de banda alta, tales como una señal sintetizada de banda alta 116, basada en una señal de excitación de banda alta generada usando la señal de excitación de banda baja 104 y ruido de modulación de envolvente de banda alta usando ruido pseudoaleatorio 108. La señal sintetizada de banda alta 116 puede corresponder a conjuntos de muestras de tramas de audio (por ejemplo, paquetes de datos recibidos por un dispositivo de comunicación inalámbrica que usa una red de comunicación inalámbrica) que están asociados con una señal de audio (por ejemplo, una señal que representa el habla). Por ejemplo, la circuitería 112 puede configurarse para generar un primer conjunto de muestras 124 y un segundo conjunto de muestras 126. El primer conjunto de muestras 124 y el segundo conjunto de muestras 126 pueden corresponder a señales sintetizadas de banda alta que se generan basándose en la señal de excitación de banda baja 104 usando un generador de excitación de la circuitería 112, un sintetizador de predicción lineal de la circuitería 112, y una unidad de postprocesamiento de la circuitería 112. En otra implementación, el primer conjunto de muestras 124 y el segundo conjunto de muestras 126 corresponden a una señal de excitación de banda alta que se genera basándose en una señal de excitación de banda baja (por ejemplo, la señal de excitación de banda baja 104) usando un generador de excitación de la circuitería 112. La circuitería 112 puede configurarse para proporcionar el primer conjunto de muestras 124 y el segundo conjunto de muestras 126 a la memoria 120. La memoria 120 puede configurarse para recibir el primer conjunto de muestras 124 y el segundo conjunto de muestras 126.
[0022] El primer conjunto de muestras 124 puede estar asociado con una primera trama de audio, y el segundo conjunto de muestras 126 puede estar asociado con una segunda trama de audio. La primera trama de audio puede estar asociada (por ejemplo, ser procesada por el dispositivo 100 durante) un primer intervalo de tiempo, y el segundo conjunto de muestras 126 puede estar asociado (por ejemplo, ser procesado por el dispositivo 100 durante) un segundo intervalo de tiempo que ocurre después del primer intervalo de tiempo. La primera trama de audio puede denominarse una "trama de audio anterior", y la segunda trama de audio puede denominarse una "trama de audio actual". Sin embargo, debe entenderse que "anterior" y "actual" son etiquetas utilizadas para distinguir entre tramas secuenciales en una señal de audio y no necesariamente indican limitaciones de síntesis en tiempo real. En algunos casos, si el segundo conjunto de muestras 126 corresponde a una trama de audio inicial (o primera) de una señal para ser procesada por el dispositivo 100, el primer conjunto de muestras 124 puede incluir valores de cero (por ejemplo, la memoria 120 puede ser inicializada por el dispositivo 100 utilizando una técnica de relleno de cero antes de procesar la señal).
[0023] En conexión con ciertos protocolos, un límite entre las tramas de audio puede ocasionar "fuga" de energía de una trama de audio anterior a una trama de audio actual. Como ejemplo no limitativo, un protocolo puede especificar que se genere una entrada a un dispositivo de forma de ganancia (como el circuito 164 de forma de ganancia) concatenando un primer número de muestras de una trama de audio anterior (por ejemplo, las últimas 20 muestras, como un ejemplo ilustrativo) con un segundo número de muestras de una trama de audio actual (por ejemplo, 320 muestras, como un ejemplo ilustrativo). En este ejemplo, el primer número de muestras corresponde al primer conjunto de muestras 124. Como otro ejemplo, un número particular de muestras de la trama de audio actual (por ejemplo, las primeras 10 muestras, como un ejemplo ilustrativo) pueden verse afectadas por la trama de audio anterior (por ejemplo, debido al funcionamiento de la circuitería 112, como una memoria de filtro utilizada en operaciones de síntesis de codificación predictiva lineal y/o operaciones de postprocesamiento). Tal "fuga" (o superposición entre tramas) puede dar lugar a diferencias de amplitud (o "saltos") en una forma de onda de audio en el dominio del tiempo que se genera basándose en los conjuntos de muestras 124, 126. En estos ejemplos ilustrativos no limitativos, la memoria 120 puede configurarse para almacenar las últimas 20 muestras de la trama de audio anterior (como el primer conjunto de muestras 124) concatenadas con 320 muestras de la trama de audio actual (como el segundo conjunto de muestras 126).
[0024] El creador de ventanas 128 puede configurarse para acceder a muestras almacenadas en la memoria 120 y para generar un conjunto de muestras objetivo 132 y un conjunto de muestras de referencia 136. Para ilustrar, el creador de ventanas 128 puede configurarse para generar el conjunto de muestras objetivo 132 usando una primera ventana y para generar el conjunto de muestras de referencia 136 usando una segunda ventana. En un ejemplo ilustrativo, el creador de ventanas 128 está configurado para seleccionar el primer conjunto de muestras 124 y un primer subconjunto del segundo conjunto de muestras 126 para generar el conjunto de muestras objetivo 132 y seleccionar un segundo subconjunto del segundo conjunto de muestras 126 para generar el conjunto de muestras de referencia 136. En este ejemplo, el creador de ventanas 128 puede incluir un selector (por ejemplo, un multiplexor) configurado para acceder a la memoria 120. En este caso, la primera ventana y la segunda ventana no se superponen (y el conjunto de muestras objetivo 132 y el conjunto de muestras de referencia 136 no "comparten" una o más muestras). Al no "compartir" una o más muestras, la implementación del dispositivo 100 puede simplificarse en algunos casos. Por ejemplo, el creador de ventanas 128 puede incluir una lógica de selección configurada para seleccionar el conjunto de muestras objetivo 132 y el conjunto de muestras de referencia 136. En este ejemplo, las operaciones de "creación de ventanas" realizadas por el creador de ventanas 128 pueden incluir la selección del conjunto de muestras objetivo 132 y el conjunto de muestras de referencia 136.
[0025] En otra implementación ilustrativa, el conjunto de muestras objetivo 132 y el conjunto de muestras de referencia 136 incluyen muestras "ponderadas" del primer subconjunto del segundo conjunto de muestras 126 (por ejemplo, muestras ponderadas basándose en la proximidad a un límite de trama que separa el primer conjunto de muestras 124 y el segundo conjunto de muestras 126). En este ejemplo ilustrativo, el creador de ventanas 128 está configurada para generar el conjunto de muestras objetivo 132 y el conjunto de muestras de referencia 136 basándose en el primer conjunto de muestras 124, el primer subconjunto del segundo conjunto de muestras 126 y el segundo subconjunto del segundo conjunto de muestras 126. Además, en este ejemplo, la primera ventana y la segunda ventana se superponen (y el conjunto de muestras objetivo 132 y el conjunto de muestras de referencia 136 "comparten" una o más muestras). Una muestra "compartida" puede ser "ponderada" basándose en la proximidad de la muestra a un límite de trama de audio (que puede mejorar la precisión de ciertas operaciones realizadas por el dispositivo 100 en algunos casos). Ciertos aspectos ilustrativos que pueden estar asociados con el creador de ventanas 128 se describen adicionalmente con referencia a las FIGS. 2 y 3. La ponderación usando la primera ventana y la segunda ventana puede realizarse mediante el determinante de factor de escala 140, tal como se describe adicionalmente con referencia a las FIGS. 4 y 5.
[0026] El determinante de factor de escala 140 puede configurarse para recibir el conjunto de muestras objetivo 136 y el conjunto de muestras de referencia 132 desde el creador de ventanas 128. El determinante de factor de escala 140 puede configurarse para determinar un factor de escala 144 basándose en el conjunto de muestras objetivo 132 y el conjunto de muestras de referencia 136. En un ejemplo ilustrativo particular, el determinante de factor de escala 140 está configurado para determinar un primer parámetro de energía asociado con el conjunto de muestras objetivo 132, para determinar un segundo parámetro de energía asociado con el conjunto de muestras de referencia 136, para determinar una relación entre el segundo parámetro de energía y el primer parámetro de energía, y para realizar una operación de raíz cuadrada en la relación para generar el factor de escala 144. Ciertas características ilustrativas del determinante de factor de escala 140 se describen adicionalmente con referencia a las FIGS. 4 y 5.
[0027] El escalador 148 puede configurarse para recibir el conjunto de muestras objetivo 132 y el factor de escala 144. El escalador 148 puede configurarse para escalar el conjunto de muestras objetivo 132 basándose en el factor de escala 144 y para generar un conjunto objetivo escalado de muestras 152.
[0028] El combinador 156 puede configurarse para recibir el conjunto objetivo escalado de muestras 152 y para generar un tercer conjunto de muestras 160 basado en el conjunto objetivo escalado de muestras 152 y basado además en una o más muestras 130 del segundo conjunto de muestras 126 (también denominado en el presente documento muestras "restantes" del segundo conjunto de muestras 126). Por ejemplo, la una o más muestras 130 pueden incluir muestras "sin escala" del segundo conjunto de muestras 126 que no se proporcionan al escalador 148 y que el escalador 148 no escala.
[0029] En el ejemplo de la FIG. 1, el creador de ventanas 128 puede configurarse para proporcionar una o más muestras 130 al combinador 156. De forma adicional o alternativa, el combinador 156 puede configurarse para recibir una o más muestras 130 utilizando otra técnica, por ejemplo accediendo a la memoria 120 utilizando una conexión entre la memoria 120 y el combinador 156. Debido a que las operaciones de escalado realizadas por el dispositivo 100 pueden basarse en una relación de energías de los conjuntos de muestras 124, 126, una "discontinuidad en los niveles de energía entre tramas de audio correspondientes a los conjuntos de muestras 124, 126 puede" suavizarse ". "Suavizar" la discontinuidad de energía puede mejorar la calidad de una señal de audio generada basándose en los conjuntos de muestras 124, 126 (por ejemplo, al reducir o eliminar las distorsiones en la señal de audio que se obtienen a consecuencia de la discontinuidad de energía).
[0030] La circuitería de forma de ganancia 164 está configurado para recibir el tercer conjunto de muestras 160. Por ejemplo, la circuitería de forma de ganancia 164 puede configurarse para estimar formas de ganancia basadas en el tercer conjunto de muestras 160 (por ejemplo, en conexión con un proceso de codificación realizado por un codificador que incluye el dispositivo 100). De forma adicional o alternativa, la circuitería de forma de ganancia 164 puede configurarse para generar una señal de banda alta sintetizada ajustada en forma de ganancia 168 basada en el tercer conjunto de muestras 160 (por ejemplo, aplicando formas de ganancia en conexión con un proceso de descodificación realizado en un descodificador o un proceso de codificación realizado en un codificador que incluye el dispositivo 100). Por ejemplo, la circuitería de forma de ganancia 164 está configurada para obtener forma de ganancia del tercer conjunto de muestras 160 (por ejemplo, de acuerdo con un protocolo EVP 3GPP) para generar la señal de banda alta sintetizada ajustada en forma de ganancia 168. Como ejemplo ilustrativo, la circuitería de forma de ganancia 164 puede configurarse para obtener forma de ganancia del tercer conjunto de muestras 160 usando una o más operaciones especificadas por el número de especificación técnica 26 445 de 3GPP, sección 6.1.1/5/12, versión 12.4.0. De forma adicional o alternativa, la circuitería de forma de ganancia 164 puede configurarse para realizar la conformación de ganancia usando una o más de otras operaciones.
[0031] Debido a que el conjunto de muestras objetivo 132 incluye una o más muestras tanto del primer conjunto de muestras 124 como del segundo conjunto de muestras 126 que se ven directamente afectadas por un nivel de energía del primer conjunto de muestras 124, el escalado realizado por el dispositivo 100 de la FIG. 1 basado en la relación de energía puede compensar las distorsiones debidas a los efectos de discontinuidad de energía asociados con la superposición entre tramas (o "fuga") entre el primer conjunto de muestras 124 y el segundo conjunto de muestras 126. La compensación de las discontinuidades de energía en la superposición entre tramas puede reducir las discontinuidades (o "saltos") en la señal de banda alta sintetizada ajustada en forma de ganancia 168, mejorando la calidad de una señal de audio que se genera basándose en los conjuntos de muestras 124, 126 en un dispositivo electrónico que incluye el dispositivo 100.
[0032] La FIG. 2 representa ejemplos ilustrativos de tramas de audio 200 asociados con el funcionamiento de un dispositivo, tal como el dispositivo 100 de la FIG. 1. Las tramas de audio 200 pueden incluir una primera trama de audio 204 (por ejemplo, la primera trama de audio descrita con referencia a la FIG. 1, que puede corresponder a una trama de audio anterior) y una segunda trama de audio 212 (por ejemplo, la segunda trama de audio descrita con referencia a la FIG. 1, que puede corresponder a una trama de audio actual). El ejemplo ilustrativo de la FIG. 2 representa que la primera trama de audio 204 y la segunda trama de audio 212 pueden estar separadas por un límite de trama, tal como un límite 208.
[0033] La primera trama de audio 204 puede preceder a la segunda trama de audio 212. Por ejemplo, la primera trama de audio 204 puede preceder secuencialmente inmediatamente antes de la segunda trama de audio 212 en un orden de procesamiento de la primera trama de audio 204 y la segunda trama de audio 212 (por ejemplo, un orden en el que se accede a la primera trama de audio 204 y la segunda trama de audio 212 desde la memoria 120 de la FIG. 1, como un ejemplo ilustrativo).
[0034] La primera trama de audio 204 puede incluir una primera parte, tal como un primer conjunto de muestras 220 (por ejemplo, el primer conjunto de muestras 124 de la FIG. 1). La segunda trama de audio 212 puede incluir una segunda parte, tal como un segundo conjunto de muestras 224 (por ejemplo, el segundo conjunto de muestras 126 de la FIG. 1).
[0035] El segundo conjunto de muestras 224 puede incluir un primer subconjunto 232 (por ejemplo, el primer subconjunto descrito con referencia a la FIG. 1) y un segundo subconjunto 236 (por ejemplo, el segundo subconjunto descrito con referencia a la FIG. 1). Como ejemplo ilustrativo, no limitativo, donde se utiliza la codificación de predicción lineal de décimo orden, el primer subconjunto 232 puede incluir las primeras 10 muestras de la segunda trama de audio 212, y el segundo subconjunto 236 puede incluir las siguientes 20 muestras de la segunda trama de audio 212. En un ejemplo ilustrativo alternativo, no limitativo, el primer subconjunto 232 puede incluir las primeras 10 muestras de la segunda trama de audio 212, y el segundo subconjunto 236 puede incluir las siguientes 30 muestras de la segunda trama de audio 212. En otras implementaciones, el primer subconjunto 232 y/o el segundo subconjunto 236 pueden incluir diferentes muestras de la segunda trama de audio 212.
[0036] La FIG. 2 ilustra además un ejemplo de un conjunto de muestras objetivo 216 (por ejemplo, el conjunto de muestras objetivo 132 de la FIG. 1) y una o más muestras 240 (por ejemplo, la una o más muestras 130 de la FIG. 1). La una o más muestras 240 pueden incluir una o más muestras del segundo conjunto de muestras 224 que no están incluidas en el primer subconjunto 232 (también denominado en el presente documento una o más muestras "restantes" del segundo conjunto de muestras 224). En el ejemplo de la FIG. 2, el conjunto de muestras objetivo 216 incluye el primer conjunto de muestras 220 y el primer subconjunto 232. Como ejemplo ilustrativo, no limitativo, el conjunto de muestras objetivo 216 puede incluir las últimas 20 muestras de la primera trama de audio 204 y las primeras 10 muestras de la segunda trama de audio 212. En otras implementaciones, el conjunto de muestras objetivo 220 puede incluir diferentes muestras de la primera trama de audio 204 y/o la segunda trama de audio 212.
[0037] La FIG. 2 también representa un ejemplo de un conjunto de muestras de referencia 228 (por ejemplo, el conjunto de muestras de referencia 136 de la FIG. 1). En el ejemplo de la FIG. 2, el conjunto de muestras de referencia 228 incluye el primer subconjunto 232 y el segundo subconjunto 236. En este caso, el conjunto de muestras objetivo 216 y el conjunto de muestras de referencia 228 pueden "compartir" el primer subconjunto 232. En otros ejemplos, el conjunto de muestras objetivo 216 puede incluir muestras diferentes a las ilustradas en la FIG. 2. Por ejemplo, en otra implementación, el conjunto de muestras de referencia 228 incluye el segundo subconjunto 236 y no incluye el primer subconjunto 232 (indicado en la FIG. 2 como una línea parcialmente dividida que representa el conjunto de muestras de referencia 228). En este ejemplo, el conjunto de muestras objetivo 216 y el conjunto de muestras de referencia 228 no "comparten" una o más muestras. En algunas implementaciones, el número de muestras en el conjunto de muestras objetivo 216 es igual al número de muestras en el conjunto de muestras de referencia 228.
[0038] En algunas implementaciones, un conjunto de muestras almacenadas en la memoria 120 puede incluir muestras de un conjunto anterior de muestras. Por ejemplo, una parte de la primera trama de audio 204 (por ejemplo, el primer conjunto de muestras 220) puede concatenarse con el segundo conjunto de muestras 224. De forma adicional o alternativa, en algunos casos, la codificación predictiva lineal y/o las operaciones de postprocesamiento realizadas por la circuitería 112 pueden hacer que los valores de muestra del primer subconjunto 232 dependan de los valores de muestra de la primera trama de audio 204 (o una parte de la misma). Por lo tanto, el conjunto de muestras objetivo 216 puede corresponder a una "superposición" entre tramas entre la primera trama de audio 204 y la segunda trama de audio 212. La superposición entre tramas puede basarse en un número total de muestras a cada lado del límite 208 que se ven directamente afectadas por la primera trama de audio 204 y que se utilizan durante el procesamiento de la segunda trama de audio 212.
[0039] Refiriéndose nuevamente a la FIG. 1, el creador de ventanas 128 puede configurarse para generar el conjunto de muestras objetivo 132 y/o el conjunto de muestras objetivo 216 basándose en un número de muestras asociadas con una longitud de la superposición entre tramas entre la primera trama de audio 204 y la segunda trama de audio 212. Para ilustrar, la longitud puede ser de 30 muestras u otro número de muestras. En ciertos casos, la longitud puede cambiar dinámicamente durante el funcionamiento del dispositivo 100 (por ejemplo, basándose en un cambio de longitud de trama, un cambio de orden de codificación predictiva lineal y/u otro cambio de parámetro). El creador de ventanas 128 puede responder o integrarse dentro de otro dispositivo (por ejemplo, un procesador) que identifica la longitud (o longitud estimada) de la superposición entre tramas (por ejemplo, basándose en un protocolo, tal como un protocolo 3GPP EVS) y que proporciona una indicación de la longitud del creador de ventanas 128. El creador de ventanas 128 puede configurarse para almacenar una indicación de la longitud y/o posición de la superposición entre tramas, tal como en una memoria y/o en conexión con la ejecución de instrucciones por parte del procesador.
[0040] Al escalar el conjunto de muestras objetivo 216 basándose en la longitud de la superposición entre tramas, un dispositivo puede compensar la superposición entre tramas asociada con el límite 208. Por ejemplo, una diferencia de energía entre la primera trama de audio 204 y la segunda trama de audio 212 puede "suavizarse", lo cual puede reducir o eliminar un "salto" de amplitud en una señal de audio en una posición correspondiente al límite 208. Un ejemplo de una señal "suavizada" se describe mejor con referencia a la FIG. 3.
[0041] La FIG. 3 representa ejemplos ilustrativos de un gráfico 310, un gráfico 320 y un gráfico 330. Los gráficos 310, 320 y 330 pueden estar asociados con el funcionamiento de un dispositivo, tal como el dispositivo 100 de la FIG.
1. En cada uno de los gráficos, 310, 320 y 330, la abscisa indica un número de muestras "n", donde "n" es un número entero mayor o igual a cero. En cada uno de los gráficos 310 y 320, la ordenada indica un valor de ventana. En el gráfico 330, la ordenada indica un valor de factor de escala.
[0042] El gráfico 310 ilustra un primer ejemplo de una primera ventana wl(n) y una segunda ventana w2(n). Con referencia nuevamente a las FIGS. 1 y 2, el creador de ventanas 128 puede configurarse para generar el conjunto de muestras objetivo 132 basándose en la primera ventana wl(n) (por ejemplo, seleccionando el primer conjunto de muestras 220 y el primer subconjunto 232 usando la primera ventana w1(n)). El creador de ventanas 128 puede configurarse para generar el conjunto de muestras de referencia 136 basándose en la segunda ventana w2(n) (por ejemplo, seleccionando el segundo subconjunto 236 usando la segunda ventana w2(n)). Cabe señalar que en este ejemplo ilustrativo, las ventanas wl(n) y w2(n) tienen un valor de 1,0. Estas ventanas ilustran un caso en el que la creación de ventanas no modifica una señal (por ejemplo, donde un conjunto de muestras objetivo y un conjunto de muestras de referencia son seleccionadas por el creador de ventanas 128 y el determinante de factor de escala 140 de la FIG. 1 sin escalar mediante el creador de ventanas 128 o mediante el determinante del factor de escala 140). En este caso, un conjunto objetivo "en ventana" incluiría los mismos valores que el conjunto de muestras objetivo 132 o el conjunto de muestras objetivo 216, y el conjunto de muestras de referencia "en ventana" incluiría los mismos valores que el conjunto de muestras de referencia 136 o el conjunto de muestras de referencia 228.
[0043] El gráfico 320 ilustra un segundo ejemplo de la primera ventana wl(n) y la segunda ventana w2(n). El creador de ventanas 128 puede configurarse para generar el conjunto de muestras objetivo 132 basándose en la primera ventana wl(n) (por ejemplo, seleccionando el primer conjunto de muestras 220 y el primer subconjunto 232 para generar el conjunto de muestras objetivo 132 y ponderando el primer conjunto de muestras 220 y el primer subconjunto 232 de acuerdo con la primera ventana wl(n) para generar un conjunto de muestras objetivo ponderado). El creador de ventanas 128 puede configurarse para generar el conjunto de muestras de referencia 136 basándose en la segunda ventana w2(n) (por ejemplo, seleccionando los subconjuntos 232, 236 para generar un conjunto de muestras de referencia y ponderando los subconjuntos 232, 236 de acuerdo con la segunda ventana w2(n) para generar un conjunto de muestras de referencia ponderado).
[0044] El gráfico 330 ilustra aspectos de un proceso de escalado que puede realizar el escalador 148. En el gráfico 330, un valor de un factor de escala (por ejemplo, el factor de escala 144) que se aplica a un conjunto de muestras objetivo (por ejemplo, cualquiera de los conjuntos objetivo seleccionados de la ventana 132, 216) se cambia gradualmente cerca del límite 208 (representado en el gráfico 330 como suavizado de diferencia de amplitud 334). El suavizado de diferencia de amplitud 334 puede permitir una transición de ganancia o "disminución gradual" (por ejemplo, una transición de ganancia uniforme, como una transición de ganancia lineal uniforme) desde un escalado basado en el factor de escala 144 a un factor de escala de uno (o sin escala), que puede evitar una discontinuidad (por ejemplo, un "salto") en una cantidad de escalado cerca del límite 208. En este ejemplo, cualquiera de los conjuntos de muestras objetivo 132, 216 puede escalarse usando una transición de ganancia lineal desde un primer valor del factor de escala ("factor de escala" en el ejemplo del gráfico 330) a un segundo valor de la escala factor ("1" en el ejemplo del gráfico 330). Debe observarse que el gráfico 330 se proporciona para ilustración y que otros ejemplos están dentro del alcance de la divulgación. Por ejemplo, aunque el gráfico 330 representa que el primer valor del factor de escala puede ser mayor que el segundo valor del factor de escala, en otros ejemplos ilustrativos, el primer valor del factor de escala puede ser menor o igual que el segundo valor del factor de escala. Para ilustrar más, haciendo referencia nuevamente a la FIG. 1, el determinante de factor de escala 140 puede configurarse para escalar el conjunto de muestras objetivo 132 usando una transición de ganancia lineal desde un primer valor del factor de escala 144 a un segundo valor del factor de escala 144.
[0045] Aunque el gráfico 330 ilustra una duración particular (20 muestras) y una pendiente de la diferencia de amplitud que suaviza 334, debe apreciarse que la duración y/o la pendiente de la diferencia de amplitud que suaviza 334 pueden variar. Como ejemplo, la duración y/o la pendiente del suavizado de diferencia de amplitud 334 pueden depender de la cantidad de superposición entre tramas y los valores particulares de los factores de escala primero y segundo. Además, en algunas aplicaciones, el suavizado de diferencia de amplitud 334 puede ser no lineal (por ejemplo, un suavizado exponencial, un suavizado logarítmico o un suavizado polinomial, como un suavizado de interpolación spline, como ejemplos ilustrativos).
[0046] Al habilitar el suavizado de diferencia de amplitud 334 utilizando una "disminución gradual" de escalado, las diferencias de amplitud entre las tramas de audio asociadas con una señal de audio se pueden "suavizar". Suavizar las diferencias de amplitud puede mejorar la calidad de las señales de audio en un dispositivo electrónico.
[0047] La FIG. 4 es un diagrama de bloques de un ejemplo ilustrativo de un determinante de factor de escala 400. El determinante de factor de escala 400 puede integrarse dentro del dispositivo 100 de la FIG. 1. Por ejemplo, el determinante de factor de escala 400 puede corresponder al determinante de factor de escala 140 de la FIG. 1.
[0048] El determinante de factor de escala 400 puede incluir un determinante de parámetro de energía 412 acoplado a una circuitería de relación 420. El determinante de factor de escala 400 puede incluir además circuitería de raíz cuadrada 432 acoplada a la circuitería de relación 420.
[0049] Durante el funcionamiento, el determinante de parámetros de energía 412 puede responder a un conjunto de muestras objetivo 404 en ventana o seleccionado en ventana (por ejemplo, los conjuntos de muestras objetivo en ventana 132, 216). El determinante de parámetros de energía 412 también puede responder a un conjunto de muestras de referencia 408 en ventana o seleccionado en ventana (por ejemplo, los conjuntos de muestras de referencia 136, 228).
[0050] El determinante de parámetros de energía 412 puede configurarse para determinar un primer parámetro de energía 416 asociado con el conjunto de muestras objetivo 404 en ventana o seleccionado en ventana. Por ejemplo, el determinante de parámetro de energía 412 puede configurarse para cuadrar cada muestra del conjunto de muestras objetivo 404 en ventana o seleccionado en ventana y para sumar los valores al cuadrado para generar el primer parámetro de energía 416.
[0051] El determinante de parámetros de energía 412 puede configurarse para determinar un segundo parámetro de energía 424 asociado con el conjunto de muestras de referencia 408 en ventana o seleccionado en ventana. Por ejemplo, el determinante de parámetros de energía 412 puede configurarse para cuadrar cada muestra del conjunto de muestras de referencia 408 en ventana o seleccionado en ventana y para sumar los valores al cuadrado para generar el segundo parámetro de energía 424.
[0052] La circuitería de relación 420 puede configurarse para recibir los parámetros de energía 416, 424. La circuitería de relación 420 puede configurarse para determinar una relación 428, por ejemplo dividiendo el segundo parámetro de energía 424 por el primer parámetro de energía 416.
[0053] La circuitería de raíz cuadrada 432 puede configurarse para recibir la relación 428. La circuitería de raíz cuadrada 432 puede configurarse para realizar una operación de raíz cuadrada en la relación 428 para generar un factor de escala 440. El factor de escala 440 puede corresponder al factor de escala 144 de la FIG. 1.
[0054] El ejemplo de la FIG. 4 ilustra que un factor de escala puede determinarse basándose en un conjunto de muestras objetivo en ventana y un conjunto de muestras de referencia en ventana. El factor de escala es representativo de una relación de energía entre muestras en, o directamente impactadas por, la trama de audio anterior, en comparación con las muestras en la trama de audio actual. El factor de escala puede aplicarse a un conjunto de muestras objetivo para compensar una superposición entre tramas, reduciendo o eliminando una discontinuidad de energía entre el conjunto de muestras objetivo y el conjunto de muestras de referencia.
[0055] La FIG. 5 es un diagrama de flujo que ilustra un ejemplo de un procedimiento 500 de funcionamiento de un dispositivo. Por ejemplo, el dispositivo puede corresponder al dispositivo 100 de la FIG. 1.
[0056] El procedimiento 500 incluye recibir un primer conjunto de muestras (por ejemplo, cualquiera de los primeros conjuntos de muestras 124, 220) y un segundo conjunto de muestras (por ejemplo, cualquiera de los segundos conjuntos de muestras 126, 224), en 510. El primer conjunto de muestras corresponde a una parte de una primera trama de audio (por ejemplo, la primera trama de audio 204) y el segundo conjunto de muestras corresponde a una segunda trama de audio (por ejemplo, la segunda trama de audio 212).
[0057] El procedimiento 500 incluye además generar un conjunto de muestras objetivo basado en el primer conjunto de muestras y un primer subconjunto del segundo conjunto de muestras, en 520. Por ejemplo, el conjunto de muestras objetivo puede corresponder a cualquiera de los conjuntos de muestras objetivo 132, 216 y 404, y el primer subconjunto puede corresponder al primer subconjunto 232. En algunas implementaciones, el conjunto de muestras objetivo se genera basándose en una primera ventana, el conjunto de muestras de referencia se genera basándose en una segunda ventana y la primera ventana se superpone a la segunda ventana (por ejemplo, como se ilustra en el gráfico 320). En otras implementaciones, el conjunto de muestras objetivo se genera basándose en una primera ventana, el conjunto de muestras de referencia se genera basándose en una segunda ventana y la primera ventana no se superpone a la segunda ventana (por ejemplo, como se ilustra en el gráfico 310).
[0058] El procedimiento 500 incluye además generar un conjunto de muestras de referencia basado al menos parcialmente en un segundo subconjunto del segundo conjunto de muestras, en 530. Por ejemplo, el conjunto de muestras de referencia puede corresponder a cualquiera de los conjuntos de referencia de las muestras 136, 228 y 408, y el segundo subconjunto puede corresponder al segundo subconjunto 236. En algunos modos de realización, el conjunto de muestras de referencia incluye el primer subconjunto (o muestras ponderadas correspondientes al primer subconjunto), tal como se representa en la FIG. 2. En este caso, el conjunto de muestras de referencia puede generarse adicionalmente basándose en el primer subconjunto del segundo conjunto de muestras. En otros modos de realización, el conjunto de muestras de referencia no incluye el primer subconjunto, como en el caso de una implementación correspondiente al gráfico 310.
[0059] El procedimiento 500 incluye además escalar el conjunto de muestras objetivo para generar un conjunto de muestras objetivo escalado, en 540. Por ejemplo, el conjunto de muestras objetivo escalado puede corresponder al conjunto de muestras objetivo escalado 152.
[0060] El procedimiento 500 incluye además generar un tercer conjunto de muestras basado en el conjunto de muestras objetivo escalado y una o más muestras del segundo conjunto de muestras, en 550. Por ejemplo, el tercer conjunto de muestras puede corresponder al tercer conjunto de muestras 160, y la una o más muestras pueden corresponder a la una o más muestras 130. La una o más muestras pueden incluir una o más muestras restantes del segundo conjunto de muestras.
[0061] El procedimiento 500 puede incluir además proporcionar el tercer conjunto de muestras para obtener circuitería de forma de ganancia del dispositivo. Por ejemplo, la circuitería de forma de ganancia puede corresponder a la circuitería de forma de ganancia 164. En algunas implementaciones, el procedimiento 500 puede incluir opcionalmente escalar el tercer conjunto de muestras mediante la circuitería de forma de ganancia para generar una señal de banda alta sintetizada ajustada en forma de ganancia (por ejemplo, la señal de banda alta sintetizada ajustada en forma de ganancia 168), tal como en conexión con una implementación de descodificador o una implementación de codificador. De forma alternativa, el procedimiento 500 puede incluir la estimación de formas de ganancia mediante la circuitería de forma de ganancia basándose en el tercer conjunto de muestras, tal como en conexión con una implementación de codificador.
[0062] El primer conjunto de muestras y el segundo conjunto de muestras pueden corresponder a señales sintetizadas de banda alta que se generan basándose en una señal de excitación de banda baja utilizando un generador de excitación, un sintetizador de predicción lineal y una unidad de postprocesamiento del dispositivo (por ejemplo, usando la circuitería 112). El primer conjunto de muestras y el segundo conjunto de muestras pueden corresponder a una señal de excitación de banda alta que se genera basándose en una señal de excitación de banda baja (por ejemplo, la señal de excitación de banda baja 104) usando un generador de excitación del dispositivo.
[0063] El procedimiento 500 puede incluir opcionalmente almacenar el primer conjunto de muestras en una memoria del dispositivo (por ejemplo, en la memoria 120), donde el primer subconjunto del segundo conjunto de muestras se selecciona mediante un selector acoplado a la memoria (por ejemplo, mediante un selector incluido en el creador de ventanas 128). El conjunto de muestras objetivo puede seleccionarse basándose en una serie de muestras asociadas con una longitud estimada de una superposición entre tramas entre la primera trama de audio y la segunda trama de audio. La superposición entre tramas puede basarse en un número total de muestras a cada lado de un límite (por ejemplo, el límite 208) entre la primera trama de audio y la segunda trama de audio que se ven directamente afectadas por la primera trama de audio y se utilizan en la segunda trama de audio.
[0064] El procedimiento 500 puede incluir generar un conjunto de muestras de destino en ventana o seleccionado en ventana, generar un conjunto de muestras de referencia en ventana o seleccionado en ventana, y determinar un factor de escala (por ejemplo, el factor de escala 144) basado en el conjunto de muestras objetivo en ventana o seleccionado en ventana y el conjunto de muestras de referencia en ventana o seleccionado en ventana, y en el que el conjunto de muestras objetivo se escala basándose en el factor de escala. El conjunto de muestras objetivo se puede escalar usando una transición de ganancia suave (por ejemplo, basada en el suavizado de diferencia de amplitud 334) desde un primer valor del factor de escala a un segundo valor del factor de escala. En algunas implementaciones, el segundo valor del factor de escala puede tomar un valor de 1,0 y el primer valor puede tomar el valor del factor de escala estimado 440 o 144. En algunas implementaciones, determinar el factor de escala incluye determinar un primer parámetro de energía (por ejemplo, el primer parámetro de energía 416) asociado con el conjunto de muestras objetivo en ventana o seleccionado en ventana y determinar un segundo parámetro de energía (por ejemplo, el segundo parámetro de energía 424) asociado con el conjunto de muestras de referencia en ventana o seleccionado en ventana. La determinación del factor de escala también puede incluir determinar una relación (por ejemplo, la relación 428) del segundo parámetro de energía y el primer parámetro de energía y realizar una operación de raíz cuadrada en la relación para generar el factor de escala.
[0065] El procedimiento 500 ilustra que un conjunto de muestras objetivo puede escalarse para compensar la superposición entre tramas entre tramas de audio. Por ejemplo, el procedimiento 500 puede realizarse para compensar la superposición entre tramas entre la primera trama de audio 204 y la segunda trama de audio 212 en el límite 208.
[0066] Para ilustrar adicionalmente, los ejemplos 1 y 2 ilustran el pseudocódigo correspondiente a las instrucciones que puede ejecutar un procesador para realizar una o más operaciones descritas en el presente documento (por ejemplo, una o más operaciones del procedimiento 500 de la FIG. 5). Debe apreciarse que el pseudocódigo de los ejemplos 1 y 2 se proporciona para ilustración y que los parámetros pueden diferir de los del Ejemplo 1 basándose en la aplicación particular.
[0067] En el Ejemplo 1, "i" puede corresponder al número entero "n" descrito con referencia a la FIG. 3, "prev_energy" puede corresponder al primer parámetro de energía 416, "curr_energy" puede corresponder al segundo parámetro de energía 424, "w1" puede corresponder a la primera ventana wl(n) descrita con referencia al gráfico 310 o al gráfico 320, "w2" puede corresponder a la segunda ventana w2(n) descrita con referencia al gráfico 310 que ilustra ventanas no superpuestas, "synthesized_high_band" puede corresponder a la señal sintetizada de banda alta 116, "scale_factor" puede corresponder al factor de escala 144, "shaped_shb_excitation" puede corresponder al tercer conjunto de muestras 160, y "actual_scale" puede corresponder a la ordenada del gráfico 330 (es decir, "escalar" en el gráfico 330). Cabe señalar que en algunos ejemplos ilustrativos alternativos, no limitativos, las ventanas "w1" y "w2" pueden definirse como superpuestas como se ilustra en el gráfico 320.
Ejemplo 1
[0068]
prev energy = 0;
curr energy = 0;
for(i = 0; i < 340; i++)
{
if(i<30) wl(i) = 1.0;
else wl(n) = 0;
i£(i>=30 && i<60) w2(i) = 1.0;
else w2(n) = 0;
}
for(i = 0; i < 20 10; i++)
{
prev energy =
(wl[i]*synthesized high band[i])*(wl[i]*synthesized high ba nd[i]); / * 0-29*/
curr energy =
(w2[i+30]*synthesized high band[i+30])*(w2[i+30]*synthesize d_high_band[i 30] ); / * 30-59*/
}
scale factor = sqrt(curr energy/prev energy);
if ((prev energy )==0) scale factor = 0;
for ( i=0; i<20; i++ ) / *0-19*/
í
actual_scale = scale_factor;
shaped shb excitation [i] =
actual scale*synthesized high band[i];
}
for( ; i<3 0 ; i++) / * 20-29*/
{
temp = (i-19)/10.Of ;
/ *tapering*Z
actual scale = (temp*1.0f -l- (1.Of-temp)*scale factor);
shaped shb excitation[i] =
actual scale*synthesized high band[i];
}
[0069] El ejemplo 2 ilustra un pseudocódigo alternativo que puede ejecutarse en conexión con ventanas que no se superponen. Por ejemplo, el gráfico 310 de la FIG. 3 ilustra que la primera ventana wl(n) y la segunda ventana w2(n) pueden no superponerse. Una o más operaciones de escalado descritas con referencia al Ejemplo 2 pueden realizarse como se describe con referencia al gráfico 330 de la FIG. 3.
Ejemplo 2
[0070]
L_SHB_LAHEAD=20;
prev_pow = sum2_f(shaped_shb_excitation,
L_SHB_LAHEAD+10);
curr_pow= sum2_f(shaped_shb_excitation
L_SHS_LAHEAD+10, L_SHB_LAHEAD+10);
if(voice_factors[0] > 0.75f)
t
curr pow *= 0.25; }
if(prev pow == 0)
{
scale = 0;
}
else
{
scale = sqrt(curr_pow/ prev_pow); }
for(i=0; Í<L_SHB_LAHEAD; i++)
{
snaped_shb_excitation[i] *= scale; }
for(; i<L_SHB_LAHEAD+10 ;i++)
t
temp = (i-19)/10.0f;
shaped_shb_excitation[i] *= (temp*1.0f (1.Oftemp)*scale);
t
[0071] En el ejemplo 2, la función "sum2_f" puede usarse para calcular la energía de una entrada de memoria intermedia como primer argumento para la llamada a la función, para una longitud de la entrada de señal como el segundo argumento para la llamada a la función. La constante L_SHB_LAHEAD se define para tomar un valor de 20. Este valor de 20 es un ejemplo ilustrativo no limitativo. Los factores de voz de la memoria intermedia contienen los factores de voz de la trama calculados uno para cada subtrama. Los factores de voz son un indicador de la fuerza del componente repetitivo (tono) en relación con el resto de la señal de excitación de banda baja y pueden variar de 0 a 1. Un valor de factor de voz más alto indica que la señal tiene más voz (lo cual significa un componente de tono más fuerte).
[0072] Los ejemplos 1 y 2 ilustran que las operaciones y funciones descritas en el presente documento pueden realizarse o implementarse usando instrucciones ejecutadas por un procesador. La FIG. 6 describe un ejemplo de un dispositivo electrónico que incluye un procesador que puede ejecutar instrucciones que corresponden al pseudocódigo del Ejemplo 1, instrucciones que corresponden al pseudocódigo del Ejemplo 2, o una combinación de las mismas.
[0073] La FIG. 6 es un diagrama de bloques de un ejemplo ilustrativo de un dispositivo electrónico 600. Por ejemplo, el dispositivo electrónico 600 puede corresponder o estar integrado dentro de un dispositivo móvil (por ejemplo, un teléfono celular), un ordenador (por ejemplo, un ordenador portátil, una tablet o un ordenador de escritorio), un descodificador, un unidad de entretenimiento, un dispositivo de navegación, un asistente digital personal (PDA), un televisor, un sintonizador, una radio (por ejemplo, una radio satelital), un reproductor de música (por ejemplo, un reproductor de música digital y/o un reproductor de música portátil), un reproductor de vídeo (por ejemplo, un reproductor de vídeo digital, como un reproductor de disco de vídeo digital (DVD) y/o un reproductor de vídeo digital portátil), una consola de sistema automotriz, un electrodoméstico, un dispositivo portátil (por ejemplo, una cámara personal, una pantalla montada en la parte delantera y/o un reloj), un robot, un dispositivo de atención médica u otro dispositivo electrónico, como ejemplos ilustrativos.
[0074] El dispositivo electrónico 600 incluye un procesador 610 (por ejemplo, una unidad central de procesamiento (CPU)), acoplado a una memoria 632. La memoria 632 puede ser un medio no transitorio legible por ordenador que almacena las instrucciones 660 ejecutables por el procesador 610. Un medio legible por ordenador no transitorio puede incluir un dispositivo de memoria, tal como una memoria de acceso aleatorio (RAM), una memoria de acceso aleatorio magnetorresistiva (MRAM), una MRAM de transferencia de par de giro (STT-MRAM), una memoria flash, una memoria de solo lectura (ROM), una memoria de solo lectura programable (PROM), una memoria de solo lectura programable y borrable (EPROM), una memoria de solo lectura programable y borrable eléctricamente (EEPROM), unos registros, un disco duro, un disco extraíble o una memoria de solo lectura de disco compacto (CD-ROM).
[0075] El dispositivo electrónico 600 también puede incluir un codificador/descodificador (CODEC) 634. El CODEC 634 puede estar acoplado al procesador 610. Se puede acoplar un altavoz 636 al CODEC 634 y se puede acoplar un micrófono 638 al CODEC 634. El CODEC 634 puede incluir una memoria, como una memoria 690. La memoria 690 puede almacenar las instrucciones 695, que pueden ser ejecutables por una unidad de procesamiento del CODEC 634.
[0076] El dispositivo electrónico 600 puede incluir también un procesador de señales digitales (DSP) 696. El DSP 696 puede estar acoplado al procesador 610 y al CODEC 634. El DSP 696 puede ejecutar un programa de compensación de superposición entre tramas 694. Por ejemplo, el programa de compensación de superposición entre tramas 694 puede ser ejecutable por el DSP 696 para realizar una o más operaciones descritas en el presente documento, tales como una o más operaciones del procedimiento 500 de la FIG. 5. De forma adicional o alternativa, el programa de compensación de superposición entre tramas 694 puede incluir una o más instrucciones que corresponden al pseudocódigo del Ejemplo 1, una o más instrucciones que corresponden al pseudocódigo del Ejemplo 2, o una combinación de las mismas. Se observa que una o más operaciones descritas en el presente documento pueden realizarse en conexión con un proceso de codificación, tal como un proceso de codificación realizado para codificar información de audio que es detectada por el micrófono 638 y que debe transmitirse a través de la antena 642. De forma adicional o alternativa, una o más operaciones descritas en el presente documento pueden realizarse en conexión con un proceso de descodificación, tal como un proceso de descodificación realizado para descodificar información de audio que se recibe a través de la antena 642 y que se usa para producir una salida de audio en el altavoz 636.
[0077] La FIG. 6 también muestra un controlador de pantalla 626 que está acoplado al procesador 610 y a una pantalla 628. La FIG. 6 también indica que un controlador inalámbrico 640 se puede acoplar al procesador 610 y a una antena inalámbrica 642.
[0078] En un ejemplo particular, el procesador 610, el controlador de pantalla 626, la memoria 632, el CODEC 634, el controlador inalámbrico 640 y el DSP 696 están incluidos en un dispositivo de sistema en paquete o sistema en chip 622. Un dispositivo de entrada 630, tal como una pantalla táctil y/o un teclado, y una fuente de alimentación 644 pueden estar acoplados al dispositivo de sistema en chip 622. Además, como se ilustra en la FIG. 6, la pantalla 628, el dispositivo de entrada 630, el altavoz 636, el micrófono 638, la antena 642 y la fuente de alimentación 644 pueden ser externos al dispositivo de sistema en chip 622. Sin embargo, cada uno de la pantalla 628, el dispositivo de entrada 630, el altavoz 636, el micrófono 638, la antena 642 y la fuente de alimentación 644 se pueden acoplar a un componente del dispositivo de sistema en chip 622, tal como una interfaz o un controlador.
[0079] Un medio legible por ordenador (por ejemplo, cualquiera de las memorias 632, 690) almacena instrucciones (por ejemplo, una o más de las instrucciones 660, las instrucciones 695 o el programa de compensación de superposición entre tramas 694) ejecutable por un procesador (por ejemplo, uno o más del procesador 610, el CODEC 634 o el DSP 696) para realizar operaciones. Las operaciones incluyen recibir un primer conjunto de muestras (por ejemplo, cualquiera o el primer conjunto de muestras 124 o el primer conjunto de muestras 220) y un segundo conjunto de muestras (por ejemplo, cualquiera del segundo conjunto de muestras 126 o el segundo conjunto de muestras 224). El primer conjunto de muestras corresponde a una parte de una primera trama de audio (por ejemplo, la primera trama de audio 204) y el segundo conjunto de muestras corresponde a una segunda trama de audio (por ejemplo, la segunda trama de audio 212). Las operaciones incluyen además generar un conjunto de muestras objetivo (por ejemplo, cualquiera del conjunto de muestras objetivo 132 o el conjunto de muestras objetivo 216) basado en el primer conjunto de muestras y un primer subconjunto (por ejemplo, el primer subconjunto 232) del segundo conjunto de muestras y generar un conjunto de muestras de referencia (por ejemplo, cualquiera del conjunto de muestras de referencia 136 o el conjunto de muestras de referencia 228) basado al menos parcialmente en un segundo subconjunto (por ejemplo, el segundo subconjunto 236) del segundo conjunto de muestras Las operaciones incluyen además escalar el conjunto de muestras objetivo para generar un conjunto objetivo escalado de muestras (por ejemplo, el conjunto objetivo escalado de muestras 152) y generar un tercer conjunto de muestras (por ejemplo, el tercer conjunto de muestras 160) basado en el conjunto de muestras objetivo escalado y una o más muestras (por ejemplo, la una o más muestras 130) del segundo conjunto de muestras.
[0080] Un aparato incluye medios (por ejemplo, la memoria 120) para recibir un primer conjunto de muestras (por ejemplo, cualquiera o el primer conjunto de muestras 124 o el primer conjunto de muestras 220) y un segundo conjunto de muestras (por ejemplo, cualquiera del segundo conjunto de muestras 126 o el segundo conjunto de muestras 224). El primer conjunto de muestras corresponde a una parte de una primera trama de audio (por ejemplo, la primera trama de audio 204) y el segundo conjunto de muestras corresponde a una segunda trama de audio (por ejemplo, la segunda trama de audio 212). El aparato incluye además medios (por ejemplo, el creador de ventanas 128) para generar un conjunto de muestras objetivo (por ejemplo, cualquiera del conjunto de muestras objetivo 132 o el conjunto de muestras objetivo 216) basado en el primer conjunto de muestras y un primer subconjunto (por ejemplo, el primer subconjunto 232) del segundo conjunto de muestras y para generar un conjunto de muestras de referencia (por ejemplo, cualquiera del conjunto de muestras de referencia 136 o el conjunto de muestras de referencia 228) basado al menos parcialmente en un segundo subconjunto (por ejemplo, el segundo subconjunto 236) del segundo conjunto de muestras. El aparato incluye además medios (por ejemplo, el escalador 148) para escalar el conjunto de muestras objetivo para generar un conjunto de muestras objetivo escalado (por ejemplo, el conjunto de muestras objetivo escalado 152), medios (por ejemplo, el combinador 156) para generar un tercer conjunto de muestras (por ejemplo, el tercer conjunto de muestras 160) basado en el conjunto de muestras objetivo escalado y una o más muestras (por ejemplo, la una o más muestras 130) del segundo conjunto de muestras.
[0081] En algunos ejemplos, el aparato incluye además medios (por ejemplo, la circuitería de forma de ganancia 164) para recibir el tercer conjunto de muestras. Los medios para recibir el tercer conjunto de muestras pueden configurarse para generar una señal de banda alta sintetizada ajustada en forma de ganancia (por ejemplo, la señal de banda alta sintetizada ajustada en forma de ganancia 168) basada en el tercer conjunto de muestras, como en conexión con ya sea una implementación de descodificador del dispositivo 100 o una implementación de codificador del dispositivo 100. De forma alternativa, los medios para recibir el tercer conjunto de muestras pueden configurarse para estimar formas de ganancia basadas en el tercer conjunto de muestras, como en conexión con una implementación de codificador del dispositivo 100. El aparato también puede incluir medios para proporcionar el primer conjunto de muestras y el segundo conjunto de muestras a los medios para recibir el primer conjunto de muestras y el segundo conjunto de muestras. En un ejemplo ilustrativo, los medios para proporcionar incluyen uno o más componentes descritos con referencia a la circuitería 112, tales como uno o más de un generador de excitación, un sintetizador de predicción lineal o una unidad de postprocesamiento, como ejemplos ilustrativos.
[0082] Ciertos ejemplos en el presente documento se describen con referencia a un descodificador. De forma adicional o alternativa, uno o más aspectos descritos con referencia a las FIGS. 1-6 puede implementarse en un codificador, tal como un codificador que cumpla con un protocolo 3GPP (por ejemplo, un protocolo 3GPP EVS). Por ejemplo, un codificador de un dispositivo que transmite una señal en una red inalámbrica y un descodificador de un dispositivo que recibe la señal a través de la red inalámbrica pueden "cooperar" para reducir la superposición entre tramas realizando las operaciones descritas en el presente documento. Ciertos ejemplos de operaciones de codificación que puede realizar un codificador de un dispositivo se describen adicionalmente con referencia a la FIG.
7.
[0083] Con referencia a la FIG. 7, un ejemplo ilustrativo de un sistema se muestra y se designa en general como 700. En un modo de realización particular, el sistema 700 se puede integrar en un sistema o aparato de codificación (por ejemplo, en un teléfono inalámbrico, un CODEC o un DSP). Para ilustrar más, el sistema 700 puede integrarse dentro del dispositivo electrónico 600, tal como dentro del CODEc 634 o dentro del DSP 696.
[0084] El sistema 700 incluye un banco de filtros de análisis 710 que está configurado para recibir una señal de audio de entrada 702. Por ejemplo, se puede proporcionar la señal de audio de entrada 702 mediante un micrófono u otro dispositivo de entrada. En un modo de realización particular, la señal de audio de entrada 702 puede representar voz. La señal de audio de entrada 702 puede ser una señal de banda superancha (SWB) que incluye datos en el rango de frecuencias de aproximadamente 0 Hz a 16 kHz.
[0085] El banco de filtros de análisis 710 puede filtrar la señal de audio de entrada 702 en múltiples partes basándose en la frecuencia. Por ejemplo, el banco de filtros de análisis 710 puede generar una señal de banda baja 722 y una señal de banda alta 724. La señal de banda baja 722 y la señal de banda alta 724 pueden tener anchos de banda iguales o desiguales, y pueden estar superpuestas o no superpuestas. En un modo de realización alternativo, el banco de filtros de análisis 710 puede generar más de dos salidas.
[0086] En el ejemplo de la FIG. 7, la señal de banda baja 722 y la señal de banda alta 724 ocupan bandas de frecuencias no superpuestas. Por ejemplo, la señal de banda baja 722 y la señal de banda alta 724 pueden ocupar bandas de frecuencias no superpuestas de 0 Hz - 8 kHz y de 8 kHz - 16 kHz, respectivamente. En otro ejemplo, la señal de banda baja 722 y la señal de banda alta 724 pueden ocupar bandas de frecuencias no superpuestas de 0 Hz - 6,4 kHz y de 6,4 kHz - 12,8 kHz. En otro modo de realización alternativo, la señal de banda baja 722 y la señal de banda alta 724 se superponen (por ejemplo, entre 50 Hz - 8 kHz y entre 7 kHz - 16 kHz, respectivamente), lo cual puede permitir que un filtro de paso bajo y un filtro de paso alto del banco de filtros de análisis 710 tenga una característica de atenuación progresiva suave, lo cual puede simplificar el diseño y reducir el coste del filtro de paso bajo y del filtro de paso alto. La superposición de la señal de banda baja 722 y de la señal de banda alta 724 también puede permitir un mezclado suave de señales de banda baja y de banda alta en un receptor, lo cual puede dar como resultado menos distorsiones audibles.
[0087] Aunque el ejemplo de la FIG. 7 ilustra el procesamiento de una señal SWB, en algunas implementaciones la señal de audio de entrada 702 puede ser una señal de banda ancha (WB) que tiene un rango de frecuencias de aproximadamente 50 Hz a aproximadamente 8 kHz. En dicho modo de realización, la señal de banda baja 722 puede corresponder a un intervalo de frecuencias desde aproximadamente 50 Hz hasta aproximadamente 6,4 kHz y la señal de banda alta 724 puede corresponder a un intervalo de frecuencias desde aproximadamente 6,4 kHz hasta aproximadamente 8 kHz.
[0088] El sistema 700 puede incluir un módulo de análisis de banda baja 730 configurado para recibir la señal de banda baja 722. En un modo de realización particular, el módulo de análisis de banda baja 730 puede representar un modo de realización de un codificador de predicción lineal con excitación por código (CELP). El módulo de análisis de banda baja 730 puede incluir un módulo de análisis y codificación de predicción lineal (LP) 732, un módulo de transformada de coeficiente de predicción lineal (LPC) a frecuencias espectrales lineales (LSF) 734 y un cuantificador 736. Los LSP también se pueden denominar pares espectrales de líneas (LSP) y los dos términos (LSP y LSF) se pueden usar de manera intercambiable en el presente documento.
[0089] El módulo de análisis y codificación de LP 732 puede codificar un envolvente espectral de la señal de banda baja 722 como un conjunto de LPC. Se pueden generar unos LPC para cada trama de audio (por ejemplo, 20 milisegundos (ms) de audio, correspondientes a 320 muestras), para cada subtrama de audio (por ejemplo, 5 ms de audio), o para cualquier combinación de las mismas. El número de LPC generados para cada trama o subtrama puede determinarse mediante el «orden» del análisis LP realizado. En un modo de realización particular, el módulo de análisis y codificación de LP 732 puede generar un conjunto de once LPC correspondientes a un análisis de LP de décimo orden.
[0090] El módulo de transformada de LPC a LSP 734 puede transformar el conjunto de LPC generados por el módulo de análisis y codificación de LP 732 en un conjunto correspondiente de LSP (por ejemplo, usando una transformada uno a uno). De forma alternativa, se puede transformar el documento de LPC en un conjunto correspondiente de coeficientes parcor, valores de la relación logaritmo-área, pares espectrales de inmitancia (ISP) o frecuencias espectrales de inmitancia (ISF). La transformada entre el conjunto de LPC y el conjunto de LSP puede ser reversible sin errores.
[0091] El cuantificador 736 puede cuantificar el conjunto de LSP generados por el módulo de transformada 734. Por ejemplo, el cuantificador 736 puede incluir, o estar acoplado a, múltiples libros de códigos que incluyan múltiples entradas (por ejemplo, vectores). Para cuantificar el conjunto de LSP, el cuantificador 736 puede identificar entradas de libros de códigos que estén "más cercanas a" (por ejemplo, basándose en una medida de distorsión tal como mínimos cuadrados o error cuadrático medio) el conjunto de los LSP. El cuantificador 736 puede emitir un valor de índice o una serie de valores de índice correspondientes a la localización de las entradas identificadas en el libro de códigos. La salida del cuantificador 736 puede representar por tanto parámetros de filtro de banda baja que están incluidos en un flujo de bits de banda baja 742.
[0092] El módulo de análisis de banda baja 730 también puede generar una señal de excitación de banda baja 744. Por ejemplo, la señal de excitación de banda baja 744 puede ser una señal codificada que se genere cuantificando una señal residual de LP que se genere durante el proceso de LP realizado por el módulo de análisis de banda baja 730. La señal residual LP puede representar un error de predicción.
[0093] El sistema 700 puede incluir además un módulo de análisis de banda alta 750 configurado para recibir la señal de banda alta 724 desde el banco de filtros de análisis 710 y la señal de excitación de banda baja 744 desde el módulo de análisis de banda baja 730. El módulo de análisis de banda alta 750 puede generar información lateral de banda alta 772 basándose en la señal de banda alta 724 y a la señal de excitación de banda baja 744. Por ejemplo, la información lateral de banda alta 772 puede incluir LSP de banda alta y/o información de ganancia (por ejemplo, basándose en al menos una relación de energía de banda alta a energía de banda baja). En un modo de realización particular, la información de ganancia puede incluir parámetros de forma de ganancia generados por un módulo de forma de ganancia, tal como la circuitería de forma de ganancia 792 (por ejemplo, la circuitería de forma de ganancia 164 de la FIG. 1), basándose en una señal extendida armónicamente y/o una señal residual de banda alta. La señal armónicamente ampliada puede ser inadecuada para su uso en la síntesis de banda alta, debido a la correlación insuficiente entre la señal de banda alta 724 y una señal de banda baja 722. Por ejemplo, las subtramas de la señal de banda alta 724 pueden incluir fluctuaciones en los niveles de energía que no se imitan adecuadamente en una señal de excitación de banda alta modelada 767.
[0094] El módulo de análisis de banda alta 750 puede incluir un compensador de superposición entre tramas 790. En una implementación ilustrativa, el compensador de superposición entre tramas 790 incluye el creador de ventanas 128, el determinante de factor de escala 140, el escalador 148 y el combinador 156 de la FIG. 1. De forma adicional o alternativa, el compensador de superposición entre tramas puede corresponder al programa de compensación de superposición entre tramas 694 de la FIG. 6.
[0095] El módulo de análisis de banda alta 750 puede incluir un generador de excitación de banda alta 760. El generador de excitación de banda alta 760 puede generar una señal de excitación de banda alta 767 ampliando un espectro de la señal de excitación de banda baja 744 al intervalo de frecuencias de banda alta (por ejemplo, 7 kHz -16 kHz). Para ilustrar, el generador de excitación de banda alta 760 puede mezclar la excitación de banda baja armónicamente ampliada ajustada con una señal de ruido (por ejemplo, ruido blanco modulado de acuerdo con un envolvente correspondiente a la señal de excitación de banda baja 744 que imita las características temporales de variación lenta de la señal de banda baja 722) para generar la señal de excitación de banda alta 767. Por ejemplo, el mezclado se puede realizar de acuerdo con la siguiente ecuación:
Excitación de banda alta = (a * excitación de banda baja armónicamente ampliada ajustada)
((1- a) *ruido modulado)
[0096] La relación en la cual se mezclan la excitación de banda baja armónicamente ampliada ajustada y el ruido modulado puede afectar la calidad de reconstrucción de banda alta en un receptor. Para las señales de voz sonoras, el mezclado se puede desviar hacia la excitación de banda baja armónicamente ampliada ajustada (por ejemplo, el factor de mezclado a puede estar en el intervalo de 0,5 a 1,0). Para las señales sin sonido, el mezclado se puede desviar hacia el ruido modulado (por ejemplo, el factor de mezclado a puede estar en el intervalo de 0,0 a 0,5).
[0097] Como se ilustra, el módulo de análisis de banda alta 750 también puede incluir un módulo de análisis y codificación de LP 752, un módulo de transformada de LPC a LSP 754 y un cuantificador 756. Cada uno del módulo de análisis y codificación de LP 752, el módulo de transformada 754 y el cuantificador 756 pueden funcionar como se describe anteriormente con referencia a unos componentes correspondientes del módulo de análisis de banda baja 730, pero a una resolución comparativamente reducida (por ejemplo, usando menos bits para cada coeficiente, LSP, etc.). El módulo de análisis y codificación de LP 752 puede generar un conjunto de LPC que se transformen en los LSP mediante el módulo de transformada 754 y se cuantifican mediante el cuantificador 756 basándose en un libro de códigos 763. Por ejemplo, el módulo de análisis y codificación de LP 752, el módulo de transformada 754 y el cuantificador 756 pueden usar la señal de banda alta 724 para determinar la información de filtro de banda alta (por ejemplo, los LSP de banda alta) que esté incluida en la información lateral de banda alta 772.
[0098] El cuantificador 756 se puede configurar para cuantificar un conjunto de valores de frecuencia espectrales, tales como los LSP proporcionados por el módulo de transformada 754. En otros modos de realización, el cuantificador 756 puede recibir y cuantificar conjuntos de uno o más de otros tipos de valores de frecuencia espectral además de, o en lugar de, los LSF o los LSP. Por ejemplo, el cuantificador 756 puede recibir y cuantificar un conjunto de LPC generados por el módulo de análisis y codificación de LP 752. Otros ejemplos incluyen conjuntos de coeficientes parcor, valores de la relación logaritmo-área e ISF que se pueden recibir y cuantificar en el cuantificador 756. El cuantificador 756 puede incluir un cuantificador vectorial que codifique un vector de entrada (por ejemplo, un conjunto de valores de frecuencia espectral en un formato vectorial) como un índice para una entrada correspondiente en una tabla o libro de códigos, tal como el libro de códigos 763. Como otro ejemplo, el cuantificador 756 se puede configurar para determinar uno o más parámetros a partir de los cuales el vector de entrada se puede generar dinámicamente en un descodificador, tal como en un modo de realización de libro de códigos disperso, en lugar de recuperarse del almacenamiento. Para ilustrar, se pueden aplicar ejemplos de libros de códigos dispersos en esquemas de codificación tales como CELP y codecs de acuerdo con estándares industriales tales como el EVRC (Codec de Tasa Variable Mejorada) del 3GPP2 (Proyecto 2 de Colaboración de Tercera Generación). En otro modo de realización, el módulo de análisis de banda alta 750 puede incluir el cuantificador 756 y se puede configurar para usar un número de vectores de libro de códigos para generar señales sintetizadas (por ejemplo, de acuerdo con un conjunto de parámetros de filtro) y seleccionar uno de los vectores de libro de códigos asociados con la señal sintetizada que mejor coincida con la señal de banda alta 724, tal como en un dominio ponderado perceptualmente.
[0099] En un modo de realización particular, la información lateral de banda alta 772 puede incluir LSP de banda alta, así como parámetros de ganancia de banda alta. Por ejemplo, la señal de excitación de banda alta 767 se puede usar para determinar uno o más parámetros de ganancia de banda alta que se incluyan en la información lateral de banda alta 772.
[0100] El flujo de bits de banda baja 742 y la información lateral de banda alta 772 se pueden multiplexar por un multiplexor (MUX) 780 para generar un flujo de bits de salida 799. El flujo de bits de salida 799 puede representar una señal de audio codificada correspondiente a la señal de audio de entrada 702. Por ejemplo, el flujo de bits de salida 799 se puede transmitir (por ejemplo, a través de un canal alámbrico, inalámbrico u óptico) y/o almacenar.
[0101] En un receptor, un desmultiplexor (DESMUX), un descodificador de banda baja, un descodificador de banda alta y un banco de filtros pueden realizar operaciones inversas para generar una señal de audio (por ejemplo, una versión reconstruida de la señal de audio de entrada 702 que se proporcione a un altavoz o a otro dispositivo de salida). El número de bits usados para representar el flujo de bits de banda baja 742 puede ser sustancialmente mayor que el número de bits usados para representar la información lateral de banda alta 772. Por tanto, la mayoría de los bits en el flujo de bits de salida 799 pueden representar datos de banda baja. La información lateral de banda alta 772 se puede usar en un receptor para regenerar la señal de excitación de banda alta a partir de los datos de banda baja, de acuerdo con un modelo de señal. Por ejemplo, el modelo de señal puede representar un conjunto esperado de relaciones o correlaciones entre datos de banda baja (por ejemplo, la señal de banda baja 722) y datos de banda alta (por ejemplo, la señal de banda alta 724). Por tanto, se pueden usar diferentes modelos de señal para diferentes tipos de datos de audio (por ejemplo, voz, música, etc.), y un transmisor y un receptor pueden negociar el modelo de señal particular que se use (o que puede estar definido por un estándar industrial) antes de la transmisión de datos de audio codificados. Mediante el uso del modelo de señal, el módulo de análisis de banda alta 750 en un transmisor puede ser capaz de generar la información lateral de banda alta 772 de modo que un correspondiente módulo de análisis de banda alta en un receptor puede usar el modelo de señal para reconstruir la señal de banda alta 724 a partir del flujo de bits de salida 799. El receptor puede incluir el dispositivo 100 de la FIG. 1.
[0102] En la descripción anterior, se han descrito diversas funciones y operaciones como implementadas o realizadas por ciertos componentes o módulos. Se observa que, en algunas implementaciones, una función u operación descrita como implementada o realizada por un componente o módulo particular puede implementarse o realizarse utilizando múltiples componentes o módulos. Además, en algunas implementaciones, dos o más componentes o módulos descritos en el presente documento pueden integrarse en un único componente o módulo. Uno o más componentes o módulos descritos en el presente documento se pueden implementar usando hardware (por ejemplo, un dispositivo de matriz de puertas programables por campo (FPGA), un circuito integrado específico de la aplicación (ASIC), un DSP y/o un controlador, como ejemplos ilustrativos), software (por ejemplo, instrucciones ejecutables por un procesador), o cualquier combinación de los mismos.
[0103] Los expertos en la técnica apreciarían además que los diversos bloques lógicos, configuraciones, módulos, circuitos y pasos de algoritmo ilustrativos descritos en relación con los aspectos divulgados en el presente documento pueden implementarse como hardware electrónico, software informático ejecutado por un dispositivo de procesamiento, tal como un procesador de hardware, o combinaciones de los mismos. Se han descrito anteriormente diversos componentes, bloques, configuraciones, módulos, circuitos y pasos ilustrativos, en general en términos de su funcionalidad. Que dicha funcionalidad se implemente como hardware o software ejecutable depende de la solicitud en particular y de las restricciones de diseño impuestas al sistema global. Los expertos en la técnica pueden implementar la funcionalidad descrita de distintas formas para cada aplicación en particular, pero no se debe interpretar que dichas decisiones de implementación suponen apartarse del alcance de la presente divulgación.
[0104] Los pasos de un procedimiento o algoritmo descrito en conexión con los aspectos divulgados en el presente documento se pueden materializar directamente en hardware, en un módulo de software ejecutado por un procesador o en una combinación de los dos. Un módulo de software puede residir en un dispositivo de memoria, tal como una memoria de acceso aleatorio (RAM), una memoria de acceso aleatorio magnetorresistiva (MRAM), una MRAM de transferencia de par de espín (STT-MRAM), una memoria flash, una memoria de solo lectura (ROM), una memoria de solo lectura programable (PROM), una memoria de solo lectura programable y borrable (EPROM), una memoria de solo lectura programable y borrable eléctricamente (EEPROM), unos registros, un disco duro, un disco extraíble o una memoria de solo lectura de disco compacto (CD-ROM). Un dispositivo de memoria a modo de ejemplo está acoplado al procesador de modo que el procesador puede leer información de, y escribir información en, el dispositivo de memoria. De forma alternativa, el dispositivo de memoria puede estar integrado en el procesador. El procesador y el medio de almacenamiento pueden residir en un ASIC. El ASIC puede residir en un dispositivo informático o en un terminal de usuario. De forma alternativa, el procesador y el medio de almacenamiento pueden residir como componentes discretos en un dispositivo informático o en un terminal de usuario.
[0105] La descripción previa de los aspectos divulgados se proporciona para permitir que un experto en la técnica haga o use los aspectos divulgados. Diversas modificaciones de estos aspectos resultarán fácilmente evidentes a los expertos en la técnica, y los principios definidos en el presente documento se pueden aplicar a otros aspectos sin apartarse del alcance de la divulgación. Por tanto, no se pretende limitar la presente divulgación a los aspectos mostrados en el presente documento, sino que se le ha de conceder el alcance más amplio posible consecuente con los principios y características novedosas, como se define en las reivindicaciones siguientes. El alcance de protección está definido por las reivindicaciones adjuntas.

Claims (14)

REIVINDICACIONES
1. Un procedimiento de funcionamiento de un dispositivo, comprendiendo el procedimiento:
recibir (510) un primer conjunto de muestras y un segundo conjunto de muestras, en el que el primer conjunto de muestras corresponde a una parte de una primera trama de audio y el segundo conjunto de muestras corresponde a una segunda trama de audio;
generar (520) un primer parámetro de energía asociado con un conjunto de muestras objetivo en ventana basado en el primer conjunto de muestras y un primer subconjunto del segundo conjunto de muestras; generar (530) un segundo parámetro de energía asociado con un conjunto de muestras de referencia en ventana que incluye un segundo subconjunto del segundo conjunto de muestras;
realizar una operación de raíz cuadrada en una relación del segundo parámetro de energía y el primer parámetro de energía para generar un factor de escala;
escalar (540) el conjunto de muestras objetivo basado en el factor de escala, para generar un conjunto objetivo escalado de muestras; y
generar (550) un tercer conjunto de muestras basado en el conjunto de muestras objetivo escalado y una o más muestras del segundo conjunto de muestras.
2. El procedimiento según la reivindicación 1, en el que la primera trama de audio precede secuencialmente inmediatamente antes de la segunda trama de audio en un orden de procesamiento de la primera trama de audio y la segunda trama de audio.
3. El procedimiento según la reivindicación 1, que comprende además escalar el tercer conjunto de muestras mediante una circuitería de forma de ganancia del dispositivo para generar una señal de banda alta sintetizada ajustada en forma de ganancia; y/o
que comprende además estimar las formas de ganancia mediante la circuitería de forma de ganancia del dispositivo basado en un tercer conjunto de muestras.
4. El procedimiento según la reivindicación 1, en el que el conjunto de muestras de referencia se genera adicionalmente basándose en el primer subconjunto del segundo conjunto de muestras; y/o
en el que el primer conjunto de muestras y el segundo conjunto de muestras corresponden a señales sintetizadas de banda alta que se generan basándose en una señal de excitación de banda baja usando un generador de excitación, un sintetizador de predicción lineal y una unidad de postprocesamiento del dispositivo; y/o en el que el primer conjunto de muestras y el segundo conjunto de muestras corresponden a una señal de excitación de banda alta que se genera basándose en una señal de excitación de banda baja usando un generador de excitación.
5. El procedimiento según la reivindicación 1, que comprende además almacenar el primer conjunto de muestras en una memoria del dispositivo, en el que el primer subconjunto del segundo conjunto de muestras se selecciona mediante un selector acoplado a la memoria.
6. El procedimiento según la reivindicación 1, en el que el conjunto de muestras objetivo se selecciona basándose en un número de muestras asociadas con una longitud estimada de una superposición entre tramas entre la primera trama de audio y la segunda trama de audio, en el que la superposición entre tramas se basa preferentemente en un número total de muestras a cada lado de un límite entre la primera trama de audio y la segunda trama de audio que se ven directamente afectadas por la primera trama de audio y se usan en la segunda trama de audio.
7. El procedimiento según la reivindicación 1, en el que el conjunto de muestras objetivo se escala usando una transición de ganancia suave desde un primer valor del factor de escala a un segundo valor del factor de escala, en el que el segundo valor del factor de escala es preferentemente 1,0.
8. El procedimiento según la reivindicación 1, en el que la determinación del factor de escala incluye:
generar el conjunto de muestras objetivo en ventana basado en una primera ventana; y
generar el conjunto de muestras de referencia en ventana basado en una segunda ventana.
9. El procedimiento según la reivindicación 8, en el que la primera ventana se superpone a la segunda ventana, o en el que la primera ventana no se superpone a la segunda ventana.
10. Un medio legible por ordenador que almacena instrucciones ejecutables por un procesador para realizar el procedimiento de cualquiera de las reivindicaciones 1-9.
11. El medio legible por ordenador según la reivindicación 10, en el que el procesador incluye un procesador de señal digital (DSP), y en el que las instrucciones se incluyen en un programa de compensación de superposición entre tramas.
12. Un aparato, que comprende:
medios para recibir un primer conjunto de muestras y un segundo conjunto de muestras, en el que el primer conjunto de muestras corresponde a una parte de una primera trama de audio y el segundo conjunto de muestras corresponde a una segunda trama de audio;
medios para generar un primer parámetro de energía asociado con un conjunto de muestras objetivo en ventana y para generar un segundo parámetro de energía asociado con un conjunto de muestras de referencia en ventana, con el conjunto de muestras objetivo basado en el primer conjunto de muestras y un primer subconjunto del segundo conjunto de muestras y el conjunto de muestras de referencia que incluye un segundo subconjunto del segundo conjunto de muestras;
medios para realizar una operación de raíz cuadrada en una relación del segundo parámetro de energía y el primer parámetro de energía para generar un factor de escala;
medios para escalar el conjunto de muestras objetivo basándose en el factor de escala, para generar un conjunto de muestras objetivo escalado; y
medios para generar un tercer conjunto de muestras basado en el conjunto de muestras objetivo escalado y una o más muestras del segundo conjunto de muestras.
13. El aparato según la reivindicación 12, que comprende además medios para determinar el factor de escala, determinando una relación del segundo parámetro de energía y el primer parámetro de energía, y realizando una operación de raíz cuadrada en la relación para generar el factor de escala.
14. El aparato según la reivindicación 12, en el que los medios para recibir comprenden una memoria, en el que los medios para generar comprenden un creador de ventanas, en el que los medios para escalar comprenden un escalador, y en el que los medios para generar comprenden un combinador.
ES16703190T 2015-01-19 2016-01-08 Escalado para circuitería de forma de ganancia Active ES2807258T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562105071P 2015-01-19 2015-01-19
US14/939,436 US9595269B2 (en) 2015-01-19 2015-11-12 Scaling for gain shape circuitry
PCT/US2016/012718 WO2016118343A1 (en) 2015-01-19 2016-01-08 Scaling for gain shape circuitry

Publications (1)

Publication Number Publication Date
ES2807258T3 true ES2807258T3 (es) 2021-02-22

Family

ID=56408316

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16703190T Active ES2807258T3 (es) 2015-01-19 2016-01-08 Escalado para circuitería de forma de ganancia

Country Status (9)

Country Link
US (1) US9595269B2 (es)
EP (1) EP3248192B1 (es)
JP (1) JP6338783B2 (es)
KR (1) KR101865010B1 (es)
CN (1) CN107112027B (es)
CA (1) CA2971600C (es)
ES (1) ES2807258T3 (es)
HU (1) HUE049631T2 (es)
WO (1) WO2016118343A1 (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108172239B (zh) * 2013-09-26 2021-01-12 华为技术有限公司 频带扩展的方法及装置
US10157621B2 (en) * 2016-03-18 2018-12-18 Qualcomm Incorporated Audio signal decoding
CN107731238B (zh) * 2016-08-10 2021-07-16 华为技术有限公司 多声道信号的编码方法和编码器
US10255898B1 (en) * 2018-08-09 2019-04-09 Google Llc Audio noise reduction using synchronized recordings
US10536823B1 (en) * 2019-01-30 2020-01-14 Vamshi Guduguntla Determining device quality score
KR102291413B1 (ko) 2021-01-06 2021-08-20 주식회사 에스크컴퍼니 프로폴리스 추출물을 포함하는 생분해성 나노 입자 및 이의 제조방법
KR102246331B1 (ko) 2021-01-15 2021-04-29 주식회사 에스크컴퍼니 흰소나무 솔방울 추출물을 포함하는 나노 입자 및 이의 제조방법
WO2023224665A1 (en) * 2022-05-17 2023-11-23 Google Llc Asymmetric and adaptive strength for windowing at encoding and decoding time for audio compression

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526348B1 (en) * 2000-12-27 2009-04-28 John C. Gaddy Computer based automatic audio mixer
US20050004793A1 (en) * 2003-07-03 2005-01-06 Pasi Ojala Signal adaptation for higher band coding in a codec utilizing band split coding
ES2358125T3 (es) * 2005-04-01 2011-05-05 Qualcomm Incorporated Procedimiento y aparato para un filtrado de antidispersión de una señal ensanchada de excitación de predicción de velocidad de ancho de banda.
MX2007012187A (es) * 2005-04-01 2007-12-11 Qualcomm Inc Sistemas, metodos y aparatos para deformacion en tiempo de banda alta.
US9454974B2 (en) * 2006-07-31 2016-09-27 Qualcomm Incorporated Systems, methods, and apparatus for gain factor limiting
CN101770776B (zh) * 2008-12-29 2011-06-08 华为技术有限公司 瞬态信号的编码方法和装置、解码方法和装置及处理系统
US8423355B2 (en) * 2010-03-05 2013-04-16 Motorola Mobility Llc Encoder for audio signal including generic audio and speech frames
US9372925B2 (en) * 2013-09-19 2016-06-21 Microsoft Technology Licensing, Llc Combining audio samples by automatically adjusting sample characteristics

Also Published As

Publication number Publication date
EP3248192A1 (en) 2017-11-29
CN107112027B (zh) 2018-10-16
JP6338783B2 (ja) 2018-06-06
WO2016118343A1 (en) 2016-07-28
EP3248192B1 (en) 2020-04-22
KR20170092696A (ko) 2017-08-11
JP2018505443A (ja) 2018-02-22
CA2971600A1 (en) 2016-07-28
HUE049631T2 (hu) 2020-09-28
CA2971600C (en) 2019-08-20
US20160210978A1 (en) 2016-07-21
US9595269B2 (en) 2017-03-14
BR112017015461A2 (pt) 2018-01-23
CN107112027A (zh) 2017-08-29
KR101865010B1 (ko) 2018-06-05

Similar Documents

Publication Publication Date Title
ES2807258T3 (es) Escalado para circuitería de forma de ganancia
TWI559298B (zh) 用於音訊信號之諧波頻寬延展之方法、裝置及電腦可讀儲存器件
ES2844231T3 (es) Modelado de señales de banda alta
US10410652B2 (en) Estimation of mixing factors to generate high-band excitation signal
ES2774334T3 (es) Estimación de forma de ganancia para mejorar el rastreo de características temporales de banda alta
AU2014331903A1 (en) Gain shape estimation for improved tracking of high-band temporal characteristics
ES2688037T3 (es) Aparato y procedimientos de conmutación de tecnologías de codificación en un dispositivo
BR112017015461B1 (pt) Método de funcionamento de um aparelho; memória legível por computador e equipamento para realizar uma operação
BR112016007914B1 (pt) Estimativa de formato de ganho para rastreamento aperfeiçoado de características temporais de banda alta